summaryrefslogtreecommitdiffstats
path: root/sys/i386
diff options
context:
space:
mode:
authorjhb <jhb@FreeBSD.org>2001-10-23 22:29:16 +0000
committerjhb <jhb@FreeBSD.org>2001-10-23 22:29:16 +0000
commit507fdcfb7e4bdce96fbec9b3025085a172a64383 (patch)
tree8838d02b2b346cdc868df4a1a5cc559f782f9875 /sys/i386
parente0641b4c8a7879f144af22383b90acaa8f5b4b4f (diff)
downloadFreeBSD-src-507fdcfb7e4bdce96fbec9b3025085a172a64383.zip
FreeBSD-src-507fdcfb7e4bdce96fbec9b3025085a172a64383.tar.gz
Set the code and signal for the F00F hack fault directly instead of
changing the code in the trapframe and looping back to the top of trap again. Tested by: cjc
Diffstat (limited to 'sys/i386')
-rw-r--r--sys/i386/i386/trap.c10
1 files changed, 3 insertions, 7 deletions
diff --git a/sys/i386/i386/trap.c b/sys/i386/i386/trap.c
index bbe69b4..c08fc58 100644
--- a/sys/i386/i386/trap.c
+++ b/sys/i386/i386/trap.c
@@ -214,11 +214,6 @@ trap(frame)
}
eva = 0;
-
-#if defined(I586_CPU) && !defined(NO_F00F_HACK)
-restart:
-#endif
-
type = frame.tf_trapno;
code = frame.tf_err;
@@ -294,8 +289,9 @@ restart:
* f00f hack workaround has triggered, treat
* as illegal instruction not page fault.
*/
- frame.tf_trapno = T_PRIVINFLT;
- goto restart;
+ ucode = T_PRIVINFLT;
+ i = SIGILL;
+ break;
}
#endif
if (i == -1)
OpenPOWER on IntegriCloud