[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