<feed xmlns='http://www.w3.org/2005/Atom'>
<title>Tianocore/edk2.git/UefiPayloadPkg/Library/PlatformBootManagerLib, 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-02-23T21:01:28+00:00</updated>
<entry>
<title>UefiPayloadPkg: 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-03T19:34:16+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/Tianocore/edk2.git/commit/?id=f3c45d2f0cb67dababcdf3b5041881d6cef1ed87'/>
<id>urn:sha1:f3c45d2f0cb67dababcdf3b5041881d6cef1ed87</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>UefiPayloadPkg: Enable processing of capsules</title>
<updated>2025-08-25T11:54:17+00:00</updated>
<author>
<name>Sergii Dmytruk</name>
<email>sergii.dmytruk@3mdeb.com</email>
</author>
<published>2024-06-30T16:17:38+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/Tianocore/edk2.git/commit/?id=f53b19f6c8ff6bababee3063d1e4f14abd723709'/>
<id>urn:sha1:f53b19f6c8ff6bababee3063d1e4f14abd723709</id>
<content type='text'>
Make UefiPayloadPkg.dsc add required libraries/DXEs/PCDs when
CAPSULE_SUPPORT define is set to TRUE.

UefiPayloadEntry now parses firmware information from a bootloader and
switches boot mode to BOOT_ON_FLASH_UPDATE if there are any capsules.
It's not guarded by any PCD under the assumption that bootloader won't
pass capsules if EDK shouldn't be handling them.

EsrtDxe is enabled to manage ESRT entries and it consumes the firmware
information HOB created by UefiPayloadEntry.  ProcessCapsules()
internally looks up EsrtManagementProtocol and calls SyncEsrtFmp() to
import data from available FMP instances.

PlatformBootManagerLib was made to call ProcessCapsules() twice: before
and after end-of-DXE.

Signed-off-by: Sergii Dmytruk &lt;sergii.dmytruk@3mdeb.com&gt;
</content>
</entry>
<entry>
<title>UefiPayloadPkg: Remove UGA support</title>
<updated>2025-07-08T15:42:03+00:00</updated>
<author>
<name>GuoMinJ</name>
<email>newexplorerj@gmail.com</email>
</author>
<published>2025-06-12T14:47:48+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/Tianocore/edk2.git/commit/?id=5ea0be305a072d995c11b163f6292d24cf514d0b'/>
<id>urn:sha1:5ea0be305a072d995c11b163f6292d24cf514d0b</id>
<content type='text'>
The Universal Graphics Adapter (UGA) is a graphic abstraction.
The UGA I/O and Draw protocols are deprecated since UEFI 2.0 was
introduced. Cf. the UEFI spec v2.9:
"Appendix L - EFI 1.10 Protocol Changes and Deprecation List"
section L.2 "Deprecated Protocols"

Remove the UGA support.

Signed-off-by: GuoMinJ &lt;newexplorerj@gmail.com&gt;
Signed-off-by: Pierre Gondois &lt;pierre.gondois@arm.com&gt;
</content>
</entry>
<entry>
<title>UefiPayloadPkg: Integrate UiApp and BootManagerMenuApp into MultiFv</title>
<updated>2023-07-11T06:36:11+00:00</updated>
<author>
<name>MarsX Lin</name>
<email>marsx.lin@intel.com</email>
</author>
<published>2023-07-10T08:21:23+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/Tianocore/edk2.git/commit/?id=8dab4eebe435fc28cae329867a74cee45d040d3e'/>
<id>urn:sha1:8dab4eebe435fc28cae329867a74cee45d040d3e</id>
<content type='text'>
REF: https://bugzilla.tianocore.org/show_bug.cgi?id=4347

To put UiApp.inf and BootManagerMenuApp.inf to proper FV(BDSFV)

Cc: Guo Dong &lt;guo.dong@intel.com&gt;
Cc: Ray Ni &lt;ray.ni@intel.com&gt;
Cc: Sean Rhodes &lt;sean@starlabs.systems&gt;
Reviewed-by: James Lu &lt;james.lu@intel.com&gt;
Reviewed-by: Gua Guo &lt;gua.guo@intel.com&gt;

Signed-off-by: MarsX Lin &lt;marsx.lin@intel.com&gt;
</content>
</entry>
<entry>
<title>UefiPayloadPkg: Fix boot shell issue for universal UEFI payload</title>
<updated>2023-05-15T21:26:04+00:00</updated>
<author>
<name>Guo Dong</name>
<email>guo.dong@intel.com</email>
</author>
<published>2023-05-10T03:53:55+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/Tianocore/edk2.git/commit/?id=cafb4f3f36e2101cab2ed6db3ea246a5a3e4708e'/>
<id>urn:sha1:cafb4f3f36e2101cab2ed6db3ea246a5a3e4708e</id>
<content type='text'>
After moving BDS driver to a new FV for universal UEFI payload,
the shell boot option path is not correct since it used the BDS
FV instead of DXE FV in its device path.
This patch would find the correct FV by reading shell file.
It also removed PcdShellFile by using gUefiShellFileGuid.

