#include <lmb.h>
#include <asm/u-boot.h>
+#include <command.h>
#endif /* USE_HOSTCC */
-#include <command.h>
-
#if defined(CONFIG_FIT)
#include <fdt.h>
#include <libfdt.h>
#include <fdt_support.h>
#define CONFIG_MD5 /* FIT images need MD5 support */
+#define CONFIG_SHA1 /* and SHA1 */
#endif
/*
#define IH_OS_ARTOS 19 /* ARTOS */
#define IH_OS_UNITY 20 /* Unity OS */
#define IH_OS_INTEGRITY 21 /* INTEGRITY */
+#define IH_OS_OSE 22 /* OSE */
/*
* CPU Architecture Codes (supported by Linux)
#define IH_ARCH_SPARC 10 /* Sparc */
#define IH_ARCH_SPARC64 11 /* Sparc 64 Bit */
#define IH_ARCH_M68K 12 /* M68K */
-#define IH_ARCH_NIOS 13 /* Nios-32 */
#define IH_ARCH_MICROBLAZE 14 /* MicroBlaze */
#define IH_ARCH_NIOS2 15 /* Nios-II */
#define IH_ARCH_BLACKFIN 16 /* Blackfin */
#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 */
+#define IH_TYPE_IMXIMAGE 10 /* Freescale IMXBoot 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 */
#define BOOTM_STATE_OS_GO (0x00000080)
int state;
-#ifndef USE_HOSTCC
+#ifdef CONFIG_LMB
struct lmb lmb; /* for memory mgmt */
#endif
} bootm_headers_t;
int genimg_has_config (bootm_headers_t *images);
ulong genimg_get_image (ulong img_addr);
-int boot_get_ramdisk (int argc, char *argv[], bootm_headers_t *images,
+int boot_get_ramdisk (int argc, char * const 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,
+int boot_get_fdt (int flag, int argc, char * const 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)
+#ifdef CONFIG_SYS_BOOT_RAMDISK_HIGH
int boot_ramdisk_high (struct lmb *lmb, ulong rd_data, ulong rd_len,
ulong *initrd_start, ulong *initrd_end);
-
+#endif /* CONFIG_SYS_BOOT_RAMDISK_HIGH */
+#ifdef CONFIG_SYS_BOOT_GET_CMDLINE
int boot_get_cmdline (struct lmb *lmb, ulong *cmd_start, ulong *cmd_end,
ulong bootmap_base);
+#endif /* CONFIG_SYS_BOOT_GET_CMDLINE */
+#ifdef CONFIG_SYS_BOOT_GET_KBD
int boot_get_kbd (struct lmb *lmb, bd_t **kbd, ulong bootmap_base);
-#endif /* CONFIG_PPC || CONFIG_M68K */
+#endif /* CONFIG_SYS_BOOT_GET_KBD */
#endif /* !USE_HOSTCC */
/*******************************************************************/
{ \
return uimage_to_cpu (hdr->ih_##f); \
}
-image_get_hdr_l (magic); /* image_get_magic */
-image_get_hdr_l (hcrc); /* image_get_hcrc */
-image_get_hdr_l (time); /* image_get_time */
-image_get_hdr_l (size); /* image_get_size */
-image_get_hdr_l (load); /* image_get_load */
-image_get_hdr_l (ep); /* image_get_ep */
-image_get_hdr_l (dcrc); /* image_get_dcrc */
+image_get_hdr_l (magic) /* image_get_magic */
+image_get_hdr_l (hcrc) /* image_get_hcrc */
+image_get_hdr_l (time) /* image_get_time */
+image_get_hdr_l (size) /* image_get_size */
+image_get_hdr_l (load) /* image_get_load */
+image_get_hdr_l (ep) /* image_get_ep */
+image_get_hdr_l (dcrc) /* image_get_dcrc */
#define image_get_hdr_b(f) \
static inline uint8_t image_get_##f(const image_header_t *hdr) \
{ \
return hdr->ih_##f; \
}
-image_get_hdr_b (os); /* image_get_os */
-image_get_hdr_b (arch); /* image_get_arch */
-image_get_hdr_b (type); /* image_get_type */
-image_get_hdr_b (comp); /* image_get_comp */
+image_get_hdr_b (os) /* image_get_os */
+image_get_hdr_b (arch) /* image_get_arch */
+image_get_hdr_b (type) /* image_get_type */
+image_get_hdr_b (comp) /* image_get_comp */
static inline char *image_get_name (const image_header_t *hdr)
{
{ \
hdr->ih_##f = cpu_to_uimage (val); \
}
-image_set_hdr_l (magic); /* image_set_magic */
-image_set_hdr_l (hcrc); /* image_set_hcrc */
-image_set_hdr_l (time); /* image_set_time */
-image_set_hdr_l (size); /* image_set_size */
-image_set_hdr_l (load); /* image_set_load */
-image_set_hdr_l (ep); /* image_set_ep */
-image_set_hdr_l (dcrc); /* image_set_dcrc */
+image_set_hdr_l (magic) /* image_set_magic */
+image_set_hdr_l (hcrc) /* image_set_hcrc */
+image_set_hdr_l (time) /* image_set_time */
+image_set_hdr_l (size) /* image_set_size */
+image_set_hdr_l (load) /* image_set_load */
+image_set_hdr_l (ep) /* image_set_ep */
+image_set_hdr_l (dcrc) /* image_set_dcrc */
#define image_set_hdr_b(f) \
static inline void image_set_##f(image_header_t *hdr, uint8_t val) \
{ \
hdr->ih_##f = val; \
}
-image_set_hdr_b (os); /* image_set_os */
-image_set_hdr_b (arch); /* image_set_arch */
-image_set_hdr_b (type); /* image_set_type */
-image_set_hdr_b (comp); /* image_set_comp */
+image_set_hdr_b (os) /* image_set_os */
+image_set_hdr_b (arch) /* image_set_arch */
+image_set_hdr_b (type) /* image_set_type */
+image_set_hdr_b (comp) /* image_set_comp */
static inline void image_set_name (image_header_t *hdr, const char *name)
{
if (!image_check_arch (hdr, IH_ARCH_MICROBLAZE))
#elif defined(__mips__)
if (!image_check_arch (hdr, IH_ARCH_MIPS))
-#elif defined(__nios__)
- if (!image_check_arch (hdr, IH_ARCH_NIOS))
#elif defined(__nios2__)
if (!image_check_arch (hdr, IH_ARCH_NIOS2))
#elif defined(__PPC__)
if (!fit_image_check_arch (fdt, node, IH_ARCH_MICROBLAZE))
#elif defined(__mips__)
if (!fit_image_check_arch (fdt, node, IH_ARCH_MIPS))
-#elif defined(__nios__)
- if (!fit_image_check_arch (fdt, node, IH_ARCH_NIOS))
#elif defined(__nios2__)
if (!fit_image_check_arch (fdt, node, IH_ARCH_NIOS2))
#elif defined(__PPC__)