<feed xmlns='http://www.w3.org/2005/Atom'>
<title>Tianocore/edk2.git/EmbeddedPkg, branch master</title>
<subtitle>EDK II (mirror)</subtitle>
<id>https://git.radix-linux.su/Tianocore/edk2.git/atom?h=master</id>
<link rel='self' href='https://git.radix-linux.su/Tianocore/edk2.git/atom?h=master'/>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/Tianocore/edk2.git/'/>
<updated>2026-09-04T01:50:12+00:00</updated>
<entry>
<title>EmbeddedPkg: MmcIoBlocks: Fix logical error in timeout</title>
<updated>2026-09-04T01:50:12+00:00</updated>
<author>
<name>snowpiaoling</name>
<email>1972997989@qq.com</email>
</author>
<published>2026-08-07T04:28:34+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/Tianocore/edk2.git/commit/?id=33ce6ba36d40f6a89cf8a0dc55ff358b938bda6d'/>
<id>urn:sha1:33ce6ba36d40f6a89cf8a0dc55ff358b938bda6d</id>
<content type='text'>
In eMMC status detection logic in the `MmcIoBlocks' function, if a timeout
occurs, the Timeout variable will end with a value -1 as the self-
subtraction operation is performed after determining 0 in the while loop.
This means that the function could never return a `EFI_NOT_READY' status.

As Timeout is of a signed type, change the conditional statement to
less-than-or-equal to 0 to fix timeout/busy detection.

Signed-off-by: snowpiaoling &lt;1972997989@qq.com&gt;
</content>
</entry>
<entry>
<title>EmbeddedPkg: MmcTransferBlock: Add Timeout Handle</title>
<updated>2026-09-03T14:08:04+00:00</updated>
<author>
<name>snowpiaoling</name>
<email>1972997989@qq.com</email>
</author>
<published>2026-08-30T01:28:04+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/Tianocore/edk2.git/commit/?id=65f06e62d5de8f9e4cbbc8735d0f6f15a721b169'/>
<id>urn:sha1:65f06e62d5de8f9e4cbbc8735d0f6f15a721b169</id>
<content type='text'>
In the `MmcTransferBlock' function, the `Timeout' variable is defined but not
processed, so timeout handling is added.

Signed-off-by: snowpiaoling &lt;1972997989@qq.com&gt;
</content>
</entry>
<entry>
<title>EmbeddedPkg: PrePiHobLib: Don't Duplicate Stack Hob Mem Alloc</title>
<updated>2026-09-03T09:00:37+00:00</updated>
<author>
<name>Oliver Smith-Denny</name>
<email>osde@microsoft.com</email>
</author>
<published>2026-09-02T19:48:34+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/Tianocore/edk2.git/commit/?id=e9b31236bdbc6e0fe179c56d16c6ffe125c6069d'/>
<id>urn:sha1:e9b31236bdbc6e0fe179c56d16c6ffe125c6069d</id>
<content type='text'>
Currently, PrePiHobLib will produce two memory allocation
HOBs for the stack, based on the behavior it copied from
DxeIpl. This is an incorrect description of handoff state.

This commit follows the DxeIpl logic change to only produce
a single memory allocation HOB for the new stack. The
difference is that PrePiHobLib does not preserve the old
stack region and instead frees it. That behavior is
preserved.

Signed-off-by: Oliver Smith-Denny &lt;osde@microsoft.com&gt;
</content>
</entry>
<entry>
<title>EmbeddedPkg: normalize mmc interaction latency to 1us</title>
<updated>2026-08-30T01:48:20+00:00</updated>
<author>
<name>snowpiaoling</name>
<email>1972997989@qq.com</email>
</author>
<published>2026-08-07T04:30:07+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/Tianocore/edk2.git/commit/?id=15a434a2bdac898e68d21cd659969abcadec37cb'/>
<id>urn:sha1:15a434a2bdac898e68d21cd659969abcadec37cb</id>
<content type='text'>
Upon inspecting the source code, I found that the original implementation
of eMMC timeout in MmcDxe is affected by the CPU execution speed. With
higher-performance CPUs, the actual timeout duration would be shortened as
it was not based on wall clock.

