Skip to content

v5.1.0

Compare
Choose a tag to compare
@github-actions github-actions released this 21 Feb 18:07
· 156 commits to refs/heads/main since this release
8cfef90

What's Changed

  • Add qemu binary release workflow: @Javagedes (#852)
    Change Details
      ## Description

    Add a new workflow that will build and prepare qemu binaries for both Windows and Linux. This workflow has three triggers:

    1. A pull request to the main branch, which will only trigger when either the workflow itself, or the qemu version file is updated. This workflow will upload the binaries as an artifact to the workflow.

    2. A release, which will upload the binaries as an artifact to the associated release

    3. A manual trigger, which allows for testing the workflow on a custom branch. This will upload the binaries as an artifact to the workflow.

    • Impacts functionality?
      • Functionality - Does the change ultimately impact how firmware functions?
      • Examples: Add a new library, publish a new PPI, update an algorithm, ...
    • Impacts security?
      • Security - Does the change have a direct security impact on an application,
        flow, or firmware?
      • Examples: Crypto algorithm change, buffer overflow fix, parameter
        validation improvement, ...
    • Breaking change?
      • Breaking change - Will anyone consuming this change experience a break
        in build or boot behavior?
      • Examples: Add a new library class, move a module to a different repo, call
        a function in a new library class in a pre-existing module, ...
    • Includes tests?
      • Tests - Does the change include any explicit test code?
      • Examples: Unit tests, integration tests, robot tests, ...
    • Includes documentation?
      • Documentation - Does the change contain explicit documentation additions
        outside direct code modifications (and comments)?
      • Examples: Update readme file, add feature readme file, link to documentation
        on an a separate Web page, ...

    How This Was Tested

    A release was performed using this github action on a personal branch (v0.1.9), and was used as an external dependency on a mu_tiano_platforms Draft PR, which is passing, and will be merged once this PR has been merged and a release has been executed.

    Integration Instructions

    N/A

      </blockquote>
      <hr>
    </details>
    
  • Install the Hash 2 Service Binding Protocol @makubacki (#857)
    Change Details
      ## Description

    Links the non-NULL instance of DxeHash2CryptoLib to QemuQ35Pkg and
    QemuSbsaPkg so the Hash 2 Service Binding protocol is installed.

    This can be used as a dynamic hashing interface by other modules.

    • Impacts functionality?
      • Functionality - Does the change ultimately impact how firmware functions?
      • Examples: Add a new library, publish a new PPI, update an algorithm, ...
    • Impacts security?
      • Security - Does the change have a direct security impact on an application,
        flow, or firmware?
      • Examples: Crypto algorithm change, buffer overflow fix, parameter
        validation improvement, ...
    • Breaking change?
      • Breaking change - Will anyone consuming this change experience a break
        in build or boot behavior?
      • Examples: Add a new library class, move a module to a different repo, call
        a function in a new library class in a pre-existing module, ...
    • Includes tests?
      • Tests - Does the change include any explicit test code?
      • Examples: Unit tests, integration tests, robot tests, ...
    • Includes documentation?
      • Documentation - Does the change contain explicit documentation additions
        outside direct code modifications (and comments)?
      • Examples: Update readme file, add feature readme file, link to documentation
        on an a separate Web page, ...

    How This Was Tested

    Verified Hash 2 Service Binding protocol is installed by MuCryptoDxe.

    image

    image

    Integration Instructions

    N/A




🚀 Features & ✨ Enhancements

  • Add RT DXE Shared Crypto @makubacki (#855)
    Change Details
      ## Description
    • Updates QemuQ35Pkg to use the RT DXE shared crypto driver and use
      the RuntimeDxeCryptLib instance for RT DXE drivers.
    • Removes a binary VariableRuntimeDxe EFI image checked in (with
      crypto statically linked) that was an intermediate solution while
      RT DXE shared crypto was developed.
    • Updates paths that refer to shared crypto use the build variable
      SHARED_CRYPTO_PATH that is set by the ext dep. This allows the
      path to resolve to the ext dep regardless of where it is placed
      in the code tree.
    • 960ebde updated QemuQ35Pkg to resolve DSC parser warnings for a
      suspicious expression comparison warning. This change also fixes
      the warning for QemuSbsaPkg.

    Updates some Mu submodules to their latest releases. The MU_BASECORE
    update is required for these changes.

    • MU_BASECORE: v2023110001.0.1 (76b62eb)
      • CryptoPkg/RuntimeDxeCryptLib: Make globals static
      • BaseTools/GenFds: Resolve absolute workspace INF paths
    • MU_BASECORE: v2023110001.0.0 (0dd0d48)
      • CryptoPkg/Driver: Remove directory
      • .pytool/Plugin/DscCompleteCheck: Allow git ignore syntax
      • pip: update edk2-pytool-library requirement from ~=0.21.2 to ~=0.21.3
      • CryptoPkg: Add RT DXE shared crypto library instance
      • Remove static initialization of gMmst for MM Core Lib
      • Repo File Sync: Improve inline documentation in CodeQL workflow
      • pip: update edk2-pytool-library requirement from ~=0.20.0 to ~=0.21.2
      • Repo File Sync: synced file(s) with microsoft/mu_devops
    • Common/MU: v2023110000.0.1 (c3b9b01)
      • pip: bump edk2-pytool-library from 0.21.2 to 0.21.3
      • remove edk2-basetools
      • Remove AdvancedLogger MmCoreArm dependence on global variables.
      • Switch MmCoreArm advanced logger to use updated MMU functions
      • Repo File Sync: Improve inline documentation in CodeQL workflow
      • pip: bump edk2-pytool-library from 0.20.0 to 0.21.2
      • Repo File Sync: synced file(s) with microsoft/mu_devops
    • Common/MU_TIANO: v2023110000.0.2 (f7e2628)
      • pip: bump edk2-pytool-library from 0.21.2 to 0.21.3
      • remove edk2-basetools

    • Impacts functionality?
      • Functionality - Does the change ultimately impact how firmware functions?
      • Examples: Add a new library, publish a new PPI, update an algorithm, ...
    • Impacts security?
      • Security - Does the change have a direct security impact on an application,
        flow, or firmware?
      • Examples: Crypto algorithm change, buffer overflow fix, parameter
        validation improvement, ...
    • Breaking change?
      • Breaking change - Will anyone consuming this change experience a break
        in build or boot behavior?
      • Examples: Add a new library class, move a module to a different repo, call
        a function in a new library class in a pre-existing module, ...
    • Includes tests?
      • Tests - Does the change include any explicit test code?
      • Examples: Unit tests, integration tests, robot tests, ...
    • Includes documentation?
      • Documentation - Does the change contain explicit documentation additions
        outside direct code modifications (and comments)?
      • Examples: Update readme file, add feature readme file, link to documentation
        on an a separate Web page, ...

    How This Was Tested

    • QemuQ35Pkg SMM and SMM_DISABLED build and boot to EFI shell and Windows OS
    • QemuSbsaPkg boot to EFI shell

    Integration Instructions

    N/A - Affects crypto used in this repo.




🔐 Security Impacting

  • Add RT DXE Shared Crypto @makubacki (#855)
    Change Details
      ## Description
    • Updates QemuQ35Pkg to use the RT DXE shared crypto driver and use
      the RuntimeDxeCryptLib instance for RT DXE drivers.
    • Removes a binary VariableRuntimeDxe EFI image checked in (with
      crypto statically linked) that was an intermediate solution while
      RT DXE shared crypto was developed.
    • Updates paths that refer to shared crypto use the build variable
      SHARED_CRYPTO_PATH that is set by the ext dep. This allows the
      path to resolve to the ext dep regardless of where it is placed
      in the code tree.
    • 960ebde updated QemuQ35Pkg to resolve DSC parser warnings for a
      suspicious expression comparison warning. This change also fixes
      the warning for QemuSbsaPkg.

    Updates some Mu submodules to their latest releases. The MU_BASECORE
    update is required for these changes.

    • MU_BASECORE: v2023110001.0.1 (76b62eb)
      • CryptoPkg/RuntimeDxeCryptLib: Make globals static
      • BaseTools/GenFds: Resolve absolute workspace INF paths
    • MU_BASECORE: v2023110001.0.0 (0dd0d48)
      • CryptoPkg/Driver: Remove directory
      • .pytool/Plugin/DscCompleteCheck: Allow git ignore syntax
      • pip: update edk2-pytool-library requirement from ~=0.21.2 to ~=0.21.3
      • CryptoPkg: Add RT DXE shared crypto library instance
      • Remove static initialization of gMmst for MM Core Lib
      • Repo File Sync: Improve inline documentation in CodeQL workflow
      • pip: update edk2-pytool-library requirement from ~=0.20.0 to ~=0.21.2
      • Repo File Sync: synced file(s) with microsoft/mu_devops
    • Common/MU: v2023110000.0.1 (c3b9b01)
      • pip: bump edk2-pytool-library from 0.21.2 to 0.21.3
      • remove edk2-basetools
      • Remove AdvancedLogger MmCoreArm dependence on global variables.
      • Switch MmCoreArm advanced logger to use updated MMU functions
      • Repo File Sync: Improve inline documentation in CodeQL workflow
      • pip: bump edk2-pytool-library from 0.20.0 to 0.21.2
      • Repo File Sync: synced file(s) with microsoft/mu_devops
    • Common/MU_TIANO: v2023110000.0.2 (f7e2628)
      • pip: bump edk2-pytool-library from 0.21.2 to 0.21.3
      • remove edk2-basetools

    • Impacts functionality?
      • Functionality - Does the change ultimately impact how firmware functions?
      • Examples: Add a new library, publish a new PPI, update an algorithm, ...
    • Impacts security?
      • Security - Does the change have a direct security impact on an application,
        flow, or firmware?
      • Examples: Crypto algorithm change, buffer overflow fix, parameter
        validation improvement, ...
    • Breaking change?
      • Breaking change - Will anyone consuming this change experience a break
        in build or boot behavior?
      • Examples: Add a new library class, move a module to a different repo, call
        a function in a new library class in a pre-existing module, ...
    • Includes tests?
      • Tests - Does the change include any explicit test code?
      • Examples: Unit tests, integration tests, robot tests, ...
    • Includes documentation?
      • Documentation - Does the change contain explicit documentation additions
        outside direct code modifications (and comments)?
      • Examples: Update readme file, add feature readme file, link to documentation
        on an a separate Web page, ...

    How This Was Tested

    • QemuQ35Pkg SMM and SMM_DISABLED build and boot to EFI shell and Windows OS
    • QemuSbsaPkg boot to EFI shell

    Integration Instructions

    N/A - Affects crypto used in this repo.




Full Changelog: v5.0.0...v5.1.0