diff options
author | Russell King <rmk+kernel@arm.linux.org.uk> | 2011-06-26 11:01:26 -0400 |
---|---|---|
committer | Russell King <rmk+kernel@arm.linux.org.uk> | 2011-07-02 05:56:11 -0400 |
commit | da7404725781bc7c736e10cae5521e5604e222a5 (patch) | |
tree | e816cd79e1b09ddcbd41b7cd5b3c6c9c9bd5eb98 /arch/arm/kernel/entry-armv.S | |
parent | 0d147db0c127c561f8f9ead9f3c1ec38f89f1040 (diff) |
ARM: entry: data abort: tail-call the main data abort handler
Tail-call the main C data abort handler code from the per-CPU helper
code. Update the comments in the code wrt the new calling and return
register state.
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Diffstat (limited to 'arch/arm/kernel/entry-armv.S')
-rw-r--r-- | arch/arm/kernel/entry-armv.S | 14 |
1 files changed, 4 insertions, 10 deletions
diff --git a/arch/arm/kernel/entry-armv.S b/arch/arm/kernel/entry-armv.S index 85298c09325..bbdd443b805 100644 --- a/arch/arm/kernel/entry-armv.S +++ b/arch/arm/kernel/entry-armv.S | |||
@@ -60,6 +60,7 @@ | |||
60 | @ | 60 | @ |
61 | @ Call the processor-specific abort handler: | 61 | @ Call the processor-specific abort handler: |
62 | @ | 62 | @ |
63 | @ r2 - pt_regs | ||
63 | @ r4 - aborted context pc | 64 | @ r4 - aborted context pc |
64 | @ r5 - aborted context psr | 65 | @ r5 - aborted context psr |
65 | @ | 66 | @ |
@@ -186,13 +187,8 @@ ENDPROC(__und_invalid) | |||
186 | .align 5 | 187 | .align 5 |
187 | __dabt_svc: | 188 | __dabt_svc: |
188 | svc_entry | 189 | svc_entry |
189 | dabt_helper | ||
190 | |||
191 | @ | ||
192 | @ call main handler | ||
193 | @ | ||
194 | mov r2, sp | 190 | mov r2, sp |
195 | bl do_DataAbort | 191 | dabt_helper |
196 | 192 | ||
197 | @ | 193 | @ |
198 | @ IRQs off again before pulling preserved data off the stack | 194 | @ IRQs off again before pulling preserved data off the stack |
@@ -407,11 +403,9 @@ ENDPROC(__pabt_svc) | |||
407 | __dabt_usr: | 403 | __dabt_usr: |
408 | usr_entry | 404 | usr_entry |
409 | kuser_cmpxchg_check | 405 | kuser_cmpxchg_check |
410 | dabt_helper | ||
411 | |||
412 | mov r2, sp | 406 | mov r2, sp |
413 | adr lr, BSYM(ret_from_exception) | 407 | dabt_helper |
414 | b do_DataAbort | 408 | b ret_from_exception |
415 | UNWIND(.fnend ) | 409 | UNWIND(.fnend ) |
416 | ENDPROC(__dabt_usr) | 410 | ENDPROC(__dabt_usr) |
417 | 411 | ||