<feed xmlns='http://www.w3.org/2005/Atom'>
<title>Tianocore/edk2.git/EmbeddedPkg/Include/Library, branch dependabot/github_actions/actions/setup-python-7</title>
<subtitle>EDK II (mirror)</subtitle>
<id>https://git.radix-linux.su/Tianocore/edk2.git/atom?h=dependabot%2Fgithub_actions%2Factions%2Fsetup-python-7</id>
<link rel='self' href='https://git.radix-linux.su/Tianocore/edk2.git/atom?h=dependabot%2Fgithub_actions%2Factions%2Fsetup-python-7'/>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/Tianocore/edk2.git/'/>
<updated>2026-06-18T13:03:24+00:00</updated>
<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>
<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>EmbeddedPkg: 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:18:20+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/Tianocore/edk2.git/commit/?id=de527ff60653a3ed7cf0e313695267b53c120a09'/>
<id>urn:sha1:de527ff60653a3ed7cf0e313695267b53c120a09</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>ArmPlatformPkg,EmbeddedPkg,MdeModulePkg: Move RealTimeClockLib header</title>
<updated>2025-09-08T08:54:42+00:00</updated>
<author>
<name>INDIA\sachinganesh</name>
<email>sachinganesh@ami.com</email>
</author>
<published>2025-08-05T14:42:21+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/Tianocore/edk2.git/commit/?id=57230fff6b39a665485be1bd43ec608d412ba6fb'/>
<id>urn:sha1:57230fff6b39a665485be1bd43ec608d412ba6fb</id>
<content type='text'>
RealTimeClockLib is an architectural implementation that is not
restricted to the embedded segment or any platform in particular.

So the header has been moved to MdeModulePkg.
And the package has been added to the relevant INF files.

Continuous-integration-options: PatchCheck.ignore-multi-package
Signed-off-by: Sachin Ganesh &lt;sachinganesh@ami.com&gt;
</content>
</entry>
<entry>
<title>EmbeddedPkg: PrePiLib missing header used in file</title>
<updated>2025-06-03T08:13:28+00:00</updated>
<author>
<name>Doug Flick</name>
<email>dougflick@microsoft.com</email>
</author>
<published>2025-05-31T01:07:27+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/Tianocore/edk2.git/commit/?id=15a2f3e511fbcaebc573f27a578ce75565de9894'/>
<id>urn:sha1:15a2f3e511fbcaebc573f27a578ce75565de9894</id>
<content type='text'>
PrePiLib.h is missing the header file that defines
the structures used in the file.

For example:
 - EFI_PEI_FV_HANDLE
 - EFI_PEI_FILE_HANDLE

Signed-off-by: Doug Flick &lt;dougflick@microsoft.com&gt;
</content>
</entry>
<entry>
<title>EmbeddedPkg: Retire EfiResetSystemLib and ResetRuntimeDxe</title>
<updated>2024-07-31T10:53:32+00:00</updated>
<author>
<name>Ard Biesheuvel</name>
<email>ardb@kernel.org</email>
</author>
<published>2024-07-25T10:27:08+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/Tianocore/edk2.git/commit/?id=02f7ecbbb2da356585f5c4df4a5e7aa64a6b985d'/>
<id>urn:sha1:02f7ecbbb2da356585f5c4df4a5e7aa64a6b985d</id>
<content type='text'>
Retire the ancient reset runtime DXE in EmbeddedPkg, and the associated
EfiResetSystemLib library class and template implementation. These are
incomplete and have been superseded by a generic implementation in
MdeModulePkg.

Signed-off-by: Ard Biesheuvel &lt;ardb@kernel.org&gt;
</content>
</entry>
<entry>
<title>EmbeddedPkg: Align RealTimeClock function headers with return values</title>
<updated>2024-02-09T22:16:32+00:00</updated>
<author>
<name>Suqiang Ren</name>
<email>suqiangx.ren@intel.com</email>
</author>
<published>2024-02-02T08:20:51+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/Tianocore/edk2.git/commit/?id=844ead5bce56c4698be7baead497e268e885d492'/>
<id>urn:sha1:844ead5bce56c4698be7baead497e268e885d492</id>
<content type='text'>
RealTimeClock is used to back the runtime services time functions,
so align the description of the function return values with the
defined values for these services as described in UEFI Spec 2.10.

REF: UEFI spec 2.10 section 8 Services ? Runtime Services

Cc: Leif Lindholm &lt;quic_llindhol@quicinc.com&gt;
Cc: Ard Biesheuvel &lt;ardb+tianocore@kernel.org&gt;
Cc: Abner Chang &lt;abner.chang@amd.com&gt;
Signed-off-by: Suqiang Ren &lt;suqiangx.ren@intel.com&gt;
Reviewed-by: Abner Chang &lt;abner.chang@amd.com&gt;
Reviewed-by: Liming Gao &lt;gaoliming@byosoft.com.cn&gt;
</content>
</entry>
<entry>
<title>EmbeddedPkg/RealTimeClockLib: drop LibRtcVirtualNotifyEvent from lib class</title>
<updated>2023-10-18T16:15:41+00:00</updated>
<author>
<name>Laszlo Ersek</name>
<email>lersek@redhat.com</email>
</author>
<published>2023-10-12T09:10:57+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/Tianocore/edk2.git/commit/?id=7fe49887c4d227e585d5aa5530ee8a8d79d5fa1e'/>
<id>urn:sha1:7fe49887c4d227e585d5aa5530ee8a8d79d5fa1e</id>
<content type='text'>
The RealTimeClockLib class header in edk2 mistakenly declares a function
called LibRtcVirtualNotifyEvent(). No component ever calls this function
crossing module boundaries; all RealTimeClockLib instances in edk2 and
edk2-platforms are supposed to register (and do register) their
SetVirtualAddressMap() notification functions.

At this point, the word "LibRtcVirtualNotifyEvent" no longer occurs in any
of edk2, edk2-platforms, even edk2-non-osi, except the library class
header proper. Remove the LibRtcVirtualNotifyEvent() function declaration.

Build-tested only (with "EmbeddedPkg.dsc").

Cc: Abner Chang &lt;abner.chang@amd.com&gt;
Cc: Ard Biesheuvel &lt;ardb+tianocore@kernel.org&gt;
Cc: Daniel Schaefer &lt;git@danielschaefer.me&gt;
Cc: Leif Lindholm &lt;quic_llindhol@quicinc.com&gt;
Ref: https://bugzilla.tianocore.org/show_bug.cgi?id=4564
Signed-off-by: Laszlo Ersek &lt;lersek@redhat.com&gt;
Message-Id: &lt;20231012091057.108728-6-lersek@redhat.com&gt;
Reviewed-by: Ard Biesheuvel &lt;ardb@kernel.org&gt;
</content>
</entry>
</feed>
