Commit 65305ae8 authored by Paul Mundt's avatar Paul Mundt
Browse files

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: default avatarPaul Mundt <lethal@linux-sh.org>
parent eccee745
Loading
Loading
Loading
Loading
+0 −8
Original line number Diff line number Diff line
@@ -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..
 */
+0 −25
Original line number Diff line number Diff line
#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 */
+1 −1
Original line number Diff line number Diff line
@@ -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 \
+0 −5
Original line number Diff line number Diff line
@@ -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)
{
}