diff options
author | Russell King <rmk@dyn-67.arm.linux.org.uk> | 2007-06-10 07:22:20 -0400 |
---|---|---|
committer | Russell King <rmk+kernel@arm.linux.org.uk> | 2007-06-10 07:22:20 -0400 |
commit | 5d4cae5fe2ea1a0974962e2c49dca5c9c4b14cc0 (patch) | |
tree | 4f041d48181445ef55b1fedea7853d4fb2ef8f31 /arch/arm/vfp/entry.S | |
parent | 845a2fdcbd5bc5b9f652201ee95c825827a1d521 (diff) |
[ARM] VFP: fix section mismatch error
Fix a real section mismatch issue; the test code is thrown away after
initialisation, but if we do not detect the VFP hardware, it is left
hooked into the exception handler. Any VFP instructions which are
subsequently executed risk calling the discarded exception handler.
Introduce a new "null" handler which returns to the "unrecognised
fault" return address.
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Diffstat (limited to 'arch/arm/vfp/entry.S')
-rw-r--r-- | arch/arm/vfp/entry.S | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/arch/arm/vfp/entry.S b/arch/arm/vfp/entry.S index ca2a5ad19ea6..806ce26d5243 100644 --- a/arch/arm/vfp/entry.S +++ b/arch/arm/vfp/entry.S | |||
@@ -29,6 +29,10 @@ do_vfp: | |||
29 | add r10, r10, #TI_VFPSTATE @ r10 = workspace | 29 | add r10, r10, #TI_VFPSTATE @ r10 = workspace |
30 | ldr pc, [r4] @ call VFP entry point | 30 | ldr pc, [r4] @ call VFP entry point |
31 | 31 | ||
32 | ENTRY(vfp_null_entry) | ||
33 | mov pc, lr | ||
34 | ENDPROC(vfp_null_entry) | ||
35 | |||
32 | .LCvfp: | 36 | .LCvfp: |
33 | .word vfp_vector | 37 | .word vfp_vector |
34 | 38 | ||