freebsd-dev/stand
Kyle Evans 35437b1f16 efiloader: Setup FDT in autoload to fix overlays clobbering kenv
manu found in the noted PR that overlays seemed to be clobbering the kenv
and killing the boot. Further inspection revealed that one can `fdt ls` at
the loader prompt for a successful boot, but autoboot breaks it.

In the autoboot case, first setup of FDT is happening in the middle of
bi_load, which triggers loading of the DTBO from /boot.

This is bad, bad, bad. Files in the loader are loaded somewhere in the
middle of the address space one after another. bi_load starts building the
needed kernel bootinfo immediately after the highest-addr loaded file. File
loads in the middle of bi_load suddenly clobber bootinfo and everything goes
off the rails.

The solution to this is to use take advantage of arch_autoload to setup FDT
in efiloader compiled with LOADER_FDT_SUPPORT. This matches how it works in
ubldr land, and is how it should have worked when overlay support was added
to efiloader since fdt_setup_fdtp now has the potential to load files
(courtesy of fdt_platform_load_dtb).

PR:		230804
Discussed with:	imp
MFC after:	1 week
Differential Revision:	https://reviews.freebsd.org/D16858
2018-08-23 13:38:38 +00:00
..
arm Go back to one loader.conf 2018-02-26 03:16:47 +00:00
arm64 No need to make objects here. 2018-04-27 22:15:18 +00:00
common Collapse zfsloader functionality back down into loader. 2018-07-20 05:17:37 +00:00
defaults Add microcode update configuration to the default loader.conf. 2018-08-13 17:14:06 +00:00
efi efiloader: Setup FDT in autoload to fix overlays clobbering kenv 2018-08-23 13:38:38 +00:00
fdt fdt_fixups: relocate the /chosen node after applying fixups 2018-08-23 01:22:13 +00:00
ficl Prefer uintXX_t to u_intXX_t 2018-03-13 16:33:00 +00:00
ficl32
forth check-password.4th(8): Fix manual [in]accuracy 2018-06-24 19:29:29 +00:00
i386 loader: bios loader should allow to chain load a file 2018-08-22 10:04:42 +00:00
kshim A more definitions to kernel emulation shim in order to build stand/usb. 2018-02-07 18:50:36 +00:00
liblua MFV r337586: lua: Update to 5.3.5 2018-08-14 18:58:01 +00:00
liblua32 Add Lua as a scripting langauge to /boot/loader 2018-02-12 15:31:53 +00:00
libsa libsa: Add lshrdi3.c for powerpc* and mips 2018-08-19 14:48:32 +00:00
libsa32
lua lualoader: Fix loader.conf(5) EOL validation for 'exec' lines 2018-08-22 01:52:55 +00:00
man Improve formatting. 2018-08-15 11:39:13 +00:00
mips Don't use CCACHE for linking. 2018-06-27 19:29:15 +00:00
ofw Stop using ../zfs/libzfs.h but instead use libzfs.h. 2018-07-08 07:42:58 +00:00
powerpc bootprog_info is generated in vers.c. Move it's definition to 2018-06-14 06:41:33 +00:00
sparc64 Increase the size of the heap size available on sparc64 during 2018-08-22 14:33:57 +00:00
uboot ubldr: Bump heap size, 1MB -> 2MB 2018-08-01 20:08:20 +00:00
usb Move the stand/usb test loader into its own directory. 2018-02-07 19:20:59 +00:00
userboot Turn back the clock just a little: make userboot.so always be 4th 2018-08-19 18:18:19 +00:00
defs.mk stand: Flip the default interpreter to Lua 2018-08-19 14:26:33 +00:00
fdt.mk
ficl.mk Remove redundant defs.mk includes. They aren't needed. 2018-06-14 06:14:48 +00:00
loader.mk Create a loader for each interpreter for x86 BIOS and all EFI 2018-08-14 18:44:41 +00:00
lua.mk Do not include float interfaces when using libsa. 2018-02-23 04:04:25 +00:00
Makefile Move ZFS files into libsa 2018-07-08 07:42:49 +00:00
Makefile.amd64 Create LOADER_UBOOT, and LOADER_OFW. Move these options out of 2018-03-01 19:50:55 +00:00
Makefile.inc Minor flags cleanup 2017-12-02 00:06:58 +00:00
uboot.mk Unify metadata load files for arm, mips, powerpc, sparc64 2018-02-13 03:44:50 +00:00