diff options
author | gonzo <gonzo@FreeBSD.org> | 2015-11-04 04:01:59 +0000 |
---|---|---|
committer | gonzo <gonzo@FreeBSD.org> | 2015-11-04 04:01:59 +0000 |
commit | 73cad5a3a46efcaf707c46b7b408dabdadbb7fb3 (patch) | |
tree | 74b1577082d2a38fa40b359abb36335b0346a542 /sys/arm | |
parent | 90239f5468d6e274580dc377bb18ecc61c5d542c (diff) | |
download | FreeBSD-src-73cad5a3a46efcaf707c46b7b408dabdadbb7fb3.zip FreeBSD-src-73cad5a3a46efcaf707c46b7b408dabdadbb7fb3.tar.gz |
Revert r290243, it's vaid "illegal instruction" case
DEX bit is set to 1 and exception raised whenever vectorized operation is
attempted on the VFP implementation that does not support it (i.e. on Cortex A7)
Diffstat (limited to 'sys/arm')
-rw-r--r-- | sys/arm/arm/vfp.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/sys/arm/arm/vfp.c b/sys/arm/arm/vfp.c index 80a7bd0..c149aaf 100644 --- a/sys/arm/arm/vfp.c +++ b/sys/arm/arm/vfp.c @@ -179,12 +179,12 @@ vfp_bounce(u_int addr, u_int insn, struct trapframe *frame, int code) fpexc = fmrx(fpexc); if (fpexc & VFPEXC_EN) { /* Clear any exceptions */ - fmxr(fpexc, fpexc & ~(VFPEXC_EX | VFPEXC_DEX | VFPEXC_FP2V)); + fmxr(fpexc, fpexc & ~(VFPEXC_EX | VFPEXC_FP2V)); /* kill the process - we do not handle emulation */ critical_exit(); - if (fpexc & (VFPEXC_EX | VFPEXC_DEX)) { + if (fpexc & VFPEXC_EX) { /* We have an exception, signal a SIGFPE */ ksiginfo_init_trap(&ksi); ksi.ksi_signo = SIGFPE; |