The current FDT code we use in the bootloader is buggy and will write into
authorkettenis <kettenis@openbsd.org>
Mon, 14 Mar 2022 19:09:32 +0000 (19:09 +0000)
committerkettenis <kettenis@openbsd.org>
Mon, 14 Mar 2022 19:09:32 +0000 (19:09 +0000)
commit37525d309a27cefb579e4e9130d7568b439795dc
tree6ceffd3242629000074409e87b1bad61ad13c85f
parent771d03653b5acd59125b2087f804494ca025c433
The current FDT code we use in the bootloader is buggy and will write into
memory beyond the actual FDT data structure when adding information to the
device tree.  This is especially problematic on ACPI systems where we add
lots of information to the device tree based on ACPI tables.  Fix the FDT
code to never write beyond the end of the data structure and panic if we
run out of free space.  Raise the amount of free space frm 4K to 16K for
the proto-FDT we use on ACPI systems.  Bump the version number of the
arm64 bootloader.

ok visa@, patrick@
sys/arch/arm64/stand/efiboot/Makefile
sys/arch/arm64/stand/efiboot/conf.c
sys/arch/arm64/stand/efiboot/dt_blob.S
sys/arch/arm64/stand/efiboot/fdt.c
sys/arch/armv7/stand/efiboot/fdt.c
sys/arch/riscv64/stand/efiboot/fdt.c