aboutsummaryrefslogtreecommitdiffstats
path: root/arch/sh/include/cpu-sh5
diff options
context:
space:
mode:
authorPaul Mundt <lethal@linux-sh.org>2009-08-14 23:29:49 -0400
committerPaul Mundt <lethal@linux-sh.org>2009-08-14 23:29:49 -0400
commit37443ef3f0406e855e169c87ae3f4ffb4b6ff635 (patch)
treedd57e6fe91e6058b45660b6e4629249a50bc448e /arch/sh/include/cpu-sh5
parent916e97834e023f89b31f796b53cc9c7956e7fe17 (diff)
sh: Migrate SH-4 cacheflush ops to function pointers.
This paves the way for allowing individual CPUs to overload the individual flushing routines that they care about without having to depend on weak aliases. SH-4 is converted over initially, as it wires up pretty much everything. The majority of the other CPUs will simply use the default no-op implementation with their own region flushers wired up. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
Diffstat (limited to 'arch/sh/include/cpu-sh5')
-rw-r--r--arch/sh/include/cpu-sh5/cpu/cacheflush.h10
1 files changed, 5 insertions, 5 deletions
diff --git a/arch/sh/include/cpu-sh5/cpu/cacheflush.h b/arch/sh/include/cpu-sh5/cpu/cacheflush.h
index 740d10a316ef..202f637a0e17 100644
--- a/arch/sh/include/cpu-sh5/cpu/cacheflush.h
+++ b/arch/sh/include/cpu-sh5/cpu/cacheflush.h
@@ -3,10 +3,6 @@
3 3
4#ifndef __ASSEMBLY__ 4#ifndef __ASSEMBLY__
5 5
6struct vm_area_struct;
7struct page;
8struct mm_struct;
9
10extern void flush_cache_all(void); 6extern void flush_cache_all(void);
11extern void flush_cache_mm(struct mm_struct *mm); 7extern void flush_cache_mm(struct mm_struct *mm);
12extern void flush_cache_sigtramp(unsigned long vaddr); 8extern void flush_cache_sigtramp(unsigned long vaddr);
@@ -16,10 +12,14 @@ extern void flush_cache_page(struct vm_area_struct *vma, unsigned long addr, uns
16extern void flush_dcache_page(struct page *pg); 12extern void flush_dcache_page(struct page *pg);
17extern void flush_icache_range(unsigned long start, unsigned long end); 13extern void flush_icache_range(unsigned long start, unsigned long end);
18 14
15/* XXX .. */
16extern void (*__flush_wback_region)(void *start, int size);
17extern void (*__flush_purge_region)(void *start, int size);
18extern void (*__flush_invalidate_region)(void *start, int size);
19
19#define flush_cache_dup_mm(mm) flush_cache_mm(mm) 20#define flush_cache_dup_mm(mm) flush_cache_mm(mm)
20#define flush_icache_page(vma, page) do { } while (0) 21#define flush_icache_page(vma, page) do { } while (0)
21 22
22#endif /* __ASSEMBLY__ */ 23#endif /* __ASSEMBLY__ */
23 24
24#endif /* __ASM_SH_CPU_SH5_CACHEFLUSH_H */ 25#endif /* __ASM_SH_CPU_SH5_CACHEFLUSH_H */
25