patch-2.4.0-test8 linux/include/asm-arm/proc-armo/assembler.h
Next file: linux/include/asm-arm/proc-armo/cache.h
Previous file: linux/include/asm-arm/pgalloc.h
Back to the patch index
Back to the overall index
- Lines: 26
- Date:
Sun Sep 3 11:19:11 2000
- Orig file:
v2.4.0-test7/linux/include/asm-arm/proc-armo/assembler.h
- Orig date:
Wed Aug 23 18:36:39 2000
diff -u --recursive --new-file v2.4.0-test7/linux/include/asm-arm/proc-armo/assembler.h linux/include/asm-arm/proc-armo/assembler.h
@@ -78,3 +78,25 @@
.macro restore_irqs, oldcpsr
@ This be restore_irqs
.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
+ str lr, [sp, #-4]!
+ .endm
+
+ .macro restore_pc
+ ldmfd sp!, {pc}^
+ .endm
+
+#define USER(x...) \
+9999: x; \
+ .section __ex_table,"a"; \
+ .align 3; \
+ .long 9999b,9001f; \
+ .previous
+
+
FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen (who was at: slshen@lbl.gov)