[coreboot] ARM Linux kernel payload (was: GSoC-2014 Coreboot project)

mrnuke mr.nuke.me at gmail.com
Wed Mar 19 21:38:01 CET 2014


On Wednesday, March 19, 2014 09:32:44 PM Stefan Tauner wrote:
> On Wed, 19 Mar 2014 16:01:05 +0100
> 
> Peter Stuge <peter at stuge.se> wrote:
> > > I'd like somebody to look at doing LinuxBIOS again, i.e. getting us back
> > > to
> > > the point where we can embed linux in the flash as the payload. Patrick
> > > got
> > > us a long way back toward getting that working, and it'd be nice to see
> > > it
> > > finished.
> > 
> > I've tested it - it works well at least in QEMU.
> > 
> > A solution is still needed for ARM though.
> 
> What are the problems there/what needs to be done?

You need to pass a machine ID in r0, zero in r1, and a pointer to the 
devicetree in r2. We don't have a trampoline in cbfstool like we do for x86. 
So:
 * find machine ID from CBFS, load it into lb_tables
 * find .dtb load it into RAM, add entry to lb_tables
In trampoline (ARMv7 assembly):
 * parse lb_table for machine ID, store it in r0
 * parse lb_table for .dtb, store its address in r2
 * branch to kernel entry point

Alex



More information about the coreboot mailing list