• Satoru Takeuchi's avatar
    efi: Clear EFI_RUNTIME_SERVICES rather than EFI_BOOT by "noefi" boot parameter · 1de63d60
    Satoru Takeuchi authored
    There was a serious problem in samsung-laptop that its platform driver is
    designed to run under BIOS and running under EFI can cause the machine to
    become bricked or can cause Machine Check Exceptions.
    
        Discussion about this problem:
        https://bugs.launchpad.net/ubuntu-cdimage/+bug/1040557
        https://bugzilla.kernel.org/show_bug.cgi?id=47121
    
        The patches to fix this problem:
        efi: Make 'efi_enabled' a function to query EFI facilities
        83e68189
    
        samsung-laptop: Disable on EFI hardware
        e0094244
    
    Unfortunately this problem comes back again if users specify "noefi" option.
    This parameter clears EFI_BOOT and that driver continues to run even if running
    under EFI. Refer to the document, this parameter should clear
    EFI_RUNTIME_SERVICES instead.
    
    Documentation/kernel-parameters.txt:
    ===============================================================================
    ...
    	noefi		[X86] Disable EFI runtime services support.
    ...
    ===============================================================================
    
    Documentation/x86/x86_64/uefi.txt:
    ===============================================================================
    ...
    - If some or all EFI runtime services don't work, you can try following
      kernel command line parameters to turn off some or all EFI runtime
      services.
    	noefi		turn off all EFI runtime services
    ...
    ===============================================================================
    Signed-off-by: default avatarSatoru Takeuchi <takeuchi_satoru@jp.fujitsu.com>
    Link: http://lkml.kernel.org/r/511C2C04.2070108@jp.fujitsu.com
    Cc: Matt Fleming <matt.fleming@intel.com>
    Cc: <stable@vger.kernel.org>
    Signed-off-by: default avatarH. Peter Anvin <hpa@linux.intel.com>
    1de63d60
efi.c 25.4 KB