[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <175079324569.521185.10145114338048189462.b4-ty@google.com>
Date: Tue, 24 Jun 2025 12:38:32 -0700
From: Sean Christopherson <seanjc@...gle.com>
To: Sean Christopherson <seanjc@...gle.com>, Paolo Bonzini <pbonzini@...hat.com>
Cc: kvm@...r.kernel.org, linux-kernel@...r.kernel.org,
Chao Gao <chao.gao@...el.com>, Borislav Petkov <bp@...en8.de>, Xin Li <xin@...or.com>,
Dapeng Mi <dapeng1.mi@...ux.intel.com>, Francesco Lavra <francescolavra.fl@...il.com>,
Manali Shukla <Manali.Shukla@....com>
Subject: Re: [PATCH v2 00/32] KVM: x86: Clean up MSR interception code
On Tue, 10 Jun 2025 15:57:05 -0700, Sean Christopherson wrote:
> Clean up KVM's MSR interception code (especially the SVM code, which is all
> kinds of ugly). The main goals are to:
>
> - Make the SVM and VMX APIs consistent (and sane; the current SVM APIs have
> inverted polarity).
>
> - Eliminate the shadow bitmaps that are used to determine intercepts on
> userspace MSR filter update.
>
> [...]
Applied to kvm-x86 misc, thanks!
[01/32] KVM: SVM: Disable interception of SPEC_CTRL iff the MSR exists for the guest
https://github.com/kvm-x86/linux/commit/674ffc650351
[02/32] KVM: SVM: Allocate IOPM pages after initial setup in svm_hardware_setup()
https://github.com/kvm-x86/linux/commit/fb96d5cf0fda
[03/32] KVM: SVM: Don't BUG if setting up the MSR intercept bitmaps fails
https://github.com/kvm-x86/linux/commit/5ebd73730832
[04/32] KVM: SVM: Tag MSR bitmap initialization helpers with __init
https://github.com/kvm-x86/linux/commit/f886515f9ba2
[05/32] KVM: SVM: Use ARRAY_SIZE() to iterate over direct_access_msrs
https://github.com/kvm-x86/linux/commit/b241c50c4e30
[06/32] KVM: SVM: Kill the VM instead of the host if MSR interception is buggy
https://github.com/kvm-x86/linux/commit/6353cd685c69
[07/32] KVM: x86: Use non-atomic bit ops to manipulate "shadow" MSR intercepts
https://github.com/kvm-x86/linux/commit/b1bccf788390
[08/32] KVM: SVM: Massage name and param of helper that merges vmcb01 and vmcb12 MSRPMs
https://github.com/kvm-x86/linux/commit/925149b6d054
[09/32] KVM: SVM: Clean up macros related to architectural MSRPM definitions
https://github.com/kvm-x86/linux/commit/16e9584cc0a8
[10/32] KVM: nSVM: Use dedicated array of MSRPM offsets to merge L0 and L1 bitmaps
https://github.com/kvm-x86/linux/commit/9b72c3d59f42
[11/32] KVM: nSVM: Omit SEV-ES specific passthrough MSRs from L0+L1 bitmap merge
https://github.com/kvm-x86/linux/commit/f21ff2c8c997
[12/32] KVM: nSVM: Don't initialize vmcb02 MSRPM with vmcb01's "always passthrough"
https://github.com/kvm-x86/linux/commit/4879dc9469e6
[13/32] KVM: SVM: Add helpers for accessing MSR bitmap that don't rely on offsets
https://github.com/kvm-x86/linux/commit/c38595ad69ce
[14/32] KVM: SVM: Implement and adopt VMX style MSR intercepts APIs
https://github.com/kvm-x86/linux/commit/6b7315fe54ce
[15/32] KVM: SVM: Pass through GHCB MSR if and only if VM is an SEV-ES guest
https://github.com/kvm-x86/linux/commit/3a0f09b361e1
[16/32] KVM: SVM: Drop "always" flag from list of possible passthrough MSRs
https://github.com/kvm-x86/linux/commit/cb53d079484c
[17/32] KVM: x86: Move definition of X2APIC_MSR() to lapic.h
https://github.com/kvm-x86/linux/commit/405a63d4d386
[18/32] KVM: VMX: Manually recalc all MSR intercepts on userspace MSR filter change
https://github.com/kvm-x86/linux/commit/8a056ece45d2
[19/32] KVM: SVM: Manually recalc all MSR intercepts on userspace MSR filter change
https://github.com/kvm-x86/linux/commit/160f143cc131
[20/32] KVM: x86: Rename msr_filter_changed() => recalc_msr_intercepts()
https://github.com/kvm-x86/linux/commit/4ceca57e3f20
[21/32] KVM: SVM: Rename init_vmcb_after_set_cpuid() to make it intercepts specific
https://github.com/kvm-x86/linux/commit/049dff172b6d
[22/32] KVM: SVM: Fold svm_vcpu_init_msrpm() into its sole caller
https://github.com/kvm-x86/linux/commit/40ba80e4b043
[23/32] KVM: SVM: Merge "after set CPUID" intercept recalc helpers
https://github.com/kvm-x86/linux/commit/4880919aaf8d
[24/32] KVM: SVM: Drop explicit check on MSRPM offset when emulating SEV-ES accesses
https://github.com/kvm-x86/linux/commit/2f89888434bc
[25/32] KVM: SVM: Move svm_msrpm_offset() to nested.c
https://github.com/kvm-x86/linux/commit/5c9c08476363
[26/32] KVM: SVM: Store MSRPM pointer as "void *" instead of "u32 *"
https://github.com/kvm-x86/linux/commit/7fe057804118
[27/32] KVM: nSVM: Access MSRPM in 4-byte chunks only for merging L0 and L1 bitmaps
https://github.com/kvm-x86/linux/commit/52f82177429e
[28/32] KVM: SVM: Return -EINVAL instead of MSR_INVALID to signal out-of-range MSR
https://github.com/kvm-x86/linux/commit/5904ba517246
[29/32] KVM: nSVM: Merge MSRPM in 64-bit chunks on 64-bit kernels
https://github.com/kvm-x86/linux/commit/54f1c770611b
[30/32] KVM: SVM: Add a helper to allocate and initialize permissions bitmaps
https://github.com/kvm-x86/linux/commit/73be81b3bb7c
[31/32] KVM: x86: Simplify userspace filter logic when disabling MSR interception
https://github.com/kvm-x86/linux/commit/bea44d199240
[32/32] KVM: selftests: Verify KVM disable interception (for userspace) on filter change
https://github.com/kvm-x86/linux/commit/0792c71c1c94
--
https://github.com/kvm-x86/kvm-unit-tests/tree/next
Powered by blists - more mailing lists