Re: [RFC PATCH] Remove flush_icache_user_range()

From: David Howells
Date: Fri Apr 11 2014 - 04:54:35 EST


Russell King - ARM Linux <linux@xxxxxxxxxxxxxxxx> 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 majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/