public inbox for kvm@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH 00/18] KVM/MIPS32: Support for the new Virtualization ASE (VZ-ASE)
@ 2013-05-19  5:47 Sanjay Lal
  2013-05-19  5:47 ` [PATCH 01/18] Revert "MIPS: microMIPS: Support dynamic ASID sizing." Sanjay Lal
                   ` (18 more replies)
  0 siblings, 19 replies; 40+ messages in thread
From: Sanjay Lal @ 2013-05-19  5:47 UTC (permalink / raw)
  To: kvm; +Cc: linux-mips, Ralf Baechle, Gleb Natapov, Marcelo Tosatti,
	Sanjay Lal

The following patch set adds support for the recently announced virtualization
extensions for the MIPS32 architecture and allows running unmodified kernels in
Guest Mode.

For more info please refer to :
	MIPS Document #: MD00846
	Volume IV-i: Virtualization Module of the MIPS32 Architecture

which can be accessed @: http://www.mips.com/auth/MD00846-2B-VZMIPS32-AFP-01.03.pdf

The patch is agains Linux-3.10-rc1.

KVM/MIPS now supports 2 modes of operation:

(1) VZ mode: Unmodified kernels running in Guest Mode.  The processor now provides
    an almost complete COP0 context in Guest mode. This greatly reduces VM exits.

(2) Trap and Emulate: Runs minimally modified guest kernels in UM and uses binary patching
    to minimize the number of traps and improve performance. This is used for processors
    that do not support the VZ-ASE.

--
Sanjay Lal (18):
  Revert "MIPS: microMIPS: Support dynamic ASID sizing."
  Revert "MIPS: Allow ASID size to be determined at boot time."
  KVM/MIPS32: Export min_low_pfn.
  KVM/MIPS32-VZ: MIPS VZ-ASE related register defines and helper
    macros.
  KVM/MIPS32-VZ: VZ-ASE assembler wrapper functions to set GuestIDs
  KVM/MIPS32-VZ: VZ-ASE related callbacks to handle guest exceptions
    that trap to the Root context.
  KVM/MIPS32: VZ-ASE related CPU feature flags and options.
  KVM/MIPS32-VZ: Entry point for trampolining to the guest and trap
    handlers.
  KVM/MIPS32-VZ: Add support for CONFIG_KVM_MIPS_VZ option
  KVM/MIPS32-VZ: Add API for VZ-ASE Capability
  KVM/MIPS32-VZ: VZ: Handle Guest TLB faults that are handled in Root
    context
  KVM/MIPS32-VZ: VM Exit Stats, add VZ exit reasons.
  KVM/MIPS32-VZ: Top level handler for Guest faults
  KVM/MIPS32-VZ: Guest exception batching support.
  KVM/MIPS32: Add dummy trap handler to catch unexpected exceptions and
    dump out useful info
  KVM/MIPS32-VZ: Add VZ-ASE support to KVM/MIPS data structures.
  KVM/MIPS32: Revert to older method for accessing ASID parameters
  KVM/MIPS32-VZ: Dump out additional info about VZ features as part of
    /proc/cpuinfo

 arch/mips/include/asm/cpu-features.h |   36 ++
 arch/mips/include/asm/cpu-info.h     |   21 +
 arch/mips/include/asm/cpu.h          |    5 +
 arch/mips/include/asm/kvm_host.h     |  244 ++++++--
 arch/mips/include/asm/mipsvzregs.h   |  494 +++++++++++++++
 arch/mips/include/asm/mmu_context.h  |   95 ++-
 arch/mips/kernel/genex.S             |    2 +-
 arch/mips/kernel/mips_ksyms.c        |    6 +
 arch/mips/kernel/proc.c              |   11 +
 arch/mips/kernel/smtc.c              |   10 +-
 arch/mips/kernel/traps.c             |    6 +-
 arch/mips/kvm/Kconfig                |   14 +-
 arch/mips/kvm/Makefile               |   14 +-
 arch/mips/kvm/kvm_locore.S           | 1088 ++++++++++++++++++----------------
 arch/mips/kvm/kvm_mips.c             |   73 ++-
 arch/mips/kvm/kvm_mips_dyntrans.c    |   24 +-
 arch/mips/kvm/kvm_mips_emul.c        |  236 ++++----
 arch/mips/kvm/kvm_mips_int.h         |    5 +
 arch/mips/kvm/kvm_mips_stats.c       |   17 +-
 arch/mips/kvm/kvm_tlb.c              |  444 +++++++++++---
 arch/mips/kvm/kvm_trap_emul.c        |   68 ++-
 arch/mips/kvm/kvm_vz.c               |  786 ++++++++++++++++++++++++
 arch/mips/kvm/kvm_vz_locore.S        |   74 +++
 arch/mips/lib/dump_tlb.c             |    5 +-
 arch/mips/lib/r3k_dump_tlb.c         |    7 +-
 arch/mips/mm/tlb-r3k.c               |   20 +-
 arch/mips/mm/tlb-r4k.c               |    2 +-
 arch/mips/mm/tlb-r8k.c               |    2 +-
 arch/mips/mm/tlbex.c                 |   82 +--
 include/uapi/linux/kvm.h             |    1 +
 30 files changed, 2906 insertions(+), 986 deletions(-)
 create mode 100644 arch/mips/include/asm/mipsvzregs.h
 create mode 100644 arch/mips/kvm/kvm_vz.c
 create mode 100644 arch/mips/kvm/kvm_vz_locore.S

