• Paolo Bonzini's avatar
    KVM: compute correct map even if all APICs are software disabled · a3e339e1
    Paolo Bonzini authored
    Logical destination mode can be used to send NMI IPIs even when all
    APICs are software disabled, so if all APICs are software disabled we
    should still look at the DFRs.
    
    So the DFRs should all be the same, even if some or all APICs are
    software disabled.  However, the SDM does not say this, so tweak
    the logic as follows:
    
    - if one APIC is enabled and has LDR != 0, use that one to build the map.
    This picks the right DFR in case an OS is only setting it for the
    software-enabled APICs, or in case an OS is using logical addressing
    on some APICs while leaving the rest in reset state (using LDR was
    suggested by Radim).
    
    - if all APICs are disabled, pick a random one to build the map.
    We use the last one with LDR != 0 for simplicity.
    Signed-off-by: default avatarPaolo Bonzini <pbonzini@redhat.com>
    a3e339e1
lapic.c 48.3 KB