diff options
Diffstat (limited to 'arch/xtensa/mm')
-rw-r--r-- | arch/xtensa/mm/cache.c | 7 | ||||
-rw-r--r-- | arch/xtensa/mm/init.c | 2 | ||||
-rw-r--r-- | arch/xtensa/mm/misc.S | 2 |
3 files changed, 5 insertions, 6 deletions
diff --git a/arch/xtensa/mm/cache.c b/arch/xtensa/mm/cache.c index 9a1fa9478ae7..3ba990c67676 100644 --- a/arch/xtensa/mm/cache.c +++ b/arch/xtensa/mm/cache.c | |||
@@ -25,7 +25,6 @@ | |||
25 | #include <linux/swap.h> | 25 | #include <linux/swap.h> |
26 | #include <linux/pagemap.h> | 26 | #include <linux/pagemap.h> |
27 | 27 | ||
28 | #include <asm/pgtable.h> | ||
29 | #include <asm/bootparam.h> | 28 | #include <asm/bootparam.h> |
30 | #include <asm/mmu_context.h> | 29 | #include <asm/mmu_context.h> |
31 | #include <asm/tlb.h> | 30 | #include <asm/tlb.h> |
@@ -181,9 +180,9 @@ update_mmu_cache(struct vm_area_struct * vma, unsigned long addr, pte_t pte) | |||
181 | #else | 180 | #else |
182 | if (!PageReserved(page) && !test_bit(PG_arch_1, &page->flags) | 181 | if (!PageReserved(page) && !test_bit(PG_arch_1, &page->flags) |
183 | && (vma->vm_flags & VM_EXEC) != 0) { | 182 | && (vma->vm_flags & VM_EXEC) != 0) { |
184 | unsigned long vaddr = addr & PAGE_MASK; | 183 | unsigned long paddr = (unsigned long) page_address(page); |
185 | __flush_dcache_page(vaddr); | 184 | __flush_dcache_page(paddr); |
186 | __invalidate_icache_page(vaddr); | 185 | __invalidate_icache_page(paddr); |
187 | set_bit(PG_arch_1, &page->flags); | 186 | set_bit(PG_arch_1, &page->flags); |
188 | } | 187 | } |
189 | #endif | 188 | #endif |
diff --git a/arch/xtensa/mm/init.c b/arch/xtensa/mm/init.c index b3086f34a8e7..81d0560eaea2 100644 --- a/arch/xtensa/mm/init.c +++ b/arch/xtensa/mm/init.c | |||
@@ -309,7 +309,7 @@ void show_mem(void) | |||
309 | 309 | ||
310 | struct kmem_cache *pgtable_cache __read_mostly; | 310 | struct kmem_cache *pgtable_cache __read_mostly; |
311 | 311 | ||
312 | static void pgd_ctor(void *addr, struct kmem_cache *cache, unsigned long flags) | 312 | static void pgd_ctor(struct kmem_cache *cache, void* addr) |
313 | { | 313 | { |
314 | pte_t* ptep = (pte_t*)addr; | 314 | pte_t* ptep = (pte_t*)addr; |
315 | int i; | 315 | int i; |
diff --git a/arch/xtensa/mm/misc.S b/arch/xtensa/mm/misc.S index e1f880368e32..c885664211d1 100644 --- a/arch/xtensa/mm/misc.S +++ b/arch/xtensa/mm/misc.S | |||
@@ -295,7 +295,7 @@ ENTRY(__tlbtemp_mapping_itlb) | |||
295 | ENTRY(__invalidate_icache_page_alias) | 295 | ENTRY(__invalidate_icache_page_alias) |
296 | entry sp, 16 | 296 | entry sp, 16 |
297 | 297 | ||
298 | addi a6, a3, (PAGE_KERNEL | _PAGE_HW_WRITE) | 298 | addi a6, a3, (PAGE_KERNEL_EXEC | _PAGE_HW_WRITE) |
299 | mov a4, a2 | 299 | mov a4, a2 |
300 | witlb a6, a2 | 300 | witlb a6, a2 |
301 | isync | 301 | isync |