diff options
author | jhb <jhb@FreeBSD.org> | 2001-10-23 22:29:16 +0000 |
---|---|---|
committer | jhb <jhb@FreeBSD.org> | 2001-10-23 22:29:16 +0000 |
commit | 507fdcfb7e4bdce96fbec9b3025085a172a64383 (patch) | |
tree | 8838d02b2b346cdc868df4a1a5cc559f782f9875 /sys/amd64 | |
parent | e0641b4c8a7879f144af22383b90acaa8f5b4b4f (diff) | |
download | FreeBSD-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/amd64')
-rw-r--r-- | sys/amd64/amd64/trap.c | 10 |
1 files changed, 3 insertions, 7 deletions
diff --git a/sys/amd64/amd64/trap.c b/sys/amd64/amd64/trap.c index bbe69b4..c08fc58 100644 --- a/sys/amd64/amd64/trap.c +++ b/sys/amd64/amd64/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) |