Commit b67360db authored by Chris Zankel's avatar Chris Zankel

[XTENSA] Flush the page-address in update-mmu instead of user-address

The TLB entry for the user address doesn't exist at the time we
want to flush the caches, so use the page address. Note that processor
configurations with cache-aliasing issues are treated separately.
Signed-off-by: default avatarChris Zankel <chris@zankel.net>
parent 49883224
...@@ -180,9 +180,9 @@ update_mmu_cache(struct vm_area_struct * vma, unsigned long addr, pte_t pte) ...@@ -180,9 +180,9 @@ update_mmu_cache(struct vm_area_struct * vma, unsigned long addr, pte_t pte)
#else #else
if (!PageReserved(page) && !test_bit(PG_arch_1, &page->flags) if (!PageReserved(page) && !test_bit(PG_arch_1, &page->flags)
&& (vma->vm_flags & VM_EXEC) != 0) { && (vma->vm_flags & VM_EXEC) != 0) {
unsigned long vaddr = addr & PAGE_MASK; unsigned long paddr = (unsigned long) page_address(page);
__flush_dcache_page(vaddr); __flush_dcache_page(paddr);
__invalidate_icache_page(vaddr); __invalidate_icache_page(paddr);
set_bit(PG_arch_1, &page->flags); set_bit(PG_arch_1, &page->flags);
} }
#endif #endif
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment