]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/commit
MFC r344560, r344718
authorKyle Evans <kevans@FreeBSD.org>
Thu, 24 Oct 2019 03:48:28 +0000 (03:48 +0000)
committerKyle Evans <kevans@FreeBSD.org>
Thu, 24 Oct 2019 03:48:28 +0000 (03:48 +0000)
commit25ac67a54e39c30bec2816d79703123651a66a27
tree005160fac67612d2b317f3c3c984bf9d6c438e29
parent0c21987201a3839231ac7fc96692c04d426e9d3d
MFC r344560, r344718

r344560:
stand: Remove unused i386 EFI MD bits

r328169 removed the copy of bootinfo that would've made this somewhat
functional. However, this is irrelevant- earlier work in r292338 was done to
exit boot services in the MI bi_load() rather than having N copies of the
GetMemoryMap/ExitBootServices dance.

i386 never quite caught up to that; ldr_enter was still being called but
the prereq for that, ldr_bootinfo, was no longer. As a consequence, this
ExitBootServices() was being called with a mapkey=0, clearly bogus, and
reportedly breaking the boot in some instances.

r344718:
EFI: don't call printf after ExitBootServices, since it uses Boot Services

ExitBootServices terminates all boot services including console access.
Attempting to call printf afterwards can result in a crash, depending on the
implementation.

Move any printf statements to before we call bi_load, and remove any that
depend on calling bi_load first.
stand/efi/loader/arch/arm/exec.c
stand/efi/loader/arch/i386/Makefile.inc
stand/efi/loader/arch/i386/efimd.c [deleted file]
stand/efi/loader/arch/i386/elf32_freebsd.c