<feed xmlns='http://www.w3.org/2005/Atom'>
<title>Tianocore/edk2.git/MdeModulePkg/Universal, 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-08T02:15:34+00:00</updated>
<entry>
<title>MdePkg,MdeModulePkg: Fix Spelling Error in Udf Definitions</title>
<updated>2026-05-08T02:15:34+00:00</updated>
<author>
<name>Oliver Smith-Denny</name>
<email>osde@microsoft.com</email>
</author>
<published>2026-04-13T18:28:11+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/Tianocore/edk2.git/commit/?id=b5d4a2c4789dd54f73c81c53afbdeb558ecfd1de'/>
<id>urn:sha1:b5d4a2c4789dd54f73c81c53afbdeb558ecfd1de</id>
<content type='text'>
Fix spelling error in definition in Udf.h. Update
consumer in MdeModulePkg.

A temporary backward-compatible alias is provided
for the old misspelled enum name.

Continuous-integration-options: PatchCheck.ignore-multi-package

Signed-off-by: Oliver Smith-Denny &lt;osde@microsoft.com&gt;
</content>
</entry>
<entry>
<title>MdeModulePkg: Cleanup debug print readability</title>
<updated>2026-05-06T10:43:05+00:00</updated>
<author>
<name>Benjamin Doron</name>
<email>benjamin.doron00@gmail.com</email>
</author>
<published>2023-04-01T20:27:50+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/Tianocore/edk2.git/commit/?id=8add400a8be81ad493f4bd6f4f8dadebb01388e7'/>
<id>urn:sha1:8add400a8be81ad493f4bd6f4f8dadebb01388e7</id>
<content type='text'>
All debug prints should end in a newline character.

Signed-off-by: Benjamin Doron &lt;benjamin.doron00@gmail.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>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: 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/TerminalDxe: Fix Backspace key for VT-UTF8 terminal type</title>
<updated>2026-02-28T04:43:49+00:00</updated>
<author>
<name>Damien-Chen</name>
<email>inkfan130924783@gmail.com</email>
</author>
<published>2026-02-09T11:07:02+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/Tianocore/edk2.git/commit/?id=58c9ba24d4b7192496eeedbac3bffc0e81cc420f'/>
<id>urn:sha1:58c9ba24d4b7192496eeedbac3bffc0e81cc420f</id>
<content type='text'>
When QEMU is launched with -nographic, the Backspace key (DEL, 0x7f)
doesn't work in the UEFI Shell because the VT-UTF8 terminal type
interprets DEL as SCAN_DELETE instead of CHAR_BACKSPACE.

Modern terminal emulators (xterm, gnome-terminal, etc.) send DEL (0x7f)
for Backspace and are UTF-8 compatible. This patch updates
TerminalTypeVtUtf8 to interpret DEL as CHAR_BACKSPACE, consistent with
how TerminalTypeTtyTerm already handles it.

This approach preserves VT-UTF8 as the default terminal type (which
supports full Unicode), while fixing the Backspace functionality for
modern terminal environments.

Signed-off-by: Damien Chen &lt;inkfan130924783@gmail.com&gt;
</content>
</entry>
<entry>
<title>MdeModulePkg: Fix PreferMode selection for same-width text modes</title>
<updated>2026-02-28T03:35:35+00:00</updated>
<author>
<name>Ashraf Ali S</name>
<email>ashraf.ali.s@intel.com</email>
</author>
<published>2026-02-11T05:46:22+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/Tianocore/edk2.git/commit/?id=41b32312c47e2b8fdc5b0dacb4d7c1a4d159fcf0'/>
<id>urn:sha1:41b32312c47e2b8fdc5b0dacb4d7c1a4d159fcf0</id>
<content type='text'>
The current PreferMode selection logic requires both Columns AND Rows to
be strictly greater (&gt;) than the current maximum, which fails when a
text mode has the same column count but more rows.

Example failure case (1920x1200 display):
- Mode 5: 240x56 - Selected as PreferMode
- Mode 6: 240x63 - Rejected because 240 is not &gt; 240

This mismatch causes ConsplitterSetConsoleOutMode to later request
Mode 6, triggering an unnecessary text mode change and clearing the
screen during console init.

Root Cause:
GraphicsConsole used: if ((Col &gt; Max) &amp;&amp; (Row &gt; Max))
This fails when only rows increase while columns stay the same.

Solution:
Change to: if ((Col &gt;= Max) &amp;&amp; (Row &gt;= Max))
This aligns with ConSplitter mode selection logic and correctly selects
the mode with the highest column and row counts.

