]> www.pilppa.org Git - linux-2.6-omap-h63xx.git/blobdiff - arch/powerpc/kernel/misc_32.S
powerpc/fsl-booke: Fix problem with _tlbil_va being interrupted
[linux-2.6-omap-h63xx.git] / arch / powerpc / kernel / misc_32.S
index 6a9b4bf0d173e0f0a656c0ef313af7fed325df59..d108715129e264524854cac071748dcfbd313f6c 100644 (file)
@@ -470,6 +470,8 @@ _GLOBAL(_tlbil_pid)
        mfspr   r3,SPRN_MMUCSR0
        andi.   r3,r3,MMUCSR0_TLBFI@l
        bne     1b
+       msync
+       isync
        blr
 
 /*
@@ -477,6 +479,8 @@ _GLOBAL(_tlbil_pid)
  * (no broadcast)
  */
 _GLOBAL(_tlbil_va)
+       mfmsr   r10
+       wrteei  0
        slwi    r4,r4,16
        mtspr   SPRN_MAS6,r4            /* assume AS=0 for now */
        tlbsx   0,r3
@@ -486,6 +490,9 @@ _GLOBAL(_tlbil_va)
        rlwinm  r4,r4,0,1,31
        mtspr   SPRN_MAS1,r4
        tlbwe
+       msync
+       isync
+       wrtee   r10
        blr
 #endif /* CONFIG_FSL_BOOKE */