diff options
author | Paul Mundt <lethal@linux-sh.org> | 2009-07-27 08:30:17 -0400 |
---|---|---|
committer | Paul Mundt <lethal@linux-sh.org> | 2009-07-27 08:30:17 -0400 |
commit | 0dfae7d5a21901b28ec0452d71be64adf5ea323e (patch) | |
tree | 1ff16641313a76505ec89058d953c92d355af275 /arch/sh/include/asm/page.h | |
parent | 221c007b028ebf663ebee4fc90483909547d92a7 (diff) |
sh: Use the now generic SH-4 clear/copy page ops for all MMU platforms.
Now that the SH-4 page clear/copy ops are generic, they can be used for
all platforms with CONFIG_MMU=y. SH-5 remains the odd one out, but it too
will gradually be converted over to using this interface.
SH-3 platforms which do not contain aliases will see no impact from this
change, while aliasing SH-3 platforms will get the same interface as
SH-4.
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
Diffstat (limited to 'arch/sh/include/asm/page.h')
-rw-r--r-- | arch/sh/include/asm/page.h | 11 |
1 files changed, 6 insertions, 5 deletions
diff --git a/arch/sh/include/asm/page.h b/arch/sh/include/asm/page.h index 5208b7bfc24e..847eeabb9083 100644 --- a/arch/sh/include/asm/page.h +++ b/arch/sh/include/asm/page.h | |||
@@ -63,22 +63,23 @@ 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_CACHE_OFF) && defined(CONFIG_MMU) && \ | 66 | #if defined(CONFIG_CPU_SH5) |
67 | (defined(CONFIG_CPU_SH5) || defined(CONFIG_CPU_SH4) || \ | ||
68 | defined(CONFIG_SH7705_CACHE_32KB)) | ||
69 | extern void clear_user_page(void *to, unsigned long address, struct page *page); | 67 | extern void clear_user_page(void *to, unsigned long address, struct page *page); |
70 | extern void copy_user_page(void *to, void *from, unsigned long address, | 68 | extern void copy_user_page(void *to, void *from, unsigned long address, |
71 | struct page *page); | 69 | struct page *page); |
72 | #if defined(CONFIG_CPU_SH4) || defined(CONFIG_SH7705_CACHE_32KB) | 70 | |
71 | #elif defined(CONFIG_MMU) | ||
73 | extern void copy_user_highpage(struct page *to, struct page *from, | 72 | extern void copy_user_highpage(struct page *to, struct page *from, |
74 | unsigned long vaddr, struct vm_area_struct *vma); | 73 | unsigned long vaddr, struct vm_area_struct *vma); |
75 | #define __HAVE_ARCH_COPY_USER_HIGHPAGE | 74 | #define __HAVE_ARCH_COPY_USER_HIGHPAGE |
76 | extern void clear_user_highpage(struct page *page, unsigned long vaddr); | 75 | extern void clear_user_highpage(struct page *page, unsigned long vaddr); |
77 | #define clear_user_highpage clear_user_highpage | 76 | #define clear_user_highpage clear_user_highpage |
78 | #endif | 77 | |
79 | #else | 78 | #else |
79 | |||
80 | #define clear_user_page(page, vaddr, pg) clear_page(page) | 80 | #define clear_user_page(page, vaddr, pg) clear_page(page) |
81 | #define copy_user_page(to, from, vaddr, pg) copy_page(to, from) | 81 | #define copy_user_page(to, from, vaddr, pg) copy_page(to, from) |
82 | |||
82 | #endif | 83 | #endif |
83 | 84 | ||
84 | /* | 85 | /* |