aboutsummaryrefslogtreecommitdiffstats
path: root/arch/arm/kernel/entry-armv.S
diff options
context:
space:
mode:
Diffstat (limited to 'arch/arm/kernel/entry-armv.S')
-rw-r--r--arch/arm/kernel/entry-armv.S10
1 files changed, 7 insertions, 3 deletions
diff --git a/arch/arm/kernel/entry-armv.S b/arch/arm/kernel/entry-armv.S
index 859f56cb122b..2f5555d307b3 100644
--- a/arch/arm/kernel/entry-armv.S
+++ b/arch/arm/kernel/entry-armv.S
@@ -372,6 +372,9 @@ ENDPROC(__fiq_abt)
372 ARM( stmib sp, {r1 - r12} ) 372 ARM( stmib sp, {r1 - r12} )
373 THUMB( stmia sp, {r0 - r12} ) 373 THUMB( stmia sp, {r0 - r12} )
374 374
375 ATRAP( mrc p15, 0, r7, c1, c0, 0)
376 ATRAP( ldr r8, .LCcralign)
377
375 ldmia r0, {r3 - r5} 378 ldmia r0, {r3 - r5}
376 add r0, sp, #S_PC @ here for interlock avoidance 379 add r0, sp, #S_PC @ here for interlock avoidance
377 mov r6, #-1 @ "" "" "" "" 380 mov r6, #-1 @ "" "" "" ""
@@ -379,6 +382,8 @@ ENDPROC(__fiq_abt)
379 str r3, [sp] @ save the "real" r0 copied 382 str r3, [sp] @ save the "real" r0 copied
380 @ from the exception stack 383 @ from the exception stack
381 384
385 ATRAP( ldr r8, [r8, #0])
386
382 @ 387 @
383 @ We are now ready to fill in the remaining blanks on the stack: 388 @ We are now ready to fill in the remaining blanks on the stack:
384 @ 389 @
@@ -392,10 +397,9 @@ ENDPROC(__fiq_abt)
392 ARM( stmdb r0, {sp, lr}^ ) 397 ARM( stmdb r0, {sp, lr}^ )
393 THUMB( store_user_sp_lr r0, r1, S_SP - S_PC ) 398 THUMB( store_user_sp_lr r0, r1, S_SP - S_PC )
394 399
395 @
396 @ Enable the alignment trap while in kernel mode 400 @ Enable the alignment trap while in kernel mode
397 @ 401 ATRAP( teq r8, r7)
398 alignment_trap r0, .LCcralign 402 ATRAP( mcrne p15, 0, r8, c1, c0, 0)
399 403
400 @ 404 @
401 @ Clear FP to mark the first stack frame 405 @ Clear FP to mark the first stack frame