<feed xmlns='http://www.w3.org/2005/Atom'>
<title>Tianocore/edk2.git/MdeModulePkg, branch dependabot/github_actions/actions/create-github-app-token-3</title>
<subtitle>EDK II (mirror)</subtitle>
<id>https://git.radix-linux.su/Tianocore/edk2.git/atom?h=dependabot%2Fgithub_actions%2Factions%2Fcreate-github-app-token-3</id>
<link rel='self' href='https://git.radix-linux.su/Tianocore/edk2.git/atom?h=dependabot%2Fgithub_actions%2Factions%2Fcreate-github-app-token-3'/>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/Tianocore/edk2.git/'/>
<updated>2026-04-02T03:27:19+00:00</updated>
<entry>
<title>MdeModulePkg: Added several mock libraries for google test</title>
<updated>2026-04-02T03:27:19+00:00</updated>
<author>
<name>PaddyDeng</name>
<email>paddydeng@ami.com</email>
</author>
<published>2026-02-23T08:29:38+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/Tianocore/edk2.git/commit/?id=d68752de91db50259a65b49a9d3b2d98eec767c2'/>
<id>urn:sha1:d68752de91db50259a65b49a9d3b2d98eec767c2</id>
<content type='text'>
Added several mock libraries for google test so one can make google test
drives consuming those libraries:

- MockTpmMeasurementLib
- MockFirmwareVolumeShadowPpi

Signed-off-by: Paddy Deng &lt;PaddyDeng@ami.com&gt;
</content>
</entry>
<entry>
<title>MdeModulePkg: VariableSmmRuntimeDxe: Fix MM communicate v3 buffer sizing</title>
<updated>2026-03-25T17:47:59+00:00</updated>
<author>
<name>Liqi Qi</name>
<email>132628835+liqiqiii@users.noreply.github.com</email>
</author>
<published>2026-03-12T23:06:04+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/Tianocore/edk2.git/commit/?id=0049ac1793c4abd0652652286e5506f52aaaa0d4'/>
<id>urn:sha1:0049ac1793c4abd0652652286e5506f52aaaa0d4</id>
<content type='text'>
This change updates `VariableSmmRuntimeDxe` to correctly size its runtime
communication buffer when `EFI_MM_COMMUNICATION3_PROTOCOL` is present.

In the current flow, the runtime variable path may use MM communication
v3, but the input size is first validated against the global variable
`mVariableBufferPayloadSize`. The size is then validated a second time
during communication buffer initialization using the v3 header size,
which results in `GetVariable` calls with sufficiently large buffers
consistently failing.

This update makes the allocation logic v3‑aware so that the runtime
variable communication buffer matches the header format actually in use,
avoiding failures for larger variable transactions.

Signed-off-by: Kun Qin &lt;kun.qin@microsoft.com&gt;
</content>
</entry>
<entry>
<title>Revert "MdeModulePkg/PciBusDxe: Degrade MEM64 to PMEM64..."</title>
<updated>2026-03-24T02:11:23+00:00</updated>
<author>
<name>Michael D Kinney</name>
<email>michael.d.kinney@intel.com</email>
</author>
<published>2026-03-23T16:50:17+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/Tianocore/edk2.git/commit/?id=defbd14d637313bdded40c717892497deec89be0'/>
<id>urn:sha1:defbd14d637313bdded40c717892497deec89be0</id>
<content type='text'>
This reverts commit f6489621b8ae1164c5e4930902988ba7c86847ba.

MdeModulePkg/PciBusDxe: Degrade MEM64 to PMEM64 when bridge lacks MEM64

A number of compatibility issues have been reported with this change
to the PciBusDxe behavior. Revert this change at this time to give
time for all the issues to be reviewed and options for supporting
this new behavior to be evaluated and fully validated.

Signed-off-by: Michael D Kinney &lt;michael.d.kinney@intel.com&gt;
</content>
</entry>
<entry>
<title>MdeModulePkg/Core: Validate DXE event signature before usage</title>
<updated>2026-03-23T18:43:11+00:00</updated>
<author>
<name>Khalid Ali</name>
<email>khaliidcaliy@gmail.com</email>
</author>
<published>2026-03-04T14:53:06+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/Tianocore/edk2.git/commit/?id=260b91a352b870a6d7c05bdf47bd4564e7677c7c'/>
<id>urn:sha1:260b91a352b870a6d7c05bdf47bd4564e7677c7c</id>
<content type='text'>
fixes: #11112

Currently, function RegisterProtocolNotify() doesn't check the validity
of event and it accepts any event pointer as long as pointer isn't NULL.
However event could be closed and freed which could lead to use after
free.

Always check event signature before usage and return
EFI_INVALID_PARAMTER for events with invalid signature.

Signed-off-by: Khalid Ali &lt;khaliidcaliy@gmail.com&gt;
</content>
</entry>
<entry>
<title>MdeModulePkg/SpiNorFlashJedecSfdp: Limit debug output</title>
<updated>2026-03-23T16:30:18+00:00</updated>
<author>
<name>Abdul Lateef Attar</name>
<email>AbdulLateef.Attar@amd.com</email>
</author>
<published>2026-03-18T07:28:13+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/Tianocore/edk2.git/commit/?id=1bd61a940994fef5c0deb445cfb84a9a57905091'/>
<id>urn:sha1:1bd61a940994fef5c0deb445cfb84a9a57905091</id>
<content type='text'>
Change debug print level from DEBUG_INFO to
DEBUG_VERBOSE to limit excessive output.
Since Spinor Sfdp operations can generate a large number of
debug messages due to frequent read/write/erase actions,
this change reduces log verbosity at the INFO level.

