git://git.onelab.eu
/
linux-2.6.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Merge to kernel-2.6.20-1.2949.fc6.vs2.2.0.1
[linux-2.6.git]
/
include
/
asm-arm
/
assembler.h
diff --git
a/include/asm-arm/assembler.h
b/include/asm-arm/assembler.h
index
f31ac92
..
fce8328
100644
(file)
--- a/
include/asm-arm/assembler.h
+++ b/
include/asm-arm/assembler.h
@@
-55,29
+55,26
@@
#define PLD(code...)
#endif
#define PLD(code...)
#endif
-#define MODE_USR USR_MODE
-#define MODE_FIQ FIQ_MODE
-#define MODE_IRQ IRQ_MODE
-#define MODE_SVC SVC_MODE
-
-#define DEFAULT_FIQ MODE_FIQ
-
/*
/*
- *
LOADREGS - ldm with PC in register list (eg, ldmfd sp!, {pc})
+ *
Enable and disable interrupts
*/
*/
-#ifdef __STDC__
-#define LOADREGS(cond, base, reglist...)\
- ldm##cond base,reglist
+#if __LINUX_ARM_ARCH__ >= 6
+ .macro disable_irq
+ cpsid i
+ .endm
+
+ .macro enable_irq
+ cpsie i
+ .endm
#else
#else
-#define LOADREGS(cond, base, reglist...)\
- ldm/**/cond base,reglist
-#endif
+ .macro disable_irq
+ msr cpsr_c, #PSR_I_BIT | SVC_MODE
+ .endm
-/*
- * Build a return instruction for this processor type.
- */
-#define RETINSTR(instr, regs...)\
- instr regs
+ .macro enable_irq
+ msr cpsr_c, #SVC_MODE
+ .endm
+#endif
/*
* Save the current IRQ state and disable IRQs. Note that this macro
/*
* Save the current IRQ state and disable IRQs. Note that this macro
@@
-85,11
+82,7
@@
*/
.macro save_and_disable_irqs, oldcpsr
mrs \oldcpsr, cpsr
*/
.macro save_and_disable_irqs, oldcpsr
mrs \oldcpsr, cpsr
-#if __LINUX_ARM_ARCH__ >= 6
- cpsid i
-#else
- msr cpsr_c, #PSR_I_BIT | MODE_SVC
-#endif
+ disable_irq
.endm
/*
.endm
/*
@@
-100,18
+93,6
@@
msr cpsr_c, \oldcpsr
.endm
msr cpsr_c, \oldcpsr
.endm
-/*
- * These two are used to save LR/restore PC over a user-based access.
- * The old 26-bit architecture requires that we do. On 32-bit
- * architecture, we can safely ignore this requirement.
- */
- .macro save_lr
- .endm
-
- .macro restore_pc
- mov pc, lr
- .endm
-
#define USER(x...) \
9999: x; \
.section __ex_table,"a"; \
#define USER(x...) \
9999: x; \
.section __ex_table,"a"; \