summaryrefslogtreecommitdiffstats
path: root/sys/arm
diff options
context:
space:
mode:
authorgonzo <gonzo@FreeBSD.org>2015-11-04 04:01:59 +0000
committergonzo <gonzo@FreeBSD.org>2015-11-04 04:01:59 +0000
commit73cad5a3a46efcaf707c46b7b408dabdadbb7fb3 (patch)
tree74b1577082d2a38fa40b359abb36335b0346a542 /sys/arm
parent90239f5468d6e274580dc377bb18ecc61c5d542c (diff)
downloadFreeBSD-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.c4
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;
OpenPOWER on IntegriCloud