CMSIS2000  0.0.7
 Указатель Структуры данных Файлы Функции Переменные Определения типов Перечисления Элементы перечислений Макросы Группы Страницы
Файл uboot_image_format.h
Граф файлов, в которые включается этот файл:

См. исходные тексты.

Структуры данных

struct  bootm_headers
struct  image_header
struct  image_info
struct  table_entry

Макросы

#define BOOTM_STATE_FDT   (0x00000008)
#define BOOTM_STATE_LOADOS   (0x00000002)
#define BOOTM_STATE_OS_BD_T   (0x00000020)
#define BOOTM_STATE_OS_CMDLINE   (0x00000010)
#define BOOTM_STATE_OS_GO   (0x00000080)
#define BOOTM_STATE_OS_PREP   (0x00000040)
#define BOOTM_STATE_RAMDISK   (0x00000004)
#define BOOTM_STATE_START   (0x00000001)
#define CHUNKSZ   (64 * 1024)
#define CHUNKSZ_CRC32   (64 * 1024)
#define CHUNKSZ_MD5   (64 * 1024)
#define CHUNKSZ_SHA1   (64 * 1024)
#define cpu_to_uimage(x)   cpu_to_be32(x)
#define IH_ARCH_ALPHA   1 /* Alpha */
#define IH_ARCH_ARM   2 /* ARM */
#define IH_ARCH_AVR32   17 /* AVR32 */
#define IH_ARCH_BLACKFIN   16 /* Blackfin */
#define IH_ARCH_I386   3 /* Intel x86 */
#define IH_ARCH_IA64   4 /* IA64 */
#define IH_ARCH_INVALID   0 /* Invalid CPU */
#define IH_ARCH_M68K   12 /* M68K */
#define IH_ARCH_MICROBLAZE   14 /* MicroBlaze */
#define IH_ARCH_MIPS   5 /* MIPS */
#define IH_ARCH_MIPS64   6 /* MIPS 64 Bit */
#define IH_ARCH_NDS32   20 /* ANDES Technology - NDS32 */
#define IH_ARCH_NIOS2   15 /* Nios-II */
#define IH_ARCH_OPENRISC   21 /* OpenRISC 1000 */
#define IH_ARCH_PPC   7 /* PowerPC */
#define IH_ARCH_S390   8 /* IBM S390 */
#define IH_ARCH_SANDBOX   19 /* Sandbox architecture (test only) */
#define IH_ARCH_SH   9 /* SuperH */
#define IH_ARCH_SPARC   10 /* Sparc */
#define IH_ARCH_SPARC64   11 /* Sparc 64 Bit */
#define IH_ARCH_ST200   18 /* STMicroelectronics ST200 */
#define IH_COMP_BZIP2   2 /* bzip2 Compression Used */
#define IH_COMP_GZIP   1 /* gzip Compression Used */
#define IH_COMP_LZMA   3 /* lzma Compression Used */
#define IH_COMP_LZO   4 /* lzo Compression Used */
#define IH_COMP_NONE   0 /* No Compression Used */
#define IH_MAGIC   0x27051956 /* Image Magic Number */
#define IH_NMLEN   32 /* Image Name Length */
#define IH_OS_4_4BSD   4 /* 4.4BSD */
#define IH_OS_ARTOS   19 /* ARTOS */
#define IH_OS_DELL   11 /* Dell */
#define IH_OS_ESIX   7 /* Esix */
#define IH_OS_FREEBSD   3 /* FreeBSD */
#define IH_OS_INTEGRITY   21 /* INTEGRITY */
#define IH_OS_INVALID   0 /* Invalid OS */
#define IH_OS_IRIX   9 /* Irix */
#define IH_OS_LINUX   5 /* Linux */
#define IH_OS_LYNXOS   13 /* LynxOS */
#define IH_OS_NCR   12 /* NCR */
#define IH_OS_NETBSD   2 /* NetBSD */
#define IH_OS_OPENBSD   1 /* OpenBSD */
#define IH_OS_OSE   22 /* OSE */
#define IH_OS_PSOS   15 /* pSOS */
#define IH_OS_QNX   16 /* QNX */
#define IH_OS_RTEMS   18 /* RTEMS */
#define IH_OS_SCO   10 /* SCO */
#define IH_OS_SOLARIS   8 /* Solaris */
#define IH_OS_SVR4   6 /* SVR4 */
#define IH_OS_U_BOOT   17 /* Firmware */
#define IH_OS_UNITY   20 /* Unity OS */
#define IH_OS_VXWORKS   14 /* VxWorks */
#define IH_TYPE_AISIMAGE   13 /* TI Davinci AIS Image */
#define IH_TYPE_FILESYSTEM   7 /* Filesystem Image (any type) */
#define IH_TYPE_FIRMWARE   5 /* Firmware Image */
#define IH_TYPE_FLATDT   8 /* Binary Flat Device Tree Blob */
#define IH_TYPE_IMXIMAGE   10 /* Freescale IMXBoot Image */
#define IH_TYPE_INVALID   0 /* Invalid Image */
#define IH_TYPE_KERNEL   2 /* OS Kernel Image */
#define IH_TYPE_KERNEL_NOLOAD   14 /* OS Kernel Image, can run from any load address */
#define IH_TYPE_KWBIMAGE   9 /* Kirkwood Boot Image */
#define IH_TYPE_MULTI   4 /* Multi-File Image */
#define IH_TYPE_OMAPIMAGE   12 /* TI OMAP Config Header Image */
#define IH_TYPE_PBLIMAGE   15 /* Freescale PBL Boot Image */
#define IH_TYPE_RAMDISK   3 /* RAMDisk Image */
#define IH_TYPE_SCRIPT   6 /* Script file */
#define IH_TYPE_STANDALONE   1 /* Standalone Program */
#define IH_TYPE_UBLIMAGE   11 /* Davinci UBL Image */
#define IMAGE_FORMAT_FIT   0x02 /* new, libfdt based format */
#define IMAGE_FORMAT_INVALID   0x00
#define IMAGE_FORMAT_LEGACY   0x01 /* legacy image_header based format */
#define image_get_hdr_b(f)
#define image_get_hdr_l(f)
#define image_set_hdr_b(f)
#define image_set_hdr_l(f)
#define uimage_to_cpu(x)   be32_to_cpu(x)