Add a precise 1us delay to each iteration of the wait loop to make the
actual duration of the delay clock- and performance-agnostic.

Signed-off-by: snowpiaoling &lt;1972997989@qq.com&gt;
</content>
</entry>
<entry>
<title>EmbeddedPkg/AcpiLib: Fix memory corruption in AcpiAmlObjectUpdateInteger</title>
<updated>2026-08-12T08:13:56+00:00</updated>
<author>
<name>Johnny.Fan</name>
<email>Johnny.Fan@cixtech.com</email>
</author>
<published>2026-07-07T09:11:34+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/Tianocore/edk2.git/commit/?id=2970e5699ba6267f3384ffab20f96647578aebc8'/>
<id>urn:sha1:2970e5699ba6267f3384ffab20f96647578aebc8</id>
<content type='text'>
  The original implementation of AcpiAmlObjectUpdateInteger had a critical
  bug when updating integer objects that were encoded with AML_ZERO_OP(0x00)
  or AML_ONE_OP(0x01), which are 1-byte optimized encodings.

  When the caller tried to update such an object to a value other than 0
  or 1, the code would:
  1. Overwrite the opcode byte with the new value's LSB
  2. This changed the opcode itself, e.g. 0x0B becomes AML_WORD_PREFIX
  3. Subsequent AML bytes (name segments of following objects) get
     misinterpreted as integer data
  4. Result: silent AML structure is silently corrupted, causing the OS to
     fail parsing ACPI tables and eventually crash.

  The fix:
  1. Only allow 0 -&gt; 0 or 1 updates using the original 1-byte encoding
  2. For any other value, explicitly fail with a diagnostic
  3. Provide clear debug instructions on how to fix the ASL source

Reviewed-by: jie.fu &lt;jie.fu@cixtech.com&gt;
Signed-off-by: Johnny.Fan &lt;Johnny.Fan@cixtech.com&gt;
</content>
</entry>
<entry>
<title>Global: Set MarkdownLintCheck plugin to AuditOnly</title>
<updated>2026-07-29T12:32:09+00:00</updated>
<author>
<name>Michael Kubacki</name>
<email>michael.kubacki@microsoft.com</email>
</author>
<published>2026-07-22T00:42:07+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/Tianocore/edk2.git/commit/?id=df9111c2d381546ff23cdf327546ad49f51ce779'/>
<id>urn:sha1:df9111c2d381546ff23cdf327546ad49f51ce779</id>
<content type='text'>
In preparation for the MarkdownLintCheck plugin being added to the
repo, this change defaults the plugin to `AuditOnly` mode in each
package. This allows package maintainers to enable the plugin as they
see fit.

Continuous-integration-options: PatchCheck.ignore-multi-package
Signed-off-by: Michael Kubacki &lt;michael.kubacki@microsoft.com&gt;
</content>
</entry>
<entry>
<title>EmbeddedPkg: PrePiLib: Fix uninitialized variable warnings</title>
<updated>2026-06-24T14:49:50+00:00</updated>
<author>
<name>Tuan Phan</name>
<email>tuan.phan@oss.qualcomm.com</email>
</author>
<published>2026-01-21T04:15:50+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/Tianocore/edk2.git/commit/?id=b3d5f2b349041fedc31b0ff1fd4b3719bed33923'/>
<id>urn:sha1:b3d5f2b349041fedc31b0ff1fd4b3719bed33923</id>
<content type='text'>
In FfsProcessSection(), delete CompressionSectionHeaderSize and move
CompressedData to avoid the compiler warning without changing functional
behavior.

