Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

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>

+1 -39
-8
arch/sh/include/asm/page.h
··· 63 63 struct page; 64 64 struct vm_area_struct; 65 65 66 - #if defined(CONFIG_CPU_SH5) 67 - extern void clear_user_page(void *to, unsigned long address, struct page *page); 68 - extern void copy_user_page(void *to, void *from, unsigned long address, 69 - struct page *page); 70 - 71 - #else 72 66 extern void copy_user_highpage(struct page *to, struct page *from, 73 67 unsigned long vaddr, struct vm_area_struct *vma); 74 68 #define __HAVE_ARCH_COPY_USER_HIGHPAGE 75 69 extern void clear_user_highpage(struct page *page, unsigned long vaddr); 76 70 #define clear_user_highpage clear_user_highpage 77 - 78 - #endif 79 71 80 72 /* 81 73 * These are used to make use of C type-checking..
-25
arch/sh/include/cpu-sh5/cpu/cacheflush.h
··· 1 - #ifndef __ASM_SH_CPU_SH5_CACHEFLUSH_H 2 - #define __ASM_SH_CPU_SH5_CACHEFLUSH_H 3 - 4 - #ifndef __ASSEMBLY__ 5 - 6 - extern void flush_cache_all(void); 7 - extern void flush_cache_mm(struct mm_struct *mm); 8 - extern void flush_cache_sigtramp(unsigned long vaddr); 9 - extern void flush_cache_range(struct vm_area_struct *vma, unsigned long start, 10 - unsigned long end); 11 - extern void flush_cache_page(struct vm_area_struct *vma, unsigned long addr, unsigned long pfn); 12 - extern void flush_dcache_page(struct page *pg); 13 - extern void flush_icache_range(unsigned long start, unsigned long end); 14 - 15 - /* XXX .. */ 16 - extern void (*__flush_wback_region)(void *start, int size); 17 - extern void (*__flush_purge_region)(void *start, int size); 18 - extern void (*__flush_invalidate_region)(void *start, int size); 19 - 20 - #define flush_cache_dup_mm(mm) flush_cache_mm(mm) 21 - #define flush_icache_page(vma, page) do { } while (0) 22 - 23 - #endif /* __ASSEMBLY__ */ 24 - 25 - #endif /* __ASM_SH_CPU_SH5_CACHEFLUSH_H */
+1 -1
arch/sh/mm/Makefile_64
··· 2 2 # Makefile for the Linux SuperH-specific parts of the memory manager. 3 3 # 4 4 5 - obj-y := init.o consistent.o mmap.o 5 + obj-y := cache.o consistent.o init.o kmap.o mmap.o 6 6 7 7 mmu-y := nommu.o extable_32.o 8 8 mmu-$(CONFIG_MMU) := fault_64.o ioremap_64.o tlbflush_64.o tlb-sh5.o \
-5
arch/sh/mm/tlbflush_64.c
··· 470 470 void __update_tlb(struct vm_area_struct *vma, unsigned long address, pte_t pte) 471 471 { 472 472 } 473 - 474 - void __update_cache(struct vm_area_struct *vma, 475 - unsigned long address, pte_t pte) 476 - { 477 - }