patina-v4.0.2
What's Changed
-
dispatcher: Add unit test to verify FFS dispatch order @makubacki (#542)
Change Details
## Description
Closes #523
Checks that FFS dispatch occurs in the order the relevant FFS files are listed in the FV.
- Impacts functionality?
- Impacts security?
- Breaking change?
- Includes tests?
- Includes documentation?
How This Was Tested
cargo make all, `cargo make test
Integration Instructions
N/A
-
Update to patina-paging v8 @os-d (#543)
Change Details
## Description
Patina-paging v8 has a very minor breaking change that patina needs to account for.
- Impacts functionality?
- Impacts security?
- Breaking change?
- Includes tests?
- Includes documentation?
How This Was Tested
Tested booting Q35 and SBSA to Windows/Linux.
Integration Instructions
N/A.
</blockquote> <hr> </details>
-
Replace Uuid->Guid transmute with safe equivalent @wesleywiser (#532)
Change Details
## Description
r_efi::Guid::from_bytesis implemented with the same transmute so the generated code is expected to be identical to the original however the use ofunsafeis now encapsulated.This removes a significant number of uses of
mem::transmutefrom the workspace.Noticed while reviewing some of the code in the workspace.
- Impacts functionality?
- Impacts security?
- Breaking change?
- Includes tests?
- Includes documentation?
How This Was Tested
Built locally without error.
Integration Instructions
N/a
</blockquote> <hr> </details>
-
chore: Release v4.0.1 @vineelko (#534)
Change Details
## Description
Release v4.0.1
- Impacts functionality?
- Impacts security?
- Breaking change?
- Includes tests?
- Includes documentation?
How This Was Tested
N/A
Integration Instructions
N/A
</blockquote> <hr> </details>
🐛 Bug Fixes
-
Fix UB in `memory_log::tests::create_fill_check_test` @wesleywiser (#545)
Change Details
## Description
-
Type needs 8 byte alignment, ensure that by using
u64instead ofu8which Miri will complain about. -
Make sure the memory is considered mutable by marking the references and underlying
Boxas such. -
Impacts functionality?
-
Impacts security?
-
Breaking change?
-
Includes tests?
-
Includes documentation?
How This Was Tested
cargo miribefore and afterIntegration Instructions
n/a
</blockquote> <hr> </details> -
-
[REBASE \& FF] AdvLogger: Fix UB from casting header values to atomic. @cfernald (#539)
Change Details
## Description
The initial implementation tried to stay as accurate to a C definition of the structures as possible and so used u32 in cases where valuers are only atomically updated. This required that those types be converted to atomic (internally mutable) values later which can cause undefined behavior. This change is to make the structure itself contain the atomic versions of the types.
Resolves #530
- Impacts functionality?
- Impacts security?
- Breaking change?
- Includes tests?
- Includes documentation?
How This Was Tested
Tested on Q35 with C parser
Integration Instructions
N/A
</blockquote> <hr> </details>
-
Fix unstable\_feature issue template. @magravel (#535)
Change Details
## Description
The template could not be edited before.
How the template looks like now:

Example of issue generated by the template.

- Impacts functionality?
- Impacts security?
- Breaking change?
- Includes tests?
- Includes documentation?
How This Was Tested
Tested in another repo to see how the template really looks like.
Integration Instructions
N/A
</blockquote> <hr> </details>
📖 Documentation Updates
-
Scrub Docs 🧽 @makubacki (#537)
Change Details
## Description
Closes #520
-
Fixes typos and grammatical errors
-
Improves clarity
-
Updates/removes dead links
-
Updates information and code examples
-
Adds diagrams in some places
-
Updates "Rust DXE Core" to "Patina DXE Core"
-
Impacts functionality?
-
Impacts security?
-
Breaking change?
-
Includes tests?
-
Includes documentation?
How This Was Tested
CI
Integration Instructions
N/A
-
-
Add Patina Requirements Documentation @os-d (#521)
Change Details
## Description
This adds Patina Requirements Documentation to document the differences between edk2 and Patina and give justification and guidance on how platforms can meet these requirements.
This documentation is written from the perspective of describing Patina's handoff requirements with guidance on how to meet them, but an additional document can be written that is targeted directly at a platform integrator that delves into more detail, if that is deemed necessary.
The page was renamed from rust vs edk2 to Patina Requirements, to have Patina stand on its own and not just be seen as a derivative of edk2, while still calling out the differences from edk2, as that is where platforms will be transitioning from. This can be changed if folks prefer.
When the Patina DXE Readiness Tool moves to GitHub, the doc will be updated to link to it.
Closes #516.
- Impacts functionality?
- Impacts security?
- Breaking change?
- Includes tests?
- Includes documentation?
How This Was Tested
N/A.
Integration Instructions
N/A.
</blockquote> <hr> </details>
Full Changelog: patina-v4.0.1...v4.0.2