diff options
author | nwhitehorn <nwhitehorn@FreeBSD.org> | 2010-10-04 16:07:48 +0000 |
---|---|---|
committer | nwhitehorn <nwhitehorn@FreeBSD.org> | 2010-10-04 16:07:48 +0000 |
commit | 09583f57805b64642c59c88c3b2049090f307df7 (patch) | |
tree | 481962d7fc9faafe3f3b933bf450e37dc003c3d5 /sys/powerpc/aim/mmu_oea.c | |
parent | 6a7d71b6f3e65a7aaea0b142a004d9168848530f (diff) | |
download | FreeBSD-src-09583f57805b64642c59c88c3b2049090f307df7.zip FreeBSD-src-09583f57805b64642c59c88c3b2049090f307df7.tar.gz |
Follow exactly the steps in architecture manual for correctly invalidating
TLB entries instead of trying to cut corners.
Diffstat (limited to 'sys/powerpc/aim/mmu_oea.c')
-rw-r--r-- | sys/powerpc/aim/mmu_oea.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/sys/powerpc/aim/mmu_oea.c b/sys/powerpc/aim/mmu_oea.c index dad3eda..27d4ef3 100644 --- a/sys/powerpc/aim/mmu_oea.c +++ b/sys/powerpc/aim/mmu_oea.c @@ -425,9 +425,9 @@ tlbie(vm_offset_t va) { mtx_lock_spin(&tlbie_mtx); + __asm __volatile("ptesync"); __asm __volatile("tlbie %0" :: "r"(va)); - __asm __volatile("tlbsync"); - powerpc_sync(); + __asm __volatile("eieio; tlbsync; ptesync"); mtx_unlock_spin(&tlbie_mtx); } |