Определения типов

typedef struct bootm_headers bootm_headers_t
typedef struct image_header image_header_t
typedef struct image_info image_info_t
typedef struct table_entry table_entry_t

Функции

int boot_get_ramdisk (int argc, char *const argv[], bootm_headers_t *images, uint8_t arch, ulong *rd_start, ulong *rd_end)
int genimg_get_arch_id (const char *name)
const char * genimg_get_arch_name (uint8_t arch)
int genimg_get_comp_id (const char *name)
const char * genimg_get_comp_name (uint8_t comp)
int genimg_get_format (void *img_addr)
ulong genimg_get_image (ulong img_addr)
int genimg_get_os_id (const char *name)
const char * genimg_get_os_name (uint8_t os)
int genimg_get_type_id (const char *name)
const char * genimg_get_type_name (uint8_t type)
int genimg_has_config (bootm_headers_t *images)
void genimg_print_size (uint32_t size)
int get_table_entry_id (const table_entry_t *table, const char *table_name, const char *name)
char * get_table_entry_name (const table_entry_t *table, char *msg, int id)
ulong getenv_bootm_low (void)
phys_size_t getenv_bootm_mapsize (void)
phys_size_t getenv_bootm_size (void)
int getenv_yesno (char *var)
static int image_check_arch (const image_header_t *hdr, uint8_t arch)
int image_check_dcrc (const image_header_t *hdr)
static int image_check_magic (const image_header_t *hdr)
static int image_check_os (const image_header_t *hdr, uint8_t os)
static int image_check_target_arch (const image_header_t *hdr)
static int image_check_type (const image_header_t *hdr, uint8_t type)
static ulong image_get_data (const image_header_t *hdr)
 image_get_data - get image payload start address : image header
static uint32_t image_get_data_size (const image_header_t *hdr)
 image_get_hdr_l (magic) image_get_hdr_l(hcrc) image_get_hdr_l(time) image_get_hdr_l(size) image_get_hdr_l(load) image_get_hdr_l(ep) image_get_hdr_l(dcrc) image_get_hdr_b(os) image_get_hdr_b(arch) image_get_hdr_b(type) image_get_hdr_b(comp) static inline char *image_get_name(const image_header_t *hdr)
