[U-Boot] [PATCH V14 12/13] arm: Add Prep subcommand support to bootm
Tom Rini
tom.rini at gmail.com
Mon Mar 19 18:26:05 CET 2012
On Thu, Mar 15, 2012 at 03:01:45PM +0100, Stefano Babic wrote:
> From: Simon Schwarz <simonschwarzcor at googlemail.com>
>
> Adds prep subcommand to bootm implementation of ARM. When bootm is called
> with the subcommand prep the function stops right after ATAGS creation and
> before announce_and_cleanup.
>
> This is used in command "cmd_spl export"
[snip]
> +static void boot_jump_linux(bootm_headers_t *images)
> +{
> + int machid = gd->bd->bi_arch_number;
[snip]
> + if (s) {
> + strict_strtoul(s, 16, (long unsigned int *) &machid);
> + printf("Using machid 0x%x from environment\n", machid);
> + }
This upsets gcc 4.2. bi_arch_number is an unsigned long so I'm applying
the following to this patch as part of my commit:
diff --git a/arch/arm/lib/bootm.c b/arch/arm/lib/bootm.c
index 03c25e9..fc73ca9 100644
--- a/arch/arm/lib/bootm.c
+++ b/arch/arm/lib/bootm.c
@@ -310,7 +310,7 @@ static void boot_prep_linux(bootm_headers_t *images)
/* Subcommand: GO */
static void boot_jump_linux(bootm_headers_t *images)
{
- int machid = gd->bd->bi_arch_number;
+ unsigned long machid = gd->bd->bi_arch_number;
char *s;
void (*kernel_entry)(int zero, int arch, uint params);
@@ -318,8 +318,8 @@ static void boot_jump_linux(bootm_headers_t *images)
s = getenv("machid");
if (s) {
- strict_strtoul(s, 16, (long unsigned int *) &machid);
- printf("Using machid 0x%x from environment\n", machid);
+ strict_strtoul(s, 16, &machid);
+ printf("Using machid 0x%lx from environment\n", machid);
}
debug("## Transferring control to Linux (at address %08lx)" \
The original code used simple_strtoul which doesn't cause a warning here
and newer gcc decided the unpatched usage was fine.
--
Tom
More information about the U-Boot
mailing list