|
@@ -435,17 +435,12 @@ void clear_user_page(void *page, unsigned long vaddr, struct page *pg)
|
|
|
{
|
|
|
clear_page(page);
|
|
|
|
|
|
- if (cpu_has_feature(CPU_FTR_COHERENT_ICACHE))
|
|
|
- return;
|
|
|
/*
|
|
|
* We shouldnt have to do this, but some versions of glibc
|
|
|
* require it (ld.so assumes zero filled pages are icache clean)
|
|
|
* - Anton
|
|
|
*/
|
|
|
-
|
|
|
- /* avoid an atomic op if possible */
|
|
|
- if (test_bit(PG_arch_1, &pg->flags))
|
|
|
- clear_bit(PG_arch_1, &pg->flags);
|
|
|
+ flush_dcache_page(pg);
|
|
|
}
|
|
|
EXPORT_SYMBOL(clear_user_page);
|
|
|
|
|
@@ -469,12 +464,7 @@ void copy_user_page(void *vto, void *vfrom, unsigned long vaddr,
|
|
|
return;
|
|
|
#endif
|
|
|
|
|
|
- if (cpu_has_feature(CPU_FTR_COHERENT_ICACHE))
|
|
|
- return;
|
|
|
-
|
|
|
- /* avoid an atomic op if possible */
|
|
|
- if (test_bit(PG_arch_1, &pg->flags))
|
|
|
- clear_bit(PG_arch_1, &pg->flags);
|
|
|
+ flush_dcache_page(pg);
|
|
|
}
|
|
|
|
|
|
void flush_icache_user_range(struct vm_area_struct *vma, struct page *page,
|