Skip to content

Releases: microsoft/mu_basecore

v2022080002.0.2

23 May 21:52
3179184
Compare
Choose a tag to compare

What's Changed

  • [CHERRY-PICK] Stop USB enumeration in case a malformed descriptor is found (#410) @os-d (#412)
    Change Details
      ## Description

    This is a cherry-pick of commit 714d41b to release/202208.

    When parsing interface descriptors for an attached USB device, the USB bus driver correctly handles cases where a device has a malformed interface . UsbParseInterfaceDesc returns NULL in such cases.

    UsbParseConfigDesc which parses interface descriptors, stops parsing in case UsbParseInterfaceDesc returns NULL but still returns EFI_SUCCESS along with a partially filled USB_CONFIG_DESC structure.

    This causes access exceptions when attempts are made subsequently to communicate with the downstream device (for e.g. during endpoint configuration) as the driver does not have valid interface descriptor structures associated with the device.

    To fix this, UsbParseConfigDesc should take the error path in cases where UsbParseInterfaceDesc returns NULL and abandon enumerating the device. This will allow a platform to boot instead of crashing when a buggy USB device is attached to it.

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

    How This Was Tested

    Tested on a platform with a USB keyboard that returns a malformed USB interface descriptor. The platform fails to boot with an access violation exception without this fix.

    Integration Instructions

    Updating to the latest MU_BASECORE will automatically include this fix if the UsbBus DXE driver is included in the fdf/dscs.

    Preface

    Please ensure you have read the contribution docs prior
    to submitting the pull request. In particular,
    pull request guidelines.

    Description

    <Please include a description of the change and why this change was made.>

    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, ...
    • 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

    <Please describe the test(s) that were run to verify the changes.>

    Integration Instructions

    <Describe how these changes should be integrated. Use N/A if nothing is required.>

      </blockquote>
      <hr>
    </details>
    
Read more

v2022080002.0.1

04 May 17:51
9d51733
Compare
Choose a tag to compare

What's Changed

  • Revert "Converge on 4k Section Alignment for AARCH64 Builds (#352)" @os-d (#391)
    Change Details
      This reverts commit 1bd4b3b.

    This commit worked around an issue that was seen on ARM64 platforms where random builds would fail. However, it also increased the size of all FVs containing PEIMs.

    This also masked the ability to repro and debug the underlying issue. Hence, this commit is being reverted so that repros will be seen and can be debugged.

    Preface

    Please ensure you have read the contribution docs prior
    to submitting the pull request. In particular,
    pull request guidelines.

    Description

    <Please include a description of the change and why this change was made.>

    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, ...
    • 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

    <Please describe the test(s) that were run to verify the changes.>

    Integration Instructions

    <Describe how these changes should be integrated. Use N/A if nothing is required.>

      </blockquote>
      <hr>
    </details>
    
  • Fixing bug with newer versions of markdownlint @bkarstens (#389)
    Change Details
      ## Description Fixed a bug with the MarkdownLintCheck plugin where with newer versions of the tool the plugin would pass when there were markdown issues. Newer versions of `markdownlint` (in this case `0.34.0`) no longer understand backslashes in the `` parameter; including backslashes in that parameter results in the tool printing the help text and returning 0. This change removes the backslashes from that parameter to fix the plugin.
    • 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

    On Windows 11 with Node v16.15.0:

    • with markdownlint v0.34.0: ran stuart_ci_build on my pkgs and observed the MarkdownLintCheck plugin failed when markdown issues, succeeded when no markdown issues.
    • with markdownlint v0.31.1 (version known to not have this issue): ran stuart_ci_build on my pkgs and observed the MarkdownLintCheck plugin failed when markdown issues, succeeded when no markdown issues.

    Integration Instructions

    N/A

      </blockquote>
      <hr>
    </details>
    

Full Changelog: v2022080002.0.0...v2022080002.0.1

v2022080002.0.0

03 May 22:33
0a8242f
Compare
Choose a tag to compare

What's Changed

⚠️ Breaking Changes

  • Remove the ARM GCC compiler extdeps to use container GCC @cfernald (#388)
    Change Details
      ## Description

    Removes the ARM & AARCH64 GCC compiler extdep files. Thes external dependencies frequently break, and all Project MU builds should now be using the container provided GCC binaries.

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

    How This Was Tested

    Local build test in container.

    Integration Instructions

    All consumers that require the ext dep must now carry their own copies of the extdep files removed by the commit.

    BaseTools/Bin/gcc_aarch64_linux_ext_dep.yaml
    BaseTools/Bin/gcc_arm_linux_ext_dep.yaml

      </blockquote>
      <hr>
    </details>
    

Full Changelog: v2022080001.4.3...v2022080002.0.0

v2022080001.4.3

02 May 20:41
1bd4b3b
Compare
Choose a tag to compare

What's Changed

  • Converge on 4k Section Alignment for AARCH64 Builds @os-d (#352)
    Change Details
      # Preface

    Please ensure you have read the contribution docs prior
    to submitting the pull request. In particular,
    pull request guidelines.

    Description

    Currently tools_def.template sets two different common-page-sizes for GCC/Clang AARCH64 builds. This is not a supported configuration. This leads to ambiguity and relying on the toolchain to interpret the arguments in a certain way, which they are not guaranteed to do. This leads to the case where the same code can fail to be aligned to the required 4k boundary because the incorrect common-page-size was chosen.

    This PR removes the incorrect common-page-size for AARCH64 GCC/Clang builds and only uses the 4kb alignment to remove the ambiguity and fix errors seen where the wrong common-page-size gets chosen by the toolchain. This PR also removes some of the duplicate instances of setting the common-page-size that exist to try to reduce issues in the future if it is changed. However, it was not attempted to reduce all of the duplicated instances in order to not miss edge cases and instead only the clearly duplicated cases where a new macro expanded another macro that contained common-page-size and then set common-page-size directly afterwards.

    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, ...
    • 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 by running in a local CI build that was failing due to the local GCC toolchain choosing the non-4k alignment argument passed to it and GenFw failing due to incorrect section alignment. With this fix, the CI build passes.

    Integration Instructions

    To integrate this change, pull the latest mu_basecore and delete the top level Conf directory. This will get regenerated from the updated mu_basecore tools_def.template.




Full Changelog: v2022080001.4.2...v2022080001.4.3

v2022080001.4.2

02 May 13:31
8ad345f
Compare
Choose a tag to compare

What's Changed

  • MdeModulePkg/Core: Reduce stack cookie value verbosity @makubacki (#384)
    Change Details
      ## Description

    The message that prints the security cookie value initialized during
    PE image load prints about 150 times on some Intel platforms
    (depending on DXE/MM module count and cookie config settings).

    This information is typically not needed unless specialized debug
    related to security cookies is required which is rare. This change
    constrains the message to DEBUG_VERBOSE (instead of DEBUG_INFO)
    in addition to DEBUG_LOAD.

    • 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

    Before change, log showed stack cookie value and after change it does not
    (with DEBUG_VERBOSE and DEBUG_LOAD not active).

    Integration Instructions

    Check if any tools or processes were dependent on the stack cookie value message
    and adjust debug print level accordingly if necessary.




🐛 Bug Fixes

  • Fix dmpstore regressed during CodeQL changes @kuqin12 (#382)
    Change Details
      # Preface

    Please ensure you have read the contribution docs prior
    to submitting the pull request. In particular,
    pull request guidelines.

    Description

    During one of the CodeQL changes, the dmpstore command was no longer functional if the input was dmpstore -all.

    This was caused because the NULL pointer check incorrectly return the function, which is what occurs when using -all option. The ProcessVariables will properly handle NULL input for Name.

    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, ...
    • 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

    This was tested on ARM FVP and QEMU virtual platforms.

    Integration Instructions

    N/A

      </blockquote>
      <hr>
    </details>
    

Full Changelog: v2022080001.4.1...v2022080001.4.2

v2022080001.4.1

27 Apr 18:27
5685789
Compare
Choose a tag to compare

What's Changed

  • Edk2ToolsBuild.py: set arch to host arch if not specified on linux @Javagedes (#381)
    Change Details
      # Preface

    Please ensure you have read the contribution docs prior
    to submitting the pull request. In particular,
    pull request guidelines.

    Description

    The -a command line options should be optional, defaulting to IA32 on windows or the host arch on linux, however this scenario fails on linux systems as the arch is not set to the host's architecture. This PR adds this logic.

    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, ...
    • 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

    <Please describe the test(s) that were run to verify the changes.>

    Integration Instructions

    <Describe how these changes should be integrated. Use N/A if nothing is required.>

      </blockquote>
      <hr>
    </details>
    

Full Changelog: v2022080001.4.0...v2022080001.4.1

v2022080001.4.0

27 Apr 15:10
e06cb8e
Compare
Choose a tag to compare

What's Changed

  • Updated Crypto Tests @kenlautner (#372)
    Change Details
      ## Description

    Updated the crypto tests to reference the crypto functionality PCDs before attempting to test them. This will only test the enabled functionality for the different crypto flavors of the shared crypto binaries. Tests for functionality that are not enabled are skipped and labelled that way in the report.

    Additionally, a new PCD dsc file was created for test purposes where all the Crypto PCDs are enabled. This should only be used for testing.

    • 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

    Ran the test on QemuQ35 and Adl physical platforms. Checked the different flavors to make sure tests were passed/failed/skipped as expected without any problems.

    Integration Instructions

    When building the shell app or host based unit test include the relevant PCDs that correspond to the flavor of Shared Crypto used for DXE.




🚀 Features & ✨ Enhancements

  • Updating all binary releases @kuqin12 (#379)
    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 updates the binary tools released with BASECORE to the latest version. This includes:

    • BaseTools: Added binary releases for Windows ARM/ARM64 and Linux ARM64
    • IASL: Added binary releases for Window ARM64 and Linux ARM64
    • Uncrustify: Added binary release for Linux ARM64
    • NASM: Added binary releases for Linux ARM64

    This is part of the effort of features: #305 and #369.

    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, ...
    • 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

    This was tested on ARM based hardware system building QEMU Q35 and SBSA platforms.

    Integration Instructions

    N/A

      </blockquote>
      <hr>
    </details>
    

Full Changelog: v2022080001.3.0...v2022080001.4.0

v2022080001.3.0

27 Apr 00:30
cad30b3
Compare
Choose a tag to compare

What's Changed

  • pip: bump edk2-basetools from 0.1.44 to 0.1.45 @dependabot (#377)
    Change Details
      Bumps [edk2-basetools](https://github.com/tianocore/edk2-basetools) from 0.1.44 to 0.1.45.
    Commits

    Dependabot compatibility score

    You can trigger a rebase of this PR by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)

  • pip: bump edk2-basetools from 0.1.43 to 0.1.44 @dependabot (#373)
    Change Details
      Bumps [edk2-basetools](https://github.com/tianocore/edk2-basetools) from 0.1.43 to 0.1.44.
    Commits

    Dependabot compatibility score

    You can trigger a rebase of this PR by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)

🚀 Features & ✨ Enhancements

  • [CHERRY-PICK] BaseTools/Plugin: Clarify code coverage failure message @makubacki (#375)
    Change Details
      ## Description

    HostBasedUnitTestRunner.py is a build plugin responsible for locating
    and executing host-based unit tests.

    Recently, commit 6bb00aa introduced support for the plugin to
    generate code coverage reports via lcov and OpenCppCoverage.

    The plugin has discovered unit tests by searching for executables
    with "Test" in the name for a while. However, the test coverage
    change makes assumptions about test presence when crafting the
    OpenCppCoverage command that ultimately fails with an ambiguous error
    message if no host-based unit tests are discovered (see "ERROR").

    SECTION - Run Host based Unit Tests
    SUBSECTION - Testing for architecture: X64
    ERROR - UnitTest Coverage: Failed to generate cobertura format xml in
            single package.
    PROGRESS - --->Test Success: Host Unit Test Compiler Plugin NOOPT
    

    This change preempts that message with a check in the plugin to
    determine if any host-based tests were discovered. If not, a message
    is printed with more guidance about how the developer should proceed
    to either (1) fix their tests so code coverage is generated as
    expected or (2) prevent the error message.

    New message:

    SECTION - Run Host based Unit Tests
    SUBSECTION - Testing for architecture: X64
    WARNING - UnitTest Coverage:
      No unit tests discovered. Test coverage will not be generated.
    
      Prevent this message by:
      1. Adding host-based unit tests to this package
      2. Ensuring tests have the word "Test" in their name
      3. Disabling HostUnitTestCompilerPlugin in the package CI YAML file
    PROGRESS - --->Test Success: Host Unit Test Compiler Plugin NOOPT
    

    Cc: Rebecca Cran [email protected]
    Cc: Liming Gao [email protected]
    Cc: Bob Feng [email protected]
    Cc: Yuwei Chen [email protected]
    Cc: Michael D Kinney [email protected]
    Cc: Sean Brogan [email protected]
    Signed-off-by: Michael Kubacki [email protected]
    Reviewed-by: Liming Gao [email protected]
    Reviewed-by: Rebecca Cran [email protected]
    (cherry picked from commit 3163f34)

    • 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

    Local and server CI.

    Integration Instructions

    N/A - No major change in functionality




  • Revert #168. Move changes into Terminal driver's Terminal ConIn. @apop5 (#378)
    Change Details
      # Preface

    Please ensure you have read the contribution docs prior
    to submitting the pull request. In particular,
    pull request guidelines.

    Description

    Revert #168 implementation. Move implementation into Terminal driver.

    Moving this because serial ports don't need to be able to receive data unless the port is being used for simple text in.

    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, ...
    • Breaking change?
      • Breaking change - Will anyone consuming this change experience a break
        in build or boot behavior?
      • Examples: Add a new library cl...
Read more

v2022080001.2.2

25 Apr 02:31
6bc15ee
Compare
Choose a tag to compare

What's Changed

  • Removing BASECORE overrides for unit test include file @kuqin12 (#370)
    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 reverts the override added in the UnitTestFrameworkPkg/UnitTestFrameworkPkgHost.dsc.inc from #354 and impacted package from #357. The impacted consumer should have included their own fixes, thus removing this change to prevent more debts collected in BASECORE.

    Fixes #356

    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, ...
    • 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

    This is unit test include file change. Tested on proprietary consumer packages.

    Integration Instructions

    N/A

      </blockquote>
      <hr>
    </details>
    

🐛 Bug Fixes

  • Handling the continue cases for BDS retry @kuqin12 (#367)
    Change Details
      ## Description

    The original change (#347) will not handle the use case when the last entry in the BootOptions being inactive, and the loop will break in one of the "continue" cases.

    This change will ensure that continue statements redirect control to logic for handling infinite retry attempt support.

    Fixes #368.

    • 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

    This is tested on FVP based virtual platform.

    Integration Instructions

    N/A

      </blockquote>
      <hr>
    </details>
    

🔐 Security Impacting

  • Additional CodeQL Fixes @TaylorBeebe (#358)
    Change Details
      ## Description

    Various fixes

    • 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

    Build and boot changes on QemuQ35Pkg to EFI shell.

    Integration Instructions

    N/A




Full Changelog: v2022080001.2.1...v2022080001.2.2

v2022080001.2.1

19 Apr 16:31
c35a7f0
Compare
Choose a tag to compare

What's Changed

  • pip: update edk2-pytool-extensions requirement from ~=0.22.2 to ~=0.23.0 @dependabot (#359)
    Change Details
      Updates the requirements on [edk2-pytool-extensions](https://github.com/tianocore/edk2-pytool-extensions) to permit the latest version.
    Release notes

    Sourced from edk2-pytool-extensions's releases.

    v0.23.0

    What's Changed

    Other Changes

    Breaking Changes

    repo_resolver.repo_details() will no longer support worktree paths that contain a newline character due to the removal of the -z flag. This is to reduce the necessary git version for stuart tools to work.

    Full Changelog: tianocore/edk2-pytool-extensions@v0.22.2...v0.23.0

    Commits
    • 87f0c44 repo_resolver.py: repo_details() to use first remote if origin does not exi...
    • cb6bcb5 Bump mkdocs-awesome-pages-plugin from 2.8.0 to 2.9.0 in /docs/user (#496)
    • 45a1bfb Remove z flag for git worktree list porcelain (#497)
    • d2a8bbe Bump pytest from 7.2.2 to 7.3.0 (#494)
    • a22102b Bump mkdocs-material from 9.1.5 to 9.1.6 in /docs/user (#495)
    • ec51636 Bump mkdocstrings-python from 0.8.3 to 0.9.0 in /docs/user (#487)
    • 4773b82 Bump mkdocstrings[python] from 0.20.0 to 0.21.2 in /docs/user (#493)
    • 0eaca88 Bump coverage from 7.2.2 to 7.2.3 (#492)
    • c76e21e repo_resolver: add git version Check (#486)
    • 7d9add4 Bump mkdocs-material from 9.1.4 to 9.1.5 in /docs/user (#485)
    • Additional commits viewable in compare view

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)

🐛 Bug Fixes

  • Plugin/CodeQL: Linux fixes @makubacki (#364)
    Change Details
      ## Description

    Fixes #363

    1. Removes assignment to suffix (which does not have a setter)
    2. Adds owner execution permission to files in the CodeQL CLI ext dep
    • 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

    Test in TianoCore Fedora 37 Dev container 3b3eb8f.

    Integration Instructions

    Use this change if using the CodeQL plugin on Linux hosts.

    Signed-off-by: Michael Kubacki [email protected]




Full Changelog: v2022080001.2.0...v2022080001.2.1