mirror of
https://github.com/freebsd/freebsd-src
synced 2024-07-21 18:27:22 +00:00
![]() We have an odd situation with aarch64 memory enumeration. The fdt that we can get has a PA of the UEFI memory map, as modified by the current running Linux kernel so it can retain those pages it needs for EFI and other services. We have to pass in this EFI tablem but don't have access to it in the boot loader. We do in the trampoline code, so a forthcoming commit will copy it there for the kernel to use. All for want of /dev/mem in the target environment sometimes. However, we also have to find a place to load the kernel, so we have to fallback to /proc/iomem when we can't read the UEFI memory map directly from /dev/mem. It will give us good enough results to do this task. This table isn't quite suitable to be converted to the EFI table, so we use both methods. We'll fall back to this method also if there's no EFI table advertised in the fdt. There's no /sys file on aarch64 that has this information, hence using the old-style /proc/iomem. We're unlikely to work if there's no EFI, though. Note: The underlying Linux mechanism is different than the amd64 method which seems like it should be MI, but unimplemented on aarch64. Sponsored by: Netflix Discussed with: kevans Differential Revision: https://reviews.freebsd.org/D38249 |
||
---|---|---|
.. | ||
arm64 | ||
common | ||
defaults | ||
efi | ||
fdt | ||
ficl | ||
ficl32 | ||
fonts | ||
forth | ||
i386 | ||
images | ||
kboot | ||
kshim | ||
liblua | ||
liblua32 | ||
libofw | ||
libsa | ||
libsa32 | ||
lua | ||
man | ||
powerpc | ||
uboot | ||
usb | ||
userboot | ||
defs.mk | ||
fdt.mk | ||
ficl.mk | ||
loader.mk | ||
lua.mk | ||
Makefile | ||
Makefile.amd64 | ||
Makefile.inc | ||
veriexec.mk |