]> git.ipfire.org Git - thirdparty/ipxe.git/commit
[efi] Prescroll the display after a failed wrapped ExitBootServices() call
authorMichael Brown <mcb30@ipxe.org>
Tue, 18 Mar 2025 13:50:11 +0000 (13:50 +0000)
committerMichael Brown <mcb30@ipxe.org>
Tue, 18 Mar 2025 14:13:56 +0000 (14:13 +0000)
commit6e4196baff241434d07b74e244fff3d469218f77
treeb070fd5c9a00272e37ec6b68bffcd199e1444735
parent8ea8411f0d4b5260f91054b904115224714edf25
[efi] Prescroll the display after a failed wrapped ExitBootServices() call

On some systems (observed with an HP Elitebook 840 G10), writing
console output that happens to cause the display to scroll will modify
the system memory map.  This causes builds with DEBUG=efi_wrap to
typically fail to boot, since the debug output from the wrapped
ExitBootServices() call itself is sufficient to change the memory map
and therefore cause ExitBootServices() to fail due to an invalid
memory map key.

Work around these UEFI firmware bugs by prescrolling the display after
a failed ExitBootServices() attempt, in order to minimise the chance
that further scrolling will happen during the subsequent attempt.

Signed-off-by: Michael Brown <mcb30@ipxe.org>
src/interface/efi/efi_wrap.c