diff options
Diffstat (limited to 'arch/x86/kernel/setup.c')
-rw-r--r-- | arch/x86/kernel/setup.c | 14 |
1 files changed, 12 insertions, 2 deletions
diff --git a/arch/x86/kernel/setup.c b/arch/x86/kernel/setup.c index 9570541caf7c..c4851eff57b3 100644 --- a/arch/x86/kernel/setup.c +++ b/arch/x86/kernel/setup.c | |||
@@ -607,6 +607,16 @@ static int __init setup_elfcorehdr(char *arg) | |||
607 | early_param("elfcorehdr", setup_elfcorehdr); | 607 | early_param("elfcorehdr", setup_elfcorehdr); |
608 | #endif | 608 | #endif |
609 | 609 | ||
610 | static __init void reserve_ibft_region(void) | ||
611 | { | ||
612 | unsigned long addr, size = 0; | ||
613 | |||
614 | addr = find_ibft_region(&size); | ||
615 | |||
616 | if (size) | ||
617 | reserve_early_overlap_ok(addr, addr + size, "ibft"); | ||
618 | } | ||
619 | |||
610 | #ifdef CONFIG_X86_RESERVE_LOW_64K | 620 | #ifdef CONFIG_X86_RESERVE_LOW_64K |
611 | static int __init dmi_low_memory_corruption(const struct dmi_system_id *d) | 621 | static int __init dmi_low_memory_corruption(const struct dmi_system_id *d) |
612 | { | 622 | { |
@@ -909,6 +919,8 @@ void __init setup_arch(char **cmdline_p) | |||
909 | */ | 919 | */ |
910 | find_smp_config(); | 920 | find_smp_config(); |
911 | 921 | ||
922 | reserve_ibft_region(); | ||
923 | |||
912 | reserve_trampoline_memory(); | 924 | reserve_trampoline_memory(); |
913 | 925 | ||
914 | #ifdef CONFIG_ACPI_SLEEP | 926 | #ifdef CONFIG_ACPI_SLEEP |
@@ -976,8 +988,6 @@ void __init setup_arch(char **cmdline_p) | |||
976 | 988 | ||
977 | dma32_reserve_bootmem(); | 989 | dma32_reserve_bootmem(); |
978 | 990 | ||
979 | reserve_ibft_region(); | ||
980 | |||
981 | #ifdef CONFIG_KVM_CLOCK | 991 | #ifdef CONFIG_KVM_CLOCK |
982 | kvmclock_init(); | 992 | kvmclock_init(); |
983 | #endif | 993 | #endif |