[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