]> git.ipfire.org Git - people/ms/u-boot.git/blobdiff - include/image.h
Merge branch 'master' of git://git.denx.de/u-boot-arm
[people/ms/u-boot.git] / include / image.h
index a62669fc63cc68d12e0743cc4042cd25c853240f..d2e78fe298376aa17b442d7891ac990ab3c35cb4 100644 (file)
 #define IH_TYPE_SCRIPT         6       /* Script file                  */
 #define IH_TYPE_FILESYSTEM     7       /* Filesystem Image (any type)  */
 #define IH_TYPE_FLATDT         8       /* Binary Flat Device Tree Blob */
+#define IH_TYPE_KWBIMAGE       9       /* Kirkwood Boot Image          */
 
 /*
  * Compression Types
 #define IH_COMP_GZIP           1       /* gzip  Compression Used       */
 #define IH_COMP_BZIP2          2       /* bzip2 Compression Used       */
 #define IH_COMP_LZMA           3       /* lzma  Compression Used       */
+#define IH_COMP_LZO            4       /* lzo   Compression Used       */
 
 #define IH_MAGIC       0x27051956      /* Image Magic Number           */
 #define IH_NMLEN               32      /* Image Name Length            */
@@ -218,12 +220,10 @@ typedef struct bootm_headers {
        const char      *fit_uname_rd;  /* init ramdisk subimage node unit name */
        int             fit_noffset_rd; /* init ramdisk subimage node offset */
 
-#if defined(CONFIG_PPC)
        void            *fit_hdr_fdt;   /* FDT blob FIT image header */
        const char      *fit_uname_fdt; /* FDT blob subimage node unit name */
        int             fit_noffset_fdt;/* FDT blob subimage node offset */
 #endif
-#endif
 
 #ifndef USE_HOSTCC
        image_info_t    os;             /* os image info */
@@ -284,6 +284,30 @@ typedef struct bootm_headers {
 #define uimage_to_cpu(x)               be32_to_cpu(x)
 #define cpu_to_uimage(x)               cpu_to_be32(x)
 
+/*
+ * Translation table for entries of a specific type; used by
+ * get_table_entry_id() and get_table_entry_name().
+ */
+typedef struct table_entry {
+       int     id;
+       char    *sname;         /* short (input) name to find table entry */
+       char    *lname;         /* long (output) name to print for messages */
+} table_entry_t;
+
+/*
+ * get_table_entry_id() scans the translation table trying to find an
+ * entry that matches the given short name. If a matching entry is
+ * found, it's id is returned to the caller.
+ */
+int get_table_entry_id (table_entry_t *table,
+               const char *table_name, const char *name);
+/*
+ * get_table_entry_name() scans the translation table trying to find
+ * an entry that matches the given id. If a matching entry is found,
+ * its long name is returned to the caller.
+ */
+char *get_table_entry_name (table_entry_t *table, char *msg, int id);
+
 const char *genimg_get_os_name (uint8_t os);
 const char *genimg_get_arch_name (uint8_t arch);
 const char *genimg_get_type_name (uint8_t type);
@@ -292,6 +316,7 @@ int genimg_get_os_id (const char *name);
 int genimg_get_arch_id (const char *name);
 int genimg_get_type_id (const char *name);
 int genimg_get_comp_id (const char *name);
+void genimg_print_size (uint32_t size);
 
 #ifndef USE_HOSTCC
 /* Image format types, returned by _get_format() routine */