summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--c/src/lib/libbsp/powerpc/qoriq/startup/mmu-tlb1.S6
-rw-r--r--c/src/lib/libbsp/powerpc/qoriq/startup/mmu.c2
2 files changed, 5 insertions, 3 deletions
diff --git a/c/src/lib/libbsp/powerpc/qoriq/startup/mmu-tlb1.S b/c/src/lib/libbsp/powerpc/qoriq/startup/mmu-tlb1.S
index 25ef05303c..e988656760 100644
--- a/c/src/lib/libbsp/powerpc/qoriq/startup/mmu-tlb1.S
+++ b/c/src/lib/libbsp/powerpc/qoriq/startup/mmu-tlb1.S
@@ -48,8 +48,9 @@ qoriq_tlb1_write:
li r0, 0
mtspr FSL_EIS_MAS8, r0
#endif
+ isync
+ msync
tlbwe
- sync
isync
blr
@@ -65,8 +66,9 @@ qoriq_tlb1_invalidate:
#ifdef QORIQ_HAS_HYPERVISOR_MODE
mtspr FSL_EIS_MAS8, r0
#endif
+ isync
+ msync
tlbwe
- sync
isync
blr
diff --git a/c/src/lib/libbsp/powerpc/qoriq/startup/mmu.c b/c/src/lib/libbsp/powerpc/qoriq/startup/mmu.c
index e2a0188c80..90a4b23162 100644
--- a/c/src/lib/libbsp/powerpc/qoriq/startup/mmu.c
+++ b/c/src/lib/libbsp/powerpc/qoriq/startup/mmu.c
@@ -317,7 +317,7 @@ void qoriq_mmu_change_perm(uint32_t test, uint32_t set, uint32_t clear)
mas3 &= ~(clear & mask);
mas3 |= set & mask;
PPC_SET_SPECIAL_PURPOSE_REGISTER(FSL_EIS_MAS3, mas3);
- asm volatile ("tlbwe; msync; isync" : : : "memory");
+ asm volatile ("isync; msync; tlbwe; isync" : : : "memory");
}
}
}