Hi,
currently the option table (which contains the metadata necessary to
parse CMOS data properly) is stored in ramstage. This patch moves it to
CBFS, making it available for inspection by utilities.
The idea is to allow nvramtool to configure cmos defaults (which are
stored in CBFS) by using the table (also stored in CBFS). This requires
some changes to nvramtool, but this is the only necessary change in
coreboot to allow this.
The downside is that cmos_layout.bin is not compressed, while ramstage
(and thus the layout information it contained) usually is. With layout
data being 2kb or less that shouldn't be much of an issue.
Right now, the table is copied into cbtable by coreboot, like it used
to. It would be possible to just link it to the end of cbtable, making
the chain run into flash space, but I didn't do that to minimize the
impact of this patch. I'm not sure if reducing cbtable's RAM use by 2kb
is worth the potential trouble.
Signed-off-by: Patrick Georgi <patrick.georgi(a)secunet.com>