summaryrefslogtreecommitdiffstats
path: root/sys/amd64
diff options
context:
space:
mode:
authorkib <kib@FreeBSD.org>2013-08-30 20:10:01 +0000
committerkib <kib@FreeBSD.org>2013-08-30 20:10:01 +0000
commit6eb9415a25cd4946b587bff62cbb3a07a7c4a604 (patch)
tree880fae793b2ee866f14cbe7be987c77eb48d8250 /sys/amd64
parent056fcb91bed44ed2deb02fbd57dff5cf67b7641f (diff)
downloadFreeBSD-src-6eb9415a25cd4946b587bff62cbb3a07a7c4a604.zip
FreeBSD-src-6eb9415a25cd4946b587bff62cbb3a07a7c4a604.tar.gz
The pm_save should be cleared on the pmap initialization, and not on
the activation. Noted by: alc
Diffstat (limited to 'sys/amd64')
-rw-r--r--sys/amd64/amd64/pmap.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/sys/amd64/amd64/pmap.c b/sys/amd64/amd64/pmap.c
index bca40f0..a134e10 100644
--- a/sys/amd64/amd64/pmap.c
+++ b/sys/amd64/amd64/pmap.c
@@ -1863,6 +1863,7 @@ pmap_pinit0(pmap_t pmap)
pmap->pm_pml4 = (pml4_entry_t *)PHYS_TO_DMAP(KPML4phys);
pmap->pm_root.rt_root = 0;
CPU_ZERO(&pmap->pm_active);
+ CPU_ZERO(&pmap->pm_save);
PCPU_SET(curpmap, pmap);
TAILQ_INIT(&pmap->pm_pvchunk);
bzero(&pmap->pm_stats, sizeof pmap->pm_stats);
@@ -5939,7 +5940,6 @@ pmap_activate(struct thread *td)
critical_enter();
pmap = vmspace_pmap(td->td_proc->p_vmspace);
oldpmap = PCPU_GET(curpmap);
- CPU_ZERO(&pmap->pm_save);
cpuid = PCPU_GET(cpuid);
#ifdef SMP
CPU_CLR_ATOMIC(cpuid, &oldpmap->pm_active);
OpenPOWER on IntegriCloud