Skip to content

patina-v11.0.0

Choose a tag to compare

@github-actions github-actions released this 02 Oct 16:42
· 709 commits to refs/heads/main since this release
7ec8a9a

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 cspell on code with a multi-line asm! 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_sdk crate to patina to 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_sdk crate to use the patina crate 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 #define functionality 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-gate label 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