summaryrefslogtreecommitdiffstats
path: root/UPDATING
diff options
context:
space:
mode:
authoremaste <emaste@FreeBSD.org>2015-12-16 16:19:18 +0000
committeremaste <emaste@FreeBSD.org>2015-12-16 16:19:18 +0000
commit2fca0caf45275f1f3821f9e7095ed671a7f5b9b5 (patch)
treed3412c4a42a51d15be7200562dfac09597da2d94 /UPDATING
parent41d1b59ed4536ae4d941d1bf307b8f9afcb241e4 (diff)
downloadFreeBSD-src-2fca0caf45275f1f3821f9e7095ed671a7f5b9b5.zip
FreeBSD-src-2fca0caf45275f1f3821f9e7095ed671a7f5b9b5.tar.gz
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
Diffstat (limited to 'UPDATING')
0 files changed, 0 insertions, 0 deletions
OpenPOWER on IntegriCloud