summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--sys/i386/i386/trap.c7
1 files changed, 3 insertions, 4 deletions
diff --git a/sys/i386/i386/trap.c b/sys/i386/i386/trap.c
index 7c16b24..981e3f1 100644
--- a/sys/i386/i386/trap.c
+++ b/sys/i386/i386/trap.c
@@ -550,11 +550,7 @@ user_trctrap_out:
vm86_trap((struct vm86frame *)frame);
goto out;
}
- if (type == T_STKFLT)
- break;
-
/* FALL THROUGH */
-
case T_SEGNPFLT: /* segment not present fault */
if (curpcb->pcb_flags & PCB_VM86CALL)
break;
@@ -595,6 +591,9 @@ user_trctrap_out:
frame->tf_eip = (int)doreti_iret_fault;
goto out;
}
+ if (type == T_STKFLT)
+ break;
+
if (frame->tf_eip == (int)doreti_popl_ds) {
frame->tf_eip = (int)doreti_popl_ds_fault;
goto out;
OpenPOWER on IntegriCloud