Releases: microsoft/mu_basecore
Release list
v2025110002.0.3
What's Changed
-
.github: Switch Mu PR Validation workflow to main branch @makubacki (#1824)
Change Details
## Description
These workflow files were previously using a dedicated branch for development of the Mu PR Validation workflow. It has been stable for a couple of months now, so we can switch back to using the main branch which has the latest changes.
- Impacts functionality?
- Impacts security?
- Breaking change?
- Includes tests?
- Includes documentation?
How This Was Tested
- Compare branch content (
main<->add_mu_pr_val_workflow_e2e_val)
Integration Instructions
- N/A. Only affects GitHub repo workflow.
-
[REBASE \& FF] [CHERRY-PICK] Revert Mu Change In Favor of edk2 Commits @os-d (#1823)
Change Details
## Description
This reverts a MU_CHANGE and cherry-picks the relevant edk2 commits.
- Impacts functionality?
- Impacts security?
- Breaking change?
- Includes tests?
- Includes documentation?
How This Was Tested
See edk2 PR.
Integration Instructions
Callers of FfsFindSectionDataWithHook() must update the call to add the AuthenticationStatus parameter. For existing use cases, this can always be NULL. If the authentication status is desired to be returned, then a UINT32 pointer may be passed here.
-
[release/202511] Update BaseTools ext dep to v2025110002.0.2 @[mu-automation[bot]](https://github.com/apps/mu-automation) (#1822)
Change Details
This PR updates the BaseTools external dependency to version v2025110002.0.2.
Full Changelog: v2025110002.0.2...v2025110002.0.3
v2025110002.0.2
What's Changed
-
[REBASE \& FF] Add per-streamId isolation for SmmuDxe @eeshanl (#1812)
Change Details
## Description
Add per-StreamID isolation for SmmuDxe
Replaces SmmuDxe's previous "shared page table root" model with per-StreamID stage-2 isolation in
ArmPkgand adds the supporting plumbing inMdeModulePkgandEmbeddedPkgso non-PCIe and handle-less DMA agents can participate.Every DMA-capable device gets its own stage-2 page-table root and VMID, mappings made for one device are invisible to any other, and translation related faults are surfaced immediately via GIC EVTQ/GERR ISRs.
Commits
- Revert "Add
gEdkiiNonDiscoverableDeviceUniqueIdProtocolGuid..." - superseded by aRegisterNonDiscoverableMmioDeviceparameter in the next commit. MdeModulePkg: AddUniqueIdtoNonDiscoverableDeviceRegistrationLib-RegisterNonDiscoverableMmioDevicenow takes a platformUniqueId, surfaced asPciIo->GetLocation()=(Seg=0xFF, Bus=UniqueId>>5, Dev=UniqueId&0x1F, Func=0). Breaking change.MdeModulePkg: AddSetAttributeByIdto IoMmu Protocol -(IommuBase, DmaId, Mapping, IoMmuAccess)entry point for handle-less callers. Protocol revision bumped to0x00010001.IoMmuLibNULL-checks;IoMmuLibNullis a no-op.MdeModulePkg: AddHandletoNON_DISCOVERABLE_PCI_DEVICE- passes the controller handle (instead ofNULL) toIoMmuSetAttribute, so the IOMMU producer can resolve the StreamID viaHandleProtocol → PciIo → GetLocation → IORT.EmbeddedPkg/DmaLib: UseIoMmuSetAttributeByIdwithIommuBase/DmaId-DmaMaptakes two new params, forwarded toSetAttributeById.IommuBase == 0is the explicit opt-out. Breaking change.ArmPkg/SmmuDxe: Add per-StreamID isolation for each DMA capable device -SmmuStreamContextholds{PageTableRoot, Vmid}per StreamID per SMMU; both allocated lazily and the STE promotedINVALID → STAGE_2_TRANSLATEvia break-before-make on firstSetAttribute*.- Aliases share the primary's root + VMID one page-table update covers DMA from all StreamIDs of one logical device.
DeviceHandleToStreamId: real PCIe → IORT RC;Seg=0xFF→ platformSMMU_NC_DEVICE_ENTRYHOB → IORT Named Component.- GIC EVTQ/GERR ISRs surface faults immediately; opportunistic drain on every
SetAttribute*. - ExitBootServices is per-SMMU: bypass for SMMUs with RMR streams, abort for the rest.
SMMU_CONFIGgainsNcDeviceListSize/Offset; newSMMU_NC_DEVICE_ENTRY {UniqueId, ObjName[32]}maps platform UniqueIds → IORT NC names.
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
Tested on SBSA (OpenDevicePartnership/patina-qemu#261), QemuArmVirtPkg, and physical arm platform.
Integration Instructions
-
Build the IORT. Include one SMMUv3 node, the necessary ITS / Root Complex nodes for PCIe, and one
EFI_ACPI_IORT_TYPE_NAMED_COMPnode per non-discoverable DMA-capable device. Each Named Component's ID mappings must produce the StreamIDs the device emits and reference the owning SMMUv3 node. -
(Optional) Register any non-PCI/NonDiscoverable devices with a stable
UniqueIdviaRegisterNonDiscoverableMmioDevice (UniqueId, ...). SmmuDxe reconstructs thatUniqueIdfromPciIo->GetLocation()later, so values must be unique across the platform. -
Build the
SMMU_CONFIGHOB in your platformSecPlatformSmmuConfigLib. Append (in any order) the IORT blob, the optional NC device lookup table for NonDiscoverable devices, and the optional SMMU disable list, then point the offsets/sizes in theSMMU_CONFIGheader at them:STATIC CONST SMMU_NC_DEVICE_ENTRY NcDeviceTable[] = { // { UniqueId, IORT NC ObjectName } { 0x1, "USB" }, { 0x2, "SATA_AHCI" }, }; SmmuConfig = AllocateZeroPool (sizeof (SMMU_CONFIG) + sizeof (IortData) + sizeof (NcDeviceTable)); SmmuConfig->VersionMajor = CURRENT_SMMU_CONFIG_VERSION_MAJOR; SmmuConfig->VersionMinor = CURRENT_SMMU_CONFIG_VERSION_MINOR; SmmuConfig->IortSize = sizeof (IortData); SmmuConfig->IortOffset = sizeof (SMMU_CONFIG); SmmuConfig->NcDeviceListSize = sizeof (NcDeviceTable); SmmuConfig->NcDeviceListOffset = sizeof (SMMU_CONFIG) + sizeof (IortData); CopyMem ((UINT8 *)SmmuConfig + SmmuConfig->IortOffset, &IortData, sizeof (IortData)); CopyMem ((UINT8 *)SmmuConfig + SmmuConfig->NcDeviceListOffset, NcDeviceTable, sizeof (NcDeviceTable)); BuildGuidDataHob (&gSmmuConfigHobGuid, SmmuConfig, sizeof (SMMU_CONFIG) + sizeof (IortData) + sizeof (NcDeviceTable));
-
Do not install the IORT yourself SmmuDxe installs it as an ACPI table after parsing.
-
Disable specific SMMUs (optional). Append a
UINT64[]of SMMU base addresses to put in bypass mode and pointSmmuDisabledListOffset/SmmuDisabledListSizeat it. -
Handle-less DMA agents (optional). Firmware components that have no UEFI device handle (and therefore are not in the IORT) call
IoMmuLib::IoMmuSetAttributeById (IommuBase, DmaId, ...)directly. PassIommuBase == 0to opt out of IOMMU programming entirely.
See
ArmPkg/Drivers/SmmuDxe/README.mdfor the end-to-end flow diagrams, HOB layout, and the per-StreamID isolation walkthrough.Breaking changes
-
RegisterNonDiscoverableMmioDevicegains a leadingUniqueIdparameter. All existing call sites must be updated to pass a value that is unique across the platform. -
gEdkiiNonDiscoverableDeviceUniqueIdProtocolGuidis removed. Any out-of-tree consumer of that protocol must switch to the newUniqueIdparameter onRegisterNonDiscoverableMmioDevice. -
DmaMapgainsIommuBase+DmaIdparameters. Pass0/0to keep pre-existing behaviour (no IOMMU programming); supply real values to opt into per-StreamID isolation for handle-less DMA agents. -
EDKII_IOMMU_PROTOCOL_REVISIONbumped to0x00010001. The newSetAttributeByIdfield is optional. Legacy producers leave itNULL, and consumers that call it throughIoMmuLib::IoMmuSetAttributeByIdgetEFI_UNSUPPORTEDand must gracefully fall back.</blockquote> <hr>
- Revert "Add
-
NvmExpressDxe: Add PcdNvmeGenericTimeout to configure timeout per platform @maheeraeron (#1813)
Change Details
## Description
Changes the NvmExpressDxe driver to reference
PcdNvmeGenericTimeoutfor generic timeouts, allowing platforms to define their own timeout value.mu_msvm is dependent on this change. In Azure, some virtual machines' backing storage resolve to remote storage backends. Traditionally, we have seen that SCSI devices waiting on remote storage can take far longer than 5 seconds. Others have previously agreed that NVMe devices using the same backing remote storage can also suffer from this.
mu_msvm previously had a fork of NvmExpressDxe that overrode this value to 120 seconds. Now, mu_msvm has agreed to use the upstream NvmExpressDxe driver, but this change is lacking, and thus we lack full parity with our old fork currently.
Using a PCD prevents other consumers of this driver from having to make their own override. Instead, MsvmPkg for mu_msvm, for example, could simply redefine
PcdNvmeGenericTimeoutto be 120 seconds in the MsvmPkgX64.dsc and MsvmPkgAARCH64.dsc- Impacts functionality?
- Impacts security?
- Breaking change?
- Includes tests?
- Includes documentation?
How This Was Tested
Tested with CI validation
Integration Instructions
N/A
Full Changelog: v2025110002.0.1...v2025110002.0.2
v2025110002.0.1
What's Changed
-
[CHERRY-PICK] MdeModulePkg/Library: introduce ArmFfaConsoleDebugLib @kuqin12 (#1816)
Change Details
## Description
This patch adds ArmFfaConsoleDebugLib. A debug library that utilizes FF-A Console Log API to print debug messages to the console.
This is useful in context of running the StandaloneMm payload as a S-EL0 SP on top of SPMC where StandaloneMm isn't allowed to access console device or no console device (e.x) Hafnium.
NOTE:
FFA_CONSOLE_LOG* could be used by secure partition only.(cherry picked from commit ddc7ed1)
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
This was tested on QEMU AArch64 platform and verified ports are routed through Hafnium.
Integration Instructions
N/A
</blockquote> <hr> </details>
-
[REBASE \& FF] Cherry-Pick Recent BaseTools Changes and Untangle GenStm Interaction @os-d (#1811)
Change Details
## Description
This series of commits attempts to untangle some mu_changes in BaseTools for GenStm with the upstream in order to pull down the change to clean BaseTools before building them. This could have been deferred to the next integration, but folks have wanted the basetools clean and this work had to be done at some point; likely would have been forgotten at the next integration, so I did it now. It can certainly be deferred.
This PR does the following:
- Revert a commit centralizing a STATIC_ASSERT definition in BaseTools for use by GenStm - should be merged into original GenStm commit
- Revert a commit adding CPU_INFORMATION_HEADER to GenStm - should be merged into the original GenStm commit
- Revert the original GenStm commit - this did a partial BaseTools clean that can be removed now we are doing a full clean
- Cherry-pick clang build support for BaseTools. This makes a cleaner diff for the next cherry-pick.
- Cherry-pick BaseTools clean
- Cherry-pick original GenStm commit, dropping redundant BaseTools partial clean
- Squash the CPU_INFORMATION_HEADER and STATIC_ASSERT commits into the original GenStm commit. No reason to carry those separately and they complicate the story of maintaining an override for GenStm.
The final situation is only Edk2ToolsBuild.py is changed.
- Impacts functionality?
- Impacts security?
- Breaking change?
- Includes tests?
- Includes documentation?
How This Was Tested
BaseTools build. A GenStm test would be appreciated.
Integration Instructions
N/A.
-
[Cherry-Pick] MdeModulePkg: StatusCodeHandler Stmm remove assert @apop5 (#1814)
Change Details
Description
In StandaloneMM mode, IsStatusCodeUsingSerialPort is expecting to find gMmStatusCodeUseSerialHobGuid, and will assert if it is not found.
Change the logic so that if the Guided Hob is not found, to let the function return FALSE and progress to proceed.
(cherry picked from commit 4743d8d)
- Impacts functionality?
- Impacts security?
- Breaking change?
- Includes tests?
- Includes documentation?
How This Was Tested
Assert prior to change, no assert after the change.
Integration Instructions
No integration necessary.
Full Changelog: v2025110002.0.0...v2025110002.0.1
v2025110001.0.12
What's Changed
-
[REBASE \& FF] Add PEI Memory Bins @os-d (#1759)
Change Details
## Description
Due to the slow speed of review in edk2 and the platform need for this feature now, tianocore/edk2#12086 is being brought to Mu first.
This also reverts a Mu change around memory bins that was rejected upstream in favor of a different approach brought in with the PEI bins.
- Impacts functionality?
- Impacts security?
- Breaking change?
- Includes tests?
- Includes documentation?
How This Was Tested
Physical and virtual platforms with a variety of scenarios, detailed in edk2 PR.
Integration Instructions
To opt into PEI memory bins a platform must, in any order:
- Set
gEfiMdeModulePkgTokenSpaceGuid.PcdPeiMemoryBinsEnabletoTRUEin their DSC. - Produce the Memory Type Information HOB in SEC or pre-mem PEI.
- Optionally produce the Resource Descriptor HOB owned by gEfiMemoryTypeInformationGuid in SEC or pre-mem PEI. This must
not be produced post-mem or DXE will ignore the PEI memory bins because of conflicting Resource Descriptor HOBs.
-
[release/202511] Update BaseTools ext dep to v2025110001.0.11 @[mu-automation[bot]](https://github.com/apps/mu-automation) (#1806)
Change Details
This PR updates the BaseTools external dependency to version v2025110001.0.11.
-
[REBASE \& FF] Revert Mu Commits in Favor of edk2 Commits @os-d (#1810)
Change Details
## Description
This reverts the Mu version of the MmCommunicationDxe Comm Buffer Init fix and cherry-picks the edk2 version as well as cherry-picking the VA_LIST ABI change.
- Impacts functionality?
- Impacts security?
- Breaking change?
- Includes tests?
- Includes documentation?
How This Was Tested
N/A.
Integration Instructions
N/A.
-
[CHERRY-PICK] MdeModulePkg: Add platform limit for size in Resizable BAR @Gowtham-Manikandan (#1808)
Change Details
## Description
Added PcdPcieResizableBarMaxSize to avoid build issues in latest BKC integration.
Resizable BAR driver selects max available BAR size to configure for use. It may happen that some PCIe device declare support for size that exceeds processor address width. Platform needs a way to define the max size it can accept. This change introduce PCD called PcdPcieResizableBarMaxSize. It is dynamic PCD where platform can provide its limit for BAR size. Such PCD can be also controlled with a configuration knob.
(cherry picked from commit 24eddc6)
- Impacts functionality?
- Impacts security?
- Breaking change?
- Includes tests?
- Includes documentation?
How This Was Tested
Tested by local build of OKS Platform
Integration Instructions
N/A
-
[CHERRY-PICK] MdePkg/BaseLib: Add AsmReadFsBase and AsmWriteFsBase for X86-64 @Gowtham-Manikandan (#1804)
Change Details
## Description
The commit that adds Asm(Read|Write)FsBase to BaseLib for x86-64.
(cherry picked from commit e2b0e20)- Impacts functionality?
- Impacts security?
- Breaking change?
- Includes tests?
- Includes documentation?
How This Was Tested
Call AsmWriteFsBase() and use AsmReadFsBase() to check if the value is written to FSBASE.
Integration Instructions
N/A
Full Changelog: v2025110001.0.11...v2025110001.0.12
v2025110002.0.0
What's Changed
⚠️ Breaking Changes
-
[2511] MdeModulePkg/Variable: Remove Mu RT cache buffer allocation changes [Rebase \& FF] @makubacki (#1781)
Change Details
## Description
Project Mu had changes to move UEFI variable runtime cache allocation to DXE instead of PEI. The Project Mu MM model allows the runtime buffer allocations to be unblocked for MM access in DXE and allocating in DXE did not cause RT buffer fragmentation in the memory map to better accommodate hibernate resume.
With PEI memory buckets being added in #1759 to Project Mu beginning with the 2511 branch, the upstream flow to allocate the RT cache buffer in PEI can be restored
This PR reverts commits that added DXE runtime cache buffer allocation support individually, so it is clear exactly what is reverted and these changes can be skipped on future Mu release branches.
- Revert "[CHERRY-PICK] MdeModulePkg/VariableSmmRuntimeDxe: Fix EFI_UNSUPPORTED leak (#1668)"
- Revert "MdeModulePkg/Variable: Add PCD to control RT cache allocation (#1588)"
- Revert "MdeModulePkg/VariableSmmRuntimeDxe: Disable var RT cache on alloc failure"
- Revert "MdeModulePkg/Variable: Move RT cache buffer allocation to DXE"
- Impacts functionality?
- Impacts security?
- Breaking change?
- Includes tests?
- Includes documentation?
How This Was Tested
- Boot on QEMU Q35 and a physical Intel platform with the change (and PEI memory buckets present)
- Compared resulting files with edk2 variable code taking into account other unrelated Mu changes
Integration Instructions
gEfiMdeModulePkgTokenSpaceGuid.PcdMigrateVariableRuntimeCacheBufferAllocationis removed from MdeModulePkg.dec so delete any references in that in platform code.- It is recommended to ensure the PEI memory buckets PR referenced in this PR's description is included in the Mu Basecore code used by the platform so PEI memory buckets can be used to reduce runtime memory fragmentation.
Full Changelog: v2025110001.0.12...v2025110002.0.0
v2025110001.0.11
What's Changed
-
ArmPkg: MmCommunicationDxe: Fix Comm Buffer Init @os-d (#1803)
Change Details
## Description
Currently, MmCommunicationDxe expects the MM comm buffer to either be not added by the platform or added and allocated by the platform. However, not all platforms follow this pattern.
This commit makes the handling more generic by checking to see if a GCD descriptor exists that covers this range. If it does, the capabilities are updated as needed. If only a partial desc exists for this range, the driver will fail as that is a platform misconfiguration.
If the descriptor does not exist, the driver will add the buffer.
Then, for all successful cases, the attributes are updated on the buffer to what the driver expects them to be.
This will be taken to edk2 in parallel.
- Impacts functionality?
- Impacts security?
- Breaking change?
- Includes tests?
- Includes documentation?
How This Was Tested
Tested on an aarch64 platform that was producing the HOB but not having it allocated. This fixed it.
Integration Instructions
Platforms must either not produce a resource descriptor HOB for the MM Communicate Buffer or must produce a HOB fully covering the region.
-
[release/202511] Update BaseTools ext dep to v2025110001.0.9 @[mu-automation[bot]](https://github.com/apps/mu-automation) (#1800)
Change Details
This PR updates the BaseTools external dependency to version v2025110001.0.9.
Full Changelog: v2025110001.0.10...v2025110001.0.11
v2025110001.0.10
What's Changed
-
Revert the previous TPM table revert.. @kuqin12 (#1798)
Change Details
## Description
The TPM over FFA table revert was not necessary. Bringing back the bug fix to the mainline.
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
This is a one-to-one reversion.
Integration Instructions
N/A
</blockquote> <hr> </details>
🐛 Bug Fixes
-
[SQUASH ON REBASE] ArmPlatformPkg: MemoryInitPeiLib: Fix V2 HOB Attribute @os-d (#1801)
Change Details
## Description
Commit 5e381f8 updated the V2 resc desc HOB parsing in MemoryInitPeiLib, but if splitting the system memory HOB to accommodate the FD HOB, the attribute chosen for the leftover system memory HOB was the resource attributes, not the memory attributes.
This fixes this by preserving the memory attribute correctly.
This should be squashed with b8960d8, 5e381f8, and
fb5e75c on rebase.- Impacts functionality?
- Impacts security?
- Breaking change?
- Includes tests?
- Includes documentation?
How This Was Tested
Tested on a physical platform where the Patina readiness tool was failing because invalid attributes were set in a HOB field. After this change it passes.
Integration Instructions
N/A.
</blockquote> <hr> </details>
Full Changelog: v2025110001.0.9...v2025110001.0.10
v2025110001.0.9
What's Changed
-
[TPM] Revert TPM over FFA revision changes @kuqin12 (#1797)
Change Details
## Description
Some OS versions used in special environments are not ready for this change. Thus we need to revert the breaking change.
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
This change is being tested.
Integration Instructions
Change the
PcdTpm2AcpiTableRevback to 4.</blockquote> <hr> </details>
Full Changelog: v2025110001.0.8...v2025110001.0.9
v2025110001.0.8
What's Changed
-
Fix: BaseCryptLibOnOneCrypto @Flickdm (#1787)
Change Details
## Description
This PR should be rebased and merged to keep the commit history because it also has a fewer other smaller but nice to have changes that should go in with this.
This is a workaround to not use VA_LIST in
X509ConstructCertificateStackV- which goes against the UEFI specification and is broken today when using a CLANGPDB compiled binary vs a GCC5 DxeCore. This change will unblock our partner teams but the long term fix is to deprecate the (now unused) functionX509ConstructCertificateStackV.This pull request refactors and improves the implementation of the
X509ConstructCertificateStackfunctions in the OneCrypto library, making them more robust and better tested. The main changes include replacing a macro-based implementation with an explicit function, adding comprehensive unit tests for various input scenarios, and fixing a logic bug in the error handling macro. These changes enhance the reliability and maintainability of the certificate stack construction logic.X509 Certificate Stack Construction Refactor and Bug Fixes
Implementation improvements:
- Replaced the macro-based implementation of
X509ConstructCertificateStackVwith an explicit function that iterates through the variadic arguments, validates certificate sizes, and appends certificates to the stack, improving clarity and error handling. (CryptoPkg/Library/BaseCryptLibOnOneCrypto/OneCryptoLib.c) - Updated
X509ConstructCertificateStackto call the newX509ConstructCertificateStackVfunction and return its result, ensuring consistent logic and error propagation. (CryptoPkg/Library/BaseCryptLibOnOneCrypto/OneCryptoLib.c)
Bug fixes:
- Fixed a logic bug in the
CryptoServiceNotAvailablemacro: changed the condition from&&to||to correctly handle cases where the protocol pointer isNULL, preventing possible null pointer dereference. (CryptoPkg/Library/BaseCryptLibOnOneCrypto/OneCryptoLib.c)
Testing improvements: - Added a comprehensive suite of unit tests for
X509ConstructCertificateStack, covering scenarios such as null input, single and multiple certificates, appending certificates, invalid certificates, zero-size certificates, empty lists, and direct variadic calls. (CryptoPkg/Test/UnitTest/Library/BaseCryptLib/X509Tests.c)
Metadata update:
- Added the
"id": "onecrypto-bin"field to theOneCrypto_ext_dep.jsonfile, improving package identification. (CryptoPkg/Binaries/OneCrypto_ext_dep.json)
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
QemuSbsaPkg && Platform Testing
Integration Instructions
<Describe how these changes should be integrated. Use N/A if nothing is required.>
</blockquote> <hr> </details> - Replaced the macro-based implementation of
-
[CHERRY-PICK] StandaloneMmPkg: StandaloneMmIplPei: Guard S3 hob with PcdAcpiS3Enable @kuqin12 (#1795)
Change Details
## Description
The current module checks the value of gEfiAcpiVariableGuid hobs and could assert if there is no such hob available.
However, these hobs are only available if a platform elects to support S3. Thus this change moves the hob copy logic behind a PCD check to prevent unnecessary asserts.
(cherry picked from commit 1fe2504)
- Impacts functionality?
- Impacts security?
- Breaking change?
- Includes tests?
- Includes documentation?
How This Was Tested
This was tested on QEMU Q35 and booted to Windows desktop.
Integration Instructions
N/A
-
[Rebase \& FF] .pytool: Image Validation Plugin: Drop Zero ImageBase Requirement @vineelko (#1793)
Change Details
## Description
- Zero ImageBase requirement is dropped from Image validation plugin as it is not enforced by most PE loaders in UEFI.
- Patina in particular dropped support for producing .efi files with zero ImageBase
- This also improves the debugging experience when using WinDbg
- Impacts functionality?
- Impacts security?
- Breaking change?
- Includes tests?
- Includes documentation?
How This Was Tested
Q35
Integration Instructions
NA
Full Changelog: v2025110001.0.7...v2025110001.0.8
v2025110001.0.7
What's Changed
-
[release/202511] Update BaseTools ext dep to v2025110001.0.6 @[mu-automation[bot]](https://github.com/apps/mu-automation) (#1789)
Change Details
This PR updates the BaseTools external dependency to version v2025110001.0.6.
-
[CHERRY-PICK] MdePkg: Add PCIe capability structures for DPC and DLF @AnirudhSrinivasula (#1791)
Change Details
Add definitions for Downstream Port Containment (DPC) Extended Capability. Add definitions for Data Link Feature (DLF). Update existing definitions for Process Address Space ID (PASID).
(cherry picked from commit b65f976)
Description
Cherry-pick the Pci30.h, PciExpress21.h, PciExpress31.h, PciExpress40.h for latest Intel Server Release
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
Tested in latest Intel Server platforms
Integration Instructions
None
</blockquote> <hr> </details>
🐛 Bug Fixes
-
MdeModulePkg: DxeIplPeim Move Decompress to MsCorePkg/Core/GuidedSectionExtractPeim @apop5 (#1792)
Change Details
## Description
There are scenarios where PEIMs contained in compressed FVs are needed to complete
the PEI stage (such as DxeIpl being in a compressed FV). GuidedSectionExtractPeim
makes decompression available after memory is discovered instead of needing to
wait for dxeipl to be given control. The functionality being remove here is entirely
in GuidedSectionExtractPeimDisables, and requires platforms to include the PEIM
out of hte MsCorePkg when they require decompression of Fvs.This change was split off the commit:
7a38833- Impacts functionality?
- Impacts security?
- Breaking change?
- Includes tests?
- Includes documentation?
How This Was Tested
Physical platform encountered where multiple installations of Extract Guided section
PPIs triggered errors.Integration Instructions
If a break is encountered, verify that the MsCorePkg's GuidedSectionExtractPeim is included
in the platforms DSC/FDF.
Full Changelog: v2025110001.0.6...v2025110001.0.7