diff options
author | peter <peter@FreeBSD.org> | 2002-07-13 21:55:11 +0000 |
---|---|---|
committer | peter <peter@FreeBSD.org> | 2002-07-13 21:55:11 +0000 |
commit | de5af3fe19c0dff0cfb3c6e68d0520e4d5a1d226 (patch) | |
tree | 0985176b0bc04410938c0a5a91096d44db93cea9 /sys/i386 | |
parent | 823051bf3582dc49d7a41c758ebd12071ac3cb25 (diff) | |
download | FreeBSD-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.c | 8 |
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); } |