diff options
-rw-r--r-- | sys/powerpc/aim/mmu_oea.c | 2 | ||||
-rw-r--r-- | sys/powerpc/powerpc/mmu_oea.c | 2 | ||||
-rw-r--r-- | sys/powerpc/powerpc/pmap.c | 2 |
3 files changed, 6 insertions, 0 deletions
diff --git a/sys/powerpc/aim/mmu_oea.c b/sys/powerpc/aim/mmu_oea.c index 591be13..5398d61 100644 --- a/sys/powerpc/aim/mmu_oea.c +++ b/sys/powerpc/aim/mmu_oea.c @@ -1219,6 +1219,7 @@ pmap_kenter(vm_offset_t va, vm_offset_t pa) } } + PMAP_LOCK(kernel_pmap); error = pmap_pvo_enter(kernel_pmap, pmap_upvo_zone, &pmap_pvo_kunmanaged, va, pa, pte_lo, PVO_WIRED); @@ -1232,6 +1233,7 @@ pmap_kenter(vm_offset_t va, vm_offset_t pa) if ((pte_lo & (PTE_I | PTE_G)) == 0) { pmap_syncicache(pa, PAGE_SIZE); } + PMAP_UNLOCK(kernel_pmap); } /* diff --git a/sys/powerpc/powerpc/mmu_oea.c b/sys/powerpc/powerpc/mmu_oea.c index 591be13..5398d61 100644 --- a/sys/powerpc/powerpc/mmu_oea.c +++ b/sys/powerpc/powerpc/mmu_oea.c @@ -1219,6 +1219,7 @@ pmap_kenter(vm_offset_t va, vm_offset_t pa) } } + PMAP_LOCK(kernel_pmap); error = pmap_pvo_enter(kernel_pmap, pmap_upvo_zone, &pmap_pvo_kunmanaged, va, pa, pte_lo, PVO_WIRED); @@ -1232,6 +1233,7 @@ pmap_kenter(vm_offset_t va, vm_offset_t pa) if ((pte_lo & (PTE_I | PTE_G)) == 0) { pmap_syncicache(pa, PAGE_SIZE); } + PMAP_UNLOCK(kernel_pmap); } /* diff --git a/sys/powerpc/powerpc/pmap.c b/sys/powerpc/powerpc/pmap.c index 591be13..5398d61 100644 --- a/sys/powerpc/powerpc/pmap.c +++ b/sys/powerpc/powerpc/pmap.c @@ -1219,6 +1219,7 @@ pmap_kenter(vm_offset_t va, vm_offset_t pa) } } + PMAP_LOCK(kernel_pmap); error = pmap_pvo_enter(kernel_pmap, pmap_upvo_zone, &pmap_pvo_kunmanaged, va, pa, pte_lo, PVO_WIRED); @@ -1232,6 +1233,7 @@ pmap_kenter(vm_offset_t va, vm_offset_t pa) if ((pte_lo & (PTE_I | PTE_G)) == 0) { pmap_syncicache(pa, PAGE_SIZE); } + PMAP_UNLOCK(kernel_pmap); } /* |