efi: EFI Device Tree Fixup Protocol
authorHeinrich Schuchardt <xypron.glpk@gmx.de>
Fri, 29 Jan 2021 06:36:42 +0000 (07:36 +0100)
committerMate Kukri <mate.kukri@canonical.com>
Tue, 10 Feb 2026 11:27:19 +0000 (11:27 +0000)
commit681f5ab9f33a0c7f79b1686977c5cba5a8e08fba
treed8c3fe4aabf0782e4b5cbaf763a7ac77aa76470b
parente43f2f2eecca88ccdab29382a0e49091e3b14aeb
efi: EFI Device Tree Fixup Protocol

Device-trees are used to convey information about hardware to the operating
system. Some of the properties are only known at boot time. (One example of
such a property is the number of the boot hart on RISC-V systems.) Therefore
the firmware applies fix-ups to the original device-tree. Some nodes and
properties are added or altered.

When using GRUB's device-tree command the same fix-ups have to be applied.
The EFI Device Tree Fixup Protocol allows to pass the loaded device tree
to the firmware for this purpose.

The protocol can

* add nodes and update properties
* reserve memory according to the /reserved-memory node and the memory
  reservation block
* install the device-tree as configuration table

With the patch GRUB checks if the protocol is installed and invokes it if
available. (LP: #1965796)

Link: https://lists.gnu.org/archive/html/grub-devel/2021-02/msg00013.html
Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
Signed-off-by: Julian Andres Klode <julian.klode@canonical.com>
Gbp-Pq: Name fdt-device-tree-fixup-protocol.patch
grub-core/loader/efi/fdt.c
include/grub/efi/api.h