patina-v22.1.0
What's Changed
-
[REBASE \& FF] Upgrade to r-efi v7 @os-d (#1587)
Change Details
## Description
Update to r-efi v7
This upgrades Patina to use r-efi v7. mu_rust_helpers is also updated as a new version is required there to pull in r-efi v7 and not have multiple versions pulled.
The breaking change in v7 is upgrading to MAT v2, so that is done.
Use efi::Status Display
r-efi v7 added a Display impl for efi::Status. This is much nicer to read in logs as it prints the pretty name, not a hex value. Update to using it across the tree.
Closes #1302 .
Global: Add impl Display for EfiError
Now that r-efi's Status has impl Display, add impl Display for EfiError and simply use the r-efi Status Display impl.
This commit then changes all usage to use Display instead of Debug to get the more useful Status name instead of hex value.
debug_image_info_table: Use r-efi Defintion
r-efi v7 brought in the upstreamed definition of the debug image info table, use that instead of Patina's version.
Closes #490
- Impacts functionality?
- Impacts security?
- Breaking change?
- Includes tests?
- Includes documentation?
How This Was Tested
Booting Q35 and QemuArmVirt. Connecting to the debugger at shell time, ensuring all modules could be loaded.
Integration Instructions
Platforms should upgrade to r-efi v7 and mu_rust_helpers v4.1.0 to avoid pulling in multiple r-efi versions.
Platforms may see the following mismatch due to r-efi v6 and v7 mismatch:
error[E0308]: mismatched types --> TelemetryHelperLib\src\lib.rs:134:43 | 134 | library_id: *library_id.unwrap_or(&guid::ZERO), | --------- ^^^^^^^^^^^ expected `r_efi::base::Guid`, found a different `r_efi::base::Guid` | | | arguments to this method are incorrect | note: two different versions of crate `r_efi` are being used; two types coming from two different versions of the same crate are different types even if they look the same</blockquote> <hr> </details>
Full Changelog: patina-v22.0.2...v22.1.0