mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: Sean Christopherson <seanjc@google.com>
To: Paolo Bonzini <pbonzini@redhat.com>
Cc: kvm@vger.kernel.org, linux-kernel@vger.kernel.org,
	 Sean Christopherson <seanjc@google.com>
Subject: [GIT PULL] KVM: x86: SVM changes for 7.2
Date: Thu, 11 Jun 2026 17:47:52 -0700	[thread overview]
Message-ID: <20260612004755.349925-8-seanjc@google.com> (raw)
In-Reply-To: <20260612004755.349925-1-seanjc@google.com>

Nested SVM is again the main theme this cycle.  I think this is the last of the
changes? Barring one-offs that will inevitably meander in.

Note, there's no new capability or anything to enumerate support for Host-Only
and Guest-Only PMC support, which is sketchy, but I think is fine?  Because
AFAICT, there's no way for hardware to communicate support, i.e. software just
has to assume it's there.

The following changes since commit b7fbe9a1bf9ee6c967ef77d366ca58c35fcf1887:

  Merge branch 'kvm-apx-prepare' into HEAD (2026-05-13 12:38:31 -0400)

are available in the Git repository at:

  https://github.com/kvm-x86/linux.git tags/kvm-x86-svm-7.2

for you to fetch changes up to adeb462cecae964ae4525512e31d54e545539476:

  KVM: selftests: Add a test for gPAT handling in L2 (2026-06-03 05:42:35 -0700)

----------------------------------------------------------------
KVM SVN changes for 7.2

 - Add support for virtualizing gPAT (KVM previously just used L1's PAT when
   running L2).

 - Fix goofs where KVM mishandles side effects (e.g. single-step and PMC
   updates) when emulating VMRUN.

 - Fix a variety of bugs in AVIC's handling of x2APIC MSR interception, most
   notably where KVM didn't disable interception of IRR, ISR, and TMR regs.

 - Add support for virtualizing Host-Only/Guest-Only bits in the mediated PMU.

----------------------------------------------------------------
Jim Mattson (9):
      KVM: x86: Define KVM_X86_QUIRK_NESTED_SVM_SHARED_PAT
      KVM: x86: nSVM: Clear VMCB_NPT clean bit when updating hPAT from guest mode
      KVM: x86: nSVM: Cache and validate vmcb12 g_pat
      KVM: x86: nSVM: Set vmcb02.g_pat correctly for nested NPT
      KVM: x86: nSVM: Redirect IA32_PAT accesses to either hPAT or gPAT
      KVM: x86: nSVM: Save gPAT to vmcb12.g_pat on VMEXIT
      KVM: Documentation: document KVM_{GET,SET}_NESTED_STATE for SVM
      KVM: x86: nSVM: Save/restore gPAT with KVM_{GET,SET}_NESTED_STATE
      KVM: x86/pmu: Allow Host-Only/Guest-Only bits with nSVM and mediated PMU

Sean Christopherson (3):
      KVM: x86: Add dedicated API for getting mask of accelerated x2APIC MSRs
      KVM: SVM: Disable x2AVIC RDMSR interception for MSRs KVM actually supports
      KVM: SVM: Only disable x2AVIC WRMSR interception for MSRs that are accelerated

Yosry Ahmed (13):
      KVM: nSVM: Stop leaking single-stepping on VMRUN into L2
      KVM: nSVM: Bail early out of VMRUN emulation if advancing RIP fails
      KVM: nSVM: Unify RIP and PMU handling calls when emulating VMRUN
      KVM: nSVM: Move VMRUN instruction retirement after entering guest mode
      KVM: x86: Move enable_pmu/enable_mediated_pmu to pmu.h and pmu.c
      KVM: x86/pmu: Rename reprogram_counters() to clarify usage
      KVM: x86/pmu: Do a single atomic OR when reprogramming counters
      KVM: x86/pmu: Check mediated PMU counter enablement before event filters
      KVM: x86/pmu: Add support for KVM_X86_PMU_OP_OPTIONAL_RET0
      KVM: x86/pmu: Disable counters based on Host-Only/Guest-Only bits in SVM
      KVM: x86/pmu: Track mediated PMU counters with mode-specific enables
      KVM: x86/pmu: Reprogram Host/Guest-Only counters on nested transitions
      KVM: selftests: Add a test for gPAT handling in L2

 Documentation/virt/kvm/api.rst                     |  26 +++
 arch/x86/include/asm/kvm-x86-pmu-ops.h             |   5 +-
 arch/x86/include/asm/kvm_host.h                    |   6 +-
 arch/x86/include/asm/perf_event.h                  |   2 +
 arch/x86/include/uapi/asm/kvm.h                    |   2 +
 arch/x86/kvm/lapic.c                               |  21 ++-
 arch/x86/kvm/lapic.h                               |   2 +-
 arch/x86/kvm/pmu.c                                 |  21 ++-
 arch/x86/kvm/pmu.h                                 |  44 ++++-
 arch/x86/kvm/svm/avic.c                            |  47 ++---
 arch/x86/kvm/svm/nested.c                          | 107 ++++++++---
 arch/x86/kvm/svm/pmu.c                             |  42 +++++
 arch/x86/kvm/svm/svm.c                             |  40 ++++-
 arch/x86/kvm/svm/svm.h                             |  44 ++++-
 arch/x86/kvm/vmx/pmu_intel.c                       |   2 +-
 arch/x86/kvm/vmx/vmx.c                             |   3 +-
 arch/x86/kvm/x86.c                                 |   9 -
 arch/x86/kvm/x86.h                                 |   3 -
 tools/testing/selftests/kvm/Makefile.kvm           |   1 +
 .../selftests/kvm/x86/svm_nested_pat_test.c        | 196 +++++++++++++++++++++
 20 files changed, 525 insertions(+), 98 deletions(-)
 create mode 100644 tools/testing/selftests/kvm/x86/svm_nested_pat_test.c

  parent reply	other threads:[~2026-06-12  0:48 UTC|newest]

Thread overview: 18+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-06-12  0:47 [GIT PULL] KVM: x86 pull requests " Sean Christopherson
2026-06-12  0:47 ` [GIT PULL] KVM: x86: Generic changes " Sean Christopherson
2026-06-12  8:07   ` Paolo Bonzini
2026-06-12  0:47 ` [GIT PULL] KVM: x86: guest_memfd " Sean Christopherson
2026-06-12  8:10   ` Paolo Bonzini
2026-06-12  0:47 ` [GIT PULL] KVM: x86: Misc " Sean Christopherson
2026-06-12  8:14   ` Paolo Bonzini
2026-06-12  0:47 ` [GIT PULL] KVM: x86: MMU " Sean Christopherson
2026-06-12  8:14   ` Paolo Bonzini
2026-06-12  0:47 ` [GIT PULL] KVM: x86: Selftests " Sean Christopherson
2026-06-12  8:12   ` Paolo Bonzini
2026-06-12  0:47 ` [GIT PULL] KVM: x86: SEV " Sean Christopherson
2026-06-12  8:13   ` Paolo Bonzini
2026-06-12  0:47 ` Sean Christopherson [this message]
2026-06-12  0:47 ` [GIT PULL] KVM: VFIO " Sean Christopherson
2026-06-12  8:14   ` Paolo Bonzini
2026-06-12  0:47 ` [GIT PULL] KVM: x86: VMX " Sean Christopherson
2026-06-12  8:15   ` Paolo Bonzini

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20260612004755.349925-8-seanjc@google.com \
    --to=seanjc@google.com \
    --cc=kvm@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=pbonzini@redhat.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

all inboxes | Powered by JetHome®