• Mikael Pettersson's avatar
    [PATCH] local APIC blacklist rules updates · 2475e282
    Mikael Pettersson authored
    This patch removes the x86 local APIC blacklist rules for the
    Microstar 6163 and Intel AL440LX mainboards. These boards do
    work with local APIC enabled. Heavily tested. Please apply.
    
    Long story: When I worked on the initial UP_APIC code, these
    two mainboard (MS-6163 and AL440LX) were the only ones that
    caused hangs when the local APIC was enabled. At the time,
    I attributed these hangs to broken BIOSen and implemented DMI
    scan blacklist rules to prevent enabling the local APIC on them.
    
    However, the last year I've observed hangs on other mainboards
    that initially were believed to be safe for local APIC. The
    hangs turned out to be caused by APM's DISPLAY_BLANK option:
    When this option is enabled, APM will invoke BIOS and graphics
    card BIOS code without disabling the local APIC first. In many
    cases, a local APIC timer interrupt while APM is trying to blank
    the console will hang the system.
    
    APM also has two other options that can hang the system: CPU_IDLE
    and building APM as a module, both of which causes it to do BIOS
    calls without disabling the local APIC first. On all my systems,
    the only reliable configuration is to keep APM's DISPLAY_BLANK and
    CPU_IDLE disabled, and to build APM non-modular.
    2475e282
dmi_scan.c 24.1 KB