opnsense-src/sys/boot/efi
Dexuan Cui f4531c91ab loader.efi: fix recent UEFI-boot regression on physical machines
This patch fixes my recent patch
"loader.efi: reduce the size of the staging area if necessary", which
causes EFI-boot failure on physical machines since Mar 2:
on the host there is a 1MB LoaderData memory range, which splits
the big Conventional Memory range into a small one (15MB) and a
big one: the small one is too small to hold the staging area.

We can actually use the LoaderData range safely, because when
amd64_tramp -> efi_copy_finish() starts to run, we're almost at
the very end of the efi loader code and we're going to "return"
to the kernel entry, so we're pretty sure we won't access any loader
data any more.

For people who are interested in the details: please see
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=211746#c22

PS, some people also reported the regression happened to FreeBSD VM
running on Bhyve in EFI mode. This patch should resolve it too,
though I don't have such a setup to test.

Reviewed by:	sephe
Approved by:	sephe (mentor)
MFC after:	2 weeks
Sponsored by:	Microsoft
Differential Revision:	https://reviews.freebsd.org/D9904
2017-03-06 09:34:31 +00:00
..
boot1 Use proper prototypes in struct boot_module_t 2017-01-11 20:00:24 +00:00
fdt Add more .NOMETA missed in r291320 2016-03-11 23:45:51 +00:00
include loader: Replace EFI part devices. 2017-02-06 09:18:47 +00:00
libefi sys: Replace zero with NULL for pointers. 2017-02-22 02:35:59 +00:00
loader loader.efi: fix recent UEFI-boot regression on physical machines 2017-03-06 09:34:31 +00:00
Makefile Fix typo in the COMPILER_VERSION check 2016-10-22 20:00:39 +00:00
Makefile.inc [efi] Build EFI bits with -fPIC on ARM 2017-01-10 20:15:24 +00:00