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:
- 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).
- 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).
- Bump
surface_patina_intel/Cargo.toml and patina_bin/Cargo.toml versions so CI publishes a new Universal Package to the UEFI-Intel feed.
- 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.
Wire
patina_boot::SreBootManagerinto 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; entrypatina_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.fdfline 1304) already embedssurface_patina_intel_x64.efias the[FV.PATINA]FV_IMAGE, so once the binary updates, Won and sister boards (Maa/Pue) pick it up automatically viaBLD_*_PATINA_BINARY_PATH. No per-board FDF/DSC changes needed.Steps:
patina_bootas a workspace dep insurface_patina_intel/Cargo.toml. Usepath = "../patina/components/patina_boot"during local development; switch toversion = "..."oncepatina_bootlands on the registry (likely post-EDC).patina_bin/bin/patina_x64.rs'sComponentInfo::componentsimpl:MsSurfaceCorePkg/Library/PeiPatinaConfigLib).surface_patina_intel/Cargo.tomlandpatina_bin/Cargo.tomlversions so CI publishes a new Universal Package to the UEFI-Intel feed.BLD_*_PATINA_BINARY_PATHto point at the new UPack and confirming the firmware boots.Out of scope (follow-up sub-issues):
HotkeySourcetrait (Add HotkeySource trait with keyboard and mock implementations #63) —MsButtonServicesHotkeySourceconsuminggMsButtonServicesProtocolGuid. Surface usesBootButtonsDxe(GPIO + SAM USP), not scancode interception.Depends on: #62 (PR #1492) merged or available via path dep.