Skip to contentSkip to conversation

ARM: simplify handover from UEFI to decompressor

GIT PULL Ard Biesheuvel 1 participant 1 message May 17, 2020 EFI

lore
Share & tools
lore

Ard Biesheuvel

author maintainer
#0 lore raw

The following changes since commit 91e4f3d37e1a932396801fc2831286353821ff23:

ARM: 8972/1: boot: Obtain start of physical memory from DTB (2020-04-29 13:30:29 +0100)

are available in the Git repository at:

git://git.kernel.org/pub/scm/linux/kernel/git/ardb/linux.git tags/pr-efi-arm-no-relocate

for you to fetch changes up to ea98a6da3baf477541f8cbb036d1827e6b84ac91:

ARM: decompressor: run decompressor in place if loaded via UEFI (2020-05-06 09:58:24 +0200)

----------------------------------------------------------------
Simply EFI handover to decompressor

The EFI stub in the ARM kernel runs in the context of the firmware, which means it usually runs with the caches and MMU on. Currently, we relocate the zImage so it appears in the first 128 MiB, disable the MMU and caches and invoke the decompressor via its ordinary entry point. However, since we can pass the base of DRAM directly, there is no need to relocate the zImage, which also means there is no need to disable and re-enable the caches and create new page tables etc.

----------------------------------------------------------------
Ard Biesheuvel (5):
ARM: decompressor: move headroom variable out of LC0
ARM: decompressor: split off _edata and stack base into separate object
ARM: decompressor: defer loading of the contents of the LC0 structure
ARM: decompressor: move GOT into .data for EFI enabled builds
ARM: decompressor: run decompressor in place if loaded via UEFI

 arch/arm/boot/compressed/head.S           | 91 +++++++++++++------------------
 arch/arm/boot/compressed/vmlinux.lds.S    |  5 ++
 drivers/firmware/efi/libstub/arm32-stub.c | 45 ++-------------
 3 files changed, 48 insertions(+), 93 deletions(-)