patina-v7.0.1
What's Changed
-
protocols: Allow protocol usage removal include attributes @makubacki (#724)
Change Details
## Description
remove_protocol_usageremoves all usages that match the same agent handle and controller handle. This can cause a failure in the for loop iteration because the current usage targeted for removal may have already been deleted in a previous iteration, resulting in aNotFounderror.- Impacts functionality?
- Impacts security?
- Breaking change?
- Includes tests?
- Includes documentation?
How This Was Tested
- Q35/SBSA boot
- Unit tests
- Verify system issue is fixed - removing USB in front page does not hang
Integration Instructions
- N/A
-
patina\_debugger: Change x64 reset to use Reset Control Register @cfernald (#723)
Change Details
## Description
The keyboard controller port is legacy and not generally supported. This commit changes to use the CF9 Reset Control Register instead as it is broadly supported.
CLOSES #720
- Impacts functionality?
- Impacts security?
- Breaking change?
- Includes tests?
- Includes documentation?
How This Was Tested
Tested on Q35
Integration Instructions
N/A
-
Remove mutable static usage from perf @Javagedes (#721)
Change Details
## Description
Removes the mutable static usage in the performance functionality. The original implementation needed mutable access to the static to do a one-time initialization. This is exactly what the
OnceCellstruct is used for, so the logic was switched to that. Some additional synchronization logic using at atomic Boolean needed to be added to truly support the static beingSend + Sync.- Impacts functionality?
- Impacts security?
- Breaking change?
- Includes tests?
- Includes documentation?
How This Was Tested
CI passes, and a successful boot to shell on Q35.
Integration Instructions
N/A
-
[REBASE \& FF] Fix asm! Macro Usage in Patina @os-d (#714)
Change Details
## Description
This PR contains two commits that fix two classes of errors w.r.t. inline asm usage in Patina. Closes #483 in conjunction with PRs in patina-paging and patina-mtrr.
- Impacts functionality?
- Impacts security?
- Breaking change?
- Includes tests?
- Includes documentation?
How This Was Tested
<Describe the test(s) that were run to verify the changes.>
Integration Instructions
<Describe how these changes should be integrated. Use N/A if nothing is required.>
-
Remove `#[allow(static_mut_refs)]` macro usage @Javagedes (#718)
Change Details
## Description
Removes the
#[allow(static_mut_refs)]macro usage where it is no
longer applicable. This lint has been updated to only be applicable to
code that modifies static mutable references, rather than just anything
that accesses them.- Impacts functionality?
- Impacts security?
- Breaking change?
- Includes tests?
- Includes documentation?
How This Was Tested
CI continues to pass
Integration Instructions
N/A
-
chore: Release @Javagedes (#719)
Change Details
## Description
Updates the crate version via
cargo-releasebut also manually updates the Cargo.toml file to add thepatina_ffs_extractorscrate and re-targetpatina-fwregistry forpatina_ffsandpatina_ffs_extractors.- Impacts functionality?
- Impacts security?
- Breaking change?
- Includes tests?
- Includes documentation?
How This Was Tested
N/A
Integration Instructions
N/A
🐛 Bug Fixes
-
Fix missing lzma in composite extractor. @joschock (#722)
Change Details
## Description
bugfix: recent ffs refactor inadvertently omitted LZMA section extraction support from the composite section extractor. This PR puts it back, and fixes a GUID display error in dispatcher.rs discovered when debugging it.
- Impacts functionality?
- Impacts security?
- Breaking change?
- Includes tests?
- Includes documentation?
How This Was Tested
Observed failure to unpack LZMA sections without this change, observed success unpacking LZMA sections with this change. Test credit to @antklein.
Integration Instructions
N/A
Full Changelog: patina-v7.0.0...v7.0.1