[GIT PULL] KVM: x86: Remove MTRR virtualization

From: Sean Christopherson
Date: Fri Jul 12 2024 - 19:58:43 EST


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(-)