X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=include%2Fasm-parisc%2Fcacheflush.h;h=af0626dfa5be6ecdc84d25cbdb2cc75602c7df66;hb=c7b5ebbddf7bcd3651947760f423e3783bbe6573;hp=3086cdaf4edda3f8bbed6da8a234dd3ac629ed24;hpb=a2c21200f1c81b08cb55e417b68150bba439b646;p=linux-2.6.git diff --git a/include/asm-parisc/cacheflush.h b/include/asm-parisc/cacheflush.h index 3086cdaf4..af0626dfa 100644 --- a/include/asm-parisc/cacheflush.h +++ b/include/asm-parisc/cacheflush.h @@ -77,11 +77,17 @@ extern void flush_dcache_page(struct page *page); #define flush_icache_range(s,e) do { flush_kernel_dcache_range_asm(s,e); flush_kernel_icache_range_asm(s,e); } while (0) #define copy_to_user_page(vma, page, vaddr, dst, src, len) \ -do { memcpy(dst, src, len); \ - flush_kernel_dcache_range_asm((unsigned long)dst, (unsigned long)dst + len); \ +do { \ + flush_cache_page(vma, vaddr); \ + memcpy(dst, src, len); \ + flush_kernel_dcache_range_asm((unsigned long)dst, (unsigned long)dst + len); \ } while (0) + #define copy_from_user_page(vma, page, vaddr, dst, src, len) \ - memcpy(dst, src, len) +do { \ + flush_cache_page(vma, vaddr); \ + memcpy(dst, src, len); \ +} while (0) static inline void flush_cache_range(struct vm_area_struct *vma, unsigned long start, unsigned long end)