|
@@ -608,8 +608,6 @@ static __init void reserve_ibft_region(void)
|
|
|
memblock_reserve(addr, size);
|
|
|
}
|
|
|
|
|
|
-static unsigned reserve_low = CONFIG_X86_RESERVE_LOW << 10;
|
|
|
-
|
|
|
static bool __init snb_gfx_workaround_needed(void)
|
|
|
{
|
|
|
#ifdef CONFIG_PCI
|
|
@@ -698,8 +696,7 @@ static void __init trim_bios_range(void)
|
|
|
* since some BIOSes are known to corrupt low memory. See the
|
|
|
* Kconfig help text for X86_RESERVE_LOW.
|
|
|
*/
|
|
|
- e820_update_range(0, ALIGN(reserve_low, PAGE_SIZE),
|
|
|
- E820_RAM, E820_RESERVED);
|
|
|
+ e820_update_range(0, PAGE_SIZE, E820_RAM, E820_RESERVED);
|
|
|
|
|
|
/*
|
|
|
* special case: Some BIOSen report the PC BIOS
|
|
@@ -711,6 +708,8 @@ static void __init trim_bios_range(void)
|
|
|
sanitize_e820_map(e820.map, ARRAY_SIZE(e820.map), &e820.nr_map);
|
|
|
}
|
|
|
|
|
|
+static unsigned reserve_low = CONFIG_X86_RESERVE_LOW << 10;
|
|
|
+
|
|
|
static int __init parse_reservelow(char *p)
|
|
|
{
|
|
|
unsigned long long size;
|
|
@@ -733,6 +732,11 @@ static int __init parse_reservelow(char *p)
|
|
|
|
|
|
early_param("reservelow", parse_reservelow);
|
|
|
|
|
|
+static void __init trim_low_memory_range(void)
|
|
|
+{
|
|
|
+ memblock_reserve(0, ALIGN(reserve_low, PAGE_SIZE));
|
|
|
+}
|
|
|
+
|
|
|
/*
|
|
|
* Determine if we were loaded by an EFI loader. If so, then we have also been
|
|
|
* passed the efi memmap, systab, etc., so we should use these data structures
|
|
@@ -987,6 +991,7 @@ void __init setup_arch(char **cmdline_p)
|
|
|
setup_real_mode();
|
|
|
|
|
|
trim_platform_memory_ranges();
|
|
|
+ trim_low_memory_range();
|
|
|
|
|
|
init_gbpages();
|
|
|
|