Skip to content

Integrate patina_boot::SreBootManager into surface_patina_intel for Won #83

@kat-perez

Description

@kat-perez

Wire patina_boot::SreBootManager into the Intel Surface DXE-core binary so the SRE flow ships on Won (Msft931WonPkg) and sister Ptl boards.

Source repo: dev.azure.com/MSFTDEVICES/UEFI-Intel/_git/surface_patina_intel (Cargo workspace; entry patina_bin/bin/patina_x64.rs). Currently registers only AdvancedLogger + Performance — Surface is still on legacy EDK II BDS, no Patina boot orchestration yet.

Won FDF (Msft931WonPkg.fdf line 1304) already embeds surface_patina_intel_x64.efi as the [FV.PATINA] FV_IMAGE, so once the binary updates, Won and sister boards (Maa/Pue) pick it up automatically via BLD_*_PATINA_BINARY_PATH. No per-board FDF/DSC changes needed.

Steps:

  1. Add patina_boot as a workspace dep in surface_patina_intel/Cargo.toml. Use path = "../patina/components/patina_boot" during local development; switch to version = "..." once patina_boot lands on the registry (likely post-EDC).
  2. Register the BDS architectural protocol in patina_bin/bin/patina_x64.rs's ComponentInfo::components impl:
    add.component(patina_boot::BootDispatcher::new(
        Arc::new(patina_boot::SreBootManager::new(boot_partition_path, main_os_path))
    ));
    Boot partition + main OS device paths come from platform PCDs / config HOBs (likely via MsSurfaceCorePkg/Library/PeiPatinaConfigLib).
  3. Bump surface_patina_intel/Cargo.toml and patina_bin/Cargo.toml versions so CI publishes a new Universal Package to the UEFI-Intel feed.
  4. Smoke-test on Won by updating BLD_*_PATINA_BINARY_PATH to point at the new UPack and confirming the firmware boots.

Out of scope (follow-up sub-issues):

Depends on: #62 (PR #1492) merged or available via path dep.

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type
No fields configured for issues without a type.

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions