aboutsummaryrefslogtreecommitdiffstats
path: root/arch
diff options
context:
space:
mode:
authorPaul Mundt <lethal@linux-sh.org>2009-08-14 20:30:39 -0400
committerPaul Mundt <lethal@linux-sh.org>2009-08-14 20:30:39 -0400
commitcbbe2f68f678a90bebeb30b8a7fcd8aed0614879 (patch)
tree4a8ffeea96f32ff6e532fdc2667181b48d5a26ca /arch
parent2739742c24f1a55365e71f0722bfdce8994e9c4e (diff)
sh: rename pg-mmu.c -> cache.c, enable generically.
This builds in the newly created cache.c (renamed from pg-mmu.c) for both MMU and NOMMU configurations. The kmap_coherent() stubs and alias information recorded by each CPU family takes care of doing the right thing while enabling the code to be commonly shared. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
Diffstat (limited to 'arch')
-rw-r--r--arch/sh/include/asm/cacheflush.h2
-rw-r--r--arch/sh/mm/Makefile_3216
-rw-r--r--arch/sh/mm/cache.c (renamed from arch/sh/mm/pg-mmu.c)0
3 files changed, 8 insertions, 10 deletions
diff --git a/arch/sh/include/asm/cacheflush.h b/arch/sh/include/asm/cacheflush.h
index 0e87e87cc01f..4bf621e4146d 100644
--- a/arch/sh/include/asm/cacheflush.h
+++ b/arch/sh/include/asm/cacheflush.h
@@ -45,7 +45,6 @@ extern void __flush_purge_region(void *start, int size);
45extern void __flush_invalidate_region(void *start, int size); 45extern void __flush_invalidate_region(void *start, int size);
46#endif 46#endif
47 47
48#ifdef CONFIG_MMU
49#define ARCH_HAS_FLUSH_ANON_PAGE 48#define ARCH_HAS_FLUSH_ANON_PAGE
50extern void __flush_anon_page(struct page *page, unsigned long); 49extern void __flush_anon_page(struct page *page, unsigned long);
51 50
@@ -55,7 +54,6 @@ static inline void flush_anon_page(struct vm_area_struct *vma,
55 if (boot_cpu_data.dcache.n_aliases && PageAnon(page)) 54 if (boot_cpu_data.dcache.n_aliases && PageAnon(page))
56 __flush_anon_page(page, vmaddr); 55 __flush_anon_page(page, vmaddr);
57} 56}
58#endif
59 57
60#define ARCH_HAS_FLUSH_KERNEL_DCACHE_PAGE 58#define ARCH_HAS_FLUSH_KERNEL_DCACHE_PAGE
61static inline void flush_kernel_dcache_page(struct page *page) 59static inline void flush_kernel_dcache_page(struct page *page)
diff --git a/arch/sh/mm/Makefile_32 b/arch/sh/mm/Makefile_32
index 30771b137f48..affcc9a15cea 100644
--- a/arch/sh/mm/Makefile_32
+++ b/arch/sh/mm/Makefile_32
@@ -2,20 +2,20 @@
2# Makefile for the Linux SuperH-specific parts of the memory manager. 2# Makefile for the Linux SuperH-specific parts of the memory manager.
3# 3#
4 4
5obj-y := init.o extable_32.o consistent.o mmap.o 5obj-y := cache.o init.o extable_32.o consistent.o mmap.o
6 6
7ifndef CONFIG_CACHE_OFF 7ifndef CONFIG_CACHE_OFF
8cache-$(CONFIG_CPU_SH2) := cache-sh2.o 8cacheops-$(CONFIG_CPU_SH2) := cache-sh2.o
9cache-$(CONFIG_CPU_SH2A) := cache-sh2a.o 9cacheops-$(CONFIG_CPU_SH2A) := cache-sh2a.o
10cache-$(CONFIG_CPU_SH3) := cache-sh3.o 10cacheops-$(CONFIG_CPU_SH3) := cache-sh3.o
11cache-$(CONFIG_CPU_SH4) := cache-sh4.o flush-sh4.o 11cacheops-$(CONFIG_CPU_SH4) := cache-sh4.o flush-sh4.o
12cache-$(CONFIG_SH7705_CACHE_32KB) += cache-sh7705.o 12cacheops-$(CONFIG_SH7705_CACHE_32KB) += cache-sh7705.o
13endif 13endif
14 14
15obj-y += $(cache-y) 15obj-y += $(cacheops-y)
16 16
17mmu-y := tlb-nommu.o pg-nommu.o 17mmu-y := tlb-nommu.o pg-nommu.o
18mmu-$(CONFIG_MMU) := fault_32.o kmap.o tlbflush_32.o ioremap_32.o pg-mmu.o 18mmu-$(CONFIG_MMU) := fault_32.o kmap.o tlbflush_32.o ioremap_32.o
19 19
20obj-y += $(mmu-y) 20obj-y += $(mmu-y)
21obj-$(CONFIG_DEBUG_FS) += asids-debugfs.o 21obj-$(CONFIG_DEBUG_FS) += asids-debugfs.o
diff --git a/arch/sh/mm/pg-mmu.c b/arch/sh/mm/cache.c
index f51d0a4eb3ba..f51d0a4eb3ba 100644
--- a/arch/sh/mm/pg-mmu.c
+++ b/arch/sh/mm/cache.c