Skip to content

patina-v4.0.2

Choose a tag to compare

@github-actions github-actions released this 20 Jun 23:37
· 892 commits to refs/heads/main since this release

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_bytes is implemented with the same transmute so the generated code is expected to be identical to the original however the use of unsafe is now encapsulated.

    This removes a significant number of uses of mem::transmute from 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 u64 instead of u8 which Miri will complain about.

    • Make sure the memory is considered mutable by marking the references and underlying Box as such.

    • Impacts functionality?

    • Impacts security?

    • Breaking change?

    • Includes tests?

    • Includes documentation?

    How This Was Tested

    cargo miri before and after

    Integration 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:
    e1a2c582-7388-4593-ba35-8530dfbbb55d

    Example of issue generated by the template.
    image

    • 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