Skip to content

Releases: microsoft/mu_basecore

release-v2025020000.0.6

03 Jun 22:28
Compare
Choose a tag to compare

What's Changed

  • UefiCpuPkg: Remove Nx From EfiBootServicesCode allocation. by @apop5 in #1397

Full Changelog: v2025020000.0.5...v2025020000.0.6

dev-v2025020000.0.6

03 Jun 22:28
Compare
Choose a tag to compare

What's Changed

  • UefiCpuPkg: Remove Nx From EfiBootServicesCode allocation. by @apop5 in #1397

Full Changelog: dev-v2025020000.0.5...dev-v2025020000.0.6

release-v2025020000.0.5

02 Jun 21:11
6f3aa5b
Compare
Choose a tag to compare

What's Changed

  • Fix the release sha256 after modifying the release by @kuqin12 in #1389
  • [CHERRY-PICK] NetworkPkg/HttpBootDxe: Wait for IPv6 DAD before issuing DHCPv6 requests by @kanechen66 in #1392
  • Update BaseTool binaries weekly by @Javagedes in #1383
  • [CHERRY-PICK] NetworkPkg: Update to make IPv6 prefix length 128 will not be excluded by @Ken-Pong in #1386
  • Repo File Sync: Update mu_devops workflow tags to 15.0.1 by @mu-automation in #1393
  • [dev/202502] Update BaseTools ext dep to v2025020000.0.3 by @mu-automation in #1395
  • UefiCpuPkg: Add Ro to Ap Buffer after copying ApLoopCode. by @apop5 in #1356

New Contributors

Full Changelog: v2025020000.0.4...v2025020000.0.5

dev-v2025020000.0.5

02 Jun 21:11
75770db
Compare
Choose a tag to compare

What's Changed

  • Fix the release sha256 after modifying the release by @kuqin12 in #1389
  • [CHERRY-PICK] NetworkPkg/HttpBootDxe: Wait for IPv6 DAD before issuing DHCPv6 requests by @kanechen66 in #1392
  • Update BaseTool binaries weekly by @Javagedes in #1383
  • [CHERRY-PICK] NetworkPkg: Update to make IPv6 prefix length 128 will not be excluded by @Ken-Pong in #1386
  • Repo File Sync: Update mu_devops workflow tags to 15.0.1 by @mu-automation in #1393
  • [dev/202502] Update BaseTools ext dep to dev-v2025020000.0.3 by @mu-automation in #1394
  • UefiCpuPkg: Add Ro to Ap Buffer after copying ApLoopCode. by @apop5 in #1356

New Contributors

Full Changelog: dev-dev-2025020000.0.4...dev-v2025020000.0.5

release-2024050004.0.3

04 Jun 03:39
Compare
Choose a tag to compare

dev-v2024050004.0.3

04 Jun 03:39
Compare
Choose a tag to compare

What's Changed

  • Repo File Sync: synced file(s) with microsoft/mu_devops by @uefibot in #1300
  • RustToolChain: Bump RustToolChain from 1.80 to 1.84. by @uefibot in #1316
  • GitHub Action: Bump robinraju/release-downloader from 1.11 to 1.12 by @dependabot in #1318
  • [CHERRY-PICK] Reconcile Upstream Standalone MM Perf Changes Back to Mu Basecore [Rebase & FF] by @makubacki in #1319
  • Add CPU_INFORMATION_HEADER struct to STM_HEADER by @kenlautner in #1317
  • BaseTools/UefiVarPatcher: Add plugin by @makubacki in #1326
  • Add MsegSize to the CPU_INFORMATION_HEADER struct by @kenlautner in #1332
  • Add TpmLogProtocol + Changes for Tcg2InitEventLib by @Raymond-MS in #1344
  • [REVERT] Revert stm header changes by @kenlautner in #1348
  • FileSync: bring githhub app backport to 202405 by @apop5 in #1350
  • [Cherry-Pick] [202405] MdeModulePkg: Fixes for Null pointer and failed spi access. [Rebase & FF] by @apop5 in #1351
  • MdePkg: Add MockSynchronizationLib and MockSmmSxDispatch2 by @TsunFengHuang in #1340
  • [REBASE & FF] NvmExpressDxe: Request Number of Queues from Controller by @VivianNK in #1260
  • Revert TpmLogProtocol Changes by @Raymond-MS in #1363
  • [2405] Prevent memcpy intrinsics in VS22 (17.14.2) [Rebase & FF] by @makubacki in #1375
  • NVME: Fix an issue with zero-sized queue allocation [202405] by @apop5 in #1377
  • MdeModulePkg/FaultTolerantWriteDxe: Add validation for FtwWorkSpaceHeader by @wenbhou in #1370
  • [CHERRY-PICK] NetworkPkg/HttpBootDxe: Wait for IPv6 DAD before issuing DHCPv6 requests by @kanechen66 in #1391

New Contributors

