summaryrefslogtreecommitdiff
path: root/UPDATING
diff options
context:
space:
mode:
authorEd Maste <emaste@FreeBSD.org>2015-12-16 16:19:18 +0000
committerEd Maste <emaste@FreeBSD.org>2015-12-16 16:19:18 +0000
commit54f97d1eef43ecc6e5432c640e4ff384bc23a630 (patch)
treed3412c4a42a51d15be7200562dfac09597da2d94 /UPDATING
parent7f84b7b2988595493000e0060120a131803b0063 (diff)
downloadsrc-test-54f97d1eef43ecc6e5432c640e4ff384bc23a630.tar.gz
src-test-54f97d1eef43ecc6e5432c640e4ff384bc23a630.zip
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
Notes
Notes: svn path=/head/; revision=292338
Diffstat (limited to 'UPDATING')
0 files changed, 0 insertions, 0 deletions