<feed xmlns='http://www.w3.org/2005/Atom'>
<title>Tianocore/edk2.git/MdeModulePkg/MdeModulePkg.dec, branch dependabot/github_actions/actions/github-script-9</title>
<subtitle>EDK II (mirror)</subtitle>
<id>https://git.radix-linux.su/Tianocore/edk2.git/atom?h=dependabot%2Fgithub_actions%2Factions%2Fgithub-script-9</id>
<link rel='self' href='https://git.radix-linux.su/Tianocore/edk2.git/atom?h=dependabot%2Fgithub_actions%2Factions%2Fgithub-script-9'/>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/Tianocore/edk2.git/'/>
<updated>2026-05-06T03:41:31+00:00</updated>
<entry>
<title>Revert "ArmPlatformPkg,EmbeddedPkg,MdeModulePkg: Move RealTimeClockLib ..."</title>
<updated>2026-05-06T03:41:31+00:00</updated>
<author>
<name>Ard Biesheuvel</name>
<email>ardb@kernel.org</email>
</author>
<published>2026-03-13T13:35:34+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/Tianocore/edk2.git/commit/?id=d73615b24ba402b1625f03d6a83f183180f24a60'/>
<id>urn:sha1:d73615b24ba402b1625f03d6a83f183180f24a60</id>
<content type='text'>
This reverts commit 57230fff6b39a665485be1bd43ec608d412ba6fb.

RealTimeClockLib is not a generic library class that is intended to be
used widely to get access to the RTC when the associated runtime
services are not available in the calling context.

The purpose of RealTimeClockLib is to abstract the underlying hardware
access from the generic RealTimeClockRuntimeDxe driver, which backs the
runtime services.

This means it does not belong in a different package; it belongs in the
same package as the driver.

Continuous-integration-options: PatchCheck.ignore-multi-package
Signed-off-by: Ard Biesheuvel &lt;ardb@kernel.org&gt;
</content>
</entry>
<entry>
<title>MdeModulePkg: Add CxlIo.h protocol</title>
<updated>2026-05-01T06:48:04+00:00</updated>
<author>
<name>Nick Graves</name>
<email>nicholasgraves@google.com</email>
</author>
<published>2025-08-01T21:12:34+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/Tianocore/edk2.git/commit/?id=6afdf4e7fbffa3cb49b8db1ebd9126824dfe218a'/>
<id>urn:sha1:6afdf4e7fbffa3cb49b8db1ebd9126824dfe218a</id>
<content type='text'>
Create a CXL protocol for interacting with CXL endpoint devices. CXL
devices are necessarily also PCI devices, so the PCI IO protocol is also
provided as part of the CXL protocol.

The protocol provides access to the following operations for CXL devices:
  - Read from a DVSEC register block
  - Write to a DVSEC register block
  - Perform DOE transaction

This set of operation is sufficient to implement BIOS-level CXL
functionality.

Signed-off-by: Nick Graves &lt;nicholasgraves@google.com&gt;
Signed-off-by: Oleksandr Tymoshenko &lt;ovt@google.com&gt;
</content>
</entry>
<entry>
<title>MdeModulePkg: Don't Allow Guard Pages to Cross Bin Boundaries</title>
<updated>2026-04-23T02:42:12+00:00</updated>
<author>
<name>Oliver Smith-Denny</name>
<email>osde@microsoft.com</email>
</author>
<published>2026-04-20T22:39:37+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/Tianocore/edk2.git/commit/?id=0f2dc7558713f1774bb7317e9fdcd371fcbb10cc'/>
<id>urn:sha1:0f2dc7558713f1774bb7317e9fdcd371fcbb10cc</id>
<content type='text'>
Currently, the DXE page allocator does not ensure that guard
page allocations stay within the bin that it is attempting to
allocate within. As a result, S4 resume is jeopardized by
bins expanding due to guard pages, either into other bins or
out of bins. This is caught by a new assert in CoreGetMemoryMap()
to ensure the bins are correct.

This fixes this by changing the internal heap guard API to return
the adjusted size and start address of a proposed allocation. The
page allocator then can ensure that the adjusted allocation still
fits within the bin it is attempting to allocate within; if not,
it will search for another descriptor.