-- 
1.7.11.3


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

end of thread, other threads:[~2013-05-31  1:56 UTC | newest]

Thread overview: 40+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-05-19  5:47 [PATCH 00/18] KVM/MIPS32: Support for the new Virtualization ASE (VZ-ASE) Sanjay Lal
2013-05-19  5:47 ` [PATCH 01/18] Revert "MIPS: microMIPS: Support dynamic ASID sizing." Sanjay Lal
2013-05-19  5:47 ` [PATCH 02/18] Revert "MIPS: Allow ASID size to be determined at boot time." Sanjay Lal
2013-05-19  5:47 ` [PATCH 03/18] KVM/MIPS32: Export min_low_pfn Sanjay Lal
2013-05-19  5:47 ` [PATCH 04/18] KVM/MIPS32-VZ: MIPS VZ-ASE related register defines and helper macros Sanjay Lal
2013-05-19  5:47 ` [PATCH 05/18] KVM/MIPS32-VZ: VZ-ASE assembler wrapper functions to set GuestIDs Sanjay Lal
2013-05-19 13:36   ` Sergei Shtylyov
2013-05-19  5:47 ` [PATCH 06/18] KVM/MIPS32-VZ: VZ-ASE related callbacks to handle guest exceptions that trap to the Root context Sanjay Lal
2013-05-28 15:04   ` Paolo Bonzini
2013-05-30 18:35     ` Sanjay Lal
2013-05-28 16:14   ` Paolo Bonzini
2013-05-30 18:35     ` Sanjay Lal
2013-05-30 20:11       ` Paolo Bonzini
2013-05-31  1:56         ` Sanjay Lal
2013-05-19  5:47 ` [PATCH 07/18] KVM/MIPS32: VZ-ASE related CPU feature flags and options Sanjay Lal
2013-05-19  5:47 ` [PATCH 08/18] KVM/MIPS32-VZ: Entry point for trampolining to the guest and trap handlers Sanjay Lal
2013-05-28 14:43   ` Paolo Bonzini
2013-05-19  5:47 ` [PATCH 09/18] KVM/MIPS32-VZ: Add support for CONFIG_KVM_MIPS_VZ option Sanjay Lal
2013-05-19  5:47 ` [PATCH 10/18] KVM/MIPS32-VZ: Add API for VZ-ASE Capability Sanjay Lal
2013-05-28 16:34   ` Paolo Bonzini
2013-05-30 17:07     ` David Daney
2013-05-30 17:51       ` Paolo Bonzini
2013-05-30 18:35         ` David Daney
2013-05-30 18:30       ` Sanjay Lal
2013-05-19  5:47 ` [PATCH 11/18] KVM/MIPS32-VZ: VZ: Handle Guest TLB faults that are handled in Root context Sanjay Lal
2013-05-19  5:47 ` [PATCH 12/18] KVM/MIPS32-VZ: VM Exit Stats, add VZ exit reasons Sanjay Lal
2013-05-19  5:47 ` [PATCH 13/18] KVM/MIPS32-VZ: Top level handler for Guest faults Sanjay Lal
2013-05-19  5:47 ` [PATCH 14/18] KVM/MIPS32-VZ: Guest exception batching support Sanjay Lal
2013-05-19  5:47 ` [PATCH 15/18] KVM/MIPS32: Add dummy trap handler to catch unexpected exceptions and dump out useful info Sanjay Lal
2013-05-19  5:47 ` [PATCH 16/18] KVM/MIPS32-VZ: Add VZ-ASE support to KVM/MIPS data structures Sanjay Lal
2013-05-28 15:24   ` Paolo Bonzini
2013-05-19  5:47 ` [PATCH 17/18] KVM/MIPS32: Revert to older method for accessing ASID parameters Sanjay Lal
2013-05-19  5:47 ` [PATCH 18/18] KVM/MIPS32-VZ: Dump out additional info about VZ features as part of /proc/cpuinfo Sanjay Lal
2013-05-20 15:50 ` [PATCH 00/18] KVM/MIPS32: Support for the new Virtualization ASE (VZ-ASE) David Daney
2013-05-20 16:58   ` Sanjay Lal
2013-05-20 17:29     ` David Daney
2013-05-20 17:34       ` Sanjay Lal
2013-05-20 18:36     ` Maciej W. Rozycki
2013-05-20 18:58       ` David Daney
2013-05-27 12:45         ` Maciej W. Rozycki

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox