From mboxrd@z Thu Jan 1 00:00:00 1970 From: Maxime Ripard Date: Thu, 23 Apr 2015 09:41:04 +0200 Subject: [U-Boot] fastboot boot base address behaviour In-Reply-To: <201504221756.23157.marex@denx.de> References: <20150422130447.GA16865@lukather> <201504221756.23157.marex@denx.de> Message-ID: <20150423074104.GC28007@lukather> List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: u-boot@lists.denx.de On Wed, Apr 22, 2015 at 05:56:23PM +0200, Marek Vasut wrote: > > I've been trying to use fastboot (and especially the boot command) on > > sunxi recently, and got it to work pretty fine (apart from PSCI, but > > that's another story). > > > > The only thing that worries me a bit is that by default, both the > > fastboot tool and mkbootimg will generate an image with the kernel > > address set to 0x10008000. > > Looks like MX6 DRAM base address, so this should definitelly not be > fixed to this address here. The +0x8000 offset is the kernel load > offset. > > > While it might work on some targets, it obviously doesn't on the > > Allwinner SoCs that most of the time have the RAM mapped to 0x4000000, > > which result in the kernel being relocated to some address that is not > > in RAM, failing badly. > > Yep. > > > I would expect U-Boot to relocate the kernel to some reasonable > > address, and not try to do something dumb by actually trusting > > completely the boot image. > > I'd expect the image to be correct in the first place though ;-) > > > I guess one way to solve this would be to really treat 0x10008000 as > > the default, and relocate the kernel to whatever value make sense on > > the current platform (even though that needs to be defined). > > > > That way, "fastboot boot zImage" would actually work out of the box, > > without requiring to set the optional "-b" option to set the kernel > > base address to some decent value. > > Then I'd say such "default" address should be something like 0xffffffff . I'd probably agree if we were on a perfect world :) But the fact is that the tools that are creating these boot.img in Android all have this default, and *will* fill the kernel address header to this value. https://android.googlesource.com/platform/system/core/+/master/fastboot/fastboot.cpp, line 72 https://android.googlesource.com/platform/system/core/+/master/mkbootimg/mkbootimg.c, line 112 So even if we send a patch to Android itself, that won't fix the tools that are already in the source code of published Android versions, or the packages bundled in the distribution. So I think that instead of blindly trusting these tools, U-Boot should handle that address has the de facto default, even if it doesn't make any sense :) Maxime -- Maxime Ripard, Free Electrons Embedded Linux, Kernel and Android engineering http://free-electrons.com -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 819 bytes Desc: Digital signature URL: