Merge branch 'x86/cpufeature' into irq/numa
[sfrench/cifs-2.6.git] / arch / avr32 / mm / cache.c
index c1233c615e679ddc6ff382c4eb93e2e119973de4..24a74d1ca7d9a73c77d77792402a1b12b65d7c89 100644 (file)
@@ -13,6 +13,7 @@
 #include <asm/cachectl.h>
 #include <asm/processor.h>
 #include <asm/uaccess.h>
+#include <asm/syscalls.h>
 
 /*
  * If you attempt to flush anything more than this, you need superuser
@@ -122,16 +123,6 @@ void flush_icache_page(struct vm_area_struct *vma, struct page *page)
        }
 }
 
-/*
- * This one is used by copy_to_user_page()
- */
-void flush_icache_user_range(struct vm_area_struct *vma, struct page *page,
-                            unsigned long addr, int len)
-{
-       if (vma->vm_flags & VM_EXEC)
-               flush_icache_range(addr, addr + len);
-}
-
 asmlinkage int sys_cacheflush(int operation, void __user *addr, size_t len)
 {
        int ret;
@@ -159,3 +150,13 @@ asmlinkage int sys_cacheflush(int operation, void __user *addr, size_t len)
 out:
        return ret;
 }
+
+void copy_to_user_page(struct vm_area_struct *vma, struct page *page,
+               unsigned long vaddr, void *dst, const void *src,
+               unsigned long len)
+{
+       memcpy(dst, src, len);
+       if (vma->vm_flags & VM_EXEC)
+               flush_icache_range((unsigned long)dst,
+                               (unsigned long)dst + len);
+}