Skip to content

Migrate mu_plus from mu_uefi_boot_services crate to patina crate - #881

Merged
Vineel Kovvuri[MSFT] (vineelko) merged 1 commit into
microsoft:release/202511from
vineelko:users/vineelko/prep_for_r_efi_6_0_0428
Apr 29, 2026
Merged

Vineel Kovvuri[MSFT] (vineelko) merged 1 commit into
microsoft:release/202511from
vineelko:users/vineelko/prep_for_r_efi_6_0_0428

Conversation

@vineelko

Copy link
Copy Markdown
Contributor

Description

  • mu_uefi_boot_services is not maintained and its functionality is moved into patina.
  • The mu_uefi_boot_services's crates.io point to non-existent repo.
  • This cleanup is needed to move mu_plus's r-efi dependency to 6.0

Next, Once Patina is updated to r-efi 6.0 we can migrate mu_plus to patina vnext and r-efi to 6.0

  • Impacts functionality?
  • Impacts security?
  • Breaking change?
  • Includes tests?
  • Includes documentation?

How This Was Tested

cargo make all worked. Will be tested in internal repos once r-efi 6.0 migration is done.

Integration Instructions

NA

@mu-automation

mu-automation Bot commented Apr 28, 2026

Copy link
Copy Markdown
Contributor

✅ QEMU Validation Passed

Source Dependencies

Repository Commit
mu_plus e2f1645
mu_tiano_platforms a448318

Results

Platform Target Build Boot Overall Boot Time Build Logs Boot Logs
Q35 DEBUG ✅ success ✅ success 0m 15s Build Logs Boot Logs
SBSA DEBUG ✅ success ✅ success 0m 31s Build Logs Boot Logs

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

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 Apr 28, 2026
@vineelko Vineel Kovvuri[MSFT] (vineelko) changed the title Migrate from mu_uefi_boot_services crate to patina crate Migrate mu_plus from mu_uefi_boot_services crate to patina crate Apr 28, 2026
@vineelko
Vineel Kovvuri[MSFT] (vineelko) force-pushed the users/vineelko/prep_for_r_efi_6_0_0428 branch from b66e98d to d740550 Compare April 28, 2026 18:26
@codecov-commenter

Codecov Comments Bot (codecov-commenter) commented Apr 28, 2026

Copy link
Copy Markdown

Codecov Report

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

Additional details and impacted files
@@                Coverage Diff                @@
##             release/202511     #881   +/-   ##
=================================================
  Coverage                  ?   10.24%           
=================================================
  Files                     ?      149           
  Lines                     ?    24500           
  Branches                  ?     2346           
=================================================
  Hits                      ?     2509           
  Misses                    ?    21955           
  Partials                  ?       36           
Flag Coverage Δ
AdvLoggerPkg 3.08% <ø> (?)
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 Sentry.
📢 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.

@vineelko Vineel Kovvuri[MSFT] (vineelko) changed the title Migrate mu_plus from mu_uefi_boot_services crate to patina crate [WIP] Migrate mu_plus from mu_uefi_boot_services crate to patina crate Apr 28, 2026
@vineelko

Copy link
Copy Markdown
Contributor Author

Marking this PR to Draft(WIP) because it looks like taking a dependency on patina requires some other crates(mu_rust_helper) to take more changes, because 32bit builds fail otherwise. So, it is much cleaner to make this change once patina is fully moved to r-efi 6.0 so that dependent crates will also be at r-efi 6.0.

