ReleaseMicrosoftMicrosoftpublished Apr 17, 2026seen Jun 26

microsoft/mu_basecore v2025020003.0.6

microsoft/mu_basecore

Open original ↗

Captured source

source ↗
published Apr 17, 2026seen Jun 26captured 2whttp 200method plain

v2025020003.0.6

Repository: microsoft/mu_basecore

Tag: v2025020003.0.6

Published: 2026-04-17T20:59:47Z

Prerelease: no

Release notes:

What's Changed

[2502] NetworkPkg/DxeNetLib: Reduce SNP media detect timeout and retry attempts [Rebase \& FF] @makubacki (#1764)

Change Details

Description

Straight port of a 2511 PR to 2502.

https://github.com/microsoft/mu_basecore/pull/1715

---

Originally, NetLibDetectMediaWaitTimeout() only used a timeout when detecting media through AIP. When AIP is not available or fails, media detection falls back to SNP. Commit ef7bb4d made the SNP media detection process more robust with a timeout and retry mechanism. This improved detection reliability and overall stability on the network devices targeted by the change. However, it also applied conservative timeout and retry values that may cause longer wait times in some cases where AIP is not used and the SNP media state is already known to be "not present".

This change reduces SNP retry attempts to 0 and the waiting time to 2 seconds. This leaves the retry logic in place but avoids using it for now. The maximum connection time observed in this fallback case has been 1.5 seconds, so 2 seconds is chosen to provide a reasonable buffer while avoiding unnecessarily long waits.

---

A commit is also included to make timeout code in DxeNetLib consistent:

NetworkPkg/DxeNetLib: Clamp timeouts to MAX_INT64

The original implementation of tracking remaining time in the NetLibDetectMediaWaitTimeout() used a UINT64 to track the remaining time, which could wrap around depending on whether the subtracted time interval (MEDIA_STATE_DETECT_TIME_INTERVAL) was a factor of the timeout given.

This change makes the TimeRemaining variable a INT64 to prevent the wrap around and clamps the incoming timeout to MAX_INT64 to prevent overflow.

---

  • [x] Impacts functionality?
  • [ ] Impacts security?
  • [ ] Breaking change?
  • [ ] Includes tests?
  • [ ] Includes documentation?

How This Was Tested

See the original 2511 PR: https://github.com/microsoft/mu_basecore/pull/1715

Integration Instructions

See the original 2511 PR: https://github.com/microsoft/mu_basecore/pull/1715

NetworkPkg/UefiPxeBcDxe: Add UDP Completion Tokens to PXEBC\_PRIVATE\_DATA @makubacki (#1632)

Change Details

Description

This change tracks UDP completion tokens in the PXEBC_PRIVATE_DATA structure, so they are persisted for cleanup in the Stop function in case it is called while a UDP operation is still pending.

  • [x] Impacts functionality?
  • [ ] Impacts security?
  • [ ] Breaking change?
  • [ ] Includes tests?
  • [ ] Includes documentation?

How This Was Tested

  • PXE boot with USB NIC disconnect to trigger EfiPxeBcStop() during UDP read

Integration Instructions

  • N/A

---

Note: A following PR may apply a similar change to the UDP write functions, but the issue was only observed in the UDP read functions, so this change is applied immediately for the time being.

Fix retry logic in UFS device detection APIs @NishanthSanjeevi (#1577)

Change Details

Description

Fix the retry logic in the UFS device detection APIs

  • [x] Impacts functionality?
  • [ ] Impacts security?
  • [ ] Breaking change?
  • [ ] Includes tests?
  • [ ] Includes documentation?

How This Was Tested

Tested on physical Hardware

Integration Instructions

N/A

[release/202502] Update BaseTools ext dep to v2025020003.0.5 @[mu-automation[bot]](https://github.com/apps/mu-automation) (#1685)

Change Details

This PR updates the BaseTools external dependency to version v2025020003.0.5.

[CHERRY-PICK][REBASE \& FF][FF-A]Remove Globals from ArmFfaCommon @Raymond-MS (#1683)

Change Details

Description

Added ArmFfaLibIsFfaSupported to ArmFfaCommon to allow for queries of FF-A support outside of ArmFfaCommonInit. Removed global variables in ArmFfaCommon. Moved the globals to locals in each phase's ArmFfaLib implementation. SEC and PEI will query when necessary to avoid setting globals when memory is unavailable. Removed the global variables in ArmFfaSecRxTxMap. Rx/Tx buffer HOB is now created within the Map function rather than in the constructor of ArmFfaSecLib. This allows for the use of the HOB to find the Rx/Tx buffer information. Add Unmap callback for when PEI and SEC need to invalidate the Rx/Tx buffer HOB on a call to Unmap.

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?

How This Was Tested

Built and ran QEMU SBSA with TPM enabled. Verified TPM communication and boot to shell.

Integration Instructions

N/A

[release/202502] Update BaseTools ext dep to v2025020003.0.4 @[mu-automation[bot]](https://github.com/apps/mu-automation) (#1663)

Change Details

This PR updates the BaseTools external dependency to version v2025020003.0.4.

Full Changelog: https://github.com/microsoft/mu_basecore/compare/v2025020003.0.5...v2025020003.0.6