bootm: Clean up bootz_setup() function
This function has no prototype in the headers and passes void * around, thus requiring several casts. Tidy this up. - Add new patch to clean up bootz_setup() function Signed-off-by: Simon Glass <sjg@chromium.org>
This commit is contained in:
parent
a26913f32d
commit
a5266d6b5d
@ -300,21 +300,23 @@ struct zimage_header {
|
||||
|
||||
#define LINUX_ARM_ZIMAGE_MAGIC 0x016f2818
|
||||
|
||||
int bootz_setup(void *image, void **start, void **end)
|
||||
int bootz_setup(ulong image, ulong *start, ulong *end)
|
||||
{
|
||||
struct zimage_header *zi = (struct zimage_header *)image;
|
||||
struct zimage_header *zi;
|
||||
|
||||
zi = (struct zimage_header *)map_sysmem(image, 0);
|
||||
if (zi->zi_magic != LINUX_ARM_ZIMAGE_MAGIC) {
|
||||
puts("Bad Linux ARM zImage magic!\n");
|
||||
return 1;
|
||||
}
|
||||
|
||||
*start = (void *)zi->zi_start;
|
||||
*end = (void *)zi->zi_end;
|
||||
*start = zi->zi_start;
|
||||
*end = zi->zi_end;
|
||||
|
||||
debug("Kernel image @ 0x%08x [ 0x%08x - 0x%08x ]\n",
|
||||
(uint32_t)image, (uint32_t)*start, (uint32_t)*end);
|
||||
printf("Kernel image @ %#08lx [ %#08lx - %#08lx ]\n", image, *start,
|
||||
*end);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
#endif /* CONFIG_CMD_BOOTZ */
|
||||
|
@ -1746,15 +1746,13 @@ static int do_bootm_integrity(int flag, int argc, char * const argv[],
|
||||
|
||||
#ifdef CONFIG_CMD_BOOTZ
|
||||
|
||||
static int __bootz_setup(void *image, void **start, void **end)
|
||||
int __weak bootz_setup(ulong image, ulong *start, ulong *end)
|
||||
{
|
||||
/* Please define bootz_setup() for your platform */
|
||||
|
||||
puts("Your platform's zImage format isn't supported yet!\n");
|
||||
return -1;
|
||||
}
|
||||
int bootz_setup(void *image, void **start, void **end)
|
||||
__attribute__((weak, alias("__bootz_setup")));
|
||||
|
||||
/*
|
||||
* zImage booting support
|
||||
@ -1763,7 +1761,7 @@ static int bootz_start(cmd_tbl_t *cmdtp, int flag, int argc,
|
||||
char * const argv[], bootm_headers_t *images)
|
||||
{
|
||||
int ret;
|
||||
void *zi_start, *zi_end;
|
||||
ulong zi_start, zi_end;
|
||||
|
||||
ret = do_bootm_states(cmdtp, flag, argc, argv, BOOTM_STATE_START,
|
||||
images, 1);
|
||||
@ -1779,7 +1777,7 @@ static int bootz_start(cmd_tbl_t *cmdtp, int flag, int argc,
|
||||
images->ep);
|
||||
}
|
||||
|
||||
ret = bootz_setup((void *)images->ep, &zi_start, &zi_end);
|
||||
ret = bootz_setup(images->ep, &zi_start, &zi_end);
|
||||
if (ret != 0)
|
||||
return 1;
|
||||
|
||||
|
@ -662,6 +662,17 @@ int image_setup_libfdt(bootm_headers_t *images, void *blob,
|
||||
*/
|
||||
int image_setup_linux(bootm_headers_t *images);
|
||||
|
||||
/**
|
||||
* bootz_setup() - Extract stat and size of a Linux xImage
|
||||
*
|
||||
* @image: Address of image
|
||||
* @start: Returns start address of image
|
||||
* @end : Returns end address of image
|
||||
* @return 0 if OK, 1 if the image was not recognised
|
||||
*/
|
||||
int bootz_setup(ulong image, ulong *start, ulong *end);
|
||||
|
||||
|
||||
/*******************************************************************/
|
||||
/* New uImage format specific code (prefixed with fit_) */
|
||||
/*******************************************************************/
|
||||
|
Loading…
Reference in New Issue
Block a user