[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

@@ -10,6 +10,7 @@
FILE_LICENCE ( GPL2_OR_LATER_OR_UBDL );
#include <stdint.h>
#include <ipxe/image.h>
struct net_device;
@@ -93,6 +94,8 @@ struct fdt {
size_t strings_len;
};
extern struct image_tag fdt_image __image_tag;
extern int fdt_path ( const char *path, unsigned int *offset );
extern int fdt_alias ( const char *name, unsigned int *offset );
extern const char * fdt_string ( unsigned int offset, const char *name );

16
src/include/usr/fdtmgmt.h Normal file
View File

@@ -0,0 +1,16 @@
#ifndef _USR_FDTMGMT_H
#define _USR_FDTMGMT_H
/** @file
*
* Flattened Device Tree management
*
*/
FILE_LICENCE ( GPL2_OR_LATER_OR_UBDL );
#include <ipxe/image.h>
extern int imgfdt ( struct image *image );
#endif /* _USR_FDTMGMT_H */