microsoft/mu_plus v2025110002.0.0
microsoft/mu_plus
Captured source
source ↗v2025110002.0.0
Repository: microsoft/mu_plus
Tag: v2025110002.0.0
Published: 2026-06-25T18:24:52Z
Prerelease: no
Release notes:
What's Changed
Drop mu\_pi and mu\_rust\_helpers crate dependencies (and fix build due to incoming r-efi v7) [Rebase \& FF] @makubacki (#907)
Change Details
Description
A series of commits with two goals:
1. mu_rust_helpers moved to r-efi v7 in eefef09. The minor version was updated which caused many crates depending on mu_rust_helpers to pick up the change automatically per semantic versioning while there other dependencies stayed on r-efi v6. This could lead to type mismatches (and did in this repo). So, this prevents that. 2. Support the longer-term goal of deprecating mu_rust_helpers and mu_pi (as described in #906) by removing their usage in this repo.
---
MuTelemetryHelperLib: Fix r-efi v7 GUID constant conflict
mu_rust_helpers re-exports mu_uefi_guid, which updated to r-efi v7.
Its guid::ZERO and guid::CALLER_ID constants are compiled against r-efi v7, while patina (and the rest of the tree) remain on r-efi v6, producing mismatched-type errors when those constants are used in v6 contexts.
This makes the move to the patina crate's GUID constants. The patina version used here is still on r-efi v6, so its patina::guids::ZERO and patina::guids::CALLER_ID constants are compiled against r-efi v6.
This is also a step toward removing the mu_rust_helpers dependency from this crate.
---
MuTelemetryHelperLib: Use patina instead of mu_pi
Replaces the mu_pi status code types and error-code constants with the equivalent definitions from the patina crate (patina::pi::status_code and patina::pi::protocols::status_code).
This removes the mu_pi dependency from the crate and the workspace.
---
MsWheaPkg: Remove mu_rust_helpers dependency
Makes the remaining changes needed to replace mu_rust_helpers with the patina crate. This is part of the effort to remove mu_rust_helpers as it is being deprecated.
---
Remove mu_rust_helpers as a workspace dependency
Makes the remaining changes needed in UefiHidDxeV2 to use patina::function instead of mu_rust_helpers::function so the crate dependency can be removed from the workspace.
---
- [ ] Impacts functionality?
- [ ] Impacts security?
- [ ] Breaking change?
- [ ] Includes tests?
- [ ] Includes documentation?
How This Was Tested
- Run cargo make tasks
- CI
Integration Instructions
- N/A - Replace
mu_rust_helpersandmu_pifunctionality with equivalent functionality from thepatinacrate. Thepatinacrate was already a dependency.
AdvLoggerPkg: Gate hardware port writes at OS runtime @chaokai-ching (#902)
Change Details
Description
AdvancedLoggerWrite unconditionally wrote debug output to the hardware serial port at both boot time and OS runtime (after ExitBootServices). Some platforms' serial implementations cannot be safely called at OS runtime.
This change adds an opt-in FeatureFlag PCD PcdAdvancedLoggerHdwPortRuntimeDisable (default FALSE):
- Default (FALSE): behavior is unchanged — hardware port writes remain
enabled at runtime, so existing platforms are unaffected.
- TRUE: a platform whose serial cannot be safely called after
ExitBootServices restricts hardware port writes to boot time only, while early-boot and boot-time serial output is preserved.
Runtime is detected via the logger info block's AtRuntime field when available. The DXE runtime AdvancedLoggerLib instance clears its logger info pointer at ExitBootServices, so it consults a module-scoped ADVANCED_LOGGER_RUNTIME build flag plus a gAdvancedLoggerAtRuntime flag to distinguish post-EBS runtime from early boot when the logger info block is NULL.
- [x] Impacts functionality? Only when the new PCD is set TRUE (default FALSE = no change)
- [ ] Impacts security?
- [ ] Breaking change? No — default preserves existing behavior
- [ ] Includes tests? Not included; hardware-port gating path has no existing host-test coverage. Can add a GoogleTest if desired.
- [ ] Includes documentation? PCD documented in AdvLoggerPkg.dec
How This Was Tested
Built an ARM AARCH64 platform (DEBUG); all AdvancedLoggerLib instances compile. Verified on ARM AARCH64 hardware with a temporary driver that forces a serial write on the first post-SetVirtualAddressMap runtime call:
- PCD default (FALSE): the firmware faults on the runtime serial write
(reproduces the unsafe-at-runtime behavior).
- PCD TRUE: the runtime write is suppressed and the system boots cleanly,
while boot-time serial output is unaffected.
Integration Instructions
None required by default. Platforms whose serial implementation cannot be called safely at OS runtime should set gAdvLoggerPkgTokenSpaceGuid.PcdAdvancedLoggerHdwPortRuntimeDisable to TRUE.
[REBASE\&FF] .azurepipelines: Add CLANGPDB CI @Javagedes (#896)
Change Details
Description
Add CI that specifically builds each package in DEBUG and RELEASE with CLANGPDB on both Windows and Linux. Applies necessary changes to compile all packages with CLANGPDB.
- [ ] Impacts functionality?
- [ ] Impacts security?
- [ ] Breaking change?
- [ ] Includes tests?
- [ ] Includes documentation?
How This Was Tested
Windows: https://dev.azure.com/projectmu/mu/_build/results?buildId=111589&view=results Linux: https://dev.azure.com/projectmu/mu/_build/results?buildId=111590&view=results
Integration Instructions
N/A
.github: Switch Mu PR Validation workflow to main branch @makubacki (#897)
Change Details
Description
These workflow files were previously using a dedicated branch for development of the Mu PR Validation workflow. It has been stable for a couple of months now, so we can switch back to using the main branch which has the latest changes.
- [ ] Impacts functionality?
- [ ] Impacts security?
- [ ] Breaking change?
- [ ] Includes tests?
- [ ] Includes documentation?
How This Was Tested
- Compare branch content (
mainadd_mu_pr_val_workflow_e2e_val)
Integration Instructions
- N/A. Only affects GitHub repo workflow.
⚠️ Breaking Changes
Patina 22.1.0 integration (r-efi 7) [Rebase \& FF] @makubacki (#908)
Change Details
Description
Two commits to integrate the latest patina v22.1.0 (and fix the build).
---
Cargo.toml: Add AdvLoggerPkg/Crates/RustAdvancedLoggerDxe as a member...
Excerpt shown — open the source for the full document.
Notability
notability 3.0/10Routine release, no traction info.