summaryrefslogtreecommitdiff
path: root/arch/arm/vfp/entry.S
diff options
context:
space:
mode:
Diffstat (limited to 'arch/arm/vfp/entry.S')
-rw-r--r--arch/arm/vfp/entry.S12
1 files changed, 6 insertions, 6 deletions
diff --git a/arch/arm/vfp/entry.S b/arch/arm/vfp/entry.S
index 62206ef25037..547c94c62cd3 100644
--- a/arch/arm/vfp/entry.S
+++ b/arch/arm/vfp/entry.S
@@ -22,10 +22,10 @@
@ IRQs enabled.
@
ENTRY(do_vfp)
- mov r1, r10
- str lr, [sp, #-8]!
- add r3, sp, #4
- str r9, [r3]
- bl vfp_entry
- ldr pc, [sp], #8
+ mov r1, r0 @ pass trigger opcode via R1
+ mov r0, sp @ pass struct pt_regs via R0
+ bl vfp_support_entry @ dispatch the VFP exception
+ cmp r0, #0 @ handled successfully?
+ reteq r9 @ then use R9 as return address
+ ret lr @ pass to undef handler
ENDPROC(do_vfp)