diff options
author | Gen FUKATSU <fukatsu.gen@jp.panasonic.com> | 2006-09-21 09:08:24 -0400 |
---|---|---|
committer | Russell King <rmk+kernel@arm.linux.org.uk> | 2006-09-25 05:34:06 -0400 |
commit | 4cc9bd2eaa1063c68341c1c00e66660adcfdf254 (patch) | |
tree | 3ee6d9f6b2075d4a5e340d2a3370f9e068aab723 /arch/arm/vfp/vfp.h | |
parent | f8c440b209581809c5c8acac599410f23597a7b8 (diff) |
[ARM] 3789/4: Fix VFP emulation to ignore VECITR for scalar instruction
VECITR in Floating-Point Exception register indicates the number of
remaining short vector iterations after a potential exception was
detected.
In case of exception caused by scalar instructions, VECITR is NOT updated.
Therefore emulation for VFP must ignore VECITR field
and treat "veclen" as zero when recognizing scalar instructing.
Signed-off-by: Gen Fukatsu <fukatsu.gen@jp.panasonic.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 | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/arch/arm/vfp/vfp.h b/arch/arm/vfp/vfp.h index 96fdf30f6a3b..19ace2e37789 100644 --- a/arch/arm/vfp/vfp.h +++ b/arch/arm/vfp/vfp.h | |||
@@ -355,3 +355,14 @@ u32 vfp_estimate_sqrt_significand(u32 exponent, u32 significand); | |||
355 | * we check for an error. | 355 | * we check for an error. |
356 | */ | 356 | */ |
357 | #define VFP_EXCEPTION_ERROR ((u32)-1 & ~VFP_NAN_FLAG) | 357 | #define VFP_EXCEPTION_ERROR ((u32)-1 & ~VFP_NAN_FLAG) |
358 | |||
359 | /* | ||
360 | * A flag to tell vfp instruction type | ||
361 | */ | ||
362 | #define OP_SCALAR (1 << 0) | ||
363 | #define OP_SD (1 << 1) | ||
364 | |||
365 | struct op { | ||
366 | u32 (* const fn)(int dd, int dn, int dm, u32 fpscr); | ||
367 | u32 flags; | ||
368 | }; | ||