diff options
Diffstat (limited to 'arch/x86/kernel/efi.c')
-rw-r--r-- | arch/x86/kernel/efi.c | 16 |
1 files changed, 14 insertions, 2 deletions
diff --git a/arch/x86/kernel/efi.c b/arch/x86/kernel/efi.c index a03ca36a302c..94382faeadb6 100644 --- a/arch/x86/kernel/efi.c +++ b/arch/x86/kernel/efi.c | |||
@@ -64,6 +64,17 @@ static int __init setup_noefi(char *arg) | |||
64 | } | 64 | } |
65 | early_param("noefi", setup_noefi); | 65 | early_param("noefi", setup_noefi); |
66 | 66 | ||
67 | int add_efi_memmap; | ||
68 | EXPORT_SYMBOL(add_efi_memmap); | ||
69 | |||
70 | static int __init setup_add_efi_memmap(char *arg) | ||
71 | { | ||
72 | add_efi_memmap = 1; | ||
73 | return 0; | ||
74 | } | ||
75 | early_param("add_efi_memmap", setup_add_efi_memmap); | ||
76 | |||
77 | |||
67 | static efi_status_t virt_efi_get_time(efi_time_t *tm, efi_time_cap_t *tc) | 78 | static efi_status_t virt_efi_get_time(efi_time_t *tm, efi_time_cap_t *tc) |
68 | { | 79 | { |
69 | return efi_call_virt2(get_time, tm, tc); | 80 | return efi_call_virt2(get_time, tm, tc); |
@@ -219,7 +230,7 @@ unsigned long efi_get_time(void) | |||
219 | * (zeropage) memory map. | 230 | * (zeropage) memory map. |
220 | */ | 231 | */ |
221 | 232 | ||
222 | static void __init add_efi_memmap(void) | 233 | static void __init do_add_efi_memmap(void) |
223 | { | 234 | { |
224 | void *p; | 235 | void *p; |
225 | 236 | ||
@@ -406,7 +417,8 @@ void __init efi_init(void) | |||
406 | if (memmap.desc_size != sizeof(efi_memory_desc_t)) | 417 | if (memmap.desc_size != sizeof(efi_memory_desc_t)) |
407 | printk(KERN_WARNING "Kernel-defined memdesc" | 418 | printk(KERN_WARNING "Kernel-defined memdesc" |
408 | "doesn't match the one from EFI!\n"); | 419 | "doesn't match the one from EFI!\n"); |
409 | add_efi_memmap(); | 420 | if (add_efi_memmap) |
421 | do_add_efi_memmap(); | ||
410 | 422 | ||
411 | /* Setup for EFI runtime service */ | 423 | /* Setup for EFI runtime service */ |
412 | reboot_type = BOOT_EFI; | 424 | reboot_type = BOOT_EFI; |