• Thomas Gleixner's avatar
    x86/apic: Remove logical destination mode for 64-bit · 838ba773
    Thomas Gleixner authored
    Logical destination mode of the local APIC is used for systems with up to
    8 CPUs. It has an advantage over physical destination mode as it allows to
    target multiple CPUs at once with IPIs.
    
    That advantage was definitely worth it when systems with up to 8 CPUs
    were state of the art for servers and workstations, but that's history.
    
    Aside of that there are systems which fail to work with logical destination
    mode as the ACPI/DMI quirks show and there are AMD Zen1 systems out there
    which fail when interrupt remapping is enabled as reported by Rob and
    Christian. The latter problem can be cured by firmware updates, but not all
    OEMs distribute the required changes.
    
    Physical destination mode is guaranteed to work because it is the only way
    to get a CPU up and running via the INIT/INIT/STARTUP sequence.
    
    As the number of CPUs keeps increasing, logical destination mode becomes a
    less used code path so there is no real good reason to keep it around.
    
    Therefore remove logical destination mode support for 64-bit and default to
    physical destination mode.
    Reported-by: default avatarRob Newcater <rob@durendal.co.uk>
    Reported-by: default avatarChristian Heusel <christian@heusel.eu>
    Signed-off-by: default avatarThomas Gleixner <tglx@linutronix.de>
    Tested-by: default avatarBorislav Petkov (AMD) <bp@alien8.de>
    Tested-by: default avatarRob Newcater <rob@durendal.co.uk>
    Link: https://lore.kernel.org/all/877cd5u671.ffs@tglx
    838ba773
apic.h 14.9 KB