From 64467730002526e52626d3e590117422c3d9fb70 Mon Sep 17 00:00:00 2001 From: Sebastian Huber Date: Thu, 28 Jul 2016 10:35:24 +0200 Subject: bsp/qoriq: Fix tlbwe synchronization --- c/src/lib/libbsp/powerpc/qoriq/startup/mmu-tlb1.S | 6 ++++-- 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"); } } } -- cgit v1.2.3