After fix (1920x1200 display):
- Mode 5: 240x56
- Mode 6: 240x63 - Correctly selected as PreferMode

This ensures GraphicsConsole and ConSplitter match on the preferred mode
preventing unnecessary screen clears during console initialization.

Signed-off-by: Ashraf Ali S &lt;ashraf.ali.s@intel.com&gt;
</content>
</entry>
<entry>
<title>MdeModulePkg: Replace include guards with #pragma once</title>
<updated>2026-02-23T21:01:28+00:00</updated>
<author>
<name>Michael Kubacki</name>
<email>michael.kubacki@microsoft.com</email>
</author>
<published>2026-02-03T18:48:28+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/Tianocore/edk2.git/commit/?id=7a934d0befca7d10f361c76af6d2fcb6eb48c835'/>
<id>urn:sha1:7a934d0befca7d10f361c76af6d2fcb6eb48c835</id>
<content type='text'>
Replace traditional `#ifndef`/`#define`/`#endif` include guards with
`#pragma` once.

`#pragma once` is a widely supported preprocessor directive that
prevents header files from being included multiple times. It is
supported by all toolchains used to build edk2: GCC, Clang/LLVM, and
MSVC.

Compared to macro-based include guards, `#pragma once`:

- Eliminates the risk of macro name collisions or copy/paste errors
  where two headers inadvertently use the same guard macro.
- Eliminate inconsistency in the way include guard macros are named
  (e.g., some files use `__FILE_H__`, others use `FILE_H_`, etc.).
- Reduces boilerplate (three lines replaced by one).
- Avoids polluting the macro namespace with guard symbols.
- Can improve build times as the preprocessor can skip re-opening the
  file entirely, rather than re-reading it to find the matching
  `#endif` ("multiple-include optimization").
  - Note that some compilers may already optimize traditional include
    guards, by recognzining the idiomatic pattern.

This change is made acknowledging that overall portability of the
code will technically be reduced, as `#pragma once` is not part of the
C/C++ standards.

However, this is considered acceptable given:

1. edk2 already defines a subset of supported compilers in
   BaseTools/Conf/tools_def.template, all of which have supported
   `#pragma once` for over two decades.
2. There have been concerns raised to the project about inconsistent
   include guard naming and potential macro collisions.

Approximate compiler support dates:

- MSVC: Supported since Visual C++ 4.2 (1996)
- GCC: Supported since 3.4 (2004)
  (http://gnu.ist.utl.pt/software/gcc/gcc-3.4/changes.html)
- Clang (LLVM based): Since initial release in 2007

Signed-off-by: Michael Kubacki &lt;michael.kubacki@microsoft.com&gt;
</content>
</entry>
<entry>
<title>MdeModulePkg/HiiDatabaseDxe: Fix parser issue in GetNameElement()</title>
<updated>2026-02-10T01:31:21+00:00</updated>
<author>
<name>Yang Gang</name>
<email>yanggang@byosoft.com.cn</email>
</author>
<published>2026-01-27T09:42:36+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/Tianocore/edk2.git/commit/?id=be6ff0f289f40e42a75d3c53af7f43a667f509d5'/>
<id>urn:sha1:be6ff0f289f40e42a75d3c53af7f43a667f509d5</id>
<content type='text'>
This commit removes an wrong goto statement which may cause DXE_ASSERT!

`ConfigRequest` example: `&amp;NameValueVar0&amp;NameValueVar1&amp;NameValueVar2`.

When `*Progress` is `&amp;NameValueVar2`, code will run to `goto Done;`,
then return NULL.

Signed-off-by: Yang Gang &lt;yanggang@byosoft.com.cn&gt;
</content>
</entry>
<entry>
<title>MdeModulePkg: MmVariablePei: Populate correct v3 header</title>
<updated>2026-02-03T21:56:48+00:00</updated>
<author>
<name>Kun Qin</name>
<email>kuqin@microsoft.com</email>
</author>
<published>2026-01-14T00:07:31+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/Tianocore/edk2.git/commit/?id=25462a6ab2496d06690b64f2b9afa909fb15a6c2'/>
<id>urn:sha1:25462a6ab2496d06690b64f2b9afa909fb15a6c2</id>
<content type='text'>
When using MM communicate v3 to fetch variable, the header calculation
was incorrect, causing the variable driver on the secure environment to
have random behavior.

This change refactored the original routine by following the current
DXE instance (mostly).

Signed-off-by: Kun Qin &lt;kun.qin@microsoft.com&gt;
</content>
</entry>
</feed>
