[PATCH 00/17] MIPS: KVM: Misc KVM T&E improvements

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



This patchset gathers together some miscellaneous MIPS KVM (trap &
emulate) improvements.

Patches 8 and 15 in particular change non-KVM MIPS code, so Acks
appreciated. They are used by other patches in the series, so it makes
sense I think to keep them together.

The patchset is based on my recent MIPS KVM patchsets:

[PATCH 0/4] MIPS: KVM: Module + non dynamic translating fixes
[PATCH 00/18] MIPS: KVM: Miscellaneous clean-ups
[PATCH 0/8] MIPS: KVM: Debug & trace event improvements

Changes include:
- Patches 1-3: Dynamic translation & emulation fix/cleanups.
- Patches 4-7: Dynamic KVM_GET_REG_LIST so it can actually properly list
  all available registers, which allows for improved robustness of
  userland, especially for VZ support where the core may implement
  optional registers that KVM can't opt out of exposing.
- Patches 8-11: HWREna / RDHWR handling improvements.
- Patch 12: Add guest KScratch registers.
- Patches 13-17: Other miscellaneous improvements.

James Hogan (17):
  MIPS: KVM: Fix translation of MFC0 ErrCtl
  MIPS: KVM: Factor writing of translated guest instructions
  MIPS: KVM: Convert emulation to use asm/inst.h
  MIPS: KVM: Pass all unknown registers to callbacks
  MIPS: KVM: Make KVM_GET_REG_LIST dynamic
  MIPS: KVM: Use raw_cpu_has_fpu in kvm_mips_guest_can_have_fpu()
  MIPS: KVM: List FPU/MSA registers
  MIPS: Clean up RDHWR handling
  MIPS: KVM: Don't hardcode restored HWREna
  MIPS: KVM: Allow ULRI to restrict UserLocal register
  MIPS: KVM: Emulate RDHWR CPUNum register
  MIPS: KVM: Add KScratch registers
  MIPS: KVM: Move commpage so 0x0 is unmapped
  MIPS: KVM: Use host CCA for TLB mappings
  MIPS: Add define for Config.VI (virtual icache) bit
  MIPS: KVM: Report more accurate CP0_Config fields to guest
  MIPS: KVM: Use mipsregs.h defs for config registers

 Documentation/virtual/kvm/api.txt                  |   6 +
 arch/mips/include/asm/kvm_host.h                   | 122 +++++---------
 .../asm/mach-cavium-octeon/cpu-feature-overrides.h |   2 +-
 arch/mips/include/asm/mipsregs.h                   |  21 ++-
 arch/mips/include/asm/setup.h                      |   1 +
 arch/mips/include/uapi/asm/inst.h                  |  35 +++-
 arch/mips/kernel/traps.c                           |  22 ++-
 arch/mips/kvm/commpage.c                           |   2 +-
 arch/mips/kvm/dyntrans.c                           | 156 ++++++++----------
 arch/mips/kvm/emulate.c                            | 142 ++++++++--------
 arch/mips/kvm/locore.S                             |   4 +-
 arch/mips/kvm/mips.c                               | 180 +++++++++++++++++----
 arch/mips/kvm/mmu.c                                |  18 ++-
 arch/mips/kvm/tlb.c                                |  19 +--
 arch/mips/kvm/trace.h                              |   6 +
 arch/mips/kvm/trap_emul.c                          |  39 ++++-
 arch/mips/mm/c-r4k.c                               |   2 +-
 17 files changed, 465 insertions(+), 312 deletions(-)

Cc: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Cc: Radim Krčmář <rkrcmar@xxxxxxxxxx>
Cc: Ralf Baechle <ralf@xxxxxxxxxxxxxx>
Cc: David Daney <david.daney@xxxxxxxxxx>
Cc: linux-mips@xxxxxxxxxxxxxx
Cc: kvm@xxxxxxxxxxxxxxx
-- 
2.4.10





[Index of Archives]     [Linux MIPS Home]     [LKML Archive]     [Linux ARM Kernel]     [Linux ARM]     [Linux]     [Git]     [Yosemite News]     [Linux SCSI]     [Linux Hams]

  Powered by Linux