Releases: microsoft/mu_basecore
v2022080002.1.0
What's Changed
-
.github/release-draft.yml: Use Mu DevOps 5.0.4 @makubacki (#484)
Change Details
## Description
Updates the workflow to the latest Mu DevOps (
v5.0.4
)
to use theReleaseDrafter.yml
file inv5
that supports
N and N-1 branch support.- 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
Mu Basecore fork.
Integration Instructions
N/A
- Impacts functionality?
-
TCBZ 4492: Update SplitTable() Logic to Correctly Break Up Memory Map Descriptors @TaylorBeebe (#476)
Change Details
## Description
Fixes #475
Fix the SplitTable() logic to correctly break up the memory map and fix errors in the Memory Attributes Table.
- 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
Tested on Q35
Integration Instructions
N/A
</blockquote> <hr> </details>
- Impacts functionality?
-
.github/label-issues.yml: Use Mu DevOps 4.0.5 @makubacki (#477)
Change Details
## Description
4.0.5 updates the GitHub Actions used for labeling to include a
bug fix for previous versions trying to delete a label that does not exist.- 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
Already enabled in release/202302 and resolves a workflow error
encountered in the label task.Integration Instructions
N/A - Integrated in this change
- Impacts functionality?
🚀 Features & ✨ Enhancements
-
MdeModulePkg/UefiBootManagerLib: Skip con var update if no change @makubacki (#445)
Change Details
## Description
MdeModulePkg/UefiBootManagerLib: Skip con var update if no change
Checks if the newly computed device path for a console variable is
different than the saved value before writing through UEFI variable
services.This allows function callers to simplify their own logic around
reducing calls toEfiBootManagerUpdateConsoleVariable()
and
overall prevents unnecessary writes to UEFI variables that may
not be necessary.- 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 console variables are updated when a new device path is
determined and the update is skipped when no change is made to the
device path already saved in the corresponding console UEFI variable.Integration Instructions
N/A
- Impacts functionality?
Full Changelog: v2022080002.0.3...v2022080002.1.0
v2023020002.1.1
What's Changed
📖 Documentation Updates
-
CI: Add Rust Host Unit Test CI check @Javagedes (#481)
Change Details
## Description
Adds a CI plugin, RustHostUnitTestPlugin, with the scope
rust-ci
that runs all tests, ensuring they pass. If they pass, code coverage is calculated, which must meet the requirements specified in a package's ci.yaml file (default is 75% code coverage). Will generate a coverage.xml file in the Build directory.- 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
Ensured Check can run successfully
Integration Instructions
Add the
rust-ci
scope to your settings python file for stuart_ci_build. addtoml
to your pip-requirements.txt file.
- Impacts functionality?
Full Changelog: v2023020002.1.0...v2023020002.1.1
v2023020002.1.0
What's Changed
-
BaseTools: BinToPcd: replace xdrlib functionality @Javagedes (#473)
Change Details
## Description
Replaces xdrlib with a custom packing function mimicking current xdrlib usage as xdrlib is being deprecated in Python 3.13 with no clear library replacement.
closes #371
- 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
Performed fuzzing test of over 10000 entries of random buffers being provided to existing and new logic and confirmed returned buffers were the same. You can review the attached python script used for testing here
Integration Instructions
N/A
</blockquote> <hr> </details>
- Impacts functionality?
🚀 Features & ✨ Enhancements
-
Add Rust build support [Rebase \& FF] @makubacki (#474)
Change Details
## Description
Adds Rust build support to Project Mu.
Overview
These changes enable a platform to build Rust code as part of the normal firmware build process.
Cargo make is used as a build runner to allow users to build Rust packages individually and simply on the command line similar to the way they are built during the firmware build process. It is a CLI tool that helps abstract away many of the CLI arguments necessary to build a Rust module so that developers can easily check, test, and build individual Rust packages without the need to copy and/or memorize a long list of arguments.
Includes changes from: https://github.com/tianocore/edk2-staging/tree/edkii-rust
Generally Getting Started with Rust
It is recommended to:
-
Update
mu_basecore
to include these changes -
Download and install
Rust
andcargo
from Getting Started - Rust Programming Language (rust-lang.org) -
Verify
cargo
is working:>
cargo --version
-
Install the desired Rust tool chain
-
Example:
1.68.2 x86_64 toolchain
-
Windows:
>
rustup toolchain install 1.68.2-x86_64-pc-windows-msvc
>
rustup component add rust-src --toolchain 1.68.2-x86_64-pc-windows-msvc
-
Linux:
>
rustup toolchain install 1.68.2-x86_64-unknown-linux-gnu
>
rustup component add rust-src --toolchain 1.68.2-x86_64-unknown-linux-gnu
-
-
Install
cargo make
>
cargo install --force cargo-make
At this point, the essential Rust applications are installed, and a repo can begin to add and build Rust code.
Build Variations
First, the simplest case is a new user approaching a package that supports Rust modules. In that case, just build the package like "normal" (e.g., stuart build) and the "normal" build output (i.e., EFI drivers and firmware volumes) will be produced.
Build an Individual Module
cargo make build <Module Name>
The following command line options are available:
-p PROFILE [development|release]
.DEFAULT
=development (debug)
-e ARCH=[IA32|X64|LOCAL]
.DEFAULT
=X64
-e TARGET_TRIPLE=[triple]
.
-
ARCH=LOCAL
is used to build any locally executable tools associated with a Rust library package (e.g., a dual-purpose executable and library). -
TARGET_TRIPLE=<triple>
is used to cross-compile locally executable tools associated with a Rust library package. -
Note: A Rust package must be specified.
-
The output location is:
target/[x86_64-unknown-uefi|i686-unknown-uefi]/[debug|release]/module_name.[efi|rlib]
Test an Individual Module
cargo make test <Optional: Module Name>
- Note: If a package is not specified, all packages will be tested.
Supported Build Combinations
-
C source + Rust source mixed in INF (Library or Module)
-
Rust source code is supported by build rule –
Rust-To-Lib-File
(.rs
=>.lib
) -
Limitation: Rust code cannot have external dependencies.
-
-
Pure Rust Module only.
-
A
Cargo.toml
file is added to the INF file[Sources]
section. -
Rust Module build is supported by build rule –
Toml-File.RUST_MODULE
(Toml
=>.efi
) -
Limitation: Runtime might be a problem, such as virtual address translation for Rust code internal global variables.
-
-
Pure Rust Module + Pure Rust Library with Cargo Dependency.
- Cargo dependency means the Rust lib dependency declared in
Cargo.toml
.
- Cargo dependency means the Rust lib dependency declared in
-
Pure Rust Module + C Library with EDK II Dependency.
-
Rust Module build is supported by build rule –
Toml-File
(Toml
=>.lib
) -
The EDK II dependency means the EDK II lib dependency declared in INF.
- If a Rust module is built with C, the cargo must use
staticlib
. Otherwise,rlib
is used.
- If a Rust module is built with C, the cargo must use
-
-
C Module + Pure Rust Library with EDK II Dependency.
- Rust library build is supported by build rule –
Toml-File
. (Toml
=>.lib
)
- Rust library build is supported by build rule –
-
Pure Rust Module + Pure Rust Library with EDK II Dependency.
- Same as (4) + (5).
- 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 build of packages with no Rust code
- Verified build of packages with Rust code in various combinations:
- Pure Rust module
- Pure Rust module with Cargo dependency
- Pure Rust module with C (EDK II) library
Integration Instructions
Included and PR description and markdown files in the PR.
-
🐛 Bug Fixes
-
[CHERRY-PICK] TCBZ 4492: Update SplitTable() Logic to Correctly Break Up Memory Map @TaylorBeebe (#479)
Change Details
## Description
Fixes #475
Fix the SplitTable() logic to correctly break up the memory map and fix errors in the Memory Attributes Table.
- 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
Tested on Q35
Integration Instructions
N/A
📖 Documentation Updates
-
Add Rust build support [Rebase \& FF] @makubacki (#474)
v2023020002.0.4
What's Changed
-
BaseTools: Use latest release @Javagedes (#472)
Change Details
## Description
Updates basetoolsbin_ext_dep.yaml to use the latest release of BaseTools as they have been updated.
- 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
CI
Integration Instructions
N/A
</blockquote> <hr> </details>
- Impacts functionality?
🔐 Security Impacting
-
[CodeQL] CryptoPkg: BaseCryptLib: Check return value from `ASN1_get_object` @kuqin12 (#470)
Change Details
# Preface
Please ensure you have read the contribution docs prior
to submitting the pull request. In particular,
pull request guidelines.Description
This change was caught on a platform build Code QL analysis. Without properly checking the returned value,
ObjTag
andObjCls
could be left uninitialized and thus cause incorrect results.For each item, place an "x" in between
[
and]
if true. Example:[x]
.
(you can also check items in the GitHub UI)- 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
The change was tested on QEMU based virtual platform and proprietary hardware platform.
Integration Instructions
N/A
</blockquote> <hr> </details>
- Impacts functionality?
Full Changelog: v2023020002.0.3...v2023020002.0.4
v2023020002.0.3
What's Changed
-
BaseTools: Remove /NXCOMPAT VS X64 DLINK flags @Javagedes (#468)
Change Details
## Description
/NXCOMPAT and /SUBSYSTEM:CONSOLE flags were added to enable setting the nxcompat bit in the DLL characteristics. GenFw will now set the nxcompat bit in the DLL characteristics if the requirements to be nxcompat are met.
- 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
Ran CI and all QemuQ35 EFI_APPLICATION tests for VS2022 DEBUG/RELEASE builds.
Integration Instructions
N/A
</blockquote> <hr> </details>
- Impacts functionality?
-
[CHERRY-PICK|REBASE\&FF]: Remove duplicated includes between BaseTools and MdePkg @Javagedes (#465)
Change Details
# Preface
Please ensure you have read the contribution docs prior
to submitting the pull request. In particular,
pull request guidelines.Description
This chain of commits cherry-picks the edk2 PR tianocore/edk2#4462 which removes duplicated code between BaseTools and MdePkg and also removes some ARM hacks.
These commits are being cherry-picked as it allows us to remove our own ARM hacks used for cross-compilation and also brings us in-line with EDK2 in preparation for bringing Project MU's GenFw.c auto nx compat functionality to edk2.
For each item, place an "x" in between
[
and]
if true. Example:[x]
.
(you can also check items in the GitHub UI)- 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
EDK2's review process and CI.
Integration Instructions
N/A
</blockquote> <hr> </details>
- Impacts functionality?
-
Use the new release of Linux base tools @kuqin12 (#471)
Change Details
# Preface
Please ensure you have read the contribution docs prior
to submitting the pull request. In particular,
pull request guidelines.Description
This change picks up the reversion of platform version where the Linux versions of base tools are built on.
For each item, place an "x" in between
[
and]
if true. Example:[x]
.
(you can also check items in the GitHub UI)- 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
Tested on Ubuntu 20.04 based pipeline builds.
Integration Instructions
N/A
</blockquote> <hr> </details>
- Impacts functionality?
-
MdeModule: resolve invalid library override @Javagedes (#469)
Change Details
## Description
MediaSanitizeUnitTestHost used an invalid library override, attempting to override a non-existent library with a component that does not have an associated library. Comparing generated output of the inf files with and without a library override showed no changes. Therefore, this commit removes the invalid library override.
Additionally, the two files provided byt NvmExpressDxe.inf ( NvmExpressMediaSanitize.c
NvmExpressMediaSanitize.h) are already included in MediaSanitizeUnitTestHost.inf.- 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
Diff'd the build artifacts of the component with and without the library class override and saw no changes in the following:
- deps.txt
- Makefile
- static_library_files.lst
- NvmExpressMdeiaSanitize.c.deps
- MediaSanitizeUnitTestHost.inf
- MediaSanitizeUnitTest.c.deps
Integration Instructions
N/A
</blockquote> <hr> </details>
- Impacts functionality?
Full Changelog: v2023020002.0.2...v2023020002.0.3
v2023020002.0.2
What's Changed
-
Using older Ubuntu image for the basetool release @kuqin12 (#467)
Change Details
# Preface
Please ensure you have read the contribution docs prior
to submitting the pull request. In particular,
pull request guidelines.Description
This change steps back the building image of Ubtuntu for basetool binary releases, so that the users do not have to all update their working environments.
For each item, place an "x" in between
[
and]
if true. Example:[x]
.
(you can also check items in the GitHub UI)- 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
This was tested on 20.04 based docker container image.
Integration Instructions
N/A
</blockquote> <hr> </details>
- Impacts functionality?
📖 Documentation Updates
-
Refactoring the MM implementation to support both Standalone MM and Traditional MM @MarcChen46 (#461)
Change Details
# Preface
Please ensure you have read the contribution docs prior
to submitting the pull request. In particular,
pull request guidelines.Description
Refactoring the MM implementation to support both Standalone MM and Traditional MM
- Add DXE_SMM_DRIVER to LIBRARY_CLASS of MmPolicyLib.inf
- Refactor the PolicyMm module to have a common entrypoint, and both Standalone MM and Traditional MM entrypoint call the common entrypoint.
- Add Traditional MM description to Readme.md.
This PR resolves #460.
For each item, place an "x" in between
[
and]
if true. Example:[x]
.
(you can also check items in the GitHub UI)- 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 with the CI build
Integration Instructions
N/A
</blockquote> <hr> </details>
Full Changelog: v2023020002.0.1...v2023020002.0.2
v2023020002.0.1
What's Changed
-
BaseTools: scan Edk2ToolsBuild.py make output @Javagedes (#463)
Change Details
## Description
Adds edk2_logging.scan_compiler_output() to Edk2ToolsBuild.py to catch some compilation errors and log them as an error.
Not adding MU_CHANGE tags as this will be going to edk2 also.
For each item, place an "x" in between
[
and]
if true. Example:[x]
.
(you can also check items in the GitHub UI)- 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
Does not affect anything other than adding logging output.
Integration Instructions
N/A
</blockquote> <hr> </details>
- Impacts functionality?
-
Basetools: Update Mu-Basetools external dependency @Javagedes (#459)
Change Details
## Description
Updates Basetools/Bin/basetoolsbin_ext_dep.yaml to v2023020002.0.0
- 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
CI
Integration Instructions
N/A
</blockquote> <hr> </details>
- Impacts functionality?
🐛 Bug Fixes
-
MdeModulePkgHostTest: UefiSortLib -> SortLib for library overrides @Javagedes (#457)
Change Details
## Description
In multiple locations, UefiSortLib was being used as the library type when the true base library is SortLib
- 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
CI
Integration Instructions
N/A
</blockquote> <hr> </details>
- Impacts functionality?
Full Changelog: v2023020002.0.0...v2023020002.0.1
v2023020002.0.0
What's Changed
-
BaseTools: Detect invalid library override @Javagedes (#452)
Change Details
## Description
Ensures LIBRARY_CLASS as specified in the library override INF defines section is the same value as the library class specified in the override line.
Example of mismatch
ERROR - EDK2 #002 from c:\src\mu_tiano_platforms\Platforms\QemuQ35Pkg\QemuQ35Pkg.dsc(...): LIBRARY_CLASS for override: [c:\src\mu_tiano_platforms\MU_BASECORE\MdePkg\Library\BasePcdLibNull\BasePcdLibNull.inf] does not match the library class being overridden: [DevicePathLib]
closes #314
For each item, place an "x" in between
[
and]
if true. Example:[x]
.
(you can also check items in the GitHub UI)- 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
Ensured mismatched library override was caught, and INF's with multiple LIBRARY_CLASS definitions will not raise an error if one of the definitions matches.
Integration Instructions
N/A
</blockquote> <hr> </details>
- Impacts functionality?
-
OverrideValidation: Update logging levels @Javagedes (#450)
Change Details
## Description In scenarios where multiple track tags exist for a single library, only one tag will match; previous logic would report this mismatch at a logging.INFO level, which lead to developer confusion, thinking that something needed to be fixed.
The logging level has been updated to logging.DEBUG for these messages. errors are still properly reported when all tags do not match.
the RunCmd for returning the git commit has also been updated to logging.DEBUG to reduce spam in the log as the commit hash returned from the command is always printed later.
New success log:
INFO - --------------------------------------------------------- INFO - --------------Override Validation Starting--------------- INFO - --------------------------------------------------------- INFO - Override diff since last update at commit db42344f83abc04bbba355259f0f5d3e6e4e13cf INFO - At Line 14: #Track : 00000002 | StandaloneMmPkg/Library/StandaloneMmHobLib/StandaloneMmHobLib.inf | 59ed012718851dc2c6a063594f9b4c3a | 2023-02-24T16-23-03 | db42344f83abc04bbba355259f0f5d3e6e4e13cf INFO - Override diff since last update at commit 078e685aa7aa900ea15cdf41ffe4e42bc97474d2 INFO - At Line 21: #Track : 00000002 | MdeModulePkg/Core/PiSmmCore/PiSmmIpl.inf | 363e254ecb2e8334d7efdbe363172897 | 2022-09-02T01-34-33 | 078e685aa7aa900ea15cdf41ffe4e42bc97474d2 INFO - Override diff since last update at commit 0efbb81c016bad5b824b35713258911bb4dc5c8d INFO - At Line 14: #Track : 00000002 | MdeModulePkg/Core/PiSmmCore/PiSmmCore.inf | da7a5b278e02901b4917852ce56899e4 | 2023-05-03T14-04-31 | 0efbb81c016bad5b824b35713258911bb4dc5c8d INFO - Override diff since last update at commit 1fe56ccdeb39aa2fb6b85a37f4fb3225f4fa2e2a INFO - At Line 21: #Track : 00000002 | MdeModulePkg/Core/PiSmmCore/PiSmmIpl.inf | 363e254ecb2e8334d7efdbe363172897 | 2022-05-13T05-08-11 | 1fe56ccdeb39aa2fb6b85a37f4fb3225f4fa2e2a INFO - Override diff since last update at commit 0efbb81c016bad5b824b35713258911bb4dc5c8d INFO - At Line 16: #Track : 00000002 | MdeModulePkg/Core/PiSmmCore/PiSmmCore.inf | da7a5b278e02901b4917852ce56899e4 | 2023-05-03T14-04-31 | 0efbb81c016bad5b824b35713258911bb4dc5c8d
New failure log:
INFO - --------------------------------------------------------- INFO - --------------Override Validation Starting--------------- INFO - --------------------------------------------------------- INFO - Override diff since last update at commit db42344f83abc04bbba355259f0f5d3e6e4e13cf INFO - At Line 14: #Track : 00000002 | StandaloneMmPkg/Library/StandaloneMmHobLib/StandaloneMmHobLib.inf | 59ed012718851dc2c6a063594f9b4c3a | 2023-02-24T16-23-03 | db42344f83abc04bbba355259f0f5d3e6e4e13cf INFO - Override diff since last update at commit 45b2886c1f0d56d32b0b048494e4e9c2b4f88671 INFO - At Line 16: #Track : 00000002 | StandaloneMmPkg/Library/StandaloneMmHobLib/StandaloneMmHobLib.inf | ff6b70a361fb8eef8e9ad638e93dab4d | 2023-02-14T23-00-07 | 45b2886c1f0d56d32b0b048494e4e9c2b4f88671 ERROR - Track tag failed to match module hash at Line 14: #Track : 00000002 | StandaloneMmPkg/Library/StandaloneMmHobLib/StandaloneMmHobLib.inf | 59ed012718851dc2c6a063594f9b4c3a | 2023-02-24T16-23-03 | db42344f83abc04bbba355259f0f5d3e6e4e13cf ERROR - Track tag failed to match module hash at Line 16: #Track : 00000002 | StandaloneMmPkg/Library/StandaloneMmHobLib/StandaloneMmHobLib.inf | ff6b70a361fb8eef8e9ad638e93dab4d | 2023-02-14T23-00-07 | 45b2886c1f0d56d32b0b048494e4e9c2b4f88671 ERROR - Override processing error MISMATCH in file/dir MmSupervisorPkg/Library/StandaloneMmHobLibSyscall/StandaloneMmHobLibSyscall.inf INFO - Override diff since last update at commit 078e685aa7aa900ea15cdf41ffe4e42bc97474d2 INFO - At Line 21: #Track : 00000002 | MdeModulePkg/Core/PiSmmCore/PiSmmIpl.inf | 363e254ecb2e8334d7efdbe363172897 | 2022-09-02T01-34-33 | 078e685aa7aa900ea15cdf41ffe4e42bc97474d2 INFO - Override diff since last update at commit 0efbb81c016bad5b824b35713258911bb4dc5c8d INFO - At Line 14: #Track : 00000002 | MdeModulePkg/Core/PiSmmCore/PiSmmCore.inf | da7a5b278e02901b4917852ce56899e4 | 2023-05-03T14-04-31 | 0efbb81c016bad5b824b35713258911bb4dc5c8d INFO - Override diff since last update at commit 1fe56ccdeb39aa2fb6b85a37f4fb3225f4fa2e2a INFO - At Line 21: #Track : 00000002 | MdeModulePkg/Core/PiSmmCore/PiSmmIpl.inf | 363e254ecb2e8334d7efdbe363172897 | 2022-05-13T05-08-11 | 1fe56ccdeb39aa2fb6b85a37f4fb3225f4fa2e2a INFO - Override diff since last update at commit 0efbb81c016bad5b824b35713258911bb4dc5c8d INFO - At Line 16: #Track : 00000002 | MdeModulePkg/Core/PiSmmCore/PiSmmCore.inf | da7a5b278e02901b4917852ce56899e4 | 2023-05-03T14-04-31 | 0efbb81c016bad5b824b35713258911bb4dc5c8d
closes #361
- 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
Passing CI
Integration Instructions
N/A
</blockquote> <hr> </details>
- Impacts functionality?
-
Initialize Status Variable on Failure Path in LoadUnitTestCache() @TaylorBeebe (#453)
Change Details
## Description
Set 'Status' variable on early failure path in LoadUnitTestCache ().
For each item, place an "x" in between
[
and]
if true. Example:[x]
.
(you can also check items in the GitHub UI)- 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, ......
- Impacts functionality?
v2022080002.0.3
What's Changed
- Add a pull request build for basetools pipeline and directory changes by @cfernald in #413
- CodeQL Fix: Add NULL Check to Generated Filename in UnitTestPersistLibSfs by @TaylorBeebe in #424
- Don't Create Variable Policy for PlatformRecovery#### if SetVariable Failed by @TaylorBeebe in #440
- [CHERRY-PICK] Introduce notification callbacks for the Policy Service (#433) by @cfernald in #441
Full Changelog: v2022080002.0.2...v2022080002.0.3
v2023020001.0.0
What's Changed
-
Integrate PrEval Policy 5 @Javagedes (#423)
Change Details
## Description
Integrates edk2-pytool-extension's PrEval's Policy 5 that runs whenever a INF has been changed. It will parse each package's dsc (as defined in
<pkg>.ci.yaml::PrEval.DscPath
) and mark it to be build if that package has a dependency on the changed INF.For each item, place an "x" in between
[
and]
if true. Example:[x]
.
(you can also check items in the GitHub UI)- 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
N/A
Integration Instructions
N/A
- Impacts functionality?
-
Remove passing print from Char Encoding Check Plugin @os-d (#435)
Change Details
# Preface
Please ensure you have read the contribution docs prior
to submitting the pull request. In particular,
pull request guidelines.Description
This removes a noisy print from Char Encoding Check Plugin that prints every passing file (which scales with the size of a package). Closes #434 .
For each item, place an "x" in between
[
and]
if true. Example:[x]
.
(you can also check items in the GitHub UI)- 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
Tested running the CI build.
Integration Instructions
N/A.
</blockquote> <hr> </details>
- Impacts functionality?
-
Onboarding ARM64 builds on selfhosted Azure pipeline agents @kuqin12 (#404)
Change Details
# Preface
Please ensure you have read the contribution docs prior
to submitting the pull request. In particular,
pull request guidelines.Description
This change added a few new matrix entries to support building mu_tiano_platforms on native ARM64 systems. The PR will cover both #369 and #305.
The PR should also be incorporated with mu_devops change.
For each item, place an "x" in between
[
and]
if true. Example:[x]
.
(you can also check items in the GitHub UI)- 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
This was tested on selfhost-agents and existing agents.
Integration Instructions
Pipeline changes, N/A for integration.
</blockquote> <hr> </details>
- Impacts functionality?
-
CryptoPkg: remove unnecessary auto gen MODULE\_TYPE @Javagedes (#428)
Change Details
## Description
generate_cryptodriver.py unnecessarily included the MODULE_TYPE in the component section (i.e. [Components.$(ARCH).$(MODULE_TYPE)] instead of [Components.$(ARCH)]). Per the DSC specification, MODULE_TYPE is not a supported value to set in the components section. This is set in the component INF file.
Additionally an issue with auto-generated functions in CryptLib.c was noted such that an incorrect parameter list could be generated. This was due to an attempt to call .strip(" OPTIONAL") in get_params_tuple. This call does not strip " OPTIONAL", but will strip a single character contained in the list [" ", "O", "P", "T", "I", "N", "A", "L"]. Updating this function to use .replace(" OPTIONAL", "") has resolved the bug.
Additionally an issue with auto-generated
_EDKII_CRYPTO_PROTOCOL
struct was found causing it to fail uncrustify check. Spacing was updated in generate_cryptodriver.py to correct alignment.Core Changes to review are at CryptoPkg/Driver/Packaging/generate_cryptodriver.py
For each item, place an "x" in between
[
and]
if true. Example:[x]
.
(you can also check items in the GitHub UI)- 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
N/A
Integration Instructions
N/A
</blockquote> <hr> </details>
- Impacts functionality?
-
Update basetools for 202302 using the github release. @cfernald (#418)
Change Details
## Description
-
Updates the basetools extdep for 2302 using the first 2302 github release.
-
Switch the basetools extdep to use zip from github release instead of nuget. This is to further align is avoiding nuget for the MU core projects.
-
Impacts functionality?
-
Impacts security?
-
Breaking change?
-
Includes tests?
-
Includes documentation?
How This Was Tested
Locally built basecore.
Integration Instructions
N/A
</blockquote> <hr> </details>
... -