<feed xmlns='http://www.w3.org/2005/Atom'>
<title>Tianocore/edk2.git/MdeModulePkg/Library/UefiBootManagerLib, 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-03-17T02:38:07+00:00</updated>
<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: 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: UefiBootManagerLib Change default alignment for ramdisk boot.</title>
<updated>2025-08-06T00:59:25+00:00</updated>
<author>
<name>ddeptford</name>
<email>136014411+ddeptford@users.noreply.github.com</email>
</author>
<published>2023-07-07T15:49:45+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/Tianocore/edk2.git/commit/?id=5c7ef27b96421d5bac7ebe90a7d07d0cfc3f144f'/>
<id>urn:sha1:5c7ef27b96421d5bac7ebe90a7d07d0cfc3f144f</id>
<content type='text'>
The ramdisk is modelled as an NVDIMM which have a naturally higher
alignment than 4K. Operating systems may wish to map NVDIMMs using large
pages, so force the allocation alignment to 2MB.

This change was tested using HTTP ramdisk boot, targeting a flat windows
image.

Signed-off-by: Aaron Pop &lt;aaronpop@microsoft.com&gt;
</content>
</entry>
<entry>
<title>MdeModulePkg/UefiBootManagerLib: Fix crash when no load options are found</title>
<updated>2025-06-25T18:26:11+00:00</updated>
<author>
<name>Jeff Brasen</name>
<email>jbrasen@nvidia.com</email>
</author>
<published>2025-06-10T22:42:19+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/Tianocore/edk2.git/commit/?id=07425903d351b282072a5a4437b185fdb96d2e58'/>
<id>urn:sha1:07425903d351b282072a5a4437b185fdb96d2e58</id>
<content type='text'>
Do not attempt to sort the load options when there
are none.

Signed-off-by: Jeff Brasen &lt;jbrasen@nvidia.com&gt;
</content>
</entry>
<entry>
<title>MdeModulePkg BmDriverHealth.c: Support dump the driver name</title>
<updated>2025-04-25T07:54:34+00:00</updated>
<author>
<name>Yang Gang</name>
<email>yanggang@byosoft.com.cn</email>
</author>
<published>2025-01-24T07:26:23+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/Tianocore/edk2.git/commit/?id=c6db76402c7d844b9ac34e1716d915961bda0d6a'/>
<id>urn:sha1:c6db76402c7d844b9ac34e1716d915961bda0d6a</id>
<content type='text'>
Sometimes the controller name is not present, add BmGetDriverName
to retrieve the driver name.(Like DriverHealthManagerDxe)

Signed-off-by: Yang Gang &lt;yanggang@byosoft.com.cn&gt;
</content>
</entry>
<entry>
<title>MdeModulePkg/UefiBootManagerLib: Handle device path with Proxy URI.</title>
<updated>2025-03-13T00:34:01+00:00</updated>
<author>
<name>Saloni Kasbekar</name>
<email>saloni.kasbekar@intel.com</email>
</author>
<published>2022-12-16T17:49:23+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/Tianocore/edk2.git/commit/?id=592ff1e98fc5d4a0e217d0420af7a8025e1a8213'/>
<id>urn:sha1:592ff1e98fc5d4a0e217d0420af7a8025e1a8213</id>
<content type='text'>
Update library to handle HTTP Boot device paths with Proxy URI

Implementation based on UEFI Specification v2.11 Section 24.7.3.1

Signed-off-by: Saloni Kasbekar &lt;saloni.kasbekar@intel.com&gt;
</content>
</entry>
<entry>
<title>MdeModulePkg/UefiBootManagerLib: Apply var policy to HDDP</title>
<updated>2025-02-27T15:41:04+00:00</updated>
<author>
<name>Michael Kubacki</name>
<email>michael.kubacki@microsoft.com</email>
</author>
<published>2025-02-07T17:18:43+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/Tianocore/edk2.git/commit/?id=67fe6b41b259c133713b6318ae13ec1a79d0236a'/>
<id>urn:sha1:67fe6b41b259c133713b6318ae13ec1a79d0236a</id>
<content type='text'>
Applies variable policy to the "HDDP" UEFI variable in the
mBmHardDriveBootVariableGuid vendor namespace to ensure a minimum
allowed size and expected attributes are present.

A protocol notify is used to handle different platform scenarios
where this instance of UefiBootManagerLib may be linked.

