v5.1.0
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:
-
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.
-
A release, which will upload the binaries as an artifact to the associated release
-
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, ...
- Security - Does the change have a direct security impact on an application,
- 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, ...
- Breaking change - Will anyone consuming this change experience a break
- 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, ...
- Documentation - Does the change contain explicit documentation additions
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, ...
- Security - Does the change have a direct security impact on an application,
- 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, ...
- Breaking change - Will anyone consuming this change experience a break
- 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, ...
- Documentation - Does the change contain explicit documentation additions
How This Was Tested
Verified Hash 2 Service Binding protocol is installed by MuCryptoDxe.
Integration Instructions
N/A
- Impacts functionality?
🚀 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, ...
- Security - Does the change have a direct security impact on an application,
- 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, ...
- Breaking change - Will anyone consuming this change experience a break
- 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, ...
- Documentation - Does the change contain explicit documentation additions
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.
- Updates QemuQ35Pkg to use the RT DXE shared crypto driver and use
🔐 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, ...
- Security - Does the change have a direct security impact on an application,
- 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, ...
- Breaking change - Will anyone consuming this change experience a break
- 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, ...
- Documentation - Does the change contain explicit documentation additions
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.
- Updates QemuQ35Pkg to use the RT DXE shared crypto driver and use
Full Changelog: v5.0.0...v5.1.0