summaryrefslogtreecommitdiffstats
path: root/sys/i386
diff options
context:
space:
mode:
authorpeter <peter@FreeBSD.org>2002-07-13 21:55:11 +0000
committerpeter <peter@FreeBSD.org>2002-07-13 21:55:11 +0000
commitde5af3fe19c0dff0cfb3c6e68d0520e4d5a1d226 (patch)
tree0985176b0bc04410938c0a5a91096d44db93cea9 /sys/i386
parent823051bf3582dc49d7a41c758ebd12071ac3cb25 (diff)
downloadFreeBSD-src-de5af3fe19c0dff0cfb3c6e68d0520e4d5a1d226.zip
FreeBSD-src-de5af3fe19c0dff0cfb3c6e68d0520e4d5a1d226.tar.gz
Two invlpg's slipped through that were not protected from I386_CPU
Pointed out by: dillon
Diffstat (limited to 'sys/i386')
-rw-r--r--sys/i386/i386/pmap.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/sys/i386/i386/pmap.c b/sys/i386/i386/pmap.c
index 2c76ef0..9b4d09d 100644
--- a/sys/i386/i386/pmap.c
+++ b/sys/i386/i386/pmap.c
@@ -1171,7 +1171,11 @@ pmap_pinit0(pmap)
pmap->pm_pdir =
(pd_entry_t *)kmem_alloc_pageable(kernel_map, PAGE_SIZE);
pmap_kenter((vm_offset_t)pmap->pm_pdir, (vm_offset_t)IdlePTD);
+#ifndef I386_CPU
invlpg((vm_offset_t)pmap->pm_pdir);
+#else
+ invltlb();
+#endif
pmap->pm_ptphint = NULL;
pmap->pm_active = 0;
TAILQ_INIT(&pmap->pm_pvlist);
@@ -2277,7 +2281,11 @@ pmap_kenter_temporary(vm_offset_t pa, int i)
va = (vm_offset_t)crashdumpmap + (i * PAGE_SIZE);
pmap_kenter(va, pa);
+#ifndef I386_CPU
invlpg(va);
+#else
+ invltlb();
+#endif
return ((void *)crashdumpmap);
}
OpenPOWER on IntegriCloud