]> asedeno.scripts.mit.edu Git - linux.git/commitdiff
efi: Add kernel param efi=noruntime
authorDave Young <dyoung@redhat.com>
Thu, 14 Aug 2014 09:15:28 +0000 (17:15 +0800)
committerMatt Fleming <matt.fleming@intel.com>
Fri, 3 Oct 2014 17:40:59 +0000 (18:40 +0100)
noefi kernel param means actually disabling efi runtime, Per suggestion
from Leif Lindholm efi=noruntime should be better. But since noefi is
already used in X86 thus just adding another param efi=noruntime for
same purpose.

Signed-off-by: Dave Young <dyoung@redhat.com>
Signed-off-by: Matt Fleming <matt.fleming@intel.com>
Documentation/kernel-parameters.txt
arch/x86/platform/efi/efi.c
drivers/firmware/efi/efi.c

index 08df275eee2b9621e9f7940d7a4038f41205b66e..d0e431611a04ac0db066914ebc219ff095155a2f 100644 (file)
@@ -992,13 +992,14 @@ bytes respectively. Such letter suffixes can also be entirely omitted.
                        Format: {"off" | "on" | "skip[mbr]"}
 
        efi=            [EFI]
-                       Format: { "old_map", "nochunk" }
+                       Format: { "old_map", "nochunk", "noruntime" }
                        old_map [X86-64]: switch to the old ioremap-based EFI
                        runtime services mapping. 32-bit still uses this one by
                        default.
                        nochunk: disable reading files in "chunks" in the EFI
                        boot stub, as chunking can cause problems with some
                        firmware implementations.
+                       noruntime : disable EFI runtime services support
 
        efi_no_storage_paranoia [EFI; X86]
                        Using this parameter you can use more than 50% of
index c73a7df5d37f174d32401794363740c97f389e51..00f4cc566adb17dc63a52379dc94d17ce6d931f2 100644 (file)
@@ -930,11 +930,11 @@ u64 efi_mem_attributes(unsigned long phys_addr)
        return 0;
 }
 
-static int __init parse_efi_cmdline(char *str)
+static int __init arch_parse_efi_cmdline(char *str)
 {
        if (parse_option_str(str, "old_map"))
                set_bit(EFI_OLD_MEMMAP, &efi.flags);
 
        return 0;
 }
-early_param("efi", parse_efi_cmdline);
+early_param("efi", arch_parse_efi_cmdline);
index c8f01a73edb5c90c035ba44f5490f992214fffb1..cebfa36a27aeb432b9c647370a401a484a6921e0 100644 (file)
@@ -54,6 +54,15 @@ bool efi_runtime_disabled(void)
        return disable_runtime;
 }
 
+static int __init parse_efi_cmdline(char *str)
+{
+       if (parse_option_str(str, "noruntime"))
+               disable_runtime = true;
+
+       return 0;
+}
+early_param("efi", parse_efi_cmdline);
+
 static struct kobject *efi_kobj;
 static struct kobject *efivars_kobj;