Skip to content

patina-v19.0.2

Choose a tag to compare

@github-actions github-actions released this 08 Jan 04:50
· 364 commits to refs/heads/main since this release
246787b

What's Changed

  • debug\_image\_info\_table: move to pi\_dispatcher module @Javagedes (#1223)
    Change Details
      ## Description

    This commit moves the debug_iamge_info_table logic underneath the pi_dispatcher module and removes the global static.

    Closes #1213

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

    How This Was Tested

    1. CI Validation
    2. UEFI Shell Boot
    3. Debugger commands validation

    Integration Instructions

    N/A




  • debug\_image\_info\_table: Refactor table to own its own memory @Javagedes (#1219)
    Change Details
      ## Description

    This commit re-writes debug_image_info_table in preparation for moving it underneath the PiDispatcher module. The main goal of this refactor is to allow the DebugImageInfoData structure to manage it's own memory instead of delegating to a Box<[...]>. Box<[...]> is typically only used for types that do not grow over time because adding or removing from the slice requires a new allocation. Since we add / remove entries frequently (though not a hot path), we should not be using a Box>[...]>.

    Instead, we now manage our own allocation manually for this structure by tracking the not only the current size in the header, but also the current capacity outside of the header. This allows us to add or remove entries without needing continuously re-allocate.

    To properly review this PR, the main focus should be patina_dxe_core/src/config_tables/debug_image_info_table.rs. I would look at this as a standalone file addition. There are really no similarities between the old and new implementation.

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

    How This Was Tested

    1. Ran miri on all tests in debug_image_info_table.
    2. Passes CI. Continues to boot to shell.
    3. Debugger functionality still works

    Integration Instructions

    N/A




  • Small cleanup of compilation blockers and warnings for `aarch64` @hashcatHitman (#1214)
    Change Details
      ## Description

    As part of the investigation into and work on #1092, I moved clippy to the "Rust" CI job, causing it to be run for each runner. This was accomplished in patina-devops#53, which is part of the v0.3.7 release of patina-devops.

    Running clippy on the aarch64 runner exposes a handful of issues that previously went unnoticed, which will cause CI to fail when we move to the v0.3.7 release of patina-devops. In preparation for that move, this PR resolves a two categories of failure:

    1. Unresolved modules/crates (E0432 and E0433), which was caused by the doc feature enabling code which used modules/dependencies that were gated behind an architecture but not the doc feature.
    2. Needless return warnings.
    • Impacts functionality?
    • Impacts security?
    • Breaking change?
    • Includes tests?
    • Includes documentation?

    How This Was Tested

    • cargo make all locally, with the deny command commented out (as it is currently blocking me on RUSTSEC-2025-0137, which is unrelated to what this PR does).
    • A CI run using v0.3.7 of patina-devops (found here). It still fails due to the remaining issues (dead code and missing safety comments), but otherwise passes.

    Integration Instructions

    N/A




🐛 Bug Fixes

  • Stability tests: Fixing a few runtime tests after we dial up the memory size @kuqin12 (#1222)
    Change Details
      ## Description

    A few runtime tests are failing when running ARM64 system with larger available memory.

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

    How This Was Tested

    This was tested on QEMU SBSA and booted to both UEFI shell and OS with various amount of memory available.

    Integration Instructions

    N/A




Full Changelog: patina-v19.0.1...v19.0.2