Skip to content

patina-v22.1.0

Choose a tag to compare

@github-actions github-actions released this 24 Jun 17:22
8d06061

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