Skip to content

v15.0.0

Choose a tag to compare

@github-actions github-actions released this 08 May 19:43
· 994 commits to refs/heads/main since this release
30fa413

What's Changed

  • Patina Monorepo: Merge uefi-sdk and uefi-core into uefi-dxe-core @vineelko (#399)
  • Remove `cpp` and `cpp-legacy` from cspell dictionaries @makubacki (#389)
    Change Details
      ## Description

    Add word exceptions needed. Fix some spelling errors hidden behind the dictionaries.

    • Impacts functionality?
    • Impacts security?
    • Breaking change?
    • Includes tests?
    • Includes documentation?

    How This Was Tested

    • cargo make cspell

    Integration Instructions

    • N/A


  • Disable cargo release dry run - To pass CI for patina monorepo PR @vineelko (#400)
    Change Details
      ## Description

    Disable Cargo Release Dry Run - To Pass CI for Patina Monorepo PR
    #399

    Why do we need this(one off exception)?
    With the above Patina PR, we are consolidating code from three different repositories (uefi-dxe-core, uefi-core, and uefi-sdk) into a single versioned repository for the Patina project. As part of this consolidation, we have selected 15.0.0 as the next version for the Patina repository.

    All crates now inherit the version from the Patina workspace Cargo.toml, and dependencies are declared as shown below:

    # Cargo.toml
    # sdk/boot_services dependencies
    # -----------------------------------
    uefi_protocol = { version = "15.0.0", path = "sdk/uefi_protocol" }

    Currently, our CI setup for any PR performs a dry run of the release process, which includes checking whether the specified dependency versions are available in the internal registry. Since version 15.0.0 has not yet been published, the dry run fails.

    This change disables the dry run in order to allow the CI to pass for the PR mentioned above. Once the PR is merged, we will follow the usual process of generating a draft release, and the publishrelease workflow will handle the actual publication of the crates.

    • Impacts functionality?
    • Impacts security?
    • Breaking change?
    • Includes tests?
    • Includes documentation?

    How This Was Tested

    NA

    Integration Instructions

    NA




🐛 Bug Fixes

  • dxe\_core: Update init\_paging to Sync NX to GCD When Applying to Paging @os-d (#388)
    Change Details
      ## Description

    Currently, part of the init_paging function uses GCD APIs to manipulate page table attributes in the newly built page table, but not for already allocated memory, MMIO, or reserved memory. This creates a mismatched state in the GCD (NX not reflected) and page table (NX reflected).

    This patch updates init_paging to exclusively use the GCD APIs to manipulate the page table (even the one being formed) so that the GCD always stays in sync. This matches all other updates of the page table.

    • Impacts functionality?
    • Impacts security?
    • Breaking change?
    • Includes tests?
    • Includes documentation?

    How This Was Tested

    Tested booting Q35 and SBSA to Windows and Linux and breaking in with the debugger, dumping the GCD to confirm all regions expected had NX set and tested a few of these regions in the page table to confirm NX was set.

    Integration Instructions

    N/A.

      </blockquote>
      <hr>
    </details>
    
  • [REBASE \& FF] Fix fragmented memory map and reinstate rdata memory protections @cfernald (#387)
    Change Details
      ## Description

    This change resolved issue #365 where the rdata memory protections were causing Windows to fail to boot. This was because it pushed an already framented memory map over some static limits that Windows has in some paths of its execution. This change fixes the fragmentation by masking attributes before the descriptors get folded and reverts the revert of the memory map change.

    • Impacts functionality?
    • Impacts security?
    • Breaking change?
    • Includes tests?
    • Includes documentation?

    How This Was Tested

    Tested on Intel platform.

    Integration Instructions

    N/A

      </blockquote>
      <hr>
    </details>
    

📖 Documentation Updates

  • RFC: Single Patina Repo @makubacki (#380)
    Change Details
      ## Description

    Proposes moving to a single Patina repository that encompasses the main collateral of the project.

    Status: Approved

    • Impacts functionality?
    • Impacts security?
    • Breaking change?
    • Includes tests?
    • Includes documentation?

    How This Was Tested

    • N/A

    Integration Instructions

    • N/A


  • docs: Add unstable feature doc @makubacki (#386)
    Change Details
      ## Description

    Closees #369

    Explains the Patina philosophy for unstable feature usage and the process for proposing the adoption of unstable features.

    • Impacts functionality?
    • Impacts security?
    • Breaking change?
    • Includes tests?
    • Includes documentation?

    How This Was Tested

    • cargo make all

    Integration Instructions

    • N/A


Full Changelog: v13.0.0...v13.0.1