Skip to content

Drop mu_pi and mu_rust_helpers crate dependencies (and fix build due to incoming r-efi v7) [Rebase & FF]#907

Merged
makubacki merged 4 commits into
microsoft:release/202511from
makubacki:mu_crate_deprecation_1_fix_refi_7_build
Jun 24, 2026
Merged

Drop mu_pi and mu_rust_helpers crate dependencies (and fix build due to incoming r-efi v7) [Rebase & FF]#907
makubacki merged 4 commits into
microsoft:release/202511from
makubacki:mu_crate_deprecation_1_fix_refi_7_build

Conversation

@makubacki

Copy link
Copy Markdown
Member

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 Deprecate mu_rust_helpers #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_helpers and mu_pi functionality with equivalent functionality from the patina crate. The patina crate was already a dependency.

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.

Signed-off-by: Michael Kubacki <michael.kubacki@microsoft.com>
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.

Signed-off-by: Michael Kubacki <michael.kubacki@microsoft.com>
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.

Signed-off-by: Michael Kubacki <michael.kubacki@microsoft.com>
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.

Signed-off-by: Michael Kubacki <michael.kubacki@microsoft.com>
@makubacki makubacki self-assigned this Jun 24, 2026
@mu-automation

mu-automation Bot commented Jun 24, 2026

Copy link
Copy Markdown
Contributor

✅ QEMU Validation Passed

Source Dependencies

Repository Commit
mu_plus 7ba64a8
mu_tiano_platforms 2f0a2be

Results

Platform Target Build Boot Overall Boot Time Build Logs Boot Logs
Q35 DEBUG ✅ success ✅ success 0m 20s Build Logs Boot Logs
ArmVirt DEBUG ✅ success ✅ success 0m 14s Build Logs Boot Logs

Workflow run: https://github.com/microsoft/mu_plus/actions/runs/28109413419

This comment was automatically generated by the Mu QEMU PR Validation workflow.

@mu-automation mu-automation Bot added the impact:non-functional Does not have a functional impact label Jun 24, 2026
@codecov-commenter

codecov-commenter commented Jun 24, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
⚠️ Please upload report for BASE (release/202511@cea5d2a). Learn more about missing BASE report.

Additional details and impacted files
@@                Coverage Diff                @@
##             release/202511     #907   +/-   ##
=================================================
  Coverage                  ?   10.21%           
=================================================
  Files                     ?      150           
  Lines                     ?    24568           
  Branches                  ?     2346           
=================================================
  Hits                      ?     2509           
  Misses                    ?    22023           
  Partials                  ?       36           
Flag Coverage Δ
AdvLoggerPkg 3.03% <ø> (?)
HidPkg 2.79% <ø> (?)
MfciPkg 34.00% <ø> (?)
MsCorePkg 1.30% <ø> (?)
MsWheaPkg 7.37% <ø> (?)
XmlSupportPkg 25.46% <ø> (?)

Flags with carried forward coverage won't be shown. Click here to find out more.

☔ View full report in Codecov by Harness.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@makubacki makubacki requested review from apop5, cfernald and os-d June 24, 2026 15:38
@makubacki makubacki merged commit bfc78cc into microsoft:release/202511 Jun 24, 2026
42 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

impact:non-functional Does not have a functional impact

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants