Commit 1a6a9044 authored by Mike Rapoport's avatar Mike Rapoport Committed by Borislav Petkov
Browse files

x86/setup: Remove CONFIG_X86_RESERVE_LOW and reservelow= options



The CONFIG_X86_RESERVE_LOW build time and reservelow= command line option
allowed to control the amount of memory under 1M that would be reserved at
boot to avoid using memory that can be potentially clobbered by BIOS.

Since the entire range under 1M is always reserved there is no need for
these options anymore and they can be removed.

Signed-off-by: default avatarMike Rapoport <rppt@linux.ibm.com>
Signed-off-by: default avatarBorislav Petkov <bp@suse.de>
Link: https://lkml.kernel.org/r/20210601075354.5149-3-rppt@kernel.org
parent 0a5f38c8
Loading
Loading
Loading
Loading
+0 −5
Original line number Diff line number Diff line
@@ -4775,11 +4775,6 @@
			Reserves a hole at the top of the kernel virtual
			address space.

	reservelow=	[X86]
			Format: nn[K]
			Set the amount of memory to reserve for BIOS at
			the bottom of the address space.

	reset_devices	[KNL] Force drivers to reset the underlying device
			during initialization.

+0 −29
Original line number Diff line number Diff line
@@ -1693,35 +1693,6 @@ config X86_BOOTPARAM_MEMORY_CORRUPTION_CHECK
	  Set whether the default state of memory_corruption_check is
	  on or off.

config X86_RESERVE_LOW
	int "Amount of low memory, in kilobytes, to reserve for the BIOS"
	default 64
	range 4 640
	help
	  Specify the amount of low memory to reserve for the BIOS.

	  The first page contains BIOS data structures that the kernel
	  must not use, so that page must always be reserved.

	  By default we reserve the first 64K of physical RAM, as a
	  number of BIOSes are known to corrupt that memory range
	  during events such as suspend/resume or monitor cable
	  insertion, so it must not be used by the kernel.

	  You can set this to 4 if you are absolutely sure that you
	  trust the BIOS to get all its memory reservations and usages
	  right.  If you know your BIOS have problems beyond the
	  default 64K area, you can set this to 640 to avoid using the
	  entire low memory range.

	  If you have doubts about the BIOS (e.g. suspend/resume does
	  not work or there's kernel crashes after certain hardware
	  hotplug events) then you might want to enable
	  X86_CHECK_BIOS_CORRUPTION=y to allow the kernel to check
	  typical corruption patterns.

	  Leave this to the default value of 64 if you are unsure.

config MATH_EMULATION
	bool
	depends on MODIFY_LDT_SYSCALL
+0 −24
Original line number Diff line number Diff line
@@ -695,30 +695,6 @@ static void __init e820_add_kernel_range(void)
	e820__range_add(start, size, E820_TYPE_RAM);
}

static unsigned reserve_low = CONFIG_X86_RESERVE_LOW << 10;

static int __init parse_reservelow(char *p)
{
	unsigned long long size;

	if (!p)
		return -EINVAL;

	size = memparse(p, &p);

	if (size < 4096)
		size = 4096;

	if (size > 640*1024)
		size = 640*1024;

	reserve_low = size;

	return 0;
}

early_param("reservelow", parse_reservelow);

static void __init early_reserve_memory(void)
{
	/*