Signed-off-by: Guo Dong &lt;guo.dong@intel.com&gt;
Cc: Ray Ni &lt;ray.ni@intel.com&gt;
Cc: Sean Rhodes &lt;sean@starlabs.systems&gt;
Cc: James Lu &lt;james.lu@intel.com&gt;
Cc: Gua Guo &lt;gua.guo@intel.com&gt;
Reviewed-by: James Lu &lt;james.lu@intel.com&gt;
Reviewed-by: Gua Guo &lt;gua.guo@intel.com&gt;
Reviewed-by: Mike Maslenkin &lt;mike.maslenkin@gmail.com&gt;
</content>
</entry>
<entry>
<title>UefiPayloadPkg: remove the change that get platform specific logic</title>
<updated>2023-02-23T07:47:12+00:00</updated>
<author>
<name>MarsX Lin</name>
<email>marsx.lin@intel.com</email>
</author>
<published>2023-01-03T06:55:20+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/Tianocore/edk2.git/commit/?id=1eeca0750af5af2f0e78437bf791ac2de74bde74'/>
<id>urn:sha1:1eeca0750af5af2f0e78437bf791ac2de74bde74</id>
<content type='text'>
REF: https://bugzilla.tianocore.org/show_bug.cgi?id=4241

Since UefiPayloadPkg had supported multiple firmware volume,
remove the platform specific logic via protocol

Cc: Ray Ni &lt;ray.ni@intel.com&gt;
Cc: Sean Rhodes &lt;sean@starlabs.systems&gt;
Cc: Gua Guo &lt;gua.guo@intel.com&gt;
Reviewed-by: James Lu &lt;james.lu@intel.com&gt;
Reviewed-by: Guo Dong &lt;guo.dong@intel.com&gt;

Signed-off-by: MarsX Lin &lt;marsx.lin@intel.com&gt;
</content>
</entry>
<entry>
<title>UefiPayloadPkg: Add a Macro to enable Boot Logo</title>
<updated>2022-08-03T22:15:00+00:00</updated>
<author>
<name>Sean Rhodes</name>
<email>sean@starlabs.systems</email>
</author>
<published>2022-07-10T18:20:40+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/Tianocore/edk2.git/commit/?id=79aab22fcaecf0bd70099e97c92fe3e816e450ce'/>
<id>urn:sha1:79aab22fcaecf0bd70099e97c92fe3e816e450ce</id>
<content type='text'>
Add a macro called BOOTSPLASH_IMAGE, which when enabled, will
display a logo at boot time.

Cc: Guo Dong &lt;guo.dong@intel.com&gt;
Cc: Ray Ni &lt;ray.ni@intel.com&gt;
Signed-off-by: Sean Rhodes &lt;sean@starlabs.systems&gt;
</content>
</entry>
<entry>
<title>UefiPayloadPkg/PlatformBootManagerLib: Correct spacing in boot prompt</title>
<updated>2022-08-03T21:47:22+00:00</updated>
<author>
<name>Sean Rhodes</name>
<email>sean@starlabs.systems</email>
</author>
<published>2022-07-04T19:36:31+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/Tianocore/edk2.git/commit/?id=d2191197217f9d16541c2d051235c494fa80bce3'/>
<id>urn:sha1:d2191197217f9d16541c2d051235c494fa80bce3</id>
<content type='text'>
Cc: Guo Dong &lt;guo.dong@intel.com&gt;
Cc: Ray Ni &lt;ray.ni@intel.com&gt;
Cc: Maurice Ma &lt;maurice.ma@intel.com&gt;
Cc: Benjamin You &lt;benjamin.you@intel.com&gt;
Signed-off-by: Sean Rhodes &lt;sean@starlabs.systems&gt;
</content>
</entry>
<entry>
<title>UefiPayloadPkg/PlatformBootManagerLib: Evenly space boot prompt</title>
<updated>2022-07-16T02:57:38+00:00</updated>
<author>
<name>Sean Rhodes</name>
<email>sean@starlabs.systems</email>
</author>
<published>2022-07-04T19:39:15+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/Tianocore/edk2.git/commit/?id=07c8e5e59b117f2414d7c928d3f86c85574f1fc3'/>
<id>urn:sha1:07c8e5e59b117f2414d7c928d3f86c85574f1fc3</id>
<content type='text'>
Add 4 spaces before the boot prompt "F2 or Down..." so that the
spacing is equadistant from the top, which is spaced with a `\n`,
and the left.

Cc: Guo Dong &lt;guo.dong@intel.com&gt;
Cc: Ray Ni &lt;ray.ni@intel.com&gt;
Cc: Maurice Ma &lt;maurice.ma@intel.com&gt;
Cc: Benjamin You &lt;benjamin.you@intel.com&gt;
Signed-off-by: Sean Rhodes &lt;sean@starlabs.systems&gt;
Reviewed-by: Guo Dong &lt;guo.dong@intel.com&gt;
</content>
</entry>
<entry>
<title>UefiPayloadPkg: Connect all root bridge in PlatformBootManagerBeforeConsole</title>
<updated>2022-05-13T01:47:11+00:00</updated>
<author>
<name>Liu, Zhiguang</name>
<email>Zhiguang.Liu@intel.com</email>
</author>
<published>2022-05-12T10:54:59+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/Tianocore/edk2.git/commit/?id=ef01d63ef3c9d2e7f39755b9c2b6bf40f6076ef3'/>
<id>urn:sha1:ef01d63ef3c9d2e7f39755b9c2b6bf40f6076ef3</id>
<content type='text'>
Some ConIn or ConOut device may not in the first root bridge, so connect all
root bridge  before detect ConIn and ConOut device.

Reviewed-by: Guo Dong &lt;guo.dong@intel.com&gt;
Reviewed-by: Ray Ni &lt;ray.ni@intel.com&gt;
Cc: Maurice Ma &lt;maurice.ma@intel.com&gt;
Cc: Benjamin You &lt;benjamin.you@intel.com&gt;
Cc: Sean Rhodes &lt;sean@starlabs.systems&gt;
Signed-off-by: Zhiguang Liu &lt;zhiguang.liu@intel.com&gt;
</content>
</entry>
</feed>
