OSDN Git Service

sh: Convert cache disabled SH-5 over to new cache interface.
authorPaul Mundt <lethal@linux-sh.org>
Sat, 15 Aug 2009 15:53:56 +0000 (00:53 +0900)
committerPaul Mundt <lethal@linux-sh.org>
Sat, 15 Aug 2009 15:53:56 +0000 (00:53 +0900)
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>
arch/sh/include/asm/page.h
arch/sh/include/cpu-sh5/cpu/cacheflush.h [deleted file]
arch/sh/mm/Makefile_64
arch/sh/mm/tlbflush_64.c

index a316eeb..81bffc0 100644 (file)
@@ -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 (file)
index 202f637..0000000
+++ /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 */
index 4d5ed24..dd104c4 100644 (file)
@@ -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 \
index fa5a95a..2dcc485 100644 (file)
@@ -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)
-{
-}