ARC: [mm] optimise VIPT dcache aliasing 1/x
flush_cache_page() - kills icache only if page is executable Signed-off-by: Vineet Gupta <vgupta@synopsys.com>
This commit is contained in:
parent
29b93c68bf
commit
5971bc719d
@ -679,7 +679,12 @@ void flush_cache_page(struct vm_area_struct *vma, unsigned long u_vaddr,
|
|||||||
{
|
{
|
||||||
unsigned int paddr = pfn << PAGE_SHIFT;
|
unsigned int paddr = pfn << PAGE_SHIFT;
|
||||||
|
|
||||||
__sync_icache_dcache(paddr, u_vaddr, PAGE_SIZE);
|
u_vaddr &= PAGE_MASK;
|
||||||
|
|
||||||
|
___flush_dcache_page(paddr, u_vaddr);
|
||||||
|
|
||||||
|
if (vma->vm_flags & VM_EXEC)
|
||||||
|
__inv_icache_page(paddr, u_vaddr);
|
||||||
}
|
}
|
||||||
|
|
||||||
void flush_cache_range(struct vm_area_struct *vma, unsigned long start,
|
void flush_cache_range(struct vm_area_struct *vma, unsigned long start,
|
||||||
|
Loading…
Reference in New Issue
Block a user