boot: Support booting in EFI mixed mode
authorJan Janssen <medhefgo@web.de>
Mon, 7 Feb 2022 11:33:45 +0000 (12:33 +0100)
committerLuca Boccassi <bluca@debian.org>
Sat, 21 May 2022 14:11:13 +0000 (15:11 +0100)
commitc43a282c29e192c2e7edf762f7ae5c8e9f3a76aa
tree28a083c048ad31a27556cd9e4064448cb675b3b8
parent46ce6cf7747bdd228c4e16ec3a7d19661509def8
boot: Support booting in EFI mixed mode

The kernel provides a ".compat" PE section that contains a list of
compat entry points with their respective arches. This entry point
does all the heavy lifting to support running 64bit kernels when
the UEFI firmware is 32bit.

Note that the EFI handover protocol code in linux_x86.c does not
need any adjustments as it already correctly calls the 32bit handover
code.

Fixes: #17056
src/boot/efi/boot.c
src/boot/efi/pe.c