diff options
author | Paul Mundt <lethal@linux-sh.org> | 2009-08-15 11:53:56 -0400 |
---|---|---|
committer | Paul Mundt <lethal@linux-sh.org> | 2009-08-15 11:53:56 -0400 |
commit | 65305ae816ca17a38340aef0ccc92d0c127acccf (patch) | |
tree | eb79f5942b85e857a2b0d09271253495356d5488 /arch | |
parent | eccee7457df2b1e1505522ab0064e577e16eed75 (diff) |
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>
Diffstat (limited to 'arch')
-rw-r--r-- | arch/sh/include/asm/page.h | 8 | ||||
-rw-r--r-- | arch/sh/include/cpu-sh5/cpu/cacheflush.h | 25 | ||||
-rw-r--r-- | arch/sh/mm/Makefile_64 | 2 | ||||
-rw-r--r-- | arch/sh/mm/tlbflush_64.c | 5 |
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); | |||
63 | struct page; | 63 | struct page; |
64 | struct vm_area_struct; | 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 | extern void copy_user_highpage(struct page *to, struct page *from, | 66 | extern void copy_user_highpage(struct page *to, struct page *from, |
73 | unsigned long vaddr, struct vm_area_struct *vma); | 67 | unsigned long vaddr, struct vm_area_struct *vma); |
74 | #define __HAVE_ARCH_COPY_USER_HIGHPAGE | 68 | #define __HAVE_ARCH_COPY_USER_HIGHPAGE |
75 | extern void clear_user_highpage(struct page *page, unsigned long vaddr); | 69 | extern void clear_user_highpage(struct page *page, unsigned long vaddr); |
76 | #define clear_user_highpage clear_user_highpage | 70 | #define clear_user_highpage clear_user_highpage |
77 | 71 | ||
78 | #endif | ||
79 | |||
80 | /* | 72 | /* |
81 | * These are used to make use of C type-checking.. | 73 | * These are used to make use of C type-checking.. |
82 | */ | 74 | */ |
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 @@ | |||
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 */ | ||
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 @@ | |||
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 | ||
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 | mmu-y := nommu.o extable_32.o | 7 | mmu-y := nommu.o extable_32.o |
8 | mmu-$(CONFIG_MMU) := fault_64.o ioremap_64.o tlbflush_64.o tlb-sh5.o \ | 8 | 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) | |||
470 | void __update_tlb(struct vm_area_struct *vma, unsigned long address, pte_t pte) | 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 | } | ||