Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 77450
b: refs/heads/master
c: d30a0c8
h: refs/heads/master
v: v3
  • Loading branch information
Nicolas Pitre authored and Russell King committed Jan 26, 2008
1 parent bebf198 commit ecc1e19
Show file tree
Hide file tree
Showing 2 changed files with 11 additions and 4 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: 25ce1dd71b8326f2542cf030f68e0e64c3d94dc1
refs/heads/master: d30a0c8bf99f0e6a7d8c57bd4524039585ffbced
13 changes: 10 additions & 3 deletions trunk/arch/arm/kernel/entry-armv.S
Original file line number Diff line number Diff line change
Expand Up @@ -112,16 +112,16 @@ common_invalid:
#define SPFIX(code...)
#endif

.macro svc_entry
sub sp, sp, #S_FRAME_SIZE
.macro svc_entry, stack_hole=0
sub sp, sp, #(S_FRAME_SIZE + \stack_hole)
SPFIX( tst sp, #4 )
SPFIX( bicne sp, sp, #4 )
stmib sp, {r1 - r12}

ldmia r0, {r1 - r3}
add r5, sp, #S_SP @ here for interlock avoidance
mov r4, #-1 @ "" "" "" ""
add r0, sp, #S_FRAME_SIZE @ "" "" "" ""
add r0, sp, #(S_FRAME_SIZE + \stack_hole)
SPFIX( addne r0, r0, #4 )
str r1, [sp] @ save the "real" r0 copied
@ from the exception stack
Expand Down Expand Up @@ -242,7 +242,14 @@ svc_preempt:

.align 5
__und_svc:
#ifdef CONFIG_KPROBES
@ If a kprobe is about to simulate a "stmdb sp..." instruction,
@ it obviously needs free stack space which then will belong to
@ the saved context.
svc_entry 64
#else
svc_entry
#endif

@
@ call emulation code, which returns using r9 if it has emulated
Expand Down

0 comments on commit ecc1e19

Please sign in to comment.