@ -313,15 +313,15 @@ int get_table_entry_id(const table_entry_t *table,
*/
char * get_table_entry_name ( const 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 ) ;
const char * genimg_get_comp_name ( uint8_t comp ) ;
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 ) ;
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 ) ;
const char * genimg_get_comp_name ( uint8_t comp ) ;
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 */
@ -329,72 +329,72 @@ void genimg_print_size (uint32_t size);
# define IMAGE_FORMAT_LEGACY 0x01 /* legacy image_header based format */
# define IMAGE_FORMAT_FIT 0x02 /* new, libfdt based format */
int genimg_get_format ( void * img_addr ) ;
int genimg_has_config ( bootm_headers_t * images ) ;
ulong genimg_get_image ( ulong img_addr ) ;
int genimg_get_format ( void * img_addr ) ;
int genimg_has_config ( bootm_headers_t * images ) ;
ulong genimg_get_image ( ulong img_addr ) ;
int boot_get_ramdisk ( int argc , char * const 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 * const argv [ ] , bootm_headers_t * images ,
char * * of_flat_tree , ulong * of_size ) ;
int boot_get_fdt ( int flag , int argc , char * const argv [ ] ,
bootm_headers_t * images , char * * of_flat_tree , ulong * of_size ) ;
void boot_fdt_add_mem_rsv_regions ( struct lmb * lmb , void * fdt_blob ) ;
int boot_relocate_fdt ( struct lmb * lmb , char * * of_flat_tree , ulong * of_size ) ;
int boot_relocate_fdt ( struct lmb * lmb , char * * of_flat_tree , ulong * of_size ) ;
# endif
# ifdef CONFIG_SYS_BOOT_RAMDISK_HIGH
int boot_ramdisk_high ( struct lmb * lmb , ulong rd_data , ulong rd_len ,
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 ) ;
int boot_get_cmdline ( struct lmb * lmb , ulong * cmd_start , ulong * cmd_end ) ;
# endif /* CONFIG_SYS_BOOT_GET_CMDLINE */
# ifdef CONFIG_SYS_BOOT_GET_KBD
int boot_get_kbd ( struct lmb * lmb , bd_t * * kbd ) ;
int boot_get_kbd ( struct lmb * lmb , bd_t * * kbd ) ;
# endif /* CONFIG_SYS_BOOT_GET_KBD */
# endif /* !USE_HOSTCC */
/*******************************************************************/
/* Legacy format specific code (prefixed with image_) */
/*******************************************************************/
static inline uint32_t image_get_header_size ( void )
static inline uint32_t image_get_header_size ( void )
{
return ( sizeof ( image_header_t ) ) ;
return ( sizeof ( image_header_t ) ) ;
}
# 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 ) ; \
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 )
static inline char * image_get_name ( const image_header_t * hdr )
{
return ( char * ) hdr - > ih_name ;
}
static inline uint32_t image_get_data_size ( const image_header_t * hdr )
static inline uint32_t image_get_data_size ( const image_header_t * hdr )
{
return image_get_size ( hdr ) ;
return image_get_size ( hdr ) ;
}
/**
@ -408,83 +408,83 @@ static inline uint32_t image_get_data_size (const image_header_t *hdr)
* returns :
* image payload data start address
*/
static inline ulong image_get_data ( const image_header_t * hdr )
static inline ulong image_get_data ( const image_header_t * hdr )
{
return ( ( ulong ) hdr + image_get_header_size ( ) ) ;
return ( ( ulong ) hdr + image_get_header_size ( ) ) ;
}
static inline uint32_t image_get_image_size ( const image_header_t * hdr )
static inline uint32_t image_get_image_size ( const image_header_t * hdr )
{
return ( image_get_size ( hdr ) + image_get_header_size ( ) ) ;
return ( image_get_size ( hdr ) + image_get_header_size ( ) ) ;
}
static inline ulong image_get_image_end ( const image_header_t * hdr )
static inline ulong image_get_image_end ( const image_header_t * hdr )
{
return ( ( ulong ) hdr + image_get_image_size ( hdr ) ) ;
return ( ( ulong ) hdr + image_get_image_size ( hdr ) ) ;
}
# 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 ) ; \
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 )
static inline void image_set_name ( image_header_t * hdr , const char * name )
{
strncpy ( image_get_name ( hdr ) , name , IH_NMLEN ) ;
strncpy ( image_get_name ( hdr ) , name , IH_NMLEN ) ;
}
int image_check_hcrc ( const image_header_t * hdr ) ;
int image_check_dcrc ( const image_header_t * hdr ) ;
int image_check_hcrc ( const image_header_t * hdr ) ;
int image_check_dcrc ( const image_header_t * hdr ) ;
# ifndef USE_HOSTCC
int getenv_yesno ( char * var ) ;
int getenv_yesno ( char * var ) ;
ulong getenv_bootm_low ( void ) ;
phys_size_t getenv_bootm_size ( void ) ;
phys_size_t getenv_bootm_mapsize ( void ) ;
void memmove_wd ( void * to , void * from , size_t len , ulong chunksz ) ;
void memmove_wd ( void * to , void * from , size_t len , ulong chunksz ) ;
# endif
static inline int image_check_magic ( const image_header_t * hdr )
static inline int image_check_magic ( const image_header_t * hdr )
{
return ( image_get_magic ( hdr ) = = IH_MAGIC ) ;
return ( image_get_magic ( hdr ) = = IH_MAGIC ) ;
}
static inline int image_check_type ( const image_header_t * hdr , uint8_t type )
static inline int image_check_type ( const image_header_t * hdr , uint8_t type )
{
return ( image_get_type ( hdr ) = = type ) ;
return ( image_get_type ( hdr ) = = type ) ;
}
static inline int image_check_arch ( const image_header_t * hdr , uint8_t arch )
static inline int image_check_arch ( const image_header_t * hdr , uint8_t arch )
{
return ( image_get_arch ( hdr ) = = arch ) ;
return ( image_get_arch ( hdr ) = = arch ) ;
}
static inline int image_check_os ( const image_header_t * hdr , uint8_t os )
static inline int image_check_os ( const image_header_t * hdr , uint8_t os )
{
return ( image_get_os ( hdr ) = = os ) ;
return ( image_get_os ( hdr ) = = os ) ;
}
ulong image_multi_count ( const image_header_t * hdr ) ;
void image_multi_getimg ( const image_header_t * hdr , ulong idx ,
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 ) ;
void image_print_contents ( const void * hdr ) ;
# ifndef USE_HOSTCC
static inline int image_check_target_arch ( const image_header_t * hdr )
static inline int image_check_target_arch ( const image_header_t * hdr )
{
# ifndef IH_ARCH_DEFAULT
# error "please define IH_ARCH_DEFAULT in your arch asm / u-boot.h"
@ -526,14 +526,14 @@ static inline int image_check_target_arch (const image_header_t *hdr)
# define FIT_MAX_HASH_LEN 20 /* max(crc32_len(4), sha1_len(20)) */
/* cmdline argument format parsing */
inline int fit_parse_conf ( const char * spec , ulong addr_curr ,
inline int fit_parse_conf ( const char * spec , ulong addr_curr ,
ulong * addr , const char * * conf_name ) ;
inline int fit_parse_subimage ( const char * spec , ulong addr_curr ,
inline int fit_parse_subimage ( const char * spec , ulong addr_curr ,
ulong * addr , const char * * image_name ) ;
void fit_print_contents ( const void * fit ) ;
void fit_image_print ( const void * fit , int noffset , const char * p ) ;
void fit_image_print_hash ( const void * fit , int noffset , const char * p ) ;
void fit_print_contents ( const void * fit ) ;
void fit_image_print ( const void * fit , int noffset , const char * p ) ;
void fit_image_print_hash ( const void * fit , int noffset , const char * p ) ;
/**
* fit_get_end - get FIT image size
@ -542,9 +542,9 @@ void fit_image_print_hash (const void *fit, int noffset, const char *p);
* returns :
* size of the FIT image ( blob ) in memory
*/
static inline ulong fit_get_size ( const void * fit )
static inline ulong fit_get_size ( const void * fit )
{
return fdt_totalsize ( fit ) ;
return fdt_totalsize ( fit ) ;
}
/**
@ -554,9 +554,9 @@ static inline ulong fit_get_size (const void *fit)
* returns :
* end address of the FIT image ( blob ) in memory
*/
static inline ulong fit_get_end ( const void * fit )
static inline ulong fit_get_end ( const void * fit )
{
return ( ulong ) fit + fdt_totalsize ( fit ) ;
return ( ulong ) fit + fdt_totalsize ( fit ) ;
}
/**
@ -567,63 +567,63 @@ static inline ulong fit_get_end (const void *fit)
* NULL , on error
* pointer to node name , on success
*/
static inline const char * fit_get_name ( const void * fit_hdr ,
static inline const char * fit_get_name ( const void * fit_hdr ,
int noffset , int * len )
{
return fdt_get_name ( fit_hdr , noffset , len ) ;
return fdt_get_name ( fit_hdr , noffset , len ) ;
}
int fit_get_desc ( const void * fit , int noffset , char * * desc ) ;
int fit_get_timestamp ( const void * fit , int noffset , time_t * timestamp ) ;
int fit_image_get_node ( const void * fit , const char * image_uname ) ;
int fit_image_get_os ( const void * fit , int noffset , uint8_t * os ) ;
int fit_image_get_arch ( const void * fit , int noffset , uint8_t * arch ) ;
int fit_image_get_type ( const void * fit , int noffset , uint8_t * type ) ;
int fit_image_get_comp ( const void * fit , int noffset , uint8_t * comp ) ;
int fit_image_get_load ( const void * fit , int noffset , ulong * load ) ;
int fit_image_get_entry ( const void * fit , int noffset , ulong * entry ) ;
int fit_image_get_data ( const void * fit , int noffset ,
int fit_get_desc ( const void * fit , int noffset , char * * desc ) ;
int fit_get_timestamp ( const void * fit , int noffset , time_t * timestamp ) ;
int fit_image_get_node ( const void * fit , const char * image_uname ) ;
int fit_image_get_os ( const void * fit , int noffset , uint8_t * os ) ;
int fit_image_get_arch ( const void * fit , int noffset , uint8_t * arch ) ;
int fit_image_get_type ( const void * fit , int noffset , uint8_t * type ) ;
int fit_image_get_comp ( const void * fit , int noffset , uint8_t * comp ) ;
int fit_image_get_load ( const void * fit , int noffset , ulong * load ) ;
int fit_image_get_entry ( const void * fit , int noffset , ulong * entry ) ;
int fit_image_get_data ( const void * fit , int noffset ,
const void * * data , size_t * size ) ;
int fit_image_hash_get_algo ( const void * fit , int noffset , char * * algo ) ;
int fit_image_hash_get_value ( const void * fit , int noffset , uint8_t * * value ,
int fit_image_hash_get_algo ( const void * fit , int noffset , char * * algo ) ;
int fit_image_hash_get_value ( const void * fit , int noffset , uint8_t * * value ,
int * value_len ) ;
int fit_set_timestamp ( void * fit , int noffset , time_t timestamp ) ;
int fit_set_hashes ( void * fit ) ;
int fit_image_set_hashes ( void * fit , int image_noffset ) ;
int fit_image_hash_set_value ( void * fit , int noffset , uint8_t * value ,
int fit_set_timestamp ( void * fit , int noffset , time_t timestamp ) ;
int fit_set_hashes ( void * fit ) ;
int fit_image_set_hashes ( void * fit , int image_noffset ) ;
int fit_image_hash_set_value ( void * fit , int noffset , uint8_t * value ,
int value_len ) ;
int fit_image_check_hashes ( const void * fit , int noffset ) ;
int fit_all_image_check_hashes ( const void * fit ) ;
int fit_image_check_os ( const void * fit , int noffset , uint8_t os ) ;
int fit_image_check_arch ( const void * fit , int noffset , uint8_t arch ) ;
int fit_image_check_type ( const void * fit , int noffset , uint8_t type ) ;
int fit_image_check_comp ( const void * fit , int noffset , uint8_t comp ) ;
int fit_check_format ( const void * fit ) ;
int fit_image_check_hashes ( const void * fit , int noffset ) ;
int fit_all_image_check_hashes ( const void * fit ) ;
int fit_image_check_os ( const void * fit , int noffset , uint8_t os ) ;
int fit_image_check_arch ( const void * fit , int noffset , uint8_t arch ) ;
int fit_image_check_type ( const void * fit , int noffset , uint8_t type ) ;
int fit_image_check_comp ( const void * fit , int noffset , uint8_t comp ) ;
int fit_check_format ( const void * fit ) ;
int fit_conf_get_node ( const void * fit , const char * conf_uname ) ;
int fit_conf_get_kernel_node ( const void * fit , int noffset ) ;
int fit_conf_get_ramdisk_node ( const void * fit , int noffset ) ;
int fit_conf_get_fdt_node ( const void * fit , int noffset ) ;
int fit_conf_get_node ( const void * fit , const char * conf_uname ) ;
int fit_conf_get_kernel_node ( const void * fit , int noffset ) ;
int fit_conf_get_ramdisk_node ( const void * fit , int noffset ) ;
int fit_conf_get_fdt_node ( const void * fit , int noffset ) ;
void fit_conf_print ( const void * fit , int noffset , const char * p ) ;
void fit_conf_print ( const void * fit , int noffset , const char * p ) ;
# ifndef USE_HOSTCC
static inline int fit_image_check_target_arch ( const void * fdt , int node )
static inline int fit_image_check_target_arch ( const void * fdt , int node )
{
return ! fit_image_check_arch ( fdt , node , IH_ARCH_DEFAULT ) ;
}
# endif /* USE_HOSTCC */
# ifdef CONFIG_FIT_VERBOSE
# define fit_unsupported(msg) printf ("! %s:%d " \
# define fit_unsupported(msg) printf("! %s:%d " \
" FIT images not supported for '%s' \n " , \
__FILE__ , __LINE__ , ( msg ) )
# define fit_unsupported_reset(msg) printf ("! %s:%d " \
# define fit_unsupported_reset(msg) printf("! %s:%d " \
" FIT images not supported for '%s' " \
" - must reset board to recover! \n " , \
__FILE__ , __LINE__ , ( msg ) )