Skip to content

Releases: microsoft/mu_basecore

dev-v2024050003.0.0

20 Dec 16:51
6953cfe
Compare
Choose a tag to compare

What's Changed

  • Update shared crypto to v1.0.1 @makubacki (#1247)
    Change Details
      ## Description

    Includes a change to fix the conditional syntax in Standalone MM include FDF files.

    • Impacts functionality?
    • Impacts security?
    • Breaking change?
    • Includes tests?
    • Includes documentation?
    • Backport to release branch?

    How This Was Tested

    • Local build and CI
    • Integration on a platform that uses shared crypto (and Standalone MM shared crypto)

    Integration Instructions

    • No changes from v1.0.0 integration instructions


  • Createa Mock for PciRootBridgeIoProtocol, MockPciPlatformProtocol \& add mock function under MockUefiBootServiceTableLib @v-boscochen (#1213)
    Change Details
      ## Description

    Add mock functions under MockUefiBootServiceTableLib , and Create Mock for PciRootBridgeIoProtocol

    For details on how to complete these options and their meaning refer to CONTRIBUTING.md.

    • Impacts functionality?
    • Impacts security?
    • Breaking change?
    • Includes tests?
    • Includes documentation?
    • Backport to release branch?

    How This Was Tested

    Unit tests component can call these mock functions success

    Integration Instructions

    N/A

      </blockquote>
      <hr>
    </details>
    
  • BaseTools: Disable Second DLINK step for WHOLEARCHIVE @os-d (#1243)
    Change Details
      ## Description

    Project Mu does not use WHOLEARCHIVE, due to issues in silicon partner code when it is enabled. In order to support WHOLEARCHIVE, edk2 added a second dlink step in the build rules to get the benefit of identifying duplicate symbols without needing the space expansion. This is an extra linking step for each module and so does increase build time. Without WHOLEARCHIVE, this is an unneeded step on Mu, so it is disabled here.

    This additional linking step just is a test to verify that there are not duplicate symbols, the actual FW build is not changed here, that is what the second DLINK step does, without the DLINK2_FLAGS where WHOLEARCHIVE is set. HOST_APPLICATIONs still require WHOLEARCHIVE for the actual build, as GoogleTest requires it or could miss some unit tests, due to the complexities of a C++ build in the edk2 build system. UnitTestFrameworkPkgHost.dsc.inc sets this in the DLINK_FLAGS, not DLINK2_FLAGS, so this is still respected.

    • Impacts functionality?
    • Impacts security?
    • Breaking change?
    • Includes tests?
    • Includes documentation?
    • Backport to release branch?

    How This Was Tested

    CI build

    Integration Instructions

    N/A.

      </blockquote>
      <hr>
    </details>
    
  • Create Mock for SafeIntLib @TsunFeng (#1235)
    Change Details
      ## Description

    Create Mock for SafeIntLib

    For details on how to complete these options and their meaning refer to CONTRIBUTING.md.

    • Impacts functionality?
    • Impacts security?
    • Breaking change?
    • Includes tests?
    • Includes documentation?
    • Backport to release branch?

    How This Was Tested

    Unit tests component can call these mock functions success

    Integration Instructions

    N/A

      </blockquote>
      <hr>
    </details>
    
  • Add mock for protocol MockFirmwareVolumeBlock under MdePkg @Rasheed-Yusuf (#1216)
    Change Details
      ## Description

    Add Mock for Firmware Volume Block Protocol in MdePkg

    Signed-off-by: rasheed yusuf [email protected]
    Cc: Maintainer Shruti Gupta [email protected]
    Cc: Reviewer Shruti Gupta [email protected]

    • Impacts functionality?
    • Impacts security?
    • Breaking change?
    • Includes tests?
    • Includes documentation?
    • Backport to release branch?

    How This Was Tested

    Consumed in a GoogleTest

    Integration Instructions

    N/A




  • Add Mock for Mock Smm Sw Dispatch2 Protocol @Rasheed-Yusuf (#1217)
    Change Details
      ## Description

    Add Mock for Mock Smm Sw Dispatch2 Protocol

    For details on how to complete these options and their meaning refer to CONTRIBUTING.md.

    • Impacts functionality?
    • Impacts security?
    • Breaking change?
    • Includes tests?
    • Includes documentation?
    • Backport to release branch?

    How This Was Tested

    Incorporated into GoogleTest

    Integration Instructions

    N/A




⚠️ Breaking Changes

  • Update shared crypto to v1.0.0 @makubacki (#1245)
    Change Details
      ## Description

    Major Changes:

    • Note: Shared Crypto now follows straightforward semantic versioning. The version number is incremented based on the type of changes made to the shared crypto binaries. The version number is not tied to the version of the underlying crypto provider.

    • Note: Prior to adopting semantic versioning in the 1.0.0 release, the version number followed a form of YYYY.MM.PATCH. The 1.0.0 release was the first to use semantic versioning and proceeds any of those versions.


    See https://github.com/microsoft/mu_crypto_release/releases/tag/v1.0.0 for the detailed set of changes.


    • Impacts functionality?
    • Impacts security?
    • Breaking change?
    • Includes tests?
    • Includes documentation?
    • Backport to release branch?

    How This Was Tested

    • Use shared crypto ext dep on a platform already using it
    • Integration on a X64 MM Supervisor Standalone MM platform
    • Integration on a X64 non-MM Supervisor Standalone MM platform

    Integration Instructions

    Breaking Change - Standalone MM Integration

    Two options are now provided for Standalone MM. It is important to select the option based on the Standalone MM core used on your platform:

    Since the MM Supervisor currently does not support AARCH64, only a X64 MM Supervisor Standalone MM binary is available. A platform should not have both STANDALONEMM_CRYPTO_SERVICES and STANDALONEMM_MMSUPV_CRYPTO_SERVICES set to non-NONE values.




Full Changelog: dev-v2024050002.0.0...v2024050003.0.0

release-v2024050003.0.0

20 Dec 16:48
Compare
Choose a tag to compare

What's Changed

  • Update shared crypto to v1.0.1 @makubacki (#1247)
    Change Details
      ## Description

    Includes a change to fix the conditional syntax in Standalone MM include FDF files.

    • Impacts functionality?
    • Impacts security?
    • Breaking change?
    • Includes tests?
    • Includes documentation?
    • Backport to release branch?

    How This Was Tested

    • Local build and CI
    • Integration on a platform that uses shared crypto (and Standalone MM shared crypto)

    Integration Instructions

    • No changes from v1.0.0 integration instructions


  • Createa Mock for PciRootBridgeIoProtocol, MockPciPlatformProtocol \& add mock function under MockUefiBootServiceTableLib @v-boscochen (#1213)
    Change Details
      ## Description

    Add mock functions under MockUefiBootServiceTableLib , and Create Mock for PciRootBridgeIoProtocol

    For details on how to complete these options and their meaning refer to CONTRIBUTING.md.

    • Impacts functionality?
    • Impacts security?
    • Breaking change?
    • Includes tests?
    • Includes documentation?
    • Backport to release branch?

    How This Was Tested

    Unit tests component can call these mock functions success

    Integration Instructions

    N/A

      </blockquote>
      <hr>
    </details>
    
  • BaseTools: Disable Second DLINK step for WHOLEARCHIVE @os-d (#1243)
    Change Details
      ## Description

    Project Mu does not use WHOLEARCHIVE, due to issues in silicon partner code when it is enabled. In order to support WHOLEARCHIVE, edk2 added a second dlink step in the build rules to get the benefit of identifying duplicate symbols without needing the space expansion. This is an extra linking step for each module and so does increase build time. Without WHOLEARCHIVE, this is an unneeded step on Mu, so it is disabled here.

    This additional linking step just is a test to verify that there are not duplicate symbols, the actual FW build is not changed here, that is what the second DLINK step does, without the DLINK2_FLAGS where WHOLEARCHIVE is set. HOST_APPLICATIONs still require WHOLEARCHIVE for the actual build, as GoogleTest requires it or could miss some unit tests, due to the complexities of a C++ build in the edk2 build system. UnitTestFrameworkPkgHost.dsc.inc sets this in the DLINK_FLAGS, not DLINK2_FLAGS, so this is still respected.

    • Impacts functionality?
    • Impacts security?
    • Breaking change?
    • Includes tests?
    • Includes documentation?
    • Backport to release branch?

    How This Was Tested

    CI build

    Integration Instructions

    N/A.

      </blockquote>
      <hr>
    </details>
    
  • Create Mock for SafeIntLib @TsunFeng (#1235)
    Change Details
      ## Description

    Create Mock for SafeIntLib

    For details on how to complete these options and their meaning refer to CONTRIBUTING.md.

    • Impacts functionality?
    • Impacts security?
    • Breaking change?
    • Includes tests?
    • Includes documentation?
    • Backport to release branch?

    How This Was Tested

    Unit tests component can call these mock functions success

    Integration Instructions

    N/A

      </blockquote>
      <hr>
    </details>
    
  • Add mock for protocol MockFirmwareVolumeBlock under MdePkg @Rasheed-Yusuf (#1216)
    Change Details
      ## Description

    Add Mock for Firmware Volume Block Protocol in MdePkg

    Signed-off-by: rasheed yusuf [email protected]
    Cc: Maintainer Shruti Gupta [email protected]
    Cc: Reviewer Shruti Gupta [email protected]

    • Impacts functionality?
    • Impacts security?
    • Breaking change?
    • Includes tests?
    • Includes documentation?
    • Backport to release branch?

    How This Was Tested

    Consumed in a GoogleTest

    Integration Instructions

    N/A




  • Add Mock for Mock Smm Sw Dispatch2 Protocol @Rasheed-Yusuf (#1217)
    Change Details
      ## Description

    Add Mock for Mock Smm Sw Dispatch2 Protocol

    For details on how to complete these options and their meaning refer to CONTRIBUTING.md.

    • Impacts functionality?
    • Impacts security?
    • Breaking change?
    • Includes tests?
    • Includes documentation?
    • Backport to release branch?

    How This Was Tested

    Incorporated into GoogleTest

    Integration Instructions

    N/A




⚠️ Breaking Changes

  • Update shared crypto to v1.0.0 @makubacki (#1245)
    Change Details
      ## Description

    Major Changes:

    • Note: Shared Crypto now follows straightforward semantic versioning. The version number is incremented based on the type of changes made to the shared crypto binaries. The version number is not tied to the version of the underlying crypto provider.

    • Note: Prior to adopting semantic versioning in the 1.0.0 release, the version number followed a form of YYYY.MM.PATCH. The 1.0.0 release was the first to use semantic versioning and proceeds any of those versions.


    See https://github.com/microsoft/mu_crypto_release/releases/tag/v1.0.0 for the detailed set of changes.


    • Impacts functionality?
    • Impacts security?
    • Breaking change?
    • Includes tests?
    • Includes documentation?
    • Backport to release branch?

    How This Was Tested

    • Use shared crypto ext dep on a platform already using it
    • Integration on a X64 MM Supervisor Standalone MM platform
    • Integration on a X64 non-MM Supervisor Standalone MM platform

    Integration Instructions

    Breaking Change - Standalone MM Integration

    Two options are now provided for Standalone MM. It is important to select the option based on the Standalone MM core used on your platform:

    Since the MM Supervisor currently does not support AARCH64, only a X64 MM Supervisor Standalone MM binary is available. A platform should not have both STANDALONEMM_CRYPTO_SERVICES and STANDALONEMM_MMSUPV_CRYPTO_SERVICES set to non-NONE values.




Full Changelog: dev-v2024050002.0.0...v2024050003.0.0

release-v2024050002.0.0

11 Dec 20:19
Compare
Choose a tag to compare

What's Changed

  • [SQUASH ON REBASE] Remove Windows ARM BaseTools Build @os-d (#1242)
    Change Details
      ## Description

    The Windows ARM BaseTools build is not used any longer, it used to work on Windows ARM64, but that support is not there anymore. Windows ARM64 is built for BaseTools instead and there are no current Windows ARM hosts, nor likely ever to be any more.

    This commit removes the GitHub workflow, which was not removed in the first commit removing the publishing flow.

    This can be squashed with the original commit adding CI (or the commit adding these BaseTool builds, if separate).

    • Impacts functionality?
    • Impacts security?
    • Breaking change?
    • Includes tests?
    • Includes documentation?
    • Backport to release branch?

    How This Was Tested

    Workflow change.

    Integration Instructions

    N/A.




  • Add MockVariablePolicyHelperLib @kanechen66 (#1238)
    Change Details
      ## Description

    Provide MockVariablePolicyHelperLib for GoogleTest.

    • Impacts functionality?
    • Impacts security?
    • Breaking change?
    • Includes tests?
    • Includes documentation?
    • Backport to release branch?

    How This Was Tested

    Tested in module integrated with this MockVariablePolicyHelperLib and pass

    Integration Instructions

    N/A




⚠️ Breaking Changes

  • [SQUASH ON REBASE] Remove Windows ARM BaseTools Build @os-d (#1241)
    Change Details
      ## Description

    The Windows ARM BaseTools build is not used any longer, it used to work on Windows ARM64, but that support is not there anymore. Windows ARM64 is built for BaseTools instead and there are no current Windows ARM hosts, nor likely ever to be any more. The Windows ARM pipeline is also failing due to a change in VS, so this fixes a pipeline break.

    This can be squashed with the original commit adding CI (or the commit adding these BaseTools builds, if separate).

    • Impacts functionality?
    • Impacts security?
    • Breaking change?
    • Includes tests?
    • Includes documentation?
    • Backport to release branch?

    How This Was Tested

    Dropping pipeline.

    Integration Instructions

    This is listed as a breaking change because a formerly published package is no longer published, but this package is not used by any consumer, so it is safe to backport to the release branch. It will fix the same pipeline error there.




Full Changelog: dev-v2024050001.0.1...v2024050002.0.0

dev-v2024050002.0.0

11 Dec 20:19
Compare
Choose a tag to compare

What's Changed

  • [SQUASH ON REBASE] Remove Windows ARM BaseTools Build @os-d (#1242)
    Change Details
      ## Description

    The Windows ARM BaseTools build is not used any longer, it used to work on Windows ARM64, but that support is not there anymore. Windows ARM64 is built for BaseTools instead and there are no current Windows ARM hosts, nor likely ever to be any more.

    This commit removes the GitHub workflow, which was not removed in the first commit removing the publishing flow.

    This can be squashed with the original commit adding CI (or the commit adding these BaseTool builds, if separate).

    • Impacts functionality?
    • Impacts security?
    • Breaking change?
    • Includes tests?
    • Includes documentation?
    • Backport to release branch?

    How This Was Tested

    Workflow change.

    Integration Instructions

    N/A.




  • Add MockVariablePolicyHelperLib @kanechen66 (#1238)
    Change Details
      ## Description

    Provide MockVariablePolicyHelperLib for GoogleTest.

    • Impacts functionality?
    • Impacts security?
    • Breaking change?
    • Includes tests?
    • Includes documentation?
    • Backport to release branch?

    How This Was Tested

    Tested in module integrated with this MockVariablePolicyHelperLib and pass

    Integration Instructions

    N/A




⚠️ Breaking Changes

  • [SQUASH ON REBASE] Remove Windows ARM BaseTools Build @os-d (#1241)
    Change Details
      ## Description

    The Windows ARM BaseTools build is not used any longer, it used to work on Windows ARM64, but that support is not there anymore. Windows ARM64 is built for BaseTools instead and there are no current Windows ARM hosts, nor likely ever to be any more. The Windows ARM pipeline is also failing due to a change in VS, so this fixes a pipeline break.

    This can be squashed with the original commit adding CI (or the commit adding these BaseTools builds, if separate).

    • Impacts functionality?
    • Impacts security?
    • Breaking change?
    • Includes tests?
    • Includes documentation?
    • Backport to release branch?

    How This Was Tested

    Dropping pipeline.

    Integration Instructions

    This is listed as a breaking change because a formerly published package is no longer published, but this package is not used by any consumer, so it is safe to backport to the release branch. It will fix the same pipeline error there.




Full Changelog: dev-v2024050001.0.1...v2024050002.0.0

release-v2024050001.0.1

10 Dec 17:49
Compare
Choose a tag to compare

What's Changed

  • [CHERRY-PICK] MdePkg/SmBios.h: Add new Processor Upgrade definition for SMBIOS Type4 and Updated Type 4 Info as per Smbios 3.8.0 @kenlautner (#1236)
    Change Details
      ## Description

    Cherry-picked the following SMBIOS commits from EDK2 for newer platforms that require them.

    tianocore/edk2@aebe962
    tianocore/edk2@9dc7fb8

    • Impacts functionality?
    • Impacts security?
    • Breaking change?
    • Includes tests?
    • Includes documentation?
    • Backport to release branch?

    How This Was Tested

    N/A

    Integration Instructions

    N/A




  • Mock Functions for MmReportStatusCodeHandler @YiTa-AMI (#1234)
    Change Details
      ## Description

    Added Mock Functions for MmReportStatusCodeHandler

    • Impacts functionality?
    • Impacts security?
    • Breaking change?
    • Includes tests?
    • Includes documentation?
    • Backport to release branch?

    How This Was Tested

    Unit tests component can call these mock functions success

    Integration Instructions

    N/A




Full Changelog: dev-v2024050001.0.0...v2024050001.0.1

dev-v2024050001.0.1

10 Dec 17:48
Compare
Choose a tag to compare

What's Changed

  • [CHERRY-PICK] MdePkg/SmBios.h: Add new Processor Upgrade definition for SMBIOS Type4 and Updated Type 4 Info as per Smbios 3.8.0 @kenlautner (#1236)
    Change Details
      ## Description

    Cherry-picked the following SMBIOS commits from EDK2 for newer platforms that require them.

    tianocore/edk2@aebe962
    tianocore/edk2@9dc7fb8

    • Impacts functionality?
    • Impacts security?
    • Breaking change?
    • Includes tests?
    • Includes documentation?
    • Backport to release branch?

    How This Was Tested

    N/A

    Integration Instructions

    N/A




  • Mock Functions for MmReportStatusCodeHandler @YiTa-AMI (#1234)
    Change Details
      ## Description

    Added Mock Functions for MmReportStatusCodeHandler

    • Impacts functionality?
    • Impacts security?
    • Breaking change?
    • Includes tests?
    • Includes documentation?
    • Backport to release branch?

    How This Was Tested

    Unit tests component can call these mock functions success

    Integration Instructions

    N/A




Full Changelog: dev-v2024050001.0.0...v2024050001.0.1

release-v2024050001.0.0

03 Dec 01:15
Compare
Choose a tag to compare

What's Changed

  • [Cherry-Pick] MdePkg/SmBios.h: Add new Socket Type for SMBIOS Type4 @ycyp (#1229)
    Change Details
      The patch adds new socket type(Type 4, Offset 32h) for SMBIOS Type4 based on SMBIOS v3.8.0.

    Description

    The patch adds new socket type(Type 4, Offset 32h) for SMBIOS Type4 based on SMBIOS v3.8.0.

    • Impacts functionality?
    • Impacts security?
    • Breaking change?
    • Includes tests?
    • Includes documentation?
    • Backport to release branch?

    How This Was Tested

    Build and boot on Intel platforms to make sure no errors or boot hang issue happens.

    Integration Instructions

    N/A




⚠️ Breaking Changes

  • [CHERRY-PICK] Create memory bin override library to allow for more extensive platform customization @cfernald (#1226)
    Change Details
      ## Description

    Cherry-picks the change from this original PR that was dropped in the 2405 rebase.

    #194

    • Impacts functionality?
    • Impacts security?
    • Breaking change?
    • Includes tests?
    • Includes documentation?
    • Backport to release branch?

    How This Was Tested

    Cherry pick from existing change.

    Integration Instructions

    Add the new NULL version of the library to the platform DSC file

    MemoryBinOverrideLib|MdeModulePkg/Library/MemoryBinOverrideLibNull/MemoryBinOverrideLibNull.inf




Full Changelog: dev-v2024050000.2.0...v2024050001.0.0

dev-v2024050001.0.0

03 Dec 01:15
f228651
Compare
Choose a tag to compare

What's Changed

  • [Cherry-Pick] MdePkg/SmBios.h: Add new Socket Type for SMBIOS Type4 @ycyp (#1229)
    Change Details
      The patch adds new socket type(Type 4, Offset 32h) for SMBIOS Type4 based on SMBIOS v3.8.0.

    Description

    The patch adds new socket type(Type 4, Offset 32h) for SMBIOS Type4 based on SMBIOS v3.8.0.

    • Impacts functionality?
    • Impacts security?
    • Breaking change?
    • Includes tests?
    • Includes documentation?
    • Backport to release branch?

    How This Was Tested

    Build and boot on Intel platforms to make sure no errors or boot hang issue happens.

    Integration Instructions

    N/A




⚠️ Breaking Changes

  • [CHERRY-PICK] Create memory bin override library to allow for more extensive platform customization @cfernald (#1226)
    Change Details
      ## Description

    Cherry-picks the change from this original PR that was dropped in the 2405 rebase.

    #194

    • Impacts functionality?
    • Impacts security?
    • Breaking change?
    • Includes tests?
    • Includes documentation?
    • Backport to release branch?

    How This Was Tested

    Cherry pick from existing change.

    Integration Instructions

    Add the new NULL version of the library to the platform DSC file

    MemoryBinOverrideLib|MdeModulePkg/Library/MemoryBinOverrideLibNull/MemoryBinOverrideLibNull.inf




Full Changelog: dev-v2024050000.2.0...v2024050001.0.0

dev-v2024050000.2.0

22 Nov 01:28
b5bc594
Compare
Choose a tag to compare

This is the first dev branch release notes.

What's Changed

These are reduced sets of notes since the v2024050000.1.4 release. Moving forward dev releases will only track changes on the dev branch.

  • BaseTools HostBasedUnittestRunner Modify CC_REORGANIZE to exclude Null implementations. by @apop5 in #1218
  • BaseTools\HostbasedUnittestRunner: Add support to exclude files from codecoverage. [RB & FF] by @apop5 in #1222
  • Update release drafter for dev branches by @makubacki in #1224

A release will be drafted for the dev branch and the release branch. The releases are differentiated by both their release title and tag.

  • Release Branch
    • Title: release-v<version>
    • Tag: v<version>
  • Dev Branch
    • Title: dev-v<version>
    • Tag: dev-v<version>

Note that the tag for the release branch follows the same convention as existing release tags, that is v<version>.

release-v2024050000.1.4

15 Nov 23:07
Compare
Choose a tag to compare

What's Changed

  • [Cherry-Pick] Declare mock SMM Access2 Protocol. (#1177) [RB \& FF] @apop5 (#1223)
    Change Details
      ## Description

    Declare mock SMM Access2 Protocol for google test.

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

    How This Was Tested

    Run the google test.

    Integration Instructions

    N/A

      </blockquote>
      <hr>
    </details>
    
  • [Cherry-Pick] BaseTools\HostbasedUnittestRunner: Add support to exclude files from codecoverage. [RB & FF] (#1222)
    Change Details
      ## Description

    When Unit tests are run, the generated report includes null libraries in the calculation.
    Modifying the organize_coverage to exclude null libraries from the code coverage results.
    These changes only effect the case when CC_REORGANIZE is set to true in the project.

    add CC_EXCLUDE option, which defaults to exclude files/libraries with Null in their name. Can be over-ridden by adding CC_EXCLUDE to comandline.

    • Impacts functionality?
    • Impacts security?
    • Breaking change?
    • Includes tests?
    • Includes documentation?
    • Backport to release branch?

    How This Was Tested

    Ran on private repo which contained a lot of NULL libraries. Prior to change, Null libraries were included in the report, after the modification, they were not

    Tested modifying CC_EXCLUDE on command line to verify that specific libraries/folders can be targeted by exclude statement.

    Integration Instructions

    No changes required.
    coverage report will look different if CC_REORGANIZE is set to True as NULL libraries will be excluded.
    to restore to original functionality, specify CC_EXCLUDE= on the command line.

      </blockquote>
      <hr>
    </details>
    

Full Changelog: v2024050000.1.3...v2024050000.1.4