microsoft/mu_basecore v2025110000.0.4
microsoft/mu_basecore
Captured source
source ↗v2025110000.0.4
Repository: microsoft/mu_basecore
Tag: v2025110000.0.4
Published: 2026-03-26T22:43:24Z
Prerelease: no
Release notes:
What's Changed
[CHERRY-PICK] Update basetools to build with control flow guard provided through msvc @kuqin12 (#1721)
Change Details
Description
This change cherry-picks the commits into edk2 that enables the control flow guard feature (not CET) in basetool applications.
- [ ] Impacts functionality?
- [x] Impacts security?
- [ ] Breaking change?
- [ ] Includes tests?
- [ ] Includes documentation?
How This Was Tested
This was verified by building Q35 firmware and booted to UEFI shell properly.
Integration Instructions
Update to later basetools once this change merges.
Global: Remove backport workflow. @apop5 (#1719)
Change Details
Description
The switch from dev/release to just relase left the backport workflow in the repo. Though it will not be triggered, dependabot will co ntinue to attempt to update the github actions used.
Remove the workflow to reduce unused workflows and to prevent dependabot from attempting to update.
- [ ] Impacts functionality?
- [ ] Impacts security?
- [ ] Breaking change?
- [ ] Includes tests?
- [ ] Includes documentation?
How This Was Tested
N/A
Integration Instructions
N/A
[Cherry-Pick] MdePkg/BaseFdtLib: Implement new libfdt wrappers @apop5 (#1717)
Change Details
Description
Add support for the #define FdtForEachPropertyOffset and FdtFindMaxPhandle() wrapper. Updates FdtOverlayApply() to mark the Fdt pointer as an IN OUT variable. The internal fdt_overlay_apply() function returns the merged blob in the Fdt variable.
Update FdtGetName() and FdtGetPath() to correctly mark the VOID *Fdt as a CONST variable. This aligns with the internal libfdt implementation. libfdt implementation of fdt_get_name(): https://github.com/devicetree-org/pylibfdt/blob/0dd30a1815414a54327094ff3b8223026ebb673c/libfdt/fdt_ro.c#L303 libfdt implementation of fdt_get_path(): https://github.com/devicetree-org/pylibfdt/blob/0dd30a1815414a54327094ff3b8223026ebb673c/libfdt/fdt_ro.c#L571
- [x] Impacts functionality?
- [ ] Impacts security?
- [ ] Breaking change?
- [ ] Includes tests?
- [ ] Includes documentation?
How This Was Tested
CI build validation passes. Usage of FdtGetName, FdtForEachPropertyOffset, and FdtFindMaxPhandle verified as part of a migration from the EmbeddedPkg implementation of FdtLib.
Integration Instructions
N/A
[CHERRYPICK] BaseTools: Prevent Subsection PCDs from polluting global expressions @PaddyDengAmi (#1654)
Change Details
Description
The PCD value defined in module subsections can be added to global PCD database. Therefore the unsolved expressions, even belongs to the global scope, can incorrectly refer to the value from module subsection.
This only happens when the referred PCD has no value assignment in the platform dsc file. Which also should raise an error.
This PR cherry-picks https://github.com/tianocore/edk2/pull/12009
---
- [ ] Impacts functionality?
- [ ] Impacts security?
- [ ] Breaking change?
- [ ] Includes tests?
- [ ] Includes documentation?
How This Was Tested
Use test code from https://github.com/PaddyDengAmi/edk2/commit/8673d4046673634fc747dc794c51b033e14e24ad Run test_build.bat after setting up edk2 build environment.
Check the produced build_report.log, the value of PcdIpmiKcsIoBaseAddress in both HelloWorld.inf instances are polluted by gEfiMdePkgTokenSpaceGuid.PcdIpmiSsifSmbusSlaveAddr|2 in the subsection.
Compares to build_report_gPcd.log, which produced by TestPkg_gPcd.dsc that has a proper global value of PcdIpmiSsifSmbusSlaveAddr, the subsection override of PcdIpmiSsifSmbusSlaveAddr|2 only affects this PCD itself. All value evaluated by gEfiMdePkgTokenSpaceGuid.PcdIpmiKcsIoBaseAddress|gEfiMdePkgTokenSpaceGuid.PcdIpmiSsifSmbusSlaveAddr are not affected and correctly refer to PcdIpmiSsifSmbusSlaveAddr|1 in global scope.
After applying the change of this PR, the build for TestPkg.dsc will fail due to gEfiMdePkgTokenSpaceGuid.PcdIpmiKcsIoBaseAddress|gEfiMdePkgTokenSpaceGuid.PcdIpmiSsifSmbusSlaveAddr is referring PcdIpmiSsifSmbusSlaveAddr which is not given a default value in this dsc and raising an error:
D:\work\edk2\TestPkg.dsc(36): error 3000: The PCD should be FeatureFlag type or FixedAtBuild type: [gEfiMdePkgTokenSpaceGuid.PcdIpmiSsifSmbusSlaveAddr]. PCD [gEfiMdePkgTokenSpaceGuid.PcdIpmiKcsIoBaseAddress] Value "gEfiMdePkgTokenSpaceGuid.PcdIpmiSsifSmbusSlaveAddr"
Integration Instructions
N/A
[release/202511] Update BaseTools ext dep to v2025110000.0.2 @[mu-automation[bot]](https://github.com/apps/mu-automation) (#1713)
Change Details
This PR updates the BaseTools external dependency to version v2025110000.0.2.
Full Changelog: https://github.com/microsoft/mu_basecore/compare/v2025110000.0.3...v2025110000.0.4