Signed-off-by: Tuan Phan &lt;tuan.phan@oss.qualcomm.com&gt;
</content>
</entry>
<entry>
<title>EmbeddedPkg,MdeModulePkg,DynamicTablesPkg: Move ACPI helper macros</title>
<updated>2026-06-18T13:03:24+00:00</updated>
<author>
<name>VarshitPandya</name>
<email>varshit.pandya@arm.com</email>
</author>
<published>2026-05-29T10:57:31+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/Tianocore/edk2.git/commit/?id=3b61f4d266ba8e8a4c320a06295637b01f098c2b'/>
<id>urn:sha1:3b61f4d266ba8e8a4c320a06295637b01f098c2b</id>
<content type='text'>
Move the ACPI table helper macros from EmbeddedPkg's AcpiLib.h to
MdeModulePkg's AcpiHelperMacros.h.

These macros describe ACPI data initializers and do not depend on the
AcpiLib library interface. Keeping them in AcpiLib.h forces users that
only need the macros to include the AcpiLib library header unnecessarily.

Place the macros in a common MdeModulePkg public header so ACPI table
producers can include the macro definitions directly without implying
use of AcpiLib.

The companion edk2-platforms change is:
"Global: Include AcpiHelperMacros.h for ACPI helper macros"

Tested:
  DynamicTablesPkg: X64/AARCH64 DEBUG/RELEASE/NOOPT
  MdeModulePkg: X64/AARCH64 DEBUG/RELEASE/NOOPT
  EmbeddedPkg: X64/AARCH64 DEBUG/RELEASE/NOOPT

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

Signed-off-by: Varshit Pandya &lt;varshit.pandya@arm.com&gt;
</content>
</entry>
<entry>
<title>EmbeddedPkg, OvmfPkg: Produce FV3 HOBs for Extracted FVs</title>
<updated>2026-06-13T09:06:33+00:00</updated>
<author>
<name>Oliver Smith-Denny</name>
<email>osde@microsoft.com</email>
</author>
<published>2026-06-12T14:50:31+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/Tianocore/edk2.git/commit/?id=c6c02f8cae2642b9a8987ef14b1606afb0688b1e'/>
<id>urn:sha1:c6c02f8cae2642b9a8987ef14b1606afb0688b1e</id>
<content type='text'>
EmbeddedPkg's PrePiLib and OvmfPkg's PeilessStartupLib (which
uses PrePiLib) only produce FV2 HOBs for extracted FVs. However,
FV3 HOBs have superceded FV2 HOBs for describing extracted FVs.

This commit updates both of these libs to also produce FV3 HOBs,
following PEI's pattern of producing an FV, FV2, and FV3 HOB for
each extracted FV.

Eventually, only FV3 HOBs will be produced, so this paves the way
for that.

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

Signed-off-by: Oliver Smith-Denny &lt;osde@microsoft.com&gt;
</content>
</entry>
<entry>
<title>EmbeddedPkg, OvmfPkg: PrePiLib: Use Correct FvName in FV2 HOB Production</title>
<updated>2026-06-13T09:06:33+00:00</updated>
<author>
<name>Dmitry Antipov</name>
<email>dmanti@microsoft.com</email>
</author>
<published>2019-08-12T22:57:27+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/Tianocore/edk2.git/commit/?id=7ad30b28b2e86ccc9cab9917d272f486140323bb'/>
<id>urn:sha1:7ad30b28b2e86ccc9cab9917d272f486140323bb</id>
<content type='text'>
PrePiLib is incorrectly producing FV2 HOBs. The FvName field of
the FV2 HOB is intended to be the parent FV's name. This way the
HOB consumer phase can identify when an FV has already been
extracted: if the file name of the extracted FV and the parent
FV name match in the FV2 HOB.

With the incorrect FvName, DXE will re-extract the already
extracted FV, which can be a large performance hit (some platforms
we have seen ~1 second).

This requires an update to FfsProcessFvFile to pass the parent
FV handle through so the FV2 HOB can be correctly produced.
OvmfPkg consumers are also updated.

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

Signed-off-by: Oliver Smith-Denny &lt;osde@microsoft.com&gt;
</content>
</entry>
</feed>
