This series fixes up a number of issues introduced by commit c5b367835cfc ("MIPS: Add support for XPA."), including breakage of the MIPS32 with 36 bit physical addressing case & clobbering of $1 upon TLB refill exceptions. Along the way a number of cleanups are made, which leaves pgtable-bits.h in particular much more readable than before. The series applies atop v4.6-rc4. James Hogan (4): MIPS: Separate XPA CPU feature into LPA and MVH MIPS: Fix HTW config on XPA kernel without LPA enabled MIPS: mm: Don't clobber $1 on XPA TLB refill MIPS: mm: Don't do MTHC0 if XPA not present Paul Burton (9): MIPS: Remove redundant asm/pgtable-bits.h inclusions MIPS: Use enums to make asm/pgtable-bits.h readable MIPS: mm: Standardise on _PAGE_NO_READ, drop _PAGE_READ MIPS: mm: Unify pte_page definition MIPS: mm: Fix MIPS32 36b physical addressing (alchemy, netlogic) MIPS: mm: Pass scratch register through to iPTE_SW MIPS: mm: Be more explicit about PTE mode bit handling MIPS: mm: Simplify build_update_entries MIPS: mm: Panic if an XPA kernel is run without RIXI arch/mips/include/asm/cpu-features.h | 8 +- arch/mips/include/asm/cpu.h | 3 +- arch/mips/include/asm/pgtable-32.h | 33 +++++- arch/mips/include/asm/pgtable-bits.h | 211 ++++++++++++++++------------------- arch/mips/include/asm/pgtable.h | 78 +++++++++---- arch/mips/kernel/cpu-probe.c | 6 +- arch/mips/kernel/head.S | 1 - arch/mips/kernel/r4k_switch.S | 1 - arch/mips/mm/init.c | 12 +- arch/mips/mm/tlb-r4k.c | 6 +- arch/mips/mm/tlbex.c | 116 +++++++++---------- 11 files changed, 263 insertions(+), 212 deletions(-) -- 2.8.0