RFC on coreboot forms representation

Patrick Rudolph <[email protected]>
Newsgroups gmane.linux.bios
Message-ID <CALNFmy0aXzWrn4b4RCu48bTnRO2JsMrV-3_rysNShyPFohpuOA@mail.gmail.com>
Hello coreboot folks,
At the time of writing coreboot is lacking good firmware menus or
user-space applications to change options consumed by coreboot. While
there's support for changing CMOS options in SeaBIOS or from within
Linux on some x86 mainboards it's quite limited in user friendliness.
While CMOS was a great thing some decades ago, it cannot compete with
today's flash based non-volatile option store, like UEFI variables,
SMMSTORE or VPD.

Our best engineers at 9elements came up with a possible solution:
coreboot forms representation, see [1], [2], [3]
CFR allows to have nice firmware menus in coreboot payloads as done in
example for tianocore/EDK2 [5]. While it was designed with EDK2 in
mind it's possible to use it on any payload with any variable store
back-end (UEFI, SMMSTORE, VPD, CMOS, ...), as it's really about
providing meta data about the options, not how to actually store it's
value in a non-volatile fashion. The coreboot forms representation is
provided to a payload in a new coreboot table and is generated at
runtime by using C-style lookup tables, but in order to reduce code
duplicates can be defined in common code as done in [4].

Please review and give feedback.
Regards,
Patrick

1: https://review.coreboot.org/c/coreboot/+/77882/
2: https://review.coreboot.org/c/coreboot/+/74121/
3: https://review.coreboot.org/c/coreboot/+/78506/
4: https://review.coreboot.org/c/coreboot/+/78296/
5: https://github.com/9elements/edk2/commit/f34f17996444ef811cc0223b4f875c45daa944dd
_______________________________________________
coreboot mailing list -- [email protected]
To unsubscribe send an email to [email protected]
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.