summaryrefslogtreecommitdiffstats
path: root/arch
diff options
context:
space:
mode:
authorSascha Hauer <s.hauer@pengutronix.de>2010-10-11 13:06:18 +0200
committerSascha Hauer <s.hauer@pengutronix.de>2010-10-11 13:22:14 +0200
commitcdd5db42eff840323ed1bc9da8d0f0913614cddf (patch)
tree258281ac8db1cc7ee1323e7af6ccc11b0f7bc84f /arch
parent082e56d6f202332fb2f55066d561bb730c7a0fdf (diff)
downloadbarebox-cdd5db42eff840323ed1bc9da8d0f0913614cddf.tar.gz
barebox-cdd5db42eff840323ed1bc9da8d0f0913614cddf.tar.xz
ARM mmu: Call __mmu_cache_flush instead of hardcoded v4/v5 only function
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Diffstat (limited to 'arch')
-rw-r--r--arch/arm/cpu/mmu.c6
1 files changed, 2 insertions, 4 deletions
diff --git a/arch/arm/cpu/mmu.c b/arch/arm/cpu/mmu.c
index 5bf31c03bf..08a57ce815 100644
--- a/arch/arm/cpu/mmu.c
+++ b/arch/arm/cpu/mmu.c
@@ -16,12 +16,10 @@ void arm_create_section(unsigned long virt, unsigned long phys, int size_m,
ttb[virt] = (phys << 20) | flags;
asm volatile (
- "mov r0, #0;"
- "mcr p15, 0, r0, c7, c6, 0;" /* flush d-cache */
- "mcr p15, 0, r0, c8, c7, 0;" /* flush i+d-TLBs */
+ "bl __mmu_cache_flush;"
:
:
- : "r0","memory" /* clobber list */
+ : "r0", "r1", "r2", "r3", "r6", "r10", "r12", "cc", "memory"
);
}