diff options
-rw-r--r-- | Documentation/kernel-parameters.txt | 3 | ||||
-rw-r--r-- | arch/x86/platform/efi/efi.c | 4 | ||||
-rw-r--r-- | drivers/firmware/efi/efi.c | 9 |
3 files changed, 13 insertions, 3 deletions
diff --git a/Documentation/kernel-parameters.txt b/Documentation/kernel-parameters.txt index 08df275eee2b..d0e431611a04 100644 --- a/Documentation/kernel-parameters.txt +++ b/Documentation/kernel-parameters.txt | |||
@@ -992,13 +992,14 @@ bytes respectively. Such letter suffixes can also be entirely omitted. | |||
992 | Format: {"off" | "on" | "skip[mbr]"} | 992 | Format: {"off" | "on" | "skip[mbr]"} |
993 | 993 | ||
994 | efi= [EFI] | 994 | efi= [EFI] |
995 | Format: { "old_map", "nochunk" } | 995 | Format: { "old_map", "nochunk", "noruntime" } |
996 | old_map [X86-64]: switch to the old ioremap-based EFI | 996 | old_map [X86-64]: switch to the old ioremap-based EFI |
997 | runtime services mapping. 32-bit still uses this one by | 997 | runtime services mapping. 32-bit still uses this one by |
998 | default. | 998 | default. |
999 | nochunk: disable reading files in "chunks" in the EFI | 999 | nochunk: disable reading files in "chunks" in the EFI |
1000 | boot stub, as chunking can cause problems with some | 1000 | boot stub, as chunking can cause problems with some |
1001 | firmware implementations. | 1001 | firmware implementations. |
1002 | noruntime : disable EFI runtime services support | ||
1002 | 1003 | ||
1003 | efi_no_storage_paranoia [EFI; X86] | 1004 | efi_no_storage_paranoia [EFI; X86] |
1004 | Using this parameter you can use more than 50% of | 1005 | Using this parameter you can use more than 50% of |
diff --git a/arch/x86/platform/efi/efi.c b/arch/x86/platform/efi/efi.c index c73a7df5d37f..00f4cc566adb 100644 --- a/arch/x86/platform/efi/efi.c +++ b/arch/x86/platform/efi/efi.c | |||
@@ -930,11 +930,11 @@ u64 efi_mem_attributes(unsigned long phys_addr) | |||
930 | return 0; | 930 | return 0; |
931 | } | 931 | } |
932 | 932 | ||
933 | static int __init parse_efi_cmdline(char *str) | 933 | static int __init arch_parse_efi_cmdline(char *str) |
934 | { | 934 | { |
935 | if (parse_option_str(str, "old_map")) | 935 | if (parse_option_str(str, "old_map")) |
936 | set_bit(EFI_OLD_MEMMAP, &efi.flags); | 936 | set_bit(EFI_OLD_MEMMAP, &efi.flags); |
937 | 937 | ||
938 | return 0; | 938 | return 0; |
939 | } | 939 | } |
940 | early_param("efi", parse_efi_cmdline); | 940 | early_param("efi", arch_parse_efi_cmdline); |
diff --git a/drivers/firmware/efi/efi.c b/drivers/firmware/efi/efi.c index c8f01a73edb5..cebfa36a27ae 100644 --- a/drivers/firmware/efi/efi.c +++ b/drivers/firmware/efi/efi.c | |||
@@ -54,6 +54,15 @@ bool efi_runtime_disabled(void) | |||
54 | return disable_runtime; | 54 | return disable_runtime; |
55 | } | 55 | } |
56 | 56 | ||
57 | static int __init parse_efi_cmdline(char *str) | ||
58 | { | ||
59 | if (parse_option_str(str, "noruntime")) | ||
60 | disable_runtime = true; | ||
61 | |||
62 | return 0; | ||
63 | } | ||
64 | early_param("efi", parse_efi_cmdline); | ||
65 | |||
57 | static struct kobject *efi_kobj; | 66 | static struct kobject *efi_kobj; |
58 | static struct kobject *efivars_kobj; | 67 | static struct kobject *efivars_kobj; |
59 | 68 | ||