E:\repos\mu_plus>cargo make --cwd E:\repos\mu_plus -e CARGO_TARGET_DIR=E:\repos\mu_plus\Build\MsCorePkg\DEBUG_VS2022\IA32\MsCorePkg\HelloWorldRustDxe\HelloWorldRustDxe\DEBUG -p development -e TARGET_TRIPLE=i686-unknown-uefi -e FILE_GUID=A14E35E2-BB32-4446-8622-C1874B8284E4 -e FEATURES= -e RUSTFLAGS="-C link-arg=/MAP:E:\repos\mu_plus\Build\MsCorePkg\DEBUG_VS2022\IA32\MsCorePkg\HelloWorldRustDxe\HelloWorldRustDxe\DEBUG\HelloWorldRustDxe.map -C link-arg=/base:0x0 -C link-arg=/subsystem:efi_boot_service_driver " build HelloWorldRustDxe
[cargo-make] INFO - cargo make 0.37.24
[cargo-make] INFO -
[cargo-make] INFO - Build File: Makefile.toml
[cargo-make] INFO - Task: build
[cargo-make] INFO - Profile: development
[cargo-make] INFO - Running Task: individual-package-targets
[cargo-make] INFO - Execute Command: "cargo" "build" "-p" "HelloWorldRustDxe" "--profile" "dev" "--target" "i686-unknown-uefi" "-Zbuild-std=core,compiler_builtins,alloc" "-Zbuild-std-features=compiler-builtins-mem" "-Zunstable-options" "--timings=html"
   Compiling mu_uefi_perf_timer v3.0.2
   Compiling mu_uefi_decompress v3.0.2
error[E0432]: unresolved import `arch::Arch`
 --> C:\Users\vineelko\.cargo\registry\src\index.crates.io-1949cf8c6b5b557f\mu_uefi_perf_timer-3.0.2\src\lib.rs:7:16
  |
7 | pub use arch::{Arch, ArchFunctionality};
  |                ^^^^ no `Arch` in `arch`
  |
note: found an item that was configured out
 --> C:\Users\vineelko\.cargo\registry\src\index.crates.io-1949cf8c6b5b557f\mu_uefi_perf_timer-3.0.2\src\arch.rs:4:21
  |
3 | #[cfg(target_arch = "x86_64")]
  |       ---------------------- the item is gated behind the `x86_64` feature
4 | pub use x64::X64 as Arch;
  |                     ^^^^
note: found an item that was configured out
 --> C:\Users\vineelko\.cargo\registry\src\index.crates.io-1949cf8c6b5b557f\mu_uefi_perf_timer-3.0.2\src\arch.rs:7:29
  |
6 | #[cfg(target_arch = "aarch64")]
  |       ----------------------- the item is gated behind the `aarch64` feature
7 | pub use aarch64::Aarch64 as Arch;
  |                             ^^^^

@vineelko
Vineel Kovvuri[MSFT] (vineelko) force-pushed the users/vineelko/prep_for_r_efi_6_0_0428 branch from d740550 to 91caef0 Compare April 29, 2026 16:49
@vineelko Vineel Kovvuri[MSFT] (vineelko) changed the title [WIP] Migrate mu_plus from mu_uefi_boot_services crate to patina crate Migrate mu_plus from mu_uefi_boot_services crate to patina crate Apr 29, 2026
@vineelko

Copy link
Copy Markdown
Contributor Author

Marking this PR to Draft(WIP) because it looks like taking a dependency on patina requires some other crates(mu_rust_helper) to take more changes, because 32bit builds fail otherwise. So, it is much cleaner to make this change once patina is fully moved to r-efi 6.0 so that dependent crates will also be at r-efi 6.0.
....

The pipeline failure for rust package for 32bit builds have been resolve with #882. So, removing this PR from draft. Feel free to review it now. Thanks.

@makubacki

Copy link
Copy Markdown
Member

+Christopher Zurcher (@zurcher) since he added the MuTelemetryHelperLib crate

- `mu_uefi_boot_services` is not maintained and its functionality is
  moved into patina.
- This is needed to move mu_plus's r-efi dependency to 6.0

Next, Once Patina is updated to r-efi 6.0 we can migrate mu_plus to
patina vnext and r-efi to 6.0

Signed-off-by: Vineel Kovvuri[MSFT] <vineelko@microsoft.com>
@vineelko
Vineel Kovvuri[MSFT] (vineelko) force-pushed the users/vineelko/prep_for_r_efi_6_0_0428 branch from 91caef0 to e2f1645 Compare April 29, 2026 21:31
@vineelko
Vineel Kovvuri[MSFT] (vineelko) merged commit 1d68de8 into microsoft:release/202511 Apr 29, 2026
30 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.

5 participants