Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 5971bc71 authored by Vineet Gupta's avatar Vineet Gupta
Browse files

ARC: [mm] optimise VIPT dcache aliasing 1/x



flush_cache_page() - kills icache only if page is executable

Signed-off-by: default avatarVineet Gupta <vgupta@synopsys.com>
parent 29b93c68
Loading
Loading
Loading
Loading
+6 −1
Original line number Diff line number Diff line
@@ -679,7 +679,12 @@ void flush_cache_page(struct vm_area_struct *vma, unsigned long u_vaddr,
{
	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,