Signed-off-by: Abdul Lateef Attar &lt;AbdulLateef.Attar@amd.com&gt;
</content>
</entry>
<entry>
<title>MdeModulePkg: : revert EndofDxeEvent TPLs to TPL_NOTIFY for FPDT</title>
<updated>2026-03-19T03:39:15+00:00</updated>
<author>
<name>Yeoreum Yun</name>
<email>yeoreum.yun@arm.com</email>
</author>
<published>2026-03-18T11:03:46+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/Tianocore/edk2.git/commit/?id=8c50e656c088384fe8d47b4b51186d5ee225b199'/>
<id>urn:sha1:8c50e656c088384fe8d47b4b51186d5ee225b199</id>
<content type='text'>
commit aa02571 ("MdeModulePkg: Change EndofDxeEvent TPLs to TPL_CALLBACK")
changed EndOfDxeEvent TPLs from TPL_NOFIY to TPL_CALLBACK.

However this commit makes a boot failure on the FVP platform when FPDT
ACPI table generation is enabled:

  [FirmwarePerformanceDxe] Error when lock variable FirmwarePerformance, Status = Write Protected

  ASSERT_EFI_ERROR (Status = Write Protected)
  ASSERT [FirmwarePerformanceDxe] FirmwarePerformanceDxe.c(405): !(((RETURN_STATUS)(Status)) &gt;= 0x8000000000000000ULL)

Currently, EVT_NOTIFY_SIGNAL events are managed in FILO order,
as new events are inserted using InsertHeadList().

The sequence is as follows:

  1. DxeCore initializes DxeCorePerformanceLib, whose constructor creates
     an EndOfDxe event (gEfiEndOfDxeEventGroupGuid) with the
     ReportFpdtRecordBuffer() callback.

  2. MmCommunicationDxe (in ArmPkg) creates another EndOfDxe event to
     notify StandaloneMm. This event is inserted ahead of the one created
     in (1).

  3. PlatformBootManagerBeforeConsole() signals EndOfDxe, which triggers
     the event created in (2) first.

  4. When the callback from (2) runs, StandaloneMm calls
     LockVariablePolicy().

  5. The callback from (1) is then invoked and attempts to update FPDT via
     InstallFirmwarePerformanceDataTable(). During this process, it tries
     to register a variable policy for the FirmwarePerformance variable.
     However, since the Variable Policy interface was locked in (4), the
     operation fails with EFI_WRITE_PROTECTED.

To resolve this issue, revert EndofDxeEvent TPLs to TPL_NOTIFY for FPDT.

Fixes: aa02571 ("MdeModulePkg: Change EndofDxeEvent TPLs to TPL_CALLBACK")
Signed-off-by: Yeoreum Yun &lt;yeoreum.yun@arm.com&gt;
</content>
</entry>
<entry>
<title>MdeModulePkg/PeiCore: Accept MemoryDiscoveredPpi from SecCore</title>
<updated>2026-03-19T02:02:47+00:00</updated>
<author>
<name>Ray Ni</name>
<email>ray.ni@intel.com</email>
</author>
<published>2025-08-27T00:45:13+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/Tianocore/edk2.git/commit/?id=fc13220238df2e35fbb0afa0c1647ea8807168e0'/>
<id>urn:sha1:fc13220238df2e35fbb0afa0c1647ea8807168e0</id>
<content type='text'>
PeiCore assumes that it runs initially from the temporary memory
and switches to physical memory after PS::InstallPeiMemory() reports
the physical memory range for PEI.
This change enables PeiCore to run initially from the physical
memory when MemoryDiscoveredPpi is passed from SEC.

Signed-off-by: Ray Ni &lt;ray.ni@intel.com&gt;
</content>
</entry>
<entry>
<title>MdeModulePkg: Change EndofDxeEvent TPLs to TPL_CALLBACK</title>
<updated>2026-03-17T02:38:07+00:00</updated>
<author>
<name>Sherry Fan</name>
<email>sherryfan@microsoft.com</email>
</author>
<published>2026-01-17T02:20:40+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/Tianocore/edk2.git/commit/?id=aa02571f362c2c20842fd6c2de88b746a9c8acd3'/>
<id>urn:sha1:aa02571f362c2c20842fd6c2de88b746a9c8acd3</id>
<content type='text'>
Change FPDT events at EndOfDxe to TPL_CALLBACK as TPL_NOTIFY is not
necessary.

Signed-off-by: Sherry Fan &lt;sherryfan@microsoft.com&gt;
</content>
</entry>
<entry>
<title>MdeModulePkg: Update performance measurements to use new perf macros</title>
<updated>2026-03-17T02:38:07+00:00</updated>
<author>
<name>Sherry Fan</name>
<email>sherryfan@microsoft.com</email>
</author>
<published>2026-01-17T01:37:59+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/Tianocore/edk2.git/commit/?id=03e7c8c44f70d2e9c66c010ba84925d7d413d6ad'/>
<id>urn:sha1:03e7c8c44f70d2e9c66c010ba84925d7d413d6ad</id>
<content type='text'>
Updates BmBoot and dispatcher to use new perf macros.

Signed-off-by: Sherry Fan &lt;sherryfan@microsoft.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>
</feed>
