diff options
author | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2016-07-28 10:35:24 +0200 |
---|---|---|
committer | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2016-07-28 10:50:12 +0200 |
commit | 64467730002526e52626d3e590117422c3d9fb70 (patch) | |
tree | 5245aa46a68b3306dbdaf718bb9482ca8a5e3f0f | |
parent | bsp/qoriq: Add QORIQ_HAS_WRITE_BACK_L1_CACHE (diff) | |
download | rtems-64467730002526e52626d3e590117422c3d9fb70.tar.bz2 |
bsp/qoriq: Fix tlbwe synchronization
-rw-r--r-- | c/src/lib/libbsp/powerpc/qoriq/startup/mmu-tlb1.S | 6 | ||||
-rw-r--r-- | c/src/lib/libbsp/powerpc/qoriq/startup/mmu.c | 2 |
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"); } } } |