From 7ebd01641820b42389ad5ad445b40a1d67e9f105 Mon Sep 17 00:00:00 2001 From: Russell King Date: Thu, 23 Mar 2006 16:59:37 +0000 Subject: [PATCH] --- yaml --- r: 24001 b: refs/heads/master c: 9c42954dfd50d02963cd453fb84bfef3967af2f0 h: refs/heads/master i: 23999: dceb140caeb3c8e9aa4dfba92bc05e8ddf53cbaa v: v3 --- [refs] | 2 +- trunk/arch/arm/kernel/entry-header.S | 18 ------------------ trunk/arch/arm/vfp/entry.S | 1 + trunk/include/asm-arm/assembler.h | 27 ++++++++++++++++++++++----- 4 files changed, 24 insertions(+), 24 deletions(-) diff --git a/[refs] b/[refs] index af156c8fee7e..43b5e0c51e2f 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 7d420896256a4bffe44202f282fbdd4c74d779a8 +refs/heads/master: 9c42954dfd50d02963cd453fb84bfef3967af2f0 diff --git a/trunk/arch/arm/kernel/entry-header.S b/trunk/arch/arm/kernel/entry-header.S index 55c99cdab7d6..f1c2fd5b63e4 100644 --- a/trunk/arch/arm/kernel/entry-header.S +++ b/trunk/arch/arm/kernel/entry-header.S @@ -37,24 +37,6 @@ #endif .endm -#if __LINUX_ARM_ARCH__ >= 6 - .macro disable_irq - cpsid i - .endm - - .macro enable_irq - cpsie i - .endm -#else - .macro disable_irq - msr cpsr_c, #PSR_I_BIT | SVC_MODE - .endm - - .macro enable_irq - msr cpsr_c, #SVC_MODE - .endm -#endif - .macro get_thread_info, rd mov \rd, sp, lsr #13 mov \rd, \rd, lsl #13 diff --git a/trunk/arch/arm/vfp/entry.S b/trunk/arch/arm/vfp/entry.S index 9ab1abfbe7ad..7b595547c1c8 100644 --- a/trunk/arch/arm/vfp/entry.S +++ b/trunk/arch/arm/vfp/entry.S @@ -18,6 +18,7 @@ #include #include #include +#include #include .globl do_vfp diff --git a/trunk/include/asm-arm/assembler.h b/trunk/include/asm-arm/assembler.h index f31ac92b6c7f..d53bafa9bf1c 100644 --- a/trunk/include/asm-arm/assembler.h +++ b/trunk/include/asm-arm/assembler.h @@ -80,16 +80,33 @@ instr regs /* - * Save the current IRQ state and disable IRQs. Note that this macro - * assumes FIQs are enabled, and that the processor is in SVC mode. + * Enable and disable interrupts */ - .macro save_and_disable_irqs, oldcpsr - mrs \oldcpsr, cpsr #if __LINUX_ARM_ARCH__ >= 6 + .macro disable_irq cpsid i + .endm + + .macro enable_irq + cpsie i + .endm #else - msr cpsr_c, #PSR_I_BIT | MODE_SVC + .macro disable_irq + msr cpsr_c, #PSR_I_BIT | SVC_MODE + .endm + + .macro enable_irq + msr cpsr_c, #SVC_MODE + .endm #endif + +/* + * Save the current IRQ state and disable IRQs. Note that this macro + * assumes FIQs are enabled, and that the processor is in SVC mode. + */ + .macro save_and_disable_irqs, oldcpsr + mrs \oldcpsr, cpsr + disable_irq .endm /*