[U-Boot-Users] [PATCH 1/3] ppc: Report back the location we put the device tree if we dont boot
Bartlomiej Sieka
tur at semihalf.com
Wed Aug 6 10:21:35 CEST 2008
Wolfgang Denk wrote:
> In message <1218004332-20311-1-git-send-email-galak at kernel.crashing.org> you wrote:
>> Its useful to know where the device tree is if we have set 'autostart'
>> to 'no. We come back to the prompt after a boot command and we can
>> than post process the device tree but we need to know where it was put
>> report this back via the env variable 'bootm_fdtaddr'.
>
> NAK.
>
> The whole code sequence in bootm.c seems broken to me:
>
> 272 debug ("## Transferring control to Linux (at address %08lx) ...\n",
> 273 (ulong)kernel);
> 274
> 275 show_boot_progress (15);
> 276
> 277 #if defined(CFG_INIT_RAM_LOCK) && !defined(CONFIG_E500)
> 278 unlock_ram_in_cache();
> 279 #endif
> 280 if (!images->autostart)
> 281 return ;
> 282
> 283 #if defined(CONFIG_OF_LIBFDT)
>
>
> The debug() [272f] should come immediately before booting the kernel
> (i. e. move below line 282) because it is supposed to show when we
> branch to Linux. No other code should be inbetween.
>
> And the (!images->autostart) test makes absolutely no sense here.
> Documentation says:
>
> autostart: if set to "yes", an image loaded using the rarpb,
> bootp, dhcp, tftp, disk, or docb commands will be
> automatically started (by internally calling the bootm
> command).
>
Hi Wolfgang,
The test you're referring to was introduced by commit
75fa002c47171b73fb4c1f2c2fe4d6391c136276 "[new uImage] Respect autostart
setting in linux bootm" by Kumar -- he should be better able to explain
the details.
> The "autostart" field introduced with the new image stuff behaves very
> different, and actually makes no sense to me at all.
>
> Bartek, could you please comment what the intended behaviour was, and
> how it relates to the documentated behaviour?
It looks like that the "autostart" field has been added to the
bootm_headers structure so that the arch-specific code can make
decisions about booting without the need to call getenv("autostart").
Instead, the "autostart" field is set based on the env. variable once,
and passed to boot-related functions via a parameter (e.g., "images" in
do_bootm_linux()).
Again, this field has beed introduced by Kumar
(f5614e7926863bf0225ec860d9b319741a9c4004, "[new uImage] Add autostart
flag to bootm_headers structure"), who should be able to comment more.
Regards,
Bartlomiej
More information about the U-Boot
mailing list