15 #include <asm/pgtable.h>
16 #include <asm/shmparam.h>
17 #include <asm/tlbflush.h>
18 #include <asm/cacheflush.h>
19 #include <asm/cachetype.h>
33 static void v6_copy_user_highpage_nonaliasing(
struct page *to,
49 static void v6_clear_user_highpage_nonaliasing(
struct page *
page,
unsigned long vaddr)
60 static void discard_old_kernel_data(
void *kto)
62 __asm__(
"mcrr p15, 0, %1, %0, c6 @ 0xec401f06"
72 static void v6_copy_user_highpage_aliasing(
struct page *to,
76 unsigned long kfrom, kto;
90 kfrom = COPYPAGE_V6_FROM + (offset <<
PAGE_SHIFT);
93 set_top_pte(kfrom,
mk_pte(from, PAGE_KERNEL));
94 set_top_pte(kto,
mk_pte(to, PAGE_KERNEL));
106 static void v6_clear_user_highpage_aliasing(
struct page *
page,
unsigned long vaddr)
119 set_top_pte(to,
mk_pte(page, PAGE_KERNEL));
126 .cpu_clear_user_highpage = v6_clear_user_highpage_nonaliasing,
127 .cpu_copy_user_highpage = v6_copy_user_highpage_nonaliasing,
130 static int __init v6_userpage_init(
void)
133 cpu_user.cpu_clear_user_highpage = v6_clear_user_highpage_aliasing;
134 cpu_user.cpu_copy_user_highpage = v6_copy_user_highpage_aliasing;