[RFC PATCH 0/5] Allow for removal of DT nodes and properties
Heinrich Schuchardt
xypron.glpk at gmx.de
Sat Aug 26 12:07:46 CEST 2023
On 8/26/23 11:06, Sughosh Ganu wrote:
>
> Provide a way for removing certain devicetree nodes and/or properties
> from the devicetree. This is needed to purge certain nodes and
> properties which may be relevant only in U-Boot. Such nodes and
> properties are then removed from the devicetree before it is passed to
> the kernel. This ensures that the devicetree passed to the OS does not
> contain any non-compliant nodes and properties.
>
> The removal of the nodes and properties is being done through an
> EVT_FT_FIXUP handler. I am not sure if the removal code needs to be
> behind any Kconfig symbol.
>
> I have only build tested this on sandbox, and tested on qemu arm64
> virt platform. This being a RFC, I have not put this through a CI run.
We should have a test for the new functionality. E.g. add some
superfluous properties and nodes to arch/sandbox/dts/test.dts, delete
them via the DT_PURGE macro, and check that the device-tree passed to an
EFI binary does not contain these properties and nodes.
Best regards
Heinrich
>
> Sughosh Ganu (5):
> dt: Provide a way to remove non-compliant nodes and properties
> fwu: Add the fwu-mdata node for removal from devicetree
> capsule: Add the capsule-key property for removal from devicetree
> bootefi: Call the EVT_FT_FIXUP event handler
> doc: Add a document for non-compliant DT node/property removal
>
> cmd/bootefi.c | 18 +++++
> .../devicetree/dt_non_compliant_purge.rst | 64 ++++++++++++++++
> drivers/fwu-mdata/fwu-mdata-uclass.c | 5 ++
> include/dt-structs.h | 11 +++
> lib/Makefile | 1 +
> lib/dt_purge.c | 73 +++++++++++++++++++
> lib/efi_loader/efi_capsule.c | 7 ++
> 7 files changed, 179 insertions(+)
> create mode 100644 doc/develop/devicetree/dt_non_compliant_purge.rst
> create mode 100644 lib/dt_purge.c
>
More information about the U-Boot
mailing list