diff options
author | kib <kib@FreeBSD.org> | 2013-08-30 20:10:01 +0000 |
---|---|---|
committer | kib <kib@FreeBSD.org> | 2013-08-30 20:10:01 +0000 |
commit | 6eb9415a25cd4946b587bff62cbb3a07a7c4a604 (patch) | |
tree | 880fae793b2ee866f14cbe7be987c77eb48d8250 /sys/amd64 | |
parent | 056fcb91bed44ed2deb02fbd57dff5cf67b7641f (diff) | |
download | FreeBSD-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.c | 2 |
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); |