[ARM] 4629/1: Fix VFP emulation code to clear all exception flags of FPEXC
authorTakashi Ohmasa <ohmasa.takashi@jp.panasonic.com>
Fri, 19 Oct 2007 12:58:51 +0000 (13:58 +0100)
committerRussell King <rmk+kernel@arm.linux.org.uk>
Sat, 20 Oct 2007 22:42:15 +0000 (23:42 +0100)
All exception flags of the FPEXC register must be cleared before
returning from exception code to user code, including FP2V and OFC.

Signed-off-by: Takashi Ohmasa <ohmasa.takashi@jp.panasonic.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
arch/arm/vfp/vfpmodule.c

index eea3f50743d58b3076592969f5e0cf98b0ecedef..b4e210df92f2a37084c9dff73ae07b24ce73f725 100644 (file)
@@ -229,7 +229,7 @@ void VFP9_bounce(u32 trigger, u32 fpexc, struct pt_regs *regs)
        /*
         * Enable access to the VFP so we can handle the bounce.
         */
-       fmxr(FPEXC, fpexc & ~(FPEXC_EX|FPEXC_INV|FPEXC_UFC|FPEXC_IOC));
+       fmxr(FPEXC, fpexc & ~(FPEXC_EX|FPEXC_FPV2|FPEXC_INV|FPEXC_UFC|FPEXC_OFC|FPEXC_IOC));
 
        orig_fpscr = fpscr = fmrx(FPSCR);