summaryrefslogtreecommitdiffstats
path: root/arch/arm/vfp/vfp.h
diff options
context:
space:
mode:
authorDaniel Jacobowitz <drow@false.org>2006-08-27 12:42:08 +0100
committerRussell King <rmk+kernel@arm.linux.org.uk>2006-08-27 12:42:08 +0100
commit7c6f25141b88b5e926f9d43932ce668602d611ae (patch)
tree50553a8e12aa4918eb3723ba3682e9ba2ca1e025 /arch/arm/vfp/vfp.h
parent3a13813e6effcfad5910d47b15b724621b50b878 (diff)
downloadlinux-7c6f25141b88b5e926f9d43932ce668602d611ae.tar.bz2
[ARM] 3748/3: Correct error check in vfp_raise_exceptions
Patch from Daniel Jacobowitz The recent fix to hide VFP_NAN_FLAG broke the check in vfp_raise_exceptions; it would attempt to deliver an exception mask of 0xfffffeff instead of reporting a serious error condition using printk. Define a safe constant to use for an invalid exception maskm, and use it at both ends. Signed-off-by: Daniel Jacobowitz <dan@codesourcery.com> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Diffstat (limited to 'arch/arm/vfp/vfp.h')
-rw-r--r--arch/arm/vfp/vfp.h8
1 files changed, 8 insertions, 0 deletions
diff --git a/arch/arm/vfp/vfp.h b/arch/arm/vfp/vfp.h
index 4b97950984e9..5fbdf81a8aaf 100644
--- a/arch/arm/vfp/vfp.h
+++ b/arch/arm/vfp/vfp.h
@@ -353,3 +353,11 @@ u32 vfp_estimate_sqrt_significand(u32 exponent, u32 significand);
* A special flag to tell the normalisation code not to normalise.
*/
#define VFP_NAN_FLAG 0x100
+
+/*
+ * A bit pattern used to indicate the initial (unset) value of the
+ * exception mask, in case nothing handles an instruction. This
+ * doesn't include the NAN flag, which get masked out before
+ * we check for an error.
+ */
+#define VFP_EXCEPTION_ERROR ((u32)-1 & ~VFP_NAN_FLAG)