From 995438bbe58ef8b7b5c8e843376821a0eb84672e Mon Sep 17 00:00:00 2001 From: peter Date: Sat, 13 Jul 2002 20:56:18 +0000 Subject: Bandaid for SMP. Changing APTDpde without a global shootdown is not safe yet. We used to do a global shootdown here anyway so another day or so shouldn't hurt. --- sys/amd64/amd64/pmap.c | 4 ++-- sys/i386/i386/pmap.c | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/sys/amd64/amd64/pmap.c b/sys/amd64/amd64/pmap.c index 037de9f..03e3aa4 100644 --- a/sys/amd64/amd64/pmap.c +++ b/sys/amd64/amd64/pmap.c @@ -740,7 +740,7 @@ get_ptbase(pmap) /* otherwise, we are alternate address space */ if (frame != (APTDpde & PG_FRAME)) { APTDpde = (pd_entry_t) (frame | PG_RW | PG_V); - invltlb(); + pmap_invalidate_all(kernel_pmap); /* XXX Bandaid */ } return APTmap; } @@ -2638,7 +2638,7 @@ pmap_copy(pmap_t dst_pmap, pmap_t src_pmap, vm_offset_t dst_addr, vm_size_t len, */ if (dst_frame != (APTDpde & PG_FRAME)) { APTDpde = dst_frame | PG_RW | PG_V; - invltlb(); + pmap_invalidate_all(kernel_pmap); /* XXX Bandaid */ } src_pte = vtopte(addr); dst_pte = avtopte(addr); diff --git a/sys/i386/i386/pmap.c b/sys/i386/i386/pmap.c index 037de9f..03e3aa4 100644 --- a/sys/i386/i386/pmap.c +++ b/sys/i386/i386/pmap.c @@ -740,7 +740,7 @@ get_ptbase(pmap) /* otherwise, we are alternate address space */ if (frame != (APTDpde & PG_FRAME)) { APTDpde = (pd_entry_t) (frame | PG_RW | PG_V); - invltlb(); + pmap_invalidate_all(kernel_pmap); /* XXX Bandaid */ } return APTmap; } @@ -2638,7 +2638,7 @@ pmap_copy(pmap_t dst_pmap, pmap_t src_pmap, vm_offset_t dst_addr, vm_size_t len, */ if (dst_frame != (APTDpde & PG_FRAME)) { APTDpde = dst_frame | PG_RW | PG_V; - invltlb(); + pmap_invalidate_all(kernel_pmap); /* XXX Bandaid */ } src_pte = vtopte(addr); dst_pte = avtopte(addr); -- cgit v1.1