Russell King - ARM Linux <[email protected]> wrote:

> --- a/arch/frv/include/asm/cacheflush.h
> +++ b/arch/frv/include/asm/cacheflush.h
> @@ -95,7 +95,9 @@ static inline void flush_icache_page(struct vm_area_struct 
> *vma, struct page *pa
>   */
>  #define copy_to_user_page(vma, page, vaddr, dst, src, len)   \
>  do {                                                         \
> +     unsigned long _vaddr = vaddr;                           \
>       memcpy((dst), (src), (len));                            \
> +     frv_cache_wback_inv(_vaddr, _vaddr + (len));            \
>       flush_icache_user_range((vma), (page), (vaddr), (len)); \
>  } while(0)

FRV's flush_icache_user_range() does frv_cache_wback_inv().

If we can guarantee that vaddr is always mapped to the page, I should be able
to get rid of the kmap_atomic bits in flush_icache_user_range().

David
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to