
In message 1218004332-20311-1-git-send-email-galak@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).
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?
Best regards,
Wolfgang Denk