[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: iMX6 EOMA-68 CPU Card (or rather arguing over what a boot loader should do)



On Thu, Feb 28, 2013 at 7:19 PM, Bill Gatliff <bgat@billgatliff.com> wrote:

> I'm not insisting that we have to bring all this stuff into Linux too.
>  In fact, keeping some of these details hidden away inside a true
> bootloader is often a good idea because some low-level hardware
> details Linux just doesn't care about, or they have to be addressed
> before the hardware can deal with the large memory footprint that
> Linux requires.

 if you're familiar with the allwinner a10 3-stage initialisation
process, they have a 16k bit of assembly code which conveniently fits
into the 1st level cache of the Cortex A8 processor.  i say
"conveniently" but actually i mean "you have no option but to follow
this 3-stage initialisation".

 it carries out the low-level initialisation i mentioned earlier [such
as bringing up the DDR3 RAM interface].   this assembly code has been
added into a separate subdirectory of the u-boot sunxi source code
tree...

 .... but it's actually a completely independent application.  this
application, its authors have modified it so that it can do reading
from the SD/MMC card, providing greatly-enhanced functionality over
what allwinner originally provided.

 there is absolutely no reason why this application should not read a
linux kernel + initrd and execute that instead of u-boot.

 the point i'm making is: the exact same technique could be deployed
on any other hardware, again making it completely unnecessary to make
a dog's dinner out of u-boot or pollute the linux kernel itself with
yet more low-level initialisation.

l.


Reply to: