diff options
author | Russell King <rmk+kernel@arm.linux.org.uk> | 2012-02-22 23:04:41 +0100 |
---|---|---|
committer | Russell King <rmk+kernel@arm.linux.org.uk> | 2012-02-22 23:04:41 +0100 |
commit | 61b80086a525c8a6081257ae40da5dee2bcaee16 (patch) | |
tree | 675da35e4c03be3a5ca17bf6430e5b51dfed6296 /arch/arm/include/asm | |
parent | Merge tag 'v3.3-rc2' into depends/rmk/for-armsoc (diff) | |
parent | ARM: remove disable_fiq and arch_ret_to_user macros (diff) | |
download | linux-61b80086a525c8a6081257ae40da5dee2bcaee16.tar.xz linux-61b80086a525c8a6081257ae40da5dee2bcaee16.zip |
Merge branch 'entry-macro-cleanup' of git://sources.calxeda.com/kernel/linux into for-armsoc
Diffstat (limited to 'arch/arm/include/asm')
-rw-r--r-- | arch/arm/include/asm/hardware/entry-macro-iomd.S | 8 | ||||
-rw-r--r-- | arch/arm/include/asm/tlb.h | 10 |
2 files changed, 9 insertions, 9 deletions
diff --git a/arch/arm/include/asm/hardware/entry-macro-iomd.S b/arch/arm/include/asm/hardware/entry-macro-iomd.S index e0af4983723f..8c215acd9b57 100644 --- a/arch/arm/include/asm/hardware/entry-macro-iomd.S +++ b/arch/arm/include/asm/hardware/entry-macro-iomd.S @@ -11,14 +11,6 @@ /* IOC / IOMD based hardware */ #include <asm/hardware/iomd.h> - .macro disable_fiq - mov r12, #ioc_base_high - .if ioc_base_low - orr r12, r12, #ioc_base_low - .endif - strb r12, [r12, #0x38] @ Disable FIQ register - .endm - .macro get_irqnr_and_base, irqnr, irqstat, base, tmp ldrb \irqstat, [\base, #IOMD_IRQREQB] @ get high priority first ldr \tmp, =irq_prio_h diff --git a/arch/arm/include/asm/tlb.h b/arch/arm/include/asm/tlb.h index 5d3ed7e38561..314d4664eae7 100644 --- a/arch/arm/include/asm/tlb.h +++ b/arch/arm/include/asm/tlb.h @@ -198,7 +198,15 @@ static inline void __pte_free_tlb(struct mmu_gather *tlb, pgtable_t pte, unsigned long addr) { pgtable_page_dtor(pte); - tlb_add_flush(tlb, addr); + + /* + * With the classic ARM MMU, a pte page has two corresponding pmd + * entries, each covering 1MB. + */ + addr &= PMD_MASK; + tlb_add_flush(tlb, addr + SZ_1M - PAGE_SIZE); + tlb_add_flush(tlb, addr + SZ_1M); + tlb_remove_page(tlb, pte); } |