Chapter3++

This commit is contained in:
Philippe Pittoli 2025-02-18 06:20:51 +01:00
parent cea63459a8
commit 8d1dca5eec

View file

@ -169,3 +169,17 @@ How exec works
`loadseg` uses `walkaddr` to find the phy@ of the allocated memory at which to write ELF segments
To read sections from a binary: objdump -p file
DEVICE TREE (devicetree, DT or DTB for device tree blob or even Flattened Devicetree Blob)
=> file representing the hardware so the kernel can initialize devices and provide them to the users.
Before DTs:
hardware was either hardcoded (with each system-on-chip being listed and their devices enumerated) or
detected with A LOT OF plateform-specific features such as BIOS, EFI, ACPI, etc.
DTs are an improvement over ACPI since ACPI isn't properly standardized and implementations are often buggy.
IN QEMU: this file can be created by QEMU and loaded by a bootloader somewhere in RAM, or provided to qemu.
IN REAL LIFE: this file may be generated statically then loaded by the
bootloader (or EFI?) in RAM then the address is provided to the kernel.
Real kernels will get their configuration from different sources anyway.