aboutsummaryrefslogtreecommitdiffstats
path: root/arch/powerpc/include/asm/cacheflush.h
diff options
context:
space:
mode:
authorScott Wood <scottwood@freescale.com>2015-04-15 20:40:23 -0400
committerScott Wood <scottwood@freescale.com>2015-08-07 23:59:20 -0400
commit2f7d2b74a9dd9140053f143e1c94da0fef3c1109 (patch)
treecc90ce077e6bfa19440953c1914b78e690182403 /arch/powerpc/include/asm/cacheflush.h
parent501c8de7b061d2dc0c21a0a79fee3eddf30af8dd (diff)
powerpc/mm: Don't call __flush_dcache_icache_phys() with PA>VA
__flush_dcache_icache_phys() requires the ability to access the memory with the MMU disabled, which means that on a 32-bit system any memory above 4 GiB is inaccessible. In particular, mpc86xx is 32-bit and can have more than 4 GiB of RAM. Signed-off-by: Scott Wood <scottwood@freescale.com>
Diffstat (limited to 'arch/powerpc/include/asm/cacheflush.h')
-rw-r--r--arch/powerpc/include/asm/cacheflush.h7
1 files changed, 6 insertions, 1 deletions
diff --git a/arch/powerpc/include/asm/cacheflush.h b/arch/powerpc/include/asm/cacheflush.h
index 30b35fff2dea..6229e6b6037b 100644
--- a/arch/powerpc/include/asm/cacheflush.h
+++ b/arch/powerpc/include/asm/cacheflush.h
@@ -40,7 +40,12 @@ extern void __flush_dcache_icache(void *page_va);
40extern void flush_dcache_icache_page(struct page *page); 40extern void flush_dcache_icache_page(struct page *page);
41#if defined(CONFIG_PPC32) && !defined(CONFIG_BOOKE) 41#if defined(CONFIG_PPC32) && !defined(CONFIG_BOOKE)
42extern void __flush_dcache_icache_phys(unsigned long physaddr); 42extern void __flush_dcache_icache_phys(unsigned long physaddr);
43#endif /* CONFIG_PPC32 && !CONFIG_BOOKE */ 43#else
44static inline void __flush_dcache_icache_phys(unsigned long physaddr)
45{
46 BUG();
47}
48#endif
44 49
45extern void flush_dcache_range(unsigned long start, unsigned long stop); 50extern void flush_dcache_range(unsigned long start, unsigned long stop);
46#ifdef CONFIG_PPC32 51#ifdef CONFIG_PPC32