X-Git-Url: https://git.librecmc.org/?a=blobdiff_plain;f=include%2Fimage.h;h=9be806e12d7533033c7bd1f7b3358f8c11b1ed37;hb=f6b6c45840f9b4671d2d97243a12a1f3ffb64765;hp=46138fa7880b8f2da8c46319ee59c41a085ef290;hpb=391fd93ab23e15ab3dd58a54f5b609024009c378;p=oweals%2Fu-boot.git diff --git a/include/image.h b/include/image.h index 46138fa788..9be806e12d 100644 --- a/include/image.h +++ b/include/image.h @@ -187,6 +187,13 @@ typedef struct image_header { uint8_t ih_name[IH_NMLEN]; /* Image Name */ } image_header_t; +typedef struct image_info { + ulong start, end; /* start/end of blob */ + ulong image_start, image_len; /* start of image within blob, len of image */ + ulong load; /* load addr for the image */ + uint8_t comp, type, os; /* compression, type of image, os type */ +} image_info_t; + /* * Legacy and FIT format headers used by do_bootm() and do_bootm_() * routines. @@ -219,9 +226,21 @@ typedef struct bootm_headers { #endif #endif + image_info_t os; /* os image info */ + ulong ep; /* entry point of OS */ + + ulong rd_start, rd_end;/* ramdisk start/end */ + +#ifdef CONFIG_OF_LIBFDT + char *ft_addr; /* flat dev tree address */ +#endif + ulong ft_len; /* length of flat device tree */ + int verify; /* getenv("verify")[0] != 'n' */ - int autostart; /* getenv("autostart")[0] != 'n' */ - struct lmb *lmb; /* for memory mgmt */ + int valid; /* set to 1 if we've set values in the header */ +#ifndef USE_HOSTCC + struct lmb lmb; /* for memory mgmt */ +#endif } bootm_headers_t; /* @@ -270,6 +289,14 @@ ulong genimg_get_image (ulong img_addr); int boot_get_ramdisk (int argc, char *argv[], bootm_headers_t *images, uint8_t arch, ulong *rd_start, ulong *rd_end); + +#ifdef CONFIG_OF_LIBFDT +int boot_get_fdt (int flag, int argc, char *argv[], bootm_headers_t *images, + char **of_flat_tree, ulong *of_size); +int boot_relocate_fdt (struct lmb *lmb, ulong bootmap_base, + char **of_flat_tree, ulong *of_size); +#endif + #if defined(CONFIG_PPC) || defined(CONFIG_M68K) int boot_ramdisk_high (struct lmb *lmb, ulong rd_data, ulong rd_len, ulong *initrd_start, ulong *initrd_end);