PATCH: Fix MMC boot in OMAP4 xload configurations
Sascha Hauer
s.hauer at pengutronix.de
Tue Feb 28 03:57:05 EST 2012
On Mon, Feb 27, 2012 at 08:32:47PM +0100, Jean-Christophe PLAGNIOL-VILLARD wrote:
> 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
Please check the series I just sent.
Sascha
--
Pengutronix e.K. | |
Industrial Linux Solutions | http://www.pengutronix.de/ |
Peiner Str. 6-8, 31137 Hildesheim, Germany | Phone: +49-5121-206917-0 |
Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-5555 |
More information about the barebox
mailing list