From mboxrd@z Thu Jan 1 00:00:00 1970 From: Joakim Tjernlund Date: Sun, 9 Dec 2007 18:32:59 +0100 Subject: [U-Boot-Users] Can U-boot Autodetect arch/ppcversusarch/powerpc from info in the uImage? In-Reply-To: <20071209150038.D560B247F5@gemini.denx.de> References: Your message of "Sun, 09 Dec 2007 14:12:07 +0100." <1197205927.937.51.camel@gentoo-jocke.transmode.se> <20071209150038.D560B247F5@gemini.denx.de> Message-ID: <010601c83a89$8b22bfa0$02ac10ac@Jocke> List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: u-boot@lists.denx.de > -----Original Message----- > From: wd at denx.de [mailto:wd at denx.de] > Sent: den 9 december 2007 16:01 > To: joakim.tjernlund at transmode.se > Cc: Jerry Van Baren; u-boot-users at lists.sourceforge.net; > 'Darcy Watkins' > Subject: Re: [U-Boot-Users] Can U-boot Autodetect > arch/ppcversusarch/powerpc from info in the uImage? > > In message > <1197205927.937.51.camel@gentoo-jocke.transmode.se> you wrote: > > > > Made a new patch with Jerrys comments addressed. Also renamed > > DEFAULT_OF_TREE to CFG_OF_TREE. OK? > > I still object against this modification. > > > +#ifdef CFG_OF_TREE > > + char *of_flat_tree = CFG_OF_TREE; > > +#else > > char *of_flat_tree = NULL; > > +#endif > > ulong of_data = 0; > > #endif > > 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. > > 2) The patch causes confusion. Documented behaviour is that "bootm" > with one or two arguments (kernel address, or kernel plus ramdisk > addresses) will boot a non-OF enabled kernel. With this patch, > "bootm" will behave different on systems where the CFG_OF_TREE has > been silected - which is usually not known to and cannot be > checked by the end user, thus causing confusion. > > 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 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. 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. Jocke