Skip to content

UefiPayloadPkg: make FmpDxe capsule placement configurable#12862

Open
Sean-StarLabs wants to merge 2 commits into
tianocore:masterfrom
StarLabsLtd:agent/upstream-capsule-fmp-packaging
Open

UefiPayloadPkg: make FmpDxe capsule placement configurable#12862
Sean-StarLabs wants to merge 2 commits into
tianocore:masterfrom
StarLabsLtd:agent/upstream-capsule-fmp-packaging

Conversation

@Sean-StarLabs

Copy link
Copy Markdown
Contributor

Capsule builds need FileHandleLib, and FmpDxe placement must match whether capsule embedded drivers are dispatched.

Make the two modes explicit:

  • Keep FmpDxe in the firmware volume by default.
  • When CAPSULE_EMBED_FMP_DXE is enabled, build FmpDxe for capsule embedding, omit it from the firmware volume, and enable embedded-driver dispatch.
  • Require CAPSULE_MAIN_FW_GUID for capsule-enabled builds.

Tested with PatchCheck, the official Stuart X64 FIT build, and IA32/X64 capsule builds in both placement modes. The generated PCD value and FmpDxe firmware-volume membership were checked in each mode.

DxeCapsuleLibFmp requires FileHandleLib, but capsule-enabled payload
builds do not provide an instance. Add UefiFileHandleLib when capsule
support is enabled.

Signed-off-by: Sean Rhodes <sean@starlabs.systems>
Include FmpDxe in the payload FV by default. When
CAPSULE_EMBED_FMP_DXE is enabled, omit it from the FV and enable
embedded capsule driver dispatch instead.

Require a firmware GUID whenever capsule support is enabled.

Signed-off-by: Sean Rhodes <sean@starlabs.systems>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant