[PATCH 0/8] Remove 64-bit GDT setup in efi_main + doc fixes
flat view
STALE2442d
From: Arvind Sankar <hidden>
Date: 2020-01-30 20:04:44
Also in:
linux-efi
For the 64-bit kernel, we do not need to setup a GDT in efi_main, as the
next step in the boot, startup_64, will set one up.
This series factors out the GDT setup into a separate function and
restricts it to the 32-bit kernel. The memory allocation for the GDT is
also changed from allocating a full page via efi_alloc_low to the
required space (32 bytes) from alloc_pool boot service.
The final two patches are doc fixes to clarify that the 32-bit EFI
handover entry point also requires segments/GDT to be setup, and that
for 64-bit mode we don't have any special segment requirements (the
64-bit doc currently is just a copy of the 32-bit doc which isn't
right).
Arvind Sankar (8):
efi/x86: Use C wrapper instead of inline assembly
efi/x86: Allocate the GDT pointer on the stack
efi/x86: Factor GDT setup code into a function
efi/x86: Only setup the GDT for 32-bit kernel
efi/x86: Allocate only the required 32 bytes for the GDT
efi/x86: Change __KERNEL_{CS,DS} to __BOOT_{CS,DS}
Documentation/x86/boot: Clarify segment requirements for EFI handover
Documentation/x86/boot: Correct segment requirements for 64-bit boot
Documentation/x86/boot.rst | 15 +-
arch/x86/boot/compressed/eboot.c | 174 ++++++++++--------------
arch/x86/boot/compressed/efi_thunk_64.S | 4 +-
3 files changed, 85 insertions(+), 108 deletions(-)
--
2.24.1