diff options
author | Scott Wood <scottwood@freescale.com> | 2015-04-15 20:40:23 -0400 |
---|---|---|
committer | Scott Wood <scottwood@freescale.com> | 2015-08-07 23:59:20 -0400 |
commit | 2f7d2b74a9dd9140053f143e1c94da0fef3c1109 (patch) | |
tree | cc90ce077e6bfa19440953c1914b78e690182403 /arch/powerpc/include/asm/cacheflush.h | |
parent | 501c8de7b061d2dc0c21a0a79fee3eddf30af8dd (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.h | 7 |
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); | |||
40 | extern void flush_dcache_icache_page(struct page *page); | 40 | extern void flush_dcache_icache_page(struct page *page); |
41 | #if defined(CONFIG_PPC32) && !defined(CONFIG_BOOKE) | 41 | #if defined(CONFIG_PPC32) && !defined(CONFIG_BOOKE) |
42 | extern void __flush_dcache_icache_phys(unsigned long physaddr); | 42 | extern void __flush_dcache_icache_phys(unsigned long physaddr); |
43 | #endif /* CONFIG_PPC32 && !CONFIG_BOOKE */ | 43 | #else |
44 | static inline void __flush_dcache_icache_phys(unsigned long physaddr) | ||
45 | { | ||
46 | BUG(); | ||
47 | } | ||
48 | #endif | ||
44 | 49 | ||
45 | extern void flush_dcache_range(unsigned long start, unsigned long stop); | 50 | extern void flush_dcache_range(unsigned long start, unsigned long stop); |
46 | #ifdef CONFIG_PPC32 | 51 | #ifdef CONFIG_PPC32 |