|
@@ -18,10 +18,6 @@
|
|
|
|
|
|
#include "mm.h"
|
|
|
|
|
|
-#ifdef CONFIG_ARM_ERRATA_411920
|
|
|
-extern void v6_icache_inval_all(void);
|
|
|
-#endif
|
|
|
-
|
|
|
#ifdef CONFIG_CPU_CACHE_VIPT
|
|
|
|
|
|
#define ALIAS_FLUSH_START 0xffff4000
|
|
@@ -35,16 +31,11 @@ static void flush_pfn_alias(unsigned long pfn, unsigned long vaddr)
|
|
|
flush_tlb_kernel_page(to);
|
|
|
|
|
|
asm( "mcrr p15, 0, %1, %0, c14\n"
|
|
|
- " mcr p15, 0, %2, c7, c10, 4\n"
|
|
|
-#ifndef CONFIG_ARM_ERRATA_411920
|
|
|
- " mcr p15, 0, %2, c7, c5, 0\n"
|
|
|
-#endif
|
|
|
+ " mcr p15, 0, %2, c7, c10, 4"
|
|
|
:
|
|
|
: "r" (to), "r" (to + PAGE_SIZE - L1_CACHE_BYTES), "r" (zero)
|
|
|
: "cc");
|
|
|
-#ifdef CONFIG_ARM_ERRATA_411920
|
|
|
- v6_icache_inval_all();
|
|
|
-#endif
|
|
|
+ __flush_icache_all();
|
|
|
}
|
|
|
|
|
|
void flush_cache_mm(struct mm_struct *mm)
|
|
@@ -57,16 +48,11 @@ void flush_cache_mm(struct mm_struct *mm)
|
|
|
|
|
|
if (cache_is_vipt_aliasing()) {
|
|
|
asm( "mcr p15, 0, %0, c7, c14, 0\n"
|
|
|
- " mcr p15, 0, %0, c7, c10, 4\n"
|
|
|
-#ifndef CONFIG_ARM_ERRATA_411920
|
|
|
- " mcr p15, 0, %0, c7, c5, 0\n"
|
|
|
-#endif
|
|
|
+ " mcr p15, 0, %0, c7, c10, 4"
|
|
|
:
|
|
|
: "r" (0)
|
|
|
: "cc");
|
|
|
-#ifdef CONFIG_ARM_ERRATA_411920
|
|
|
- v6_icache_inval_all();
|
|
|
-#endif
|
|
|
+ __flush_icache_all();
|
|
|
}
|
|
|
}
|
|
|
|
|
@@ -81,16 +67,11 @@ void flush_cache_range(struct vm_area_struct *vma, unsigned long start, unsigned
|
|
|
|
|
|
if (cache_is_vipt_aliasing()) {
|
|
|
asm( "mcr p15, 0, %0, c7, c14, 0\n"
|
|
|
- " mcr p15, 0, %0, c7, c10, 4\n"
|
|
|
-#ifndef CONFIG_ARM_ERRATA_411920
|
|
|
- " mcr p15, 0, %0, c7, c5, 0\n"
|
|
|
-#endif
|
|
|
+ " mcr p15, 0, %0, c7, c10, 4"
|
|
|
:
|
|
|
: "r" (0)
|
|
|
: "cc");
|
|
|
-#ifdef CONFIG_ARM_ERRATA_411920
|
|
|
- v6_icache_inval_all();
|
|
|
-#endif
|
|
|
+ __flush_icache_all();
|
|
|
}
|
|
|
}
|
|
|
|