diff options
Diffstat (limited to 'com32/include/syslinux/linux.h')
-rw-r--r-- | com32/include/syslinux/linux.h | 25 |
1 files changed, 24 insertions, 1 deletions
diff --git a/com32/include/syslinux/linux.h b/com32/include/syslinux/linux.h index 754d1b64..6a5c2dbb 100644 --- a/com32/include/syslinux/linux.h +++ b/com32/include/syslinux/linux.h @@ -51,8 +51,26 @@ struct initramfs { }; #define INITRAMFS_MAX_ALIGN 4096 +struct fdt { + void *data; + size_t len; +}; +#define DEVICETREE_MAX_ALIGN 4096 + +struct setup_data { + uint64_t next; + uint32_t type; + uint32_t len; + uint8_t data[0]; +}; + +#define SETUP_NONE 0 +#define SETUP_E820_EXT 1 +#define SETUP_DTB 2 + int syslinux_boot_linux(void *kernel_buf, size_t kernel_size, - struct initramfs *initramfs, char *cmdline); + struct initramfs *initramfs, struct fdt *fdt, + char *cmdline); /* Initramfs manipulation functions */ @@ -70,4 +88,9 @@ int initramfs_load_file(struct initramfs *ihead, const char *src_filename, int initramfs_add_trailer(struct initramfs *ihead); int initramfs_load_archive(struct initramfs *ihead, const char *filename); +/* Device Tree manipulation functions */ + +struct fdt *fdt_init(void); +int fdt_load(struct fdt *fdt, const char *filename); + #endif /* _SYSLINUX_LINUX_H */ |