patina-v11.0.0
What's Changed
-
Remove unnecessary slice\_ptr\_get feature @Javagedes (#809)
Change Details
## Description
PR #653 refactored the uefi_allocator to use NonNull, which has an equivalent way to do what this feature does
- Impacts functionality?
- Impacts security?
- Breaking change?
- Includes tests?
- Includes documentation?
How This Was Tested
CI & Boot to shell
Integration Instructions
N/A
-
Remove unused btreemap\_alloc feature @Javagedes (#808)
Change Details
## Description
PR #769 removed the functionality using this feature. Due to this, the feature can be removed.
- Impacts functionality?
- Impacts security?
- Breaking change?
- Includes tests?
- Includes documentation?
How This Was Tested
N/A
Integration Instructions
N/A
-
x86\_64 cpu\_init: Initialize / Configure FPU @Javagedes (#794)
Change Details
## Description
Initializes / configures the FPU by setting the x87 FPU Control Word and MXCSR Control Status Register to the required state per UEFI SCTs and existing C implementation.
- Impacts functionality?
- Impacts security?
- Breaking change?
- Includes tests?
- Includes documentation?
How This Was Tested
Both SCTs now show the expected values for these two configurations, however one test is still failing as the precision sticky flag is being set to 1 somewhere in the BDS entry point before entering the Shell. This indicates that some type of floating-point math was performed where the result could not be accurately described by a given number and rounding occurred (example:
1.0 / 3.0). This still needs to be further investigated, but the general configurations ignoring this bit is accurate (ref: #796)Integration Instructions
N/A
-
cspell: Update asm!(...); regex to support newlines @Javagedes (#802)
Change Details
## Description
The existing regex only matches if the entire
asm!(...);macro is on the same line. The updated macro can now handle multi-line asm macros such as:asm!( "...", "...", );
- Impacts functionality?
- Impacts security?
- Breaking change?
- Includes tests?
- Includes documentation?
How This Was Tested
ran
cargo make cspellon code with a multi-lineasm!macro and commands that would normally trigger a spell check did not.Integration Instructions
N/A
-
chore: Release v10.0.0 @makubacki (#801)
Change Details
## Description
Update versions for the 10.0.0 release.
- Impacts functionality?
- Impacts security?
- Breaking change?
- Includes tests?
- Includes documentation?
How This Was Tested
- N/A
Integration Instructions
- N/A
⚠️ Breaking Changes
-
Change `patina_sdk` to `patina` @makubacki (#811)
Change Details
## Description
Resolves #783
Renames the
patina_sdkcrate topatinato simplify references to the crate.- Impacts functionality?
- Impacts security?
- Breaking change?
- Includes tests?
- Includes documentation?
(skip cargo release dry run)
How This Was Tested
cargo make all
Integration Instructions
- Update all code using the
patina_sdkcrate to use thepatinacrate instead- No functional changes are made within the crate itself
🚀 Features & ✨ Enhancements
-
provide a bit! macro to match make setting a particular bit easy. @Javagedes (#803)
Change Details
## Description
We unfortunately cannot directly match C's
#definefunctionality as it is type-less, and const definitions in rust require a type. To resolve this, we instead make a macro that does the left shifting for you, allowing you to specify the underlying binary type (u32, i32, etc).- Impacts functionality?
- Impacts security?
- Breaking change?
- Includes tests?
- Includes documentation?
How This Was Tested
CI
Integration Instructions
N/A
📖 Documentation Updates
-
Add rustc feature gate tracking issue requirements @Javagedes (#800)
Change Details
## Description
Updates the documentation to clarify the process and requirements for introducing and tracking unstable rustc feature usage in the Patina project. Specifically, this includes the need for an active and maintained tracking issue for each unstable feature used. This tracking issue should remain open until the feature usage is rejected, stabilized, or removed from the codebase.
The tracking issue, specifically marked with the label
rustc-feature-gate, allows maintainers to easily monitor and manage the lifecycle of unstable rustc features within the project. It also provides a single place for tracking justification and usage of such features.Having an overall tracking issue for each unstable feature was requested via #749 but it does not close it.
- Impacts functionality?
- Impacts security?
- Breaking change?
- Includes tests?
- Includes documentation?
How This Was Tested
CI and validated the issue template renders properly.
Integration Instructions
The
rustc-feature-gatelabel needs to be created.
-
[FCP] RFC: UEFI Services Component @makubacki (#592)
Change Details
## Description
RFC for a new component that will abstract "UEFI Services" within the component model.
Status: FCP
- Impacts functionality?
- Impacts security?
- Breaking change?
- Includes tests?
- Includes documentation?
How This Was Tested
cargo make all
Integration Instructions
- N/A
Full Changelog: patina-v10.0.0...v11.0.0