On Wed, Jan 21, 2026, Jim Mattson wrote: > If the vCPU advertises SVM and uses the mediated PMU, allow the guest to > set the Host-Only and Guest-Only bits in the event selector MSRs. > > Signed-off-by: Jim Mattson <[email protected]> > --- > arch/x86/kvm/svm/pmu.c | 7 ++++++- > 1 file changed, 6 insertions(+), 1 deletion(-) > > diff --git a/arch/x86/kvm/svm/pmu.c b/arch/x86/kvm/svm/pmu.c > index 85155d65fa38..a1eeb7b38219 100644 > --- a/arch/x86/kvm/svm/pmu.c > +++ b/arch/x86/kvm/svm/pmu.c > @@ -262,8 +262,13 @@ static void amd_pmu_refresh(struct kvm_vcpu *vcpu) > pmu->global_status_rsvd = pmu->global_ctrl_rsvd; > } > > - pmu->counter_bitmask[KVM_PMC_GP] = BIT_ULL(48) - 1; > pmu->reserved_bits = 0xfffffff000280000ull; > + if (guest_cpu_cap_has(vcpu, X86_FEATURE_SVM) && > + kvm_vcpu_has_mediated_pmu(vcpu)) > + /* Allow Host-Only and Guest-Only bits */
Meh, no comment needed if the macro is more descriptive. > + pmu->reserved_bits &= ~AMD64_EVENTSEL_HG_ONLY; > + > + pmu->counter_bitmask[KVM_PMC_GP] = BIT_ULL(48) - 1; Spurious code movement? > pmu->raw_event_mask = AMD64_RAW_EVENT_MASK; > /* not applicable to AMD; but clean them to prevent any fall out */ > pmu->counter_bitmask[KVM_PMC_FIXED] = 0; > -- > 2.52.0.457.g6b5491de43-goog >

