|
@@ -92,7 +92,7 @@
|
|
* Invalid mode handlers
|
|
* Invalid mode handlers
|
|
*/
|
|
*/
|
|
.macro inv_entry, reason
|
|
.macro inv_entry, reason
|
|
- sub sp, sp, #S_FRAME_SIZE
|
|
|
|
|
|
+ sub sp, sp, #PT_REGS_SIZE
|
|
ARM( stmib sp, {r1 - lr} )
|
|
ARM( stmib sp, {r1 - lr} )
|
|
THUMB( stmia sp, {r0 - r12} )
|
|
THUMB( stmia sp, {r0 - r12} )
|
|
THUMB( str sp, [sp, #S_SP] )
|
|
THUMB( str sp, [sp, #S_SP] )
|
|
@@ -152,7 +152,7 @@ ENDPROC(__und_invalid)
|
|
.macro svc_entry, stack_hole=0, trace=1, uaccess=1
|
|
.macro svc_entry, stack_hole=0, trace=1, uaccess=1
|
|
UNWIND(.fnstart )
|
|
UNWIND(.fnstart )
|
|
UNWIND(.save {r0 - pc} )
|
|
UNWIND(.save {r0 - pc} )
|
|
- sub sp, sp, #(S_FRAME_SIZE + 8 + \stack_hole - 4)
|
|
|
|
|
|
+ sub sp, sp, #(PT_REGS_SIZE + 8 + \stack_hole - 4)
|
|
#ifdef CONFIG_THUMB2_KERNEL
|
|
#ifdef CONFIG_THUMB2_KERNEL
|
|
SPFIX( str r0, [sp] ) @ temporarily saved
|
|
SPFIX( str r0, [sp] ) @ temporarily saved
|
|
SPFIX( mov r0, sp )
|
|
SPFIX( mov r0, sp )
|
|
@@ -167,7 +167,7 @@ ENDPROC(__und_invalid)
|
|
ldmia r0, {r3 - r5}
|
|
ldmia r0, {r3 - r5}
|
|
add r7, sp, #S_SP - 4 @ here for interlock avoidance
|
|
add r7, sp, #S_SP - 4 @ here for interlock avoidance
|
|
mov r6, #-1 @ "" "" "" ""
|
|
mov r6, #-1 @ "" "" "" ""
|
|
- add r2, sp, #(S_FRAME_SIZE + 8 + \stack_hole - 4)
|
|
|
|
|
|
+ add r2, sp, #(PT_REGS_SIZE + 8 + \stack_hole - 4)
|
|
SPFIX( addeq r2, r2, #4 )
|
|
SPFIX( addeq r2, r2, #4 )
|
|
str r3, [sp, #-4]! @ save the "real" r0 copied
|
|
str r3, [sp, #-4]! @ save the "real" r0 copied
|
|
@ from the exception stack
|
|
@ from the exception stack
|
|
@@ -366,17 +366,17 @@ ENDPROC(__fiq_abt)
|
|
/*
|
|
/*
|
|
* User mode handlers
|
|
* User mode handlers
|
|
*
|
|
*
|
|
- * EABI note: sp_svc is always 64-bit aligned here, so should S_FRAME_SIZE
|
|
|
|
|
|
+ * EABI note: sp_svc is always 64-bit aligned here, so should PT_REGS_SIZE
|
|
*/
|
|
*/
|
|
|
|
|
|
-#if defined(CONFIG_AEABI) && (__LINUX_ARM_ARCH__ >= 5) && (S_FRAME_SIZE & 7)
|
|
|
|
|
|
+#if defined(CONFIG_AEABI) && (__LINUX_ARM_ARCH__ >= 5) && (PT_REGS_SIZE & 7)
|
|
#error "sizeof(struct pt_regs) must be a multiple of 8"
|
|
#error "sizeof(struct pt_regs) must be a multiple of 8"
|
|
#endif
|
|
#endif
|
|
|
|
|
|
.macro usr_entry, trace=1, uaccess=1
|
|
.macro usr_entry, trace=1, uaccess=1
|
|
UNWIND(.fnstart )
|
|
UNWIND(.fnstart )
|
|
UNWIND(.cantunwind ) @ don't unwind the user space
|
|
UNWIND(.cantunwind ) @ don't unwind the user space
|
|
- sub sp, sp, #S_FRAME_SIZE
|
|
|
|
|
|
+ sub sp, sp, #PT_REGS_SIZE
|
|
ARM( stmib sp, {r1 - r12} )
|
|
ARM( stmib sp, {r1 - r12} )
|
|
THUMB( stmia sp, {r0 - r12} )
|
|
THUMB( stmia sp, {r0 - r12} )
|
|
|
|
|