• Sean Christopherson's avatar
    KVM: x86: Use "raw" APIC register read for handling APIC-write VM-Exit · b031f104
    Sean Christopherson authored
    Use the "raw" helper to read the vAPIC register after an APIC-write trap
    VM-Exit.  Hardware is responsible for vetting the write, and the caller
    is responsible for sanitizing the offset.  This is a functional change,
    as it means KVM will consume whatever happens to be in the vAPIC page if
    the write was dropped by hardware.  But, unless userspace deliberately
    wrote garbage into the vAPIC page via KVM_SET_LAPIC, the value should be
    zero since it's not writable by the guest.
    
    This aligns common x86 with SVM's AVIC logic, i.e. paves the way for
    using the nodecode path to handle APIC-write traps when AVIC is enabled.
    Signed-off-by: default avatarSean Christopherson <seanjc@google.com>
    Message-Id: <20220204214205.3306634-4-seanjc@google.com>
    Signed-off-by: default avatarPaolo Bonzini <pbonzini@redhat.com>
    b031f104
lapic.c 74.5 KB