UefiPayloadPkg: add coreboot CFR setup support#12869
Open
Sean-StarLabs wants to merge 8 commits into
Open
Conversation
Add a driver and helper library that expose coreboot CFR settings through HII. Parse the CFR coreboot table into form HOBs and create the matching variables. Signed-off-by: Sean Rhodes <sean@starlabs.systems>
Add the coreboot CFR version field and reject records using an incompatible format. Signed-off-by: Filip Brozovic <fbrozovic@gmail.com>
Use the minimum, maximum, step and display format supplied by coreboot when creating numeric HII options. Signed-off-by: Filip Brozovic <fbrozovic@gmail.com>
Use coreboot's non-reflected CRC32 implementation when checking CFR records. Signed-off-by: Filip Brozovic <fbrozovic@gmail.com>
Translate coreboot dependency values into HII conditions so dependent settings are only shown when their parent has a matching value. Honor the inactive and runtime flags used by current coreboot CFR data. Signed-off-by: Matt DeVillier <matt.devillier@gmail.com>
Rewrite existing CFR variables when their volatile or runtime flags change so the stored value keeps the attributes advertised by coreboot. Signed-off-by: Sean Rhodes <sean@starlabs.systems>
Sean-StarLabs
force-pushed
the
agent/upstream-cfr
branch
from
July 23, 2026 13:19
ba07d9d to
93de323
Compare
tianocore-assign-reviewers
Bot
requested review from
benjamindoron,
gdong1,
gguo11837463,
jameslu8 and
shuoliu0
July 23, 2026 13:20
Validate record sizes, strings and child ordering before creating CFR HOBs. Reject malformed data instead of relying on debug assertions. Handle runtime-apply records, use coreboot's varchar child order and return errors for invalid HII configuration strings. Signed-off-by: Sean Rhodes <sean@starlabs.systems>
Publish a volatile EFI variable describing runtime CFR options so OS tools can discover and apply them. Test=StarFighter MTL exposed CorebootCfrSettings. fwupd changed kbl_timeout in S0. Signed-off-by: Sean Rhodes <sean@starlabs.systems>
Sean-StarLabs
force-pushed
the
agent/upstream-cfr
branch
from
July 23, 2026 13:53
93de323 to
26a5be3
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Description
Expose coreboot CFR settings through the UefiPayload HII setup menu.
The series includes the current coreboot format: root versioning, numeric limits, dependencies, runtime variable attributes and runtime-apply records. CFR trees are validated before HOB creation, and malformed HII configuration strings return errors instead of relying on debug assertions.
Runtime-accessible numeric settings are also published in the volatile
CorebootCfrSettingsvariable so operating-system tools can discover their limits and runtime-apply method. Metadata construction fails closed instead of publishing a partial table.How This Was Tested
PatchCheck.pypassed for all eight commits.An X64 DEBUG UefiPayloadPkg build passed with GCC using the coreboot bootloader target.
On StarFighter MTL,
CorebootCfrSettingsreported the runtimekbl_timeoutsetting and fwupd changed it in S0.Integration Instructions
N/A