[PATCH 0/3] x86/setup: always resrve the first 1M of RAM

From: Mike Rapoport
Date: Tue Jun 01 2021 - 03:54:08 EST


From: Mike Rapoport <rppt@xxxxxxxxxxxxx>

Hi,

Commit a799c2bd29d1 ("x86/setup: Consolidate early memory reservations")
changed the way early memory reservations are made and caused a regression
for users that set CONFIG_X86_RESERVE_LOW to 640K in their kernel
configuration [1] because there was no room for the real mode trampoline.

My initial suggestion was to reduce the limit of CONFIG_X86_RESERVE_LOW
from 640K to 512K [2], but in the end it seems simpler to always reserve
the first 1M of RAM after the real mode trampoline is allocated.

The first patch in the series contains the rework of early memory
reservations so that first 64K will be reserved very early before memblock
allocations are possible and the remaining memory under 1M would be
reserved after the real mode trampoline is allocated. This patch also
update freeing of EFI boot services so that memory under 1M will remain
reserved which is also required for crash kernel [3].

The second and the third patches are cleanups that remove pieces that are
not longer required after the first patch is applied.

Randy, Hugh, I'd appreciate if you give this a whirl on your old Sandy
Bridge laptops as it changes again the way trim_snb_memory() works.

[1] https://bugzilla.kernel.org/show_bug.cgi?id=213177
[2] https://lore.kernel.org/lkml/20210526081100.12239-1-rppt@xxxxxxxxxx
[3] https://lore.kernel.org/lkml/20210531090023.16471-1-lijiang@xxxxxxxxxx/#r

Mike Rapoport (3):
x86/setup: always reserve the first 1M of RAM
x86/setup: remove CONFIG_X86_RESERVE_LOW and reservelow options
x86/crash: remove crash_reserve_low_1M()

.../admin-guide/kernel-parameters.txt | 5 --
arch/x86/Kconfig | 29 ---------
arch/x86/include/asm/crash.h | 6 --
arch/x86/kernel/crash.c | 13 ----
arch/x86/kernel/setup.c | 59 +++++++------------
arch/x86/platform/efi/quirks.c | 12 ++++
arch/x86/realmode/init.c | 14 +++--
7 files changed, 41 insertions(+), 97 deletions(-)


base-commit: c4681547bcce777daf576925a966ffa824edd09d
--
2.28.0