summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authoraiju <devnull@localhost>2017-06-12 19:46:25 +0000
committeraiju <devnull@localhost>2017-06-12 19:46:25 +0000
commit3844090f3997aab26cb3d54c4cb837e278a04933 (patch)
treef1f498b5c3e94075964daa973c91a5bbf0218cd5
parentdae0f4d28d3ffa312cab5d751045b1bbab1d897d (diff)
pc/pc64: reset DR7 in mmurelease
-rw-r--r--sys/src/9/pc/mmu.c2
-rw-r--r--sys/src/9/pc64/mmu.c2
2 files changed, 4 insertions, 0 deletions
diff --git a/sys/src/9/pc/mmu.c b/sys/src/9/pc/mmu.c
index 2e77aaee7..dc8546f6f 100644
--- a/sys/src/9/pc/mmu.c
+++ b/sys/src/9/pc/mmu.c
@@ -387,6 +387,8 @@ mmurelease(Proc* proc)
proc->ldt = nil;
proc->nldt = 0;
}
+ if(proc->dr[7] != 0)
+ putdr7(0);
}
/*
diff --git a/sys/src/9/pc64/mmu.c b/sys/src/9/pc64/mmu.c
index 6f27ac25e..19828eafc 100644
--- a/sys/src/9/pc64/mmu.c
+++ b/sys/src/9/pc64/mmu.c
@@ -425,6 +425,8 @@ mmurelease(Proc *proc)
proc->kmapcount = proc->kmapindex = 0;
}
mmufree(proc);
+ if(proc->dr[7] != 0)
+ putdr7(0);
taskswitch((uintptr)m+MACHSIZE);
}