[PATCH 00/15] Unify MSR intercepts in x86

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

 



The goal of this series is to unify MSR intercepts into common code between
VMX and SVM.

The high level structure of this series is to:
 1. Modify SVM MSR intercepts to adopt how VMX does it.
 2. Hoist the newly updated SVM MSR intercept implementation to common x86 code.
 3. Hoist the VMX MSR intercept implementation to common x86 code.

Aaron Lewis (8):
  KVM: SVM: Invert the polarity of the "shadow" MSR interception bitmaps
  KVM: SVM: Track MSRPM as "unsigned long", not "u32"
  KVM: x86: SVM: Adopt VMX style MSR intercepts in SVM
  KVM: SVM: Don't "NULL terminate" the list of possible passthrough MSRs
  KVM: x86: Track possible passthrough MSRs in kvm_x86_ops
  KVM: x86: Move ownership of passthrough MSR "shadow" to common x86
  KVM: x86: Hoist SVM MSR intercepts to common x86 code
  KVM: x86: Hoist VMX MSR intercepts to common x86 code

Anish Ghulati (2):
  KVM: SVM: Disable intercepts for all direct access MSRs on MSR filter changes
  KVM: SVM: Delete old SVM MSR management code

Sean Christopherson (5):
  KVM: x86: Use non-atomic bit ops to manipulate "shadow" MSR intercepts
  KVM: SVM: Use non-atomic bit ops to manipulate MSR interception bitmaps
  KVM: SVM: Pass through GHCB MSR if and only if VM is SEV-ES
  KVM: SVM: Drop "always" flag from list of possible passthrough MSRs
  KVM: VMX: Make list of possible passthrough MSRs "const"

 arch/x86/include/asm/kvm-x86-ops.h |   5 +-
 arch/x86/include/asm/kvm_host.h    |  18 ++
 arch/x86/kvm/svm/sev.c             |  11 +-
 arch/x86/kvm/svm/svm.c             | 300 ++++++++++++-----------------
 arch/x86/kvm/svm/svm.h             |  30 +--
 arch/x86/kvm/vmx/main.c            |  30 +++
 arch/x86/kvm/vmx/vmx.c             | 144 +++-----------
 arch/x86/kvm/vmx/vmx.h             |  11 +-
 arch/x86/kvm/x86.c                 | 129 ++++++++++++-
 arch/x86/kvm/x86.h                 |   3 +
 10 files changed, 358 insertions(+), 323 deletions(-)

-- 
2.47.0.338.g60cca15819-goog





[Index of Archives]     [KVM ARM]     [KVM ia64]     [KVM ppc]     [Virtualization Tools]     [Spice Development]     [Libvirt]     [Libvirt Users]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite Questions]     [Linux Kernel]     [Linux SCSI]     [XFree86]

  Powered by Linux