• Jerry Hoemann's avatar
    watchdog: hpwdt: Remove legacy NMI sourcing. · 2b3d89b4
    Jerry Hoemann authored
    Gen8 and prior Proliant systems supported the "CRU" interface
    to firmware.  This interfaces allows linux to "call back" into firmware
    to source the cause of an NMI.  This feature isn't fully utilized
    as the actual source of the NMI isn't printed, the driver only
    indicates that the source couldn't be determined when the call
    fails.
    
    With the advent of Gen9, iCRU replaces the CRU. The call back
    feature is no longer available in firmware.  To be compatible and
    not attempt to call back into firmware on system not supporting CRU,
    the SMBIOS table is consulted to determine if it is safe to
    make the call back or not.
    
    This results in about half of the driver code being devoted
    to either making CRU calls or determing if it is safe to make
    CRU calls.  As noted, the driver isn't really using the results of
    the CRU calls.
    
    Furthermore, as a consequence of the Spectre security issue, the
    BIOS/EFI calls are being wrapped into Spectre-disabling section.
    Removing the call back in hpwdt_pretimeout assists in this effort.
    
    As the CRU sourcing of the NMI isn't required for handling the
    NMI and there are security concerns with making the call back, remove
    the legacy (pre Gen9) NMI sourcing and the DMI code to determine if
    the system had the CRU interface.
    Signed-off-by: default avatarJerry Hoemann <jerry.hoemann@hpe.com>
    Acked-by: default avatarIngo Molnar <mingo@kernel.org>
    Reviewed-by: default avatarGuenter Roeck <linux@roeck-us.net>
    Signed-off-by: default avatarGuenter Roeck <linux@roeck-us.net>
    Signed-off-by: default avatarWim Van Sebroeck <wim@iguana.be>
    2b3d89b4
hpwdt.c 9.88 KB