Signed-off-by: Michael Kubacki &lt;michael.kubacki@microsoft.com&gt;
</content>
</entry>
<entry>
<title>MdeModulePkg/UefiBootManagerLib: Build proper SD/MMC boot descriptions</title>
<updated>2024-10-03T20:32:40+00:00</updated>
<author>
<name>Mario Bălănică</name>
<email>mariobalanica02@gmail.com</email>
</author>
<published>2024-01-04T01:56:53+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/Tianocore/edk2.git/commit/?id=2fdc39d09d49a57e8dc87022b1dedd958f8c8d6a'/>
<id>urn:sha1:2fdc39d09d49a57e8dc87022b1dedd958f8c8d6a</id>
<content type='text'>
This generates boot descriptions for SD/MMC devices in the form of:
  - "UEFI SanDisk SC128 2A2B1E4F SD Device"
  - "UEFI Samsung BJTD4R 7AB3A8DE eMMC User Data"

The manufacturer ID tables are a best-effort, collected from various
places and personal testing. They're not complete and may be inaccurate
for rebranded cards.

Signed-off-by: Mario Bălănică &lt;mariobalanica02@gmail.com&gt;
</content>
</entry>
<entry>
<title>MdeModulePkg: UefiBootManagerLib: Update assert condition</title>
<updated>2024-09-05T06:52:09+00:00</updated>
<author>
<name>Ken Lautner</name>
<email>kenlautner3@gmail.com</email>
</author>
<published>2024-08-27T20:21:47+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/Tianocore/edk2.git/commit/?id=f0dc9e15048818e01c0556e6c461271aa9000d05'/>
<id>urn:sha1:f0dc9e15048818e01c0556e6c461271aa9000d05</id>
<content type='text'>
In BmFindBootOptionInVariable() we prevent passing a NULL pointer to
EfiBootManagerFindLoadOption().  However, it can accept a NULL pointer as
the second argument as long as count is zero.  This change updates the
assert condtion to only assert if the pointer is NULL and the count is
non-zero.

Signed-off-by: Kenneth Lautner &lt;kenlautner3@gmail.com&gt;
</content>
</entry>
<entry>
<title>MdeModulePkg/UefiBootManagerLib: Signal ReadyToBoot on platform recovery</title>
<updated>2023-12-19T13:56:58+00:00</updated>
<author>
<name>Neal Gompa</name>
<email>ngompa@fedoraproject.org</email>
</author>
<published>2023-10-31T17:37:00+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/Tianocore/edk2.git/commit/?id=8c1e9f9c6fa7b5137003b0cfa6d54a6bada16d8e'/>
<id>urn:sha1:8c1e9f9c6fa7b5137003b0cfa6d54a6bada16d8e</id>
<content type='text'>
Currently, the ReadyToBoot event is only signaled when a formal Boot
Manager option is executed (in BmBoot.c -&gt; EfiBootManagerBoot ()).

However, the introduction of Platform Recovery in UEFI 2.5 makes it
necessary to signal ReadyToBoot when a Platform Recovery boot loader
runs because otherwise it may lead to the execution of a boot loader
that has similar requirements to a regular one that is not launched
as a Boot Manager option.

This is especially critical to ensuring that the graphical console is
actually usable during platform recovery, as some platforms do rely on
the ConsolePrefDxe driver, which only performs console initialization
after ReadyToBoot is triggered.

This patch fixes that behavior by calling EfiSignalEventReadyToBoot ()
in EfiBootManagerProcessLoadOption () when invoking platform recovery,
which is the function that sets up the platform recovery boot process.

The expected behavior has been clarified in the UEFI 2.10 specification
to explicitly indicate this behavior is required for correct operation.

This is a rebased version of the patch originally written by Pete Batard.

Ref: https://bugzilla.tianocore.org/show_bug.cgi?id=2831

Co-authored-by: Pete Batard &lt;pete@akeo.ie&gt;
Signed-off-by: Neal Gompa &lt;ngompa@fedoraproject.org&gt;
Reviewed-by: Jeremy Linton &lt;jeremy.linton@arm.com&gt;
Reviewed-by: Laszlo Ersek &lt;lersek@redhat.com&gt;
Reviewed-by: Leif Lindholm &lt;quic_llindhol@quicinc.com&gt;
Reviewed-by: Liming Gao &lt;gaoliming@byosoft.com.cn&gt;
</content>
</entry>
</feed>