Signed-off-by: Oliver Smith-Denny &lt;osde@microsoft.com&gt;
</content>
</entry>
<entry>
<title>MdeModulePkg/NetworkCommon: Add PCD for USB network periodic timer</title>
<updated>2026-04-21T13:29:12+00:00</updated>
<author>
<name>Abdul Lateef Attar</name>
<email>AbdulLateef.Attar@amd.com</email>
</author>
<published>2026-03-27T06:06:32+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/Tianocore/edk2.git/commit/?id=c31b880bd21cf0276640c816bbca78e2f314f881'/>
<id>urn:sha1:c31b880bd21cf0276640c816bbca78e2f314f881</id>
<content type='text'>
Replace the hardcoded NETWORK_COMMON_POLLING_INTERVAL (0x10 = 16ms)
with a new PCD PcdUsbNetworkPeriodicalTimer, allowing platforms to
configure the asynchronous transfer interval for USB network devices.

The default value of 16ms preserves existing behaviour.

EFI_USB_IO_PROTOCOL.UsbAsyncInterruptTransfer(), the PollingInterval
parameter must be between 1 and 255 milliseconds; a value of 0
returns EFI_INVALID_PARAMETER. The PCD is declared with a
@ValidRange of 1-255 and an ASSERT guards against a zero value at
runtime.

Co-authored-by: Abner Chang &lt;abner.chang@amd.com&gt;
Signed-off-by: Abdul Lateef Attar &lt;AbdulLateef.Attar@amd.com&gt;
</content>
</entry>
<entry>
<title>MdeModulePkg/PciBusDxe: Add optional CRS retry for enumeration</title>
<updated>2026-03-17T02:03:32+00:00</updated>
<author>
<name>Ashish Singhal</name>
<email>ashishsingha@nvidia.com</email>
</author>
<published>2026-01-20T17:54:54+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/Tianocore/edk2.git/commit/?id=b074eb78b4fc451642b2f1dbd90f3830be13cbfe'/>
<id>urn:sha1:b074eb78b4fc451642b2f1dbd90f3830be13cbfe</id>
<content type='text'>
The current PciDevicePresent() implementation skips PCIe devices that
return Configuration Request Retry Status (CRS) during enumeration.
This causes devices that are slow to initialize (e.g., after power-on
or reset) to be missed entirely.

Per PCIe Base Specification Rev 3.1 Section 2.3.1, when CRS Software
Visibility is enabled and a device returns CRS, the Root Complex
reports Vendor ID as 0x0001. The specification recommends software
retry the configuration read until the device becomes ready.

This patch adds optional CRS retry support controlled by PCDs:

- PcdPciCrsRetryIntervalUs: Retry interval in microseconds (default 10000)
- PcdPciCrsTimeoutSeconds: Total timeout in seconds (default 0)

By default (PcdPciCrsTimeoutSeconds=0), CRS retry is disabled and
devices returning CRS are skipped during enumeration. Platforms
requiring CRS retry support should set PcdPciCrsTimeoutSeconds to
a non-zero value.

Additional improvements:
- Add PCI_VENDOR_ID_NONE and PCI_VENDOR_ID_CRS macros for readability
- Handle invalid PCD configurations (e.g., zero retry interval)
- Add DEBUG output for CRS detection, successful retry, and timeout

Signed-off-by: Ashish Singhal &lt;ashishsingha@nvidia.com&gt;
</content>
</entry>
<entry>
<title>MdeModulePkg: Mark PcdMrIovSupport obsolete - deprecated in PCIe 6.0</title>
<updated>2026-02-25T05:03:02+00:00</updated>
<author>
<name>Jacek Kolakowski</name>
<email>Jacek.Kolakowski@intel.com</email>
</author>
<published>2025-11-13T11:14:02+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/Tianocore/edk2.git/commit/?id=2e92a908e7595329d31f453e7144e90b42b6ea03'/>
<id>urn:sha1:2e92a908e7595329d31f453e7144e90b42b6ea03</id>
<content type='text'>
MR-IOV was actually not used in MdeModulePkg and it has been
deprecated in PCIe 6.0 specification. Remove code references,
but keep PcdMrIovSupport with just a comment that it is deprecated.