static uint32_t image_get_header_size (void)
static ulong image_get_image_end (const image_header_t *hdr)
static uint32_t image_get_image_size (const image_header_t *hdr)
ulong image_multi_count (const image_header_t *hdr)
void image_multi_getimg (const image_header_t *hdr, ulong idx, ulong *data, ulong *len)
void image_print_contents (const void *hdr)
 image_set_hdr_l (magic) image_set_hdr_l(hcrc) image_set_hdr_l(time) image_set_hdr_l(size) image_set_hdr_l(load) image_set_hdr_l(ep) image_set_hdr_l(dcrc) image_set_hdr_b(os) image_set_hdr_b(arch) image_set_hdr_b(type) image_set_hdr_b(comp) static inline void image_set_name(image_header_t *hdr
void memmove_wd (void *to, void *from, size_t len, ulong chunksz)

Переменные

bootm_headers_t images

Макросы

#define BOOTM_STATE_FDT   (0x00000008)

См. определение в файле uboot_image_format.h строка 260

#define BOOTM_STATE_LOADOS   (0x00000002)

См. определение в файле uboot_image_format.h строка 258

#define BOOTM_STATE_OS_BD_T   (0x00000020)

См. определение в файле uboot_image_format.h строка 262

#define BOOTM_STATE_OS_CMDLINE   (0x00000010)

См. определение в файле uboot_image_format.h строка 261

#define BOOTM_STATE_OS_GO   (0x00000080)

См. определение в файле uboot_image_format.h строка 264

#define BOOTM_STATE_OS_PREP   (0x00000040)

См. определение в файле uboot_image_format.h строка 263

#define BOOTM_STATE_RAMDISK   (0x00000004)

См. определение в файле uboot_image_format.h строка 259

#define BOOTM_STATE_START   (0x00000001)

См. определение в файле uboot_image_format.h строка 257

#define CHUNKSZ   (64 * 1024)

См. определение в файле uboot_image_format.h строка 280

#define CHUNKSZ_CRC32   (64 * 1024)

См. определение в файле uboot_image_format.h строка 284

#define CHUNKSZ_MD5   (64 * 1024)

См. определение в файле uboot_image_format.h строка 288

#define CHUNKSZ_SHA1   (64 * 1024)

См. определение в файле uboot_image_format.h строка 292

#define cpu_to_uimage (   x)    cpu_to_be32(x)

См. определение в файле uboot_image_format.h строка 296

#define IH_ARCH_ALPHA   1 /* Alpha */

См. определение в файле uboot_image_format.h строка 92

#define IH_ARCH_ARM   2 /* ARM */

См. определение в файле uboot_image_format.h строка 93

#define IH_ARCH_AVR32   17 /* AVR32 */

См. определение в файле uboot_image_format.h строка 107

#define IH_ARCH_BLACKFIN   16 /* Blackfin */

См. определение в файле uboot_image_format.h строка 106

#define IH_ARCH_I386   3 /* Intel x86 */

См. определение в файле uboot_image_format.h строка 94

#define IH_ARCH_IA64   4 /* IA64 */

См. определение в файле uboot_image_format.h строка 95

#define IH_ARCH_INVALID   0 /* Invalid CPU */

См. определение в файле uboot_image_format.h строка 91

#define IH_ARCH_M68K   12 /* M68K */

См. определение в файле uboot_image_format.h строка 103

#define IH_ARCH_MICROBLAZE   14 /* MicroBlaze */

См. определение в файле uboot_image_format.h строка 104

#define IH_ARCH_MIPS   5 /* MIPS */

См. определение в файле uboot_image_format.h строка 96

#define IH_ARCH_MIPS64   6 /* MIPS 64 Bit */

См. определение в файле uboot_image_format.h строка 97

#define IH_ARCH_NDS32   20 /* ANDES Technology - NDS32 */

См. определение в файле uboot_image_format.h строка 110

#define IH_ARCH_NIOS2   15 /* Nios-II */

См. определение в файле uboot_image_format.h строка 105

#define IH_ARCH_OPENRISC   21 /* OpenRISC 1000 */

См. определение в файле uboot_image_format.h строка 111

#define IH_ARCH_PPC   7 /* PowerPC */

См. определение в файле uboot_image_format.h строка 98

#define IH_ARCH_S390   8 /* IBM S390 */

См. определение в файле uboot_image_format.h строка 99

#define IH_ARCH_SANDBOX   19 /* Sandbox architecture (test only) */

См. определение в файле uboot_image_format.h строка 109

#define IH_ARCH_SH   9 /* SuperH */

См. определение в файле uboot_image_format.h строка 100

#define IH_ARCH_SPARC   10 /* Sparc */

См. определение в файле uboot_image_format.h строка 101

#define IH_ARCH_SPARC64   11 /* Sparc 64 Bit */

См. определение в файле uboot_image_format.h строка 102

#define IH_ARCH_ST200   18 /* STMicroelectronics ST200 */

См. определение в файле uboot_image_format.h строка 108

#define IH_COMP_BZIP2   2 /* bzip2 Compression Used */

См. определение в файле uboot_image_format.h строка 174

#define IH_COMP_GZIP   1 /* gzip Compression Used */

См. определение в файле uboot_image_format.h строка 173

#define IH_COMP_LZMA   3 /* lzma Compression Used */

См. определение в файле uboot_image_format.h строка 175

#define IH_COMP_LZO   4 /* lzo Compression Used */

См. определение в файле uboot_image_format.h строка 176

Используется в uboot_file_load().

#define IH_COMP_NONE   0 /* No Compression Used */

См. определение в файле uboot_image_format.h строка 172

Используется в uboot_file_load().

#define IH_MAGIC   0x27051956 /* Image Magic Number */

См. определение в файле uboot_image_format.h строка 178

Используется в image_check_magic() и memmem_magic_number().

#define IH_NMLEN   32 /* Image Name Length */

См. определение в файле uboot_image_format.h строка 179

#define IH_OS_4_4BSD   4 /* 4.4BSD */

См. определение в файле uboot_image_format.h строка 68

#define IH_OS_ARTOS   19 /* ARTOS */

См. определение в файле uboot_image_format.h строка 83

#define IH_OS_DELL   11 /* Dell */

См. определение в файле uboot_image_format.h строка 75

#define IH_OS_ESIX   7 /* Esix */

См. определение в файле uboot_image_format.h строка 71

#define IH_OS_FREEBSD   3 /* FreeBSD */

См. определение в файле uboot_image_format.h строка 67

#define IH_OS_INTEGRITY   21 /* INTEGRITY */

См. определение в файле uboot_image_format.h строка 85

#define IH_OS_INVALID   0 /* Invalid OS */

См. определение в файле uboot_image_format.h строка 64

#define IH_OS_IRIX   9 /* Irix */

См. определение в файле uboot_image_format.h строка 73

#define IH_OS_LINUX   5 /* Linux */

См. определение в файле uboot_image_format.h строка 69

#define IH_OS_LYNXOS   13 /* LynxOS */

См. определение в файле uboot_image_format.h строка 77

#define IH_OS_NCR   12 /* NCR */

См. определение в файле uboot_image_format.h строка 76

#define IH_OS_NETBSD   2 /* NetBSD */

См. определение в файле uboot_image_format.h строка 66

#define IH_OS_OPENBSD   1 /* OpenBSD */

См. определение в файле uboot_image_format.h строка 65

#define IH_OS_OSE   22 /* OSE */

См. определение в файле uboot_image_format.h строка 86

#define IH_OS_PSOS   15 /* pSOS */

См. определение в файле uboot_image_format.h строка 79

#define IH_OS_QNX   16 /* QNX */

См. определение в файле uboot_image_format.h строка 80

#define IH_OS_RTEMS   18 /* RTEMS */

См. определение в файле uboot_image_format.h строка 82

#define IH_OS_SCO   10 /* SCO */

См. определение в файле uboot_image_format.h строка 74

#define IH_OS_SOLARIS   8 /* Solaris */

См. определение в файле uboot_image_format.h строка 72

#define IH_OS_SVR4   6 /* SVR4 */

См. определение в файле uboot_image_format.h строка 70

#define IH_OS_U_BOOT   17 /* Firmware */

См. определение в файле uboot_image_format.h строка 81

#define IH_OS_UNITY   20 /* Unity OS */

См. определение в файле uboot_image_format.h строка 84

#define IH_OS_VXWORKS   14 /* VxWorks */

См. определение в файле uboot_image_format.h строка 78

#define IH_TYPE_AISIMAGE   13 /* TI Davinci AIS Image */

См. определение в файле uboot_image_format.h строка 165

#define IH_TYPE_FILESYSTEM   7 /* Filesystem Image (any type) */

См. определение в файле uboot_image_format.h строка 159

#define IH_TYPE_FIRMWARE   5 /* Firmware Image */

См. определение в файле uboot_image_format.h строка 157

#define IH_TYPE_FLATDT   8 /* Binary Flat Device Tree Blob */

См. определение в файле uboot_image_format.h строка 160

#define IH_TYPE_IMXIMAGE   10 /* Freescale IMXBoot Image */

См. определение в файле uboot_image_format.h строка 162

#define IH_TYPE_INVALID   0 /* Invalid Image */

См. определение в файле uboot_image_format.h строка 152

#define IH_TYPE_KERNEL   2 /* OS Kernel Image */

См. определение в файле uboot_image_format.h строка 154

#define IH_TYPE_KERNEL_NOLOAD   14 /* OS Kernel Image, can run from any load address */

См. определение в файле uboot_image_format.h строка 166

#define IH_TYPE_KWBIMAGE   9 /* Kirkwood Boot Image */

См. определение в файле uboot_image_format.h строка 161

#define IH_TYPE_MULTI   4 /* Multi-File Image */

См. определение в файле uboot_image_format.h строка 156

#define IH_TYPE_OMAPIMAGE   12 /* TI OMAP Config Header Image */

См. определение в файле uboot_image_format.h строка 164

#define IH_TYPE_PBLIMAGE   15 /* Freescale PBL Boot Image */

См. определение в файле uboot_image_format.h строка 167

#define IH_TYPE_RAMDISK   3 /* RAMDisk Image */

См. определение в файле uboot_image_format.h строка 155

#define IH_TYPE_SCRIPT   6 /* Script file */

См. определение в файле uboot_image_format.h строка 158

#define IH_TYPE_STANDALONE   1 /* Standalone Program */

См. определение в файле uboot_image_format.h строка 153

#define IH_TYPE_UBLIMAGE   11 /* Davinci UBL Image */

См. определение в файле uboot_image_format.h строка 163

#define IMAGE_FORMAT_FIT   0x02 /* new, libfdt based format */

См. определение в файле uboot_image_format.h строка 336

#define IMAGE_FORMAT_INVALID   0x00

См. определение в файле uboot_image_format.h строка 334

#define IMAGE_FORMAT_LEGACY   0x01 /* legacy image_header based format */

См. определение в файле uboot_image_format.h строка 335

#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_l().

#define image_get_hdr_l (   f)
Макроопределение:
static inline uint32_t image_get_##f(const image_header_t *hdr) \
{ \
return uimage_to_cpu(hdr->ih_##f); \
}

См. определение в файле uboot_image_format.h строка 373

#define image_set_hdr_b (   f)
Макроопределение:
static inline void image_set_##f(image_header_t *hdr, uint8_t val) \
{ \
hdr->ih_##f = val; \
}
#define image_set_hdr_l (   f)
Макроопределение:
static inline void image_set_##f(image_header_t *hdr, uint32_t val) \
{ \
hdr->ih_##f = cpu_to_uimage(val); \
}

См. определение в файле uboot_image_format.h строка 431

#define uimage_to_cpu (   x)    be32_to_cpu(x)

См. определение в файле uboot_image_format.h строка 295

Типы

typedef struct image_header image_header_t
typedef struct image_info image_info_t
typedef struct table_entry table_entry_t

Функции

int boot_get_ramdisk ( int  argc,
char *const  argv[],
bootm_headers_t images,
uint8_t  arch,
ulong rd_start,
ulong rd_end 
)
int genimg_get_arch_id ( const char *  name)
const char* genimg_get_arch_name ( uint8_t  arch)
int genimg_get_comp_id ( const char *  name)
const char* genimg_get_comp_name ( uint8_t  comp)
int genimg_get_format ( void *  img_addr)
ulong genimg_get_image ( ulong  img_addr)
int genimg_get_os_id ( const char *  name)
const char* genimg_get_os_name ( uint8_t  os)
int genimg_get_type_id ( const char *  name)
const char* genimg_get_type_name ( uint8_t  type)
int genimg_has_config ( bootm_headers_t images)
void genimg_print_size ( uint32_t  size)
int get_table_entry_id ( const table_entry_t table,
const char *  table_name,
const char *  name 
)
char* get_table_entry_name ( const table_entry_t table,
char *  msg,
int  id 
)
ulong getenv_bootm_low ( void  )
phys_size_t getenv_bootm_mapsize ( void  )
phys_size_t getenv_bootm_size ( void  )
int getenv_yesno ( char *  var)
static int image_check_arch ( const image_header_t hdr,
uint8_t  arch 
)
inlinestatic

См. определение в файле uboot_image_format.h строка 477

Используется в image_check_target_arch() и uboot_check_image_at_addr().

Граф вызова функции:

int image_check_dcrc ( const image_header_t hdr)

См. определение в файле uboot_file.c строка 187

Перекрестные ссылки crc32(), image_get_data() и image_get_data_size().

Граф вызовов:

static int image_check_magic ( const image_header_t hdr)
inlinestatic

См. определение в файле uboot_image_format.h строка 469

Перекрестные ссылки IH_MAGIC.

Используется в uboot_check_image_at_addr().

Граф вызова функции:

static int image_check_os ( const image_header_t hdr,
uint8_t  os 
)
inlinestatic

См. определение в файле uboot_image_format.h строка 481

static int image_check_target_arch ( const image_header_t hdr)
inlinestatic

См. определение в файле uboot_image_format.h строка 493

Перекрестные ссылки IH_ARCH_DEFAULT и image_check_arch().

Граф вызовов:

static int image_check_type ( const image_header_t hdr,
uint8_t  type 
)
inlinestatic

См. определение в файле uboot_image_format.h строка 473

static ulong image_get_data ( const image_header_t hdr)
inlinestatic

image_get_data - get image payload start address : image header

image_get_data() returns address of the image payload. For single component images it is image data start. For multi component images it points to the null terminated table of sub-images sizes.

returns: image payload data start address

См. определение в файле uboot_image_format.h строка 417

Перекрестные ссылки image_get_header_size() и ulong.

Используется в image_check_dcrc() и uboot_file_load().

Граф вызовов:

Граф вызова функции:

static uint32_t image_get_data_size ( const image_header_t hdr)
inlinestatic

См. определение в файле uboot_image_format.h строка 401

Используется в image_check_dcrc() и uboot_file_load().

Граф вызова функции:

image_get_hdr_l ( magic  ) const

См. определение в файле uboot_image_format.h строка 378

Перекрестные ссылки image_get_hdr_b.

static uint32_t image_get_header_size ( void  )
inlinestatic

См. определение в файле uboot_image_format.h строка 368

Используется в image_check_hcrc(), image_get_data() и image_get_image_size().

Граф вызова функции:

static ulong image_get_image_end ( const image_header_t hdr)
inlinestatic

См. определение в файле uboot_image_format.h строка 426

Перекрестные ссылки image_get_image_size() и ulong.

Граф вызовов:

static uint32_t image_get_image_size ( const image_header_t hdr)
inlinestatic

См. определение в файле uboot_image_format.h строка 422

Перекрестные ссылки image_get_header_size().

Используется в image_get_image_end().

Граф вызовов:

Граф вызова функции:

ulong image_multi_count ( const image_header_t hdr)
void image_multi_getimg ( const image_header_t hdr,
ulong  idx,
ulong data,
ulong len 
)
void image_print_contents ( const void *  hdr)
image_set_hdr_l ( magic  )
void memmove_wd ( void *  to,
void *  from,
size_t  len,
ulong  chunksz 
)

Переменные