mbox series

[GIT,PULL] KVM: x86: Remove MTRR virtualization

Message ID 20240712235701.1458888-6-seanjc@google.com (mailing list archive)
State New, archived
Headers show
Series [GIT,PULL] KVM: x86: Remove MTRR virtualization | expand

Pull-request

https://github.com/kvm-x86/linux.git tags/kvm-x86-mtrrs-6.11

Message

Sean Christopherson July 12, 2024, 11:56 p.m. UTC
Yank out KVM's MTRR virtualization, which is Intel-only and limited to very
specific setups, i.e. can't possibly be useful for any real world, modern guest.

The following changes since commit c3f38fa61af77b49866b006939479069cd451173:

  Linux 6.10-rc2 (2024-06-02 15:44:56 -0700)

are available in the Git repository at:

  https://github.com/kvm-x86/linux.git tags/kvm-x86-mtrrs-6.11

for you to fetch changes up to 377b2f359d1f71c75f8cc352b5c81f2210312d83:

  KVM: VMX: Always honor guest PAT on CPUs that support self-snoop (2024-06-07 07:18:03 -0700)

----------------------------------------------------------------
KVM x86 MTRR virtualization removal

Remove support for virtualizing MTRRs on Intel CPUs, along with a nasty CR0.CD
hack, and instead always honor guest PAT on CPUs that support self-snoop.

----------------------------------------------------------------
Sean Christopherson (3):
      KVM: x86: Remove VMX support for virtualizing guest MTRR memtypes
      KVM: VMX: Drop support for forcing UC memory when guest CR0.CD=1
      KVM: VMX: Always honor guest PAT on CPUs that support self-snoop

Yan Zhao (2):
      srcu: Add an API for a memory barrier after SRCU read lock
      KVM: x86: Ensure a full memory barrier is emitted in the VM-Exit path

 Documentation/virt/kvm/api.rst        |   6 +-
 Documentation/virt/kvm/x86/errata.rst |  18 +
 arch/x86/include/asm/kvm_host.h       |  15 +-
 arch/x86/kvm/mmu.h                    |   7 +-
 arch/x86/kvm/mmu/mmu.c                |  35 +-
 arch/x86/kvm/mtrr.c                   | 644 ++--------------------------------
 arch/x86/kvm/vmx/vmx.c                |  40 +--
 arch/x86/kvm/x86.c                    |  24 +-
 arch/x86/kvm/x86.h                    |   4 -
 include/linux/srcu.h                  |  14 +
 10 files changed, 105 insertions(+), 702 deletions(-)