Full Changelog: dev-v2024050004.0.1...dev-v2024050004.0.3

dev-2025020000.0.4

29 May 21:21
Compare
Choose a tag to compare

What's Changed

  • Update to new base tools by @kuqin12 in #1384
  • Repo File Sync: Update to Mu DevOps v15.0.0 and Rust 1.85 by @mu-automation in #1388

Full Changelog: dev-v2025020000.0.3...dev-dev-2025020000.0.4

release-v2025020000.0.4

29 May 21:21
Compare
Choose a tag to compare

release-v2025020000.0.3

28 May 21:57
Compare
Choose a tag to compare

What's Changed

  • MdeModulePkg: Refactor MM Services Tables linked in MM Core Perf Lib @makubacki (#1369)
    Change Details
      ## Description

    The code used a MmServicesTableLib dependency for both the Standalone MM and Traditional MM instances and shared code between those. There is not a readily available MmServicesTable lib instance for Traditional SMM (that can link to PiSmmCore). To ease integration and prevent creating an instance just for this case, this change uses SmmServicesTableLib in the Traditional SMM instance and MmServicesTableLib in the Standalone MM instance and moves code as necessary to accommodate this.

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

    How This Was Tested

    • Tested Standalone MM on Qemu Q35 and Traditional MM on OvmfPkg X64.

    Integration Instructions

    N/A




  • Prevent memcpy intrinsics in VS22 (17.14.2) [Rebase \& FF] @makubacki (#1373)
    Change Details
      ## Description

    The latest VS2022 update replaces some code patterns with struct assignments with memcpy. This change convert the code to explicitly use CopyMem.

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

    How This Was Tested

    • VS22 17.14.2 build before and after the changes

    Integration Instructions

    N/A




  • Update Basetools @kuqin12 (#1368)
    Change Details
      ## Description

    It has been 2 years since we update the base tools...

    The specific fix needed is https://edk2.groups.io/g/devel/topic/103287393.

    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

    This was tested on hardware platform and verified a bug fix.

    Integration Instructions

    N/A

      </blockquote>
      <hr>
    </details>
    
  • [REBASE \& FF] NvmExpressDxe: Request Number of Queues from Controller @VivianNK (#1359)
    Change Details
      ## Description

    Cherry picking the changes from dev/202405: #1260

    Request Number of Queues from the Controller. If the number of queues is <2, then we only have a synchronous queue and do not support asynchronous BlockIo2 functionality.

    Created issue #1335 for PcdSupportAlternativeQueueSize

    Created issue #1358 for continuing after failing to install BlockIo2

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

    How This Was Tested

    CI and QEMU with NVMe virtualization with max_ioqpairs=1, 2, 64

    Used reconnect and connect -r cmds in Shell on the virtualized NVMe controller handle to trigger the NvmeControllerReset function (saw in the run log).
    Confirmed the device was reconnected using devtree.
    Successfully wrote to file systems on the NVMe drive to test data queues.

    Integration Instructions

    N/A




  • [Cherry-Pick] MdePkg: Add \_CSD and \_STA Acpi definitions. [Rebase \& FF] @apop5 (#1367)
    Change Details
      ## Description
    Add _CSD version and number of entries definition.
    These were introduced in the ACPI 3.0 specification.
    Reference: ACPI 6.5 specification, section 8.4.1.2,
    Table 8.3: C-State Dependency Package Values.
    
    Adds _STA device status bit definitions.
    Reference: ACPI 6.5 specification, section 6.3.7
    
    • Impacts functionality?
    • Impacts security?
    • Breaking change?
    • Includes tests?
    • Includes documentation?
    • Backport to release branch?

    How This Was Tested

    Local CI only: these are just additional definitions used by silicon vendor code.

    Integration Instructions

    No integration necessary.




🐛 Bug Fixes

  • NVME: Fix an issue with zero-sized queue allocation @joschock (#1376)
    Change Details
      ## Description

    The calculation to determine AdminQueuePairPageCount results in a zero page count due Submission Queue and Completion Queue NumberOfEntries fields not being initialized. On some systems, this request for a zero page allocation causes the PciIo->AllocateBuffer() call to fail with EFI_INVALID_PARAMETER which results in failure to properly initialize the NVME driver and prevents NVME functioning.

    This PR adds initialization of the relevant fields from the NVME Admin Queue Attributes to ensure that AdminQueuePairPageCount is properly initialized to a non-zero value.

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

    How This Was Tested

    Prior to the change, can reproduce EFI_INVALID_PARAMETER return code from NvmeControllerInit. After the change, NVME initializes as expected and storage can be used to boot the OS.

    Integration Instructions

    N/A

      </blockquote>
      <hr>
    </details>
    

dev-v2025020000.0.3

28 May 21:57
dbb972e
Compare
Choose a tag to compare

What's Changed

  • [SQUASH ON REBASE] Revert basetool MU changes @kuqin12 (#1379)
    Change Details
      ## Description

    This change reverts 3 commits from last Project MU release branch because they are already upstreamed to EDK2.

    The double change is causing the CC and other tools not picking up the intended compiler when doing cross compilation, producing binaries that is the same as the host system instead of target system.

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

    How This Was Tested

    This change was tested on Linux ARM system and verified functional.

    Integration Instructions

    N/A




  • MdeModulePkg: Refactor MM Services Tables linked in MM Core Perf Lib @makubacki (#1369)
    Change Details
      ## Description

    The code used a MmServicesTableLib dependency for both the Standalone MM and Traditional MM instances and shared code between those. There is not a readily available MmServicesTable lib instance for Traditional SMM (that can link to PiSmmCore). To ease integration and prevent creating an instance just for this case, this change uses SmmServicesTableLib in the Traditional SMM instance and MmServicesTableLib in the Standalone MM instance and moves code as necessary to accommodate this.

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

    How This Was Tested

    • Tested Standalone MM on Qemu Q35 and Traditional MM on OvmfPkg X64.

    Integration Instructions

    N/A




  • Prevent memcpy intrinsics in VS22 (17.14.2) [Rebase \& FF] @makubacki (#1373)
    Change Details
      ## Description

    The latest VS2022 update replaces some code patterns with struct assignments with memcpy. This change convert the code to explicitly use CopyMem.

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

    How This Was Tested

    • VS22 17.14.2 build before and after the changes

    Integration Instructions

    N/A




  • Update Basetools @kuqin12 (#1368)
    Change Details
      ## Description

    It has been 2 years since we update the base tools...

    The specific fix needed is https://edk2.groups.io/g/devel/topic/103287393.

    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

    This was tested on hardware platform and verified a bug fix.

    Integration Instructions

    N/A

      </blockquote>
      <hr>
    </details>
    
  • [REBASE \& FF] NvmExpressDxe: Request Number of Queues from Controller @VivianNK (#1359)
    Change Details
      ## Description

    Cherry picking the changes from dev/202405: #1260

    Request Number of Queues from the Controller. If the number of queues is <2, then we only have a synchronous queue and do not support asynchronous BlockIo2 functionality.

    Created issue #1335 for PcdSupportAlternativeQueueSize

    Created issue #1358 for continuing after failing to install BlockIo2

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

    How This Was Tested

    CI and QEMU with NVMe virtualization with max_ioqpairs=1, 2, 64

    Used reconnect and connect -r cmds in Shell on the virtualized NVMe controller handle to trigger the NvmeControllerReset function (saw in the run log).
    Confirmed the device was reconnected using devtree.
    Successfully wrote to file systems on the NVMe drive to test data queues.

    Integration Instructions

    N/A




  • [Cherry-Pick] MdePkg: Add \_CSD and \_STA Acpi definitions. [Rebase \& FF] @apop5 (#1367)
    Change Details
      ## Description
    Add _CSD version and number of entries definition.
    These were introduced in the ACPI 3.0 specification.
    Reference: ACPI 6.5 specification, section 8.4.1.2,
    Table 8.3: C-State Dependency Package Values.
    
    Adds _STA device status bit definitions.
    Reference: ACPI 6.5 specification, section 6.3.7
    
    • Impacts functionality?
    • Impacts security?
    • Breaking change?
    • Includes tests?
    • Includes documentation?
    • Backport to release branch?

    How This Was Tested

    Local CI only: these are just additional definitions used by silicon vendor code.

    Integration Instructions

    No integration necessary.




🐛 Bug Fixes

  • [SQUASH ON REBASE] MdeModulePkg: Fix macros to convert bytes to pages @VivianNK (#1378)
    Change Details
      ## Description

    Fix a bug introduced in 1aa501c

    When adding the macro for calculating queue sizes, the EFI_SIZE_TO_PAGES conversion was left out.

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

    How This Was Tested

    Tested in 202405 CI

    Integration Instructions

    N/A




  • NVME: Fix an issue with zero-sized queue allocation @joschock (#1376)
    Change Details
      ## Description

    The calculation to determine AdminQueuePairPageCount results in a zero page count due Submission Queue and Completion Queue NumberOfEntries fields not being initialized. On some systems, this request for a zero page allocation causes the PciIo->AllocateBuffer() call to fail with EFI_INVALID_PARAMETER which results in failure to properly initialize the NVME driver and prevents NVME functioning.

    This PR adds initialization of the relevant fields from the NVME Admin Queue Attributes to ensure that AdminQueuePairPageCount is properly initialized to a non-zero value.

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

    How This Was Tested

    Prior to the change, can reproduce EFI_INVALID_PARAMETER return code from NvmeControllerInit. After the change, NVME initializes as expected and storage can be used to boot the OS.

    Integration Instructions

    N/A

      </blockquote>
      <hr>
    </details>
    

Full Changelog: dev-v2025020000.0.2...dev-v2025020000.0.3