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.
This commit is contained in:
Peter Wemm 2002-07-13 20:56:18 +00:00
parent 1f54526952
commit a7b1f16c86
2 changed files with 4 additions and 4 deletions

View File

@ -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);

View File

@ -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);