[U-Boot] [PATCH V3 1/8] arm: Add Prep subcommand support to bootm
Andreas Bießmann
andreas.devel at googlemail.com
Fri Aug 26 13:52:27 CEST 2011
Dear Simon,
Am 26.08.2011 11:57, schrieb Simon Schwarz:
> Dear Andreas,
>
> On 08/25/2011 11:40 AM, Andreas Bießmann wrote:
>> Dear Simon,
<snip>
>>> void arch_lmb_reserve(struct lmb *lmb)
>>> @@ -98,63 +101,67 @@ int do_bootm_linux(int flag, int argc, char
>>> *argv[], bootm_headers_t *images)
>>> bd_t *bd = gd->bd;
>>> char *s;
>>> int machid = bd->bi_arch_number;
>>> - void (*kernel_entry)(int zero, int arch, uint params);
>>> + void (*kernel_entry)(int zero, int arch, uint params) = NULL;
>>
>> This should not be necessary, kernel_entry would be on bss which should
>> be initialized to zero by start.S.
>
> I added this because of compiler warnings that it could be used
> uninitialized.
I see, you changed the flow of this function elementary. Sorry, did not
realize that.
>>>
>>> #ifdef CONFIG_CMDLINE_TAG
>>> char *commandline = getenv ("bootargs");
>>> #endif
>>> -
>>> - if ((flag != 0)&& (flag != BOOTM_STATE_OS_GO))
>>> - return 1;
>>> -
>>> - s = getenv ("machid");
>>> - if (s) {
>>> - machid = simple_strtoul (s, NULL, 16);
>>> - printf ("Using machid 0x%x from environment\n", machid);
>>> - }
>>> -
>>> - show_boot_progress (15);
>>> + if ((flag != 0)&& (!(flag& BOOTM_STATE_OS_GO ||
>>> + flag& BOOTM_STATE_OS_PREP)))
>>
>> switch'n'case would be much cleaner here. And seperating the
>> functionality into functions would be nice too.
>
> Hehe. Somehow I did know that this topic will come up. I intended to
> change the code as little as possible.
Well, switch'n'case is not correct here, sorry for misleading comment.
> So essentially this would mean to rewrite this to reflect the structure
> of the ppc version. Will do if there are no objections.
+1 for rewrite, Albert how do you think about?
> If there are no objections I also would like to separate this patch from
> this series. This has some advantages:
> - Support for the prep subcommand is essential for saving the boot
> parameters. (if prep is in saving can also be done manually)
> - I think that there won't be much discussion about the usefulness of
> implementing this - just some about the how.
I think it would be good idea to add the 'bootm prep' command to arm
implementation of bootm in a separate step.
<snip>
>>> + if (flag == 0 || flag& BOOTM_STATE_OS_GO) {
>>
>> flag == 0? Shouldn't that be flag == BOOTM_STATE_OS_GO?
>
> flag = 0 means that no subcommand was issued -> execute everything.
again, sorry for the noise.
<snip>
best regards
Andreas Bießmann
More information about the U-Boot
mailing list