summaryrefslogtreecommitdiffstats
path: root/arch/arm/vfp/entry.S
diff options
context:
space:
mode:
authorRussell King <rmk@dyn-67.arm.linux.org.uk>2007-06-10 13:22:20 +0200
committerRussell King <rmk+kernel@arm.linux.org.uk>2007-06-10 13:22:20 +0200
commit5d4cae5fe2ea1a0974962e2c49dca5c9c4b14cc0 (patch)
tree4f041d48181445ef55b1fedea7853d4fb2ef8f31 /arch/arm/vfp/entry.S
parentMerge branch 'upstream-linus' of git://git.kernel.org/pub/scm/linux/kernel/gi... (diff)
downloadlinux-5d4cae5fe2ea1a0974962e2c49dca5c9c4b14cc0.tar.xz
linux-5d4cae5fe2ea1a0974962e2c49dca5c9c4b14cc0.zip
[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.S4
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:
add r10, r10, #TI_VFPSTATE @ r10 = workspace
ldr pc, [r4] @ call VFP entry point
+ENTRY(vfp_null_entry)
+ mov pc, lr
+ENDPROC(vfp_null_entry)
+
.LCvfp:
.word vfp_vector