summaryrefslogtreecommitdiffstats
path: root/sys/amd64
diff options
context:
space:
mode:
Diffstat (limited to 'sys/amd64')
-rw-r--r--sys/amd64/amd64/trap.c10
1 files changed, 7 insertions, 3 deletions
diff --git a/sys/amd64/amd64/trap.c b/sys/amd64/amd64/trap.c
index c08fc58..fd4c8fe 100644
--- a/sys/amd64/amd64/trap.c
+++ b/sys/amd64/amd64/trap.c
@@ -286,10 +286,14 @@ trap(frame)
#if defined(I586_CPU) && !defined(NO_F00F_HACK)
if (i == -2) {
/*
- * f00f hack workaround has triggered, treat
- * as illegal instruction not page fault.
+ * The f00f hack workaround has triggered, so
+ * treat the fault as an illegal instruction
+ * (T_PRIVINFLT) instead of a page fault.
*/
- ucode = T_PRIVINFLT;
+ type = frame.tf_trapno = T_PRIVINFLT;
+
+ /* Proceed as in that case. */
+ ucode = type;
i = SIGILL;
break;
}
OpenPOWER on IntegriCloud