opnsense-src/sys/boot/efi/loader/arch/arm
Ed Maste 54f97d1eef UEFI: combine GetMemoryMap and ExitBootServices and retry on error
The EFI memory map may change before or during the first
ExitBootServices call. In that case ExitBootServices returns an error,
and GetMemoryMap and ExitBootServices must be retried.

Glue together calls to GetMemoryMap(), ExitBootServices() and storage of
(now up-to-date) MODINFOMD_EFI_MAP metadata within a single function.

That new function - bi_add_efi_data_and_exit() - uses space previously
allocated in bi_load_efi_data() to store the memory map (it will fail if
that space is too short). It handles re-calling GetMemoryMap() once to
update the map key if necessary. Finally, if ExitBootServices() is
successful, it stores the memory map and its header as MODINFOMD_EFI_MAP
metadata.

ExitBootServices() calls are now done earlier, from within arch-
independent bi_load() code.

PR:		202455
Submitted by:	Ganael LAPLANCHE
Reviewed by:	kib
MFC after:	2 weeks
Relnotes:	Yes
Differential Revision:	https://reviews.freebsd.org/D4296
2015-12-16 16:19:18 +00:00
..
exec.c UEFI: combine GetMemoryMap and ExitBootServices and retry on error 2015-12-16 16:19:18 +00:00
ldscript.arm Remove OUTPUT_FORMAT from theARM EFI linker script, it breaks building 2015-05-14 12:43:39 +00:00
Makefile.inc Add fdt support to the arm loader.efi 2015-04-11 11:00:53 +00:00
start.S The self-relocation code is not efi-specific, move it to boot/common. 2015-05-10 13:24:26 +00:00