-
Notifications
You must be signed in to change notification settings - Fork 36
EBBR Notes 2024.10.23
Vincent Stehlé edited this page Oct 23, 2024
·
4 revisions
- Heinrich Schuchardt (Canonical)
- Jon Humphreys (TI)
- Rob Herring (Arm)
- Etienne Carrière (STMicroelectronics)
- Vincent Stehlé (Arm)
- Pull request #134 lead to discussions; components such as U-Boot, OP-TEE, TF-A and Qemu are concerned. More validation is needed before adding the recommendation.
- Pull request #132 approved, to be merged.
- Pull request #134 Recommend psci node under firmware
- Why not "just" update the schemas and tools to complain when
/psci
is not under/firmware
? The drivers could still deal happily with legacy systems with/psci
under/
- Why do we care about where it is exactly?
- Recommendation: under
/firmware
for new designs but do not fix old ones. - Deal with tooling after decision (SystemReady or else)
- OP-TEE can generate the node; are Kernel and U-Boot able to deal with the new path?
- TI platforms have
/psci
under/firmware
; this validates that Linux can deal with that at least- And U-Boot, too
- Reset works on TI platforms
- How about OP-TEE?
- If you put it under
/foo
with no property in it (ex: no compatible), it would not work -
/firmware
has no compatible - (From kernel point of view) would work anywhere
- OP-TEE generates the node, does not use it
- U-Boot will generate at the root
- If exists: not modified, otherwise generated, for U-Boot & OP-TEE
- Check only for
/psci
under root node/
today - The recommendation would imply a code change in U-Boot and OP-TEE
- TF-A has platforms where the dts/dtb is data; can it generate the
/psci
node? - Qemu generates the Devicetree, too
- Would probably reject the change, based on past experiences
- U-Boot accepts an existing
/psci
node anywhere
- And U-Boot, too
- -> Let's validate a bit more before adding the recommendation
- (and let's fix SystemReady tools)
- Code references
- For u-boot: u-boot/arch/arm/lib/psci-dt.c
- For OP-TEE:
dt_add_psci_node()
in core/arch/arm/kernel/boot.c - Qemu: hw/arm/boot.c:472:
qemu_fdt_add_subnode(fdt, "/psci");
- U-Boot looks under root:
rc = fdt_path_offset(fdt, "/psci");
- U-Boot is not looking for compatible string.
- Why not "just" update the schemas and tools to complain when
- Pull request #132 Boot Manager requirements
- Looks good, could be merged
- More information than previously
- Canonical investigating HTTP boot with GRUB, too
- GRUB has a (slow) TCP stack
- U-Boot knows to do HTTP boot with a Boot Option (short form URI)
- -> merge
- https://github.com/ARM-software/ebbr/pull/132
- https://github.com/ARM-software/ebbr/pull/134
- https://source.denx.de/u-boot/u-boot/-/blob/master/arch/arm/lib/psci-dt.c?ref_type=heads
- https://github.com/OP-TEE/optee_os/blob/master/core/arch/arm/kernel/boot.c
- https://gitlab.com/qemu-project/qemu/-/blob/master/hw/arm/boot.c?ref_type=heads#L472
- https://gitlab.arm.com/systemready/systemready-scripts