diff options
author | Daniel Jacobowitz <drow@false.org> | 2006-08-27 12:42:08 +0100 |
---|---|---|
committer | Russell King <rmk+kernel@arm.linux.org.uk> | 2006-08-27 12:42:08 +0100 |
commit | 7c6f25141b88b5e926f9d43932ce668602d611ae (patch) | |
tree | 50553a8e12aa4918eb3723ba3682e9ba2ca1e025 /arch/arm/vfp/vfp.h | |
parent | 3a13813e6effcfad5910d47b15b724621b50b878 (diff) | |
download | blackbird-op-linux-7c6f25141b88b5e926f9d43932ce668602d611ae.tar.gz blackbird-op-linux-7c6f25141b88b5e926f9d43932ce668602d611ae.zip |
[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.h | 8 |
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) |