PATCH: Fix MMC boot in OMAP4 xload configurations

Jean-Christophe PLAGNIOL-VILLARD plagnioj at jcrosoft.com
Mon Feb 27 14:32:47 EST 2012


On 08:23 Fri 24 Feb     , Sascha Hauer wrote:
> Hi Mark,
> 
> On Thu, Feb 23, 2012 at 04:53:28PM +0000, Mark Olleson wrote:
> > omap4_bootsrc() always returns OMAP_BOOTSRC_UNKNOWN when an OMAP4
> > xload image is built with pcm049_xload_defconfig.  This is likely to
> > be the case for all OMAP4 xload configurations.
> > 
> > This means that when the CPU is configured to boot from MMC1 with
> > boot[5:0],  xload will load the second stage boot loader from NAND
> > flash (if present) rather than MMC1 as intended. 
> > 
> > omap4_bootsrc() reads data left behind towards the top of the SRAM by
> > the ROM-based boot-loader.  This is the same SRAM into which the xload
> > image is loaded.   The xload image is of a sufficient size that it
> > overwrites these locations, and OMAP4_TRACING_VECTOR3 always contains
> > 0.
> > 
> > These locations are in fact trampled by data in the BSS section of the
> > image.   The single largest item in there is FILE files[MAX_FILES].
> > This patch reduces the size of files[] considerably.  The image now
> > JUST fits.
> 
> Sorry, this is not even a short term solution, it will probably break
> very soon again.
> 
> > 
> > Long term, a better solution would be to not rely on
> > OMAP4_TRACING_VECTOR3, and instead use the structure passed into the
> > xload by the ROM-based boot loader - which also indicates the boot
> > device.     This wold allow us another 4kB of code before we overflow
> > the SRAM completely.
> 
> That sounds interesting. I wasn't aware that the ROM passes a structure
> into the bootloader.
> 
> Another thing is that I still have the Thumb2 patches pending which are
> currently blocked by Jean-Christophe.
> 
> Jean-Christophe, please please have a look on these patches again or at
> least say *what* is wrong with them so that I have a chance to rework
> them.
sorry need to finish some work on the kernel and the support of sam9x5 series

on AT91 we must have the vector at the begeniing of the binary and the only
valid instruction are ldr and branch

so with your patch the rom code cannot boot barebox

Best Regards,
J.



More information about the barebox mailing list