OSDN Git Service

target-arm: Set softfloat cumulative exc flags from correct FPSCR bits
authorPeter Maydell <peter.maydell@linaro.org>
Thu, 6 Jan 2011 19:37:54 +0000 (19:37 +0000)
committerAurelien Jarno <aurelien@aurel32.net>
Thu, 6 Jan 2011 21:16:59 +0000 (22:16 +0100)
When handling a write to the ARM FPSCR, set the softfloat cumulative
exception flags from the cumulative flags in the FPSCR, not the
exception-enable bits. Also don't apply a mask: vfp_exceptbits_to_host
will only look at the correct bits anyway.

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Acked-by: Aurelien Jarno <aurelien@aurel32.net>
Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
target-arm/helper.c

index 50c1017..05684a2 100644 (file)
@@ -2315,7 +2315,7 @@ void HELPER(vfp_set_fpscr)(CPUState *env, uint32_t val)
     if (changed & (1 << 25))
         set_default_nan_mode((val & (1 << 25)) != 0, &env->vfp.fp_status);
 
-    i = vfp_exceptbits_to_host((val >> 8) & 0x1f);
+    i = vfp_exceptbits_to_host(val);
     set_float_exception_flags(i, &env->vfp.fp_status);
 }