linux-mips.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 00/14] MIPS: MemoryMapID (MMID) & GINVT Support
@ 2019-02-02  1:43 Paul Burton
  2019-02-02  1:43 ` [PATCH 01/14] MIPS: mm: Define activate_mm() using switch_mm() Paul Burton
                   ` (14 more replies)
  0 siblings, 15 replies; 16+ messages in thread
From: Paul Burton @ 2019-02-02  1:43 UTC (permalink / raw)
  To: linux-mips; +Cc: Paul Burton

This series introduces support for MemoryMapIDs (MMIDs) & GINVT
instructions. These give us a larger, global namespace for address space
IDs & allow for global invalidation of TLB entries without IPIs.

This has been tested on various configurations of the MIPS I6500, which
is the first CPU to support these features.

Applies cleanly atop v5.0-rc4.

Paul Burton (14):
  MIPS: mm: Define activate_mm() using switch_mm()
  MIPS: mm: Remove redundant drop_mmu_context() cpu argument
  MIPS: mm: Remove redundant get_new_mmu_context() cpu argument
  MIPS: mm: Avoid HTW stop/start when dropping an inactive mm
  MIPS: mm: Consolidate drop_mmu_context() has-ASID checks
  MIPS: mm: Move drop_mmu_context() comment into appropriate block
  MIPS: mm: Remove redundant preempt_disable in local_flush_tlb_mm()
  MIPS: mm: Remove local_flush_tlb_mm()
  MIPS: mm: Split obj-y to a file per line
  MIPS: mm: Un-inline get_new_mmu_context
  MIPS: mm: Unify ASID version checks
  MIPS: mm: Add set_cpu_context() for ASID assignments
  MIPS: Add GINVT instruction helpers
  MIPS: MemoryMapID (MMID) Support

 arch/mips/Makefile                   |   2 +
 arch/mips/include/asm/barrier.h      |  19 ++
 arch/mips/include/asm/cpu-features.h |  13 ++
 arch/mips/include/asm/cpu.h          |   1 +
 arch/mips/include/asm/ginvt.h        |  56 ++++++
 arch/mips/include/asm/mipsregs.h     |  11 +
 arch/mips/include/asm/mmu.h          |   6 +-
 arch/mips/include/asm/mmu_context.h  | 139 +++++++------
 arch/mips/include/asm/tlbflush.h     |   5 +-
 arch/mips/kernel/cpu-probe.c         |  55 ++++-
 arch/mips/kernel/smp.c               |  67 ++++++-
 arch/mips/kernel/traps.c             |   4 +-
 arch/mips/kernel/unaligned.c         |   1 +
 arch/mips/kvm/emulate.c              |   8 +-
 arch/mips/kvm/mips.c                 |   5 +
 arch/mips/kvm/trap_emul.c            |  30 +--
 arch/mips/kvm/vz.c                   |   8 +-
 arch/mips/lib/dump_tlb.c             |  22 +-
 arch/mips/mm/Makefile                |  16 +-
 arch/mips/mm/c-r4k.c                 |   8 +-
 arch/mips/mm/context.c               | 288 +++++++++++++++++++++++++++
 arch/mips/mm/init.c                  |   7 +
 arch/mips/mm/tlb-r3k.c               |  14 +-
 arch/mips/mm/tlb-r4k.c               |  71 ++++---
 arch/mips/mm/tlb-r8k.c               |  10 +-
 25 files changed, 698 insertions(+), 168 deletions(-)
 create mode 100644 arch/mips/include/asm/ginvt.h
 create mode 100644 arch/mips/mm/context.c

-- 
2.20.1


^ permalink raw reply	[flat|nested] 16+ messages in thread

end of thread, other threads:[~2019-02-04 21:18 UTC | newest]

Thread overview: 16+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-02-02  1:43 [PATCH 00/14] MIPS: MemoryMapID (MMID) & GINVT Support Paul Burton
2019-02-02  1:43 ` [PATCH 01/14] MIPS: mm: Define activate_mm() using switch_mm() Paul Burton
2019-02-02  1:43 ` [PATCH 02/14] MIPS: mm: Remove redundant drop_mmu_context() cpu argument Paul Burton
2019-02-02  1:43 ` [PATCH 03/14] MIPS: mm: Remove redundant get_new_mmu_context() " Paul Burton
2019-02-02  1:43 ` [PATCH 04/14] MIPS: mm: Avoid HTW stop/start when dropping an inactive mm Paul Burton
2019-02-02  1:43 ` [PATCH 05/14] MIPS: mm: Consolidate drop_mmu_context() has-ASID checks Paul Burton
2019-02-02  1:43 ` [PATCH 06/14] MIPS: mm: Move drop_mmu_context() comment into appropriate block Paul Burton
2019-02-02  1:43 ` [PATCH 07/14] MIPS: mm: Remove redundant preempt_disable in local_flush_tlb_mm() Paul Burton
2019-02-02  1:43 ` [PATCH 08/14] MIPS: mm: Remove local_flush_tlb_mm() Paul Burton
2019-02-02  1:43 ` [PATCH 09/14] MIPS: mm: Split obj-y to a file per line Paul Burton
2019-02-02  1:43 ` [PATCH 10/14] MIPS: mm: Un-inline get_new_mmu_context Paul Burton
2019-02-02  1:43 ` [PATCH 12/14] MIPS: mm: Add set_cpu_context() for ASID assignments Paul Burton
2019-02-02  1:43 ` [PATCH 11/14] MIPS: mm: Unify ASID version checks Paul Burton
2019-02-02  1:43 ` [PATCH 13/14] MIPS: Add GINVT instruction helpers Paul Burton
2019-02-02  1:43 ` [PATCH 14/14] MIPS: MemoryMapID (MMID) Support Paul Burton
2019-02-04 21:18 ` [PATCH 00/14] MIPS: MemoryMapID (MMID) & GINVT Support Paul Burton

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).