• Sean Christopherson's avatar
    KVM: VMX: Give host userspace full control of MSR_IA32_PERF_CAPABILITIES · 0f4a7185
    Sean Christopherson authored
    Do not clear manipulate MSR_IA32_PERF_CAPABILITIES in intel_pmu_refresh(),
    i.e. give userspace full control over capability/read-only MSRs.  KVM is
    not a babysitter, it is userspace's responsiblity to provide a valid and
    coherent vCPU model.
    
    Attempting to "help" the guest by forcing a consistent model creates edge
    cases, and ironicially leads to inconsistent behavior.
    
    Example #1:  KVM doesn't do intel_pmu_refresh() when userspace writes
    the MSR.
    
    Example #2: KVM doesn't clear the bits when the PMU is disabled, or when
    there's no architectural PMU.
    Signed-off-by: default avatarSean Christopherson <seanjc@google.com>
    Message-Id: <20220611005755.753273-3-seanjc@google.com>
    Signed-off-by: default avatarPaolo Bonzini <pbonzini@redhat.com>
    0f4a7185
pmu_intel.c 22.7 KB