summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPaul Mundt2009-08-15 17:53:56 +0200
committerPaul Mundt2009-08-15 17:53:56 +0200
commit65305ae816ca17a38340aef0ccc92d0c127acccf (patch)
treeeb79f5942b85e857a2b0d09271253495356d5488
parentsh: Kill off the unhandled pvr case in SH-4 CPU probing. (diff)
downloadkernel-qcow2-linux-65305ae816ca17a38340aef0ccc92d0c127acccf.tar.gz
kernel-qcow2-linux-65305ae816ca17a38340aef0ccc92d0c127acccf.tar.xz
kernel-qcow2-linux-65305ae816ca17a38340aef0ccc92d0c127acccf.zip
sh: Convert cache disabled SH-5 over to new cache interface.
The caches enabled case needs more work, but is presently broken regardless, so this can be done incrementally. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
-rw-r--r--arch/sh/include/asm/page.h8
-rw-r--r--arch/sh/include/cpu-sh5/cpu/cacheflush.h25
-rw-r--r--arch/sh/mm/Makefile_642
-rw-r--r--arch/sh/mm/tlbflush_64.c5
4 files changed, 1 insertions, 39 deletions
diff --git a/arch/sh/include/asm/page.h b/arch/sh/include/asm/page.h
index a316eeb50b39..81bffc0d6860 100644
--- a/arch/sh/include/asm/page.h
+++ b/arch/sh/include/asm/page.h
@@ -63,20 +63,12 @@ extern void copy_page(void *to, void *from);
struct page;
struct vm_area_struct;
-#if defined(CONFIG_CPU_SH5)
-extern void clear_user_page(void *to, unsigned long address, struct page *page);
-extern void copy_user_page(void *to, void *from, unsigned long address,
- struct page *page);
-
-#else
extern void copy_user_highpage(struct page *to, struct page *from,
unsigned long vaddr, struct vm_area_struct *vma);
#define __HAVE_ARCH_COPY_USER_HIGHPAGE
extern void clear_user_highpage(struct page *page, unsigned long vaddr);
#define clear_user_highpage clear_user_highpage
-#endif
-
/*
* These are used to make use of C type-checking..
*/
diff --git a/arch/sh/include/cpu-sh5/cpu/cacheflush.h b/arch/sh/include/cpu-sh5/cpu/cacheflush.h
deleted file mode 100644
index 202f637a0e17..000000000000
--- a/arch/sh/include/cpu-sh5/cpu/cacheflush.h
+++ /dev/null
@@ -1,25 +0,0 @@
-#ifndef __ASM_SH_CPU_SH5_CACHEFLUSH_H
-#define __ASM_SH_CPU_SH5_CACHEFLUSH_H
-
-#ifndef __ASSEMBLY__
-
-extern void flush_cache_all(void);
-extern void flush_cache_mm(struct mm_struct *mm);
-extern void flush_cache_sigtramp(unsigned long vaddr);
-extern void flush_cache_range(struct vm_area_struct *vma, unsigned long start,
- unsigned long end);
-extern void flush_cache_page(struct vm_area_struct *vma, unsigned long addr, unsigned long pfn);
-extern void flush_dcache_page(struct page *pg);
-extern void flush_icache_range(unsigned long start, unsigned long end);
-
-/* XXX .. */
-extern void (*__flush_wback_region)(void *start, int size);
-extern void (*__flush_purge_region)(void *start, int size);
-extern void (*__flush_invalidate_region)(void *start, int size);
-
-#define flush_cache_dup_mm(mm) flush_cache_mm(mm)
-#define flush_icache_page(vma, page) do { } while (0)
-
-#endif /* __ASSEMBLY__ */
-
-#endif /* __ASM_SH_CPU_SH5_CACHEFLUSH_H */
diff --git a/arch/sh/mm/Makefile_64 b/arch/sh/mm/Makefile_64
index 4d5ed245ef47..dd104c4fffa2 100644
--- a/arch/sh/mm/Makefile_64
+++ b/arch/sh/mm/Makefile_64
@@ -2,7 +2,7 @@
# Makefile for the Linux SuperH-specific parts of the memory manager.
#
-obj-y := init.o consistent.o mmap.o
+obj-y := cache.o consistent.o init.o kmap.o mmap.o
mmu-y := nommu.o extable_32.o
mmu-$(CONFIG_MMU) := fault_64.o ioremap_64.o tlbflush_64.o tlb-sh5.o \
diff --git a/arch/sh/mm/tlbflush_64.c b/arch/sh/mm/tlbflush_64.c
index fa5a95a062d0..2dcc48528f7a 100644
--- a/arch/sh/mm/tlbflush_64.c
+++ b/arch/sh/mm/tlbflush_64.c
@@ -470,8 +470,3 @@ void local_flush_tlb_kernel_range(unsigned long start, unsigned long end)
void __update_tlb(struct vm_area_struct *vma, unsigned long address, pte_t pte)
{
}
-
-void __update_cache(struct vm_area_struct *vma,
- unsigned long address, pte_t pte)
-{
-}