[U-Boot-Users] Can U-boot Autodetect arch/ppcversusarch/powerpc from info in the uImage?
Wolfgang Denk
wd at denx.de
Sun Dec 9 20:28:16 CET 2007
In message <010601c83a89$8b22bfa0$02ac10ac at Jocke> you wrote:
>
> > I hereby NAK this patch for 3 reasons:
> >
> > 1) The patch does not solve a problem. Instead of harwiring the
> > address, you can just pass it as argument to the bootm command
> > which seems more straightforward to me
>
> It is not a hardwired address, it is a function call which returns an address to
> the OF tree of your choise. You can define it to an address too if you like.
Thanks for the correction. But actually it makes little difference;
it's a static thingy as we can't pass (varying) arguments to it. Or am
I missing something?
> > 3) With the patch applied and CFG_OF_TREE defined, there is no way to
> > boot a non-OF kernel, thus breaking backward compatibility.
>
> hmm, backwards compatibility. Current u-boot breaks backwards compatibility
> with older u-boots that didn't require an OF tree to be passed as an argument to
> bootm. Dunno when that happened but 1.1.4 has
In which way? We use OF-enabled versions of U-Boot on several boards
that are in use both with old (2.4.25) and new (2.6.23.X) non-OF
kernels, and with OF-enabled kernels as well. There are problems,
indeed, in certain constellations using multi-file images, but as long
as you use separate kernel, ramdisk and/or dtb images it works fine.
> extern const unsigned char oftree_dtb[];
> extern const unsigned int oftree_dtb_len;
> That needs to be defined in board code and holds the OF tree.
These lines were removed by this commit:
Author: Matthew McClintock <msm at freescale.com> 2006-06-28 17:41:37
Committer: Jon Loeliger <jdl at freescale.com> 2006-08-09 20:50:11
Parent: d87080b721e4f8dca977af7571c5338ae7bb8db7 (GCC-4.x fixes: clean up global data pointer initialization for all boards.)
Child: 5498d90312aad9f6bdbf047986027c35b03cd163 (* Patch to modify ft_build.c to update flat device trees in place Patch by Matthew McClintock 26-June-2006)
Follows: NIOS2-5_0_0
Precedes: U-Boot-1_1_6
* Modify bootm command to support booting with flat device trees
Patch by Matthew McClintock 26-June-2006
> The CFG_OF_TREE(or some variation there of) is the only way I can
> think of to support uppgrade of the older boards in the field in a
> easy and non error prone way.
Sorry, but I don't get you.
You started this discussion by mentioning that you want to embed the
DTB into the U-Boot image (and I commented you could just append it).
If you upgrade an old board by installing a new U-Boot image, you
will also overwrite the old embedded DTB and install a new one with
the new image, and this new address is well known to you so you can
easily pass it on the bootm command line.
Assuming the DTB image was NOT part of the U-Boot image it's address
would be known, too, so the same method could be used.
Finally, you could even compute the address by some code (although I
have to admit that I cannot image how that could be needed, but my
imagination is definitely limited) - nothing prevents you to add some
board specific code that is run automatically (for example, as part
of your misc_init_r() or last_stage_init() code) or manually (by
defining a board-specific command). This code could define or modify
an environment variable which then in turn gets used as third
argument to the bootm call. [Yes, this sounds complicated, and I
agree that it's probably never needed, but it would implement the
same what you want to do in a board-specific way, i. e. without
impact on other boards.]
I feel we are pretty much stuck here. You insist you need this, and I
fail to see any such need.
Could please somebody else (probaly with a deeper understanding of
DTB magic than me) try to moderate this discussion so we can come to
a decision that is based on mutual understanding?
Volunteers welcome...
Best regards,
Wolfgang Denk
--
DENX Software Engineering GmbH, MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: wd at denx.de
There are bugs and then there are bugs. And then there are bugs.
- Karl Lehenbauer
More information about the U-Boot
mailing list