summaryrefslogtreecommitdiffstats
path: root/sys/i386/isa/npx.c
diff options
context:
space:
mode:
Diffstat (limited to 'sys/i386/isa/npx.c')
-rw-r--r--sys/i386/isa/npx.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/sys/i386/isa/npx.c b/sys/i386/isa/npx.c
index 7c6c4f0..a729e0f 100644
--- a/sys/i386/isa/npx.c
+++ b/sys/i386/isa/npx.c
@@ -796,6 +796,8 @@ npx_intr(dummy)
int
npxdna()
{
+ int s;
+
if (!npx_exists)
return (0);
if (PCPU_GET(npxproc) != NULL) {
@@ -803,6 +805,8 @@ npxdna()
PCPU_GET(npxproc), curproc);
panic("npxdna");
}
+ s = save_intr();
+ disable_intr();
stop_emulating();
/*
* Record new context early in case frstor causes an IRQ13.
@@ -822,6 +826,7 @@ npxdna()
* first FPU instruction after a context switch.
*/
frstor(&PCPU_GET(curpcb)->pcb_savefpu);
+ restore_intr(s);
return (1);
}
OpenPOWER on IntegriCloud