mirror of
https://github.com/brain-hackers/u-boot-brain
synced 2024-09-28 23:50:26 +09:00
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
|
#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) {
|
if (zi->zi_magic != LINUX_ARM_ZIMAGE_MAGIC) {
|
||||||
puts("Bad Linux ARM zImage magic!\n");
|
puts("Bad Linux ARM zImage magic!\n");
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
*start = (void *)zi->zi_start;
|
*start = zi->zi_start;
|
||||||
*end = (void *)zi->zi_end;
|
*end = zi->zi_end;
|
||||||
|
|
||||||
debug("Kernel image @ 0x%08x [ 0x%08x - 0x%08x ]\n",
|
printf("Kernel image @ %#08lx [ %#08lx - %#08lx ]\n", image, *start,
|
||||||
(uint32_t)image, (uint32_t)*start, (uint32_t)*end);
|
*end);
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif /* CONFIG_CMD_BOOTZ */
|
#endif /* CONFIG_CMD_BOOTZ */
|
||||||
|
@ -1746,15 +1746,13 @@ static int do_bootm_integrity(int flag, int argc, char * const argv[],
|
|||||||
|
|
||||||
#ifdef CONFIG_CMD_BOOTZ
|
#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 */
|
/* Please define bootz_setup() for your platform */
|
||||||
|
|
||||||
puts("Your platform's zImage format isn't supported yet!\n");
|
puts("Your platform's zImage format isn't supported yet!\n");
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
int bootz_setup(void *image, void **start, void **end)
|
|
||||||
__attribute__((weak, alias("__bootz_setup")));
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* zImage booting support
|
* 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)
|
char * const argv[], bootm_headers_t *images)
|
||||||
{
|
{
|
||||||
int ret;
|
int ret;
|
||||||
void *zi_start, *zi_end;
|
ulong zi_start, zi_end;
|
||||||
|
|
||||||
ret = do_bootm_states(cmdtp, flag, argc, argv, BOOTM_STATE_START,
|
ret = do_bootm_states(cmdtp, flag, argc, argv, BOOTM_STATE_START,
|
||||||
images, 1);
|
images, 1);
|
||||||
@ -1779,7 +1777,7 @@ static int bootz_start(cmd_tbl_t *cmdtp, int flag, int argc,
|
|||||||
images->ep);
|
images->ep);
|
||||||
}
|
}
|
||||||
|
|
||||||
ret = bootz_setup((void *)images->ep, &zi_start, &zi_end);
|
ret = bootz_setup(images->ep, &zi_start, &zi_end);
|
||||||
if (ret != 0)
|
if (ret != 0)
|
||||||
return 1;
|
return 1;
|
||||||
|
|
||||||
|
@ -662,6 +662,17 @@ int image_setup_libfdt(bootm_headers_t *images, void *blob,
|
|||||||
*/
|
*/
|
||||||
int image_setup_linux(bootm_headers_t *images);
|
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_) */
|
/* New uImage format specific code (prefixed with fit_) */
|
||||||
/*******************************************************************/
|
/*******************************************************************/
|
||||||
|
Loading…
Reference in New Issue
Block a user