[fdt] Add the concept of an FDT image

Define the concept of an "FDT" image, representing a Flattened Device
Tree blob that has been downloaded in order to be provided to a kernel
or other executable image.  FDT images are represented using an image
tag (as with other special-purpose images such as the UEFI shim), and
are similarly marked as hidden so that they will not be included in a
generated magic initrd or show up in a virtual filesystem directory
listing.

Signed-off-by: Michael Brown <mcb30@ipxe.org>
This commit is contained in:
Michael Brown
2025-03-27 11:30:27 +00:00
parent 98f86b4d0a
commit cfd93465ec
4 changed files with 76 additions and 0 deletions

View File

@@ -28,6 +28,7 @@ FILE_LICENCE ( GPL2_OR_LATER_OR_UBDL );
#include <assert.h>
#include <byteswap.h>
#include <ipxe/netdevice.h>
#include <ipxe/image.h>
#include <ipxe/fdt.h>
/** @file
@@ -39,6 +40,11 @@ FILE_LICENCE ( GPL2_OR_LATER_OR_UBDL );
/** The system flattened device tree (if present) */
static struct fdt fdt;
/** The downloaded flattened device tree tag */
struct image_tag fdt_image __image_tag = {
.name = "FDT",
};
/** A position within a device tree */
struct fdt_cursor {
/** Offset within structure block */