|
@@ -608,6 +608,16 @@ static int __init setup_elfcorehdr(char *arg)
|
|
early_param("elfcorehdr", setup_elfcorehdr);
|
|
early_param("elfcorehdr", setup_elfcorehdr);
|
|
#endif
|
|
#endif
|
|
|
|
|
|
|
|
+static __init void reserve_ibft_region(void)
|
|
|
|
+{
|
|
|
|
+ unsigned long addr, size = 0;
|
|
|
|
+
|
|
|
|
+ addr = find_ibft_region(&size);
|
|
|
|
+
|
|
|
|
+ if (size)
|
|
|
|
+ reserve_early_overlap_ok(addr, addr + size, "ibft");
|
|
|
|
+}
|
|
|
|
+
|
|
#ifdef CONFIG_X86_RESERVE_LOW_64K
|
|
#ifdef CONFIG_X86_RESERVE_LOW_64K
|
|
static int __init dmi_low_memory_corruption(const struct dmi_system_id *d)
|
|
static int __init dmi_low_memory_corruption(const struct dmi_system_id *d)
|
|
{
|
|
{
|
|
@@ -910,6 +920,8 @@ void __init setup_arch(char **cmdline_p)
|
|
*/
|
|
*/
|
|
find_smp_config();
|
|
find_smp_config();
|
|
|
|
|
|
|
|
+ reserve_ibft_region();
|
|
|
|
+
|
|
reserve_trampoline_memory();
|
|
reserve_trampoline_memory();
|
|
|
|
|
|
#ifdef CONFIG_ACPI_SLEEP
|
|
#ifdef CONFIG_ACPI_SLEEP
|
|
@@ -977,8 +989,6 @@ void __init setup_arch(char **cmdline_p)
|
|
|
|
|
|
dma32_reserve_bootmem();
|
|
dma32_reserve_bootmem();
|
|
|
|
|
|
- reserve_ibft_region();
|
|
|
|
-
|
|
|
|
#ifdef CONFIG_KVM_CLOCK
|
|
#ifdef CONFIG_KVM_CLOCK
|
|
kvmclock_init();
|
|
kvmclock_init();
|
|
#endif
|
|
#endif
|