• Sean Christopherson's avatar
    KVM: x86: Add a quirk for KVM's "MONITOR/MWAIT are NOPs!" behavior · bfbcc81b
    Sean Christopherson authored
    Add a quirk for KVM's behavior of emulating intercepted MONITOR/MWAIT
    instructions a NOPs regardless of whether or not they are supported in
    guest CPUID.  KVM's current behavior was likely motiviated by a certain
    fruity operating system that expects MONITOR/MWAIT to be supported
    unconditionally and blindly executes MONITOR/MWAIT without first checking
    CPUID.  And because KVM does NOT advertise MONITOR/MWAIT to userspace,
    that's effectively the default setup for any VMM that regurgitates
    KVM_GET_SUPPORTED_CPUID to KVM_SET_CPUID2.
    
    Note, this quirk interacts with KVM_X86_QUIRK_MISC_ENABLE_NO_MWAIT.  The
    behavior is actually desirable, as userspace VMMs that want to
    unconditionally hide MONITOR/MWAIT from the guest can leave the
    MISC_ENABLE quirk enabled.
    Signed-off-by: default avatarSean Christopherson <seanjc@google.com>
    Message-Id: <20220608224516.3788274-2-seanjc@google.com>
    Signed-off-by: default avatarPaolo Bonzini <pbonzini@redhat.com>
    bfbcc81b
x86.c 347 KB