• Andi Kleen's avatar
    x86, mce, cmci: recheck CMCI banks after APIC has been enabled on CPU #0 · be71b855
    Andi Kleen authored
    Impact: Fix marginal race condition
    
    One the first CPU the machine checks are enabled early before
    the local APIC is enabled. This could in theory lead
    to some lost CMCI events very early during boot because
    CMCIs cannot be delivered with disabled LAPIC.
    
    The poller also doesn't recover from this because it doesn't
    check CMCI banks.
    
    Add an explicit CMCI banks check after the LAPIC is enabled.
    This is only done for CPU #0, the other CPUs only initialize
    machine checks after the LAPIC is on.
    Signed-off-by: default avatarAndi Kleen <ak@linux.intel.com>
    Signed-off-by: default avatarH. Peter Anvin <hpa@zytor.com>
    be71b855
apic.c 52.6 KB