• Thomas Gleixner's avatar
    x86/apic: Provide apic_force_nmi_on_cpu() · 9cab5fb7
    Thomas Gleixner authored
    When SMT siblings are soft-offlined and parked in one of the play_dead()
    variants they still react on NMI, which is problematic on affected Intel
    CPUs. The default play_dead() variant uses MWAIT on modern CPUs, which is
    not guaranteed to be safe when updated concurrently.
    
    Right now late loading is prevented when not all SMT siblings are online,
    but as they still react on NMI, it is possible to bring them out of their
    park position into a trivial rendezvous handler.
    
    Provide a function which allows to do that. I does sanity checks whether
    the target is in the cpus_booted_once_mask and whether the APIC driver
    supports it.
    
    Mark X2APIC and XAPIC as capable, but exclude 32bit and the UV and NUMACHIP
    variants as that needs feedback from the relevant experts.
    Signed-off-by: default avatarThomas Gleixner <tglx@linutronix.de>
    Signed-off-by: default avatarBorislav Petkov (AMD) <bp@alien8.de>
    Link: https://lore.kernel.org/r/20231002115903.603100036@linutronix.de
    9cab5fb7
x2apic_cluster.c 6.78 KB