Revert to Fedora kernel-2.6.17-1.2187_FC5 patched with vs2.0.2.1; there are too many...
[linux-2.6.git] / include / asm-arm / assembler.h
index fce8328..d53bafa 100644 (file)
 #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})
+ */
+#ifdef __STDC__
+#define LOADREGS(cond, base, reglist...)\
+       ldm##cond       base,reglist
+#else
+#define LOADREGS(cond, base, reglist...)\
+       ldm/**/cond     base,reglist
+#endif
+
+/*
+ * Build a return instruction for this processor type.
+ */
+#define RETINSTR(instr, regs...)\
+       instr   regs
+
 /*
  * Enable and disable interrupts
  */
        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";                \