Signed-off-by: Jacek Kolakowski &lt;Jacek.Kolakowski@intel.com&gt;
</content>
</entry>
<entry>
<title>MdeModulePkg: Add platform limit for size in Resizable BAR</title>
<updated>2026-02-25T03:40:14+00:00</updated>
<author>
<name>Jacek Kolakowski</name>
<email>Jacek.Kolakowski@intel.com</email>
</author>
<published>2025-10-10T19:37:26+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/Tianocore/edk2.git/commit/?id=24eddc65b34538b397bcacec057a4a1fff7550df'/>
<id>urn:sha1:24eddc65b34538b397bcacec057a4a1fff7550df</id>
<content type='text'>
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.

Signed-off-by: Jacek Kolakowski &lt;Jacek.Kolakowski@intel.com&gt;
</content>
</entry>
<entry>
<title>MdeModulePkg: BdsDxe: Introduce infinite boot retries</title>
<updated>2026-02-02T02:24:18+00:00</updated>
<author>
<name>Sherry Fan</name>
<email>sherryfan@microsoft.com</email>
</author>
<published>2026-01-22T00:41:39+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/Tianocore/edk2.git/commit/?id=64ad6f20d883bea836a8b144acd45dba2eb226a5'/>
<id>urn:sha1:64ad6f20d883bea836a8b144acd45dba2eb226a5</id>
<content type='text'>
This PR introduces a new feature to enable infinite boot retries based on a newly created PCD.
When true, the system will continuously loop over all boot options.

PCD default is FALSE to match existing functionality.

This change is tested on QEMU based virtual platforms and physical
platforms.

This change is useful for certain server cases. Infinite retries allows
a server to continuously attempt boot in case of network failure and
recovery, and for such attempts to be accurately recorded in the TCG
logs.

Co-authored-by: Kun Qin &lt;kun.qin@microsoft.com&gt;
Co-authored-by: Aaron Pop &lt;aaron.pop@microsoft.com&gt;
Co-authored-by: Michael Kubacki &lt;michael.kubacki@microsoft.com&gt;

Signed-off-by: Sherry Fan &lt;sherryfan@microsoft.com&gt;
</content>
</entry>
<entry>
<title>MdeModulePkg: Define PCD for SATA ready for operation timeout.</title>
<updated>2025-11-22T17:01:23+00:00</updated>
<author>
<name>gapandya</name>
<email>gaurav.pandya@amd.com</email>
</author>
<published>2025-10-18T09:42:07+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/Tianocore/edk2.git/commit/?id=56032225e36403f4f33bd4f8283aa512fd28699d'/>
<id>urn:sha1:56032225e36403f4f33bd4f8283aa512fd28699d</id>
<content type='text'>
Some large capacity SATA HDD requires more time from power on
to ready state.
Making timeout value configurable by defining PCD
PcdSataDeviceReadyTimeout will allow platform.dsc to serve these
devices.
Defining gEfiMdeModulePkgTokenSpaceGuid.PcdSataDeviceReadyTimeout
with default value 16 Seconds in MdeModulePkg.dec.

Signed-off-by: gapandya &lt;gaurav.pandya@amd.com&gt;
</content>
</entry>
<entry>
<title>MdeModulePkg/DxeCapsuleLibFmp:Added PCD for EmbeddedDriver Support</title>
<updated>2025-10-14T17:45:19+00:00</updated>
<author>
<name>Pavithra Gurulingappa</name>
<email>gpavithr@qti.qualcomm.com</email>
</author>
<published>2025-09-16T09:14:52+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/Tianocore/edk2.git/commit/?id=597d061e0979f30d5f65dff72d489c18ddec35c2'/>
<id>urn:sha1:597d061e0979f30d5f65dff72d489c18ddec35c2</id>
<content type='text'>
Currently, there is no mechanism for platforms to enable or disable
support for EmbeddedDrivers in capsule updates. This patch introduces
a new PCD, PcdEmbeddedDriverSupport, allowing platforms to explicitly
control whether capsules containing EmbeddedDrivers are supported.
This ensures capsules with embedded drivers are rejected on platforms
that do not support them.

This is a breaking change.By default, PcdEmbeddedDriverSupport
is set to FALSE which disables embedded driver support in capsule updates
across all platforms unless explicitly enabled.

Platforms must opt-in by setting the PcdEmbeddedDriverSupport to TRUE
in order to enable support for capsules containing embedded drivers.

Signed-off-by: Pavithra Gurulingappa &lt;gpavithr@qti.qualcomm.com&gt;
</content>
</entry>
</feed>
