patina-v19.0.2
What's Changed
-
debug\_image\_info\_table: move to pi\_dispatcher module @Javagedes (#1223)
Change Details
## Description
This commit moves the
debug_iamge_info_tablelogic underneath thepi_dispatchermodule and removes the global static.Closes #1213
- Impacts functionality?
- Impacts security?
- Breaking change?
- Includes tests?
- Includes documentation?
How This Was Tested
- CI Validation
- UEFI Shell Boot
- 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 aBox>[...]>.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
- Ran miri on all tests in
debug_image_info_table. - Passes CI. Continues to boot to shell.
- 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
clippyto 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
clippyon theaarch64runner 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:- Unresolved modules/crates (E0432 and E0433), which was caused by the
docfeature enabling code which used modules/dependencies that were gated behind an architecture but not thedocfeature. - Needless return warnings.
- Impacts functionality?
- Impacts security?
- Breaking change?
- Includes tests?
- Includes documentation?
How This Was Tested
cargo make alllocally, with thedenycommand 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
- Unresolved modules/crates (E0432 and E0433), which was caused by the
🐛 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