Attention is currently required from: Angel Pons, Benjamin Doron, Lean Sheng Tan, Martin L Roth, Maximilian Brune, Patrick Rudolph, Sean Rhodes.
Nico Huber has posted comments on this change. ( https://review.coreboot.org/c/coreboot/+/74121?usp=email )
Change subject: [RFC] drivers/option: Add forms in cbtables ......................................................................
Patch Set 21:
(1 comment)
Commit Message:
https://review.coreboot.org/c/coreboot/+/74121/comment/6c5cb197_578c8a18 : PS18, Line 15: The system currently lacks a way : to describe where to find option values.
Agreed. […]
Technically, backends that store the name of an option as a string would not need to be mentioned per option. That is, unless we want to restrict options to certain backends.
How about a new table tag per backend. When an entry with that tag is found directly below the CFR table, it means coreboot knows and queries this backend (and will continue with further entries until a value is found). When an entry is found below a specific option, it means for this option, the backend list is overwritten.
For instance:
Flash + CMOS (1) ---------------- ``` <cfr <flash> <option "somelongstring"> <option "somebool" <flash> <cmos start_bit=123 end_bit=123>
``` "somelongstring" would only be looked up in flash. "somebool" would only be looked up in CMOS if there is no entry in flash. IOW, flash could override the CMOS value for "somebool".
Flash + CMOS (2) ---------------- ``` <cfr <flash> <option "somelongstring"> <option "somebool" <cmos start_bit=123 end_bit=123>
``` Similar, but without flash override for "somebool".
Flash only ---------- ``` <cfr <flash> <option "someoption"> <option "anotheroption"> <option "athirdoption"> ...
``` Compact form for all options in flash.