[coreboot] LAR walking madness

Carl-Daniel Hailfinger c-d.hailfinger.devel.2006 at gmx.net
Wed Jan 16 14:21:14 CET 2008


Stefan and I spoke about various v3 stuff yesterday and it seems we have
a slightly hackish solution which will avoid full LAR walks completely
by changing the header format.

Basically, to avoid a full walk, you have to avoid requesting a
nonexistant file. How?
We have two sources of for such requests and they are easy to fix:
- Looking for "normal/initram" when we should have looked for
"fallback/initram". Simply make sure check_normal_boot_flag() returns a
value matching the files you stored in the LAR.
- Looking for "stage2" and "payload" segments which are not there. We
can either add a "number of segments" field to the LAR header or we
restrict the number of segments to 2.

Incremental caching of lookups can still save some time, but avoiding
the full walk completely is going to save more time than anything else.

I will not be able to write any new code before the end of February (my
thesis simply eats up all my time), but both points above should be
really reasy to fix.


More information about the coreboot mailing list