projects
/
GitHub
/
exynos8895
/
android_kernel_samsung_universal8895.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
29b93c6
)
ARC: [mm] optimise VIPT dcache aliasing 1/x
author
Vineet Gupta
<vgupta@synopsys.com>
Thu, 16 May 2013 06:53:31 +0000
(12:23 +0530)
committer
Vineet Gupta
<vgupta@synopsys.com>
Sat, 22 Jun 2013 13:53:18 +0000
(19:23 +0530)
flush_cache_page() - kills icache only if page is executable
Signed-off-by: Vineet Gupta <vgupta@synopsys.com>
arch/arc/mm/cache_arc700.c
patch
|
blob
|
blame
|
history
diff --git
a/arch/arc/mm/cache_arc700.c
b/arch/arc/mm/cache_arc700.c
index 03012a27d590e74dd1b4114a355ffbdc5fc4ffae..4e54ef5b4c2a4f8ffeee286a7e06b04676abc046 100644
(file)
--- a/
arch/arc/mm/cache_arc700.c
+++ b/
arch/arc/mm/cache_arc700.c
@@
-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,