<feed xmlns='http://www.w3.org/2005/Atom'>
<title>Tianocore/edk2.git/MdeModulePkg/Library/UefiBootManagerLib, 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-07T07:37:40+00:00</updated>
<entry>
<title>MdeModulePkg: Report EFI_SW_DXE_BS_PC_BOOT_OPTION_COMPLETE</title>
<updated>2026-09-07T07:37:40+00:00</updated>
<author>
<name>Sachin Ganesh</name>
<email>sachinganesh@ami.com</email>
</author>
<published>2026-08-07T19:11:58+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/Tianocore/edk2.git/commit/?id=11acd945a41153aa9d6027b42aff693f68abeb4e'/>
<id>urn:sha1:11acd945a41153aa9d6027b42aff693f68abeb4e</id>
<content type='text'>
Previously EfiBootManagerBoot reported
EFI_SW_DXE_BS_EC_BOOT_OPTION_FAILED when a boot option returned an
error, but reported nothing on success. Report the PI 1.10 status
code EFI_SW_DXE_BS_PC_BOOT_OPTION_COMPLETE when a boot option loads,
executes, and returns success, so status code listeners can tell that
a boot option was attempted and that control returned to firmware.

Signed-off-by: Sachin Ganesh &lt;sachinganesh@ami.com&gt;
</content>
</entry>
<entry>
<title>MdeModulePkg/UefiBootManagerLib: Add constructor to INF file</title>
<updated>2026-08-26T22:17:56+00:00</updated>
<author>
<name>Michael Kubacki</name>
<email>michael.kubacki@microsoft.com</email>
</author>
<published>2026-08-17T19:59:53+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/Tianocore/edk2.git/commit/?id=fb2ac429deebba5d04dcb38940eaa5266aec1de8'/>
<id>urn:sha1:fb2ac429deebba5d04dcb38940eaa5266aec1de8</id>
<content type='text'>
UefiBootManagerLibConstructor() is a constructor function in BmBoot.c
that is missing as the constructor in the INF file.

Signed-off-by: Michael Kubacki &lt;michael.kubacki@microsoft.com&gt;
</content>
</entry>
<entry>
<title>MdeModulePkg: Fix conditionally uninitialized variables</title>
<updated>2026-08-05T08:59:15+00:00</updated>
<author>
<name>Aaron Pop</name>
<email>aaronpop@microsoft.com</email>
</author>
<published>2025-10-23T19:57:49+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/Tianocore/edk2.git/commit/?id=72d0846c4c0ceab2dd228d82be94b88237e8dde3'/>
<id>urn:sha1:72d0846c4c0ceab2dd228d82be94b88237e8dde3</id>
<content type='text'>
https://github.com/github/codeql/blob/codeql-cli-2.7.3/cpp/ql/src/Security/CWE/CWE-457/ConditionallyUninitializedVariable.qhelp

Some local variables, when going through a code path, can
end up uninitialized (using the value they had at the start
of the function). This is generally due to an error path
that can occur based on the library instances, or the
unchecked error (i.e. a allocation failing).

These variables should be initialized with a known value
that will result in the function being able to exit
gracefully.

Signed-off-by: Aaron Pop &lt;aaronpop@microsoft.com&gt;
</content>
</entry>
<entry>
<title>MdeModulePkg: Fix missing NULL tests</title>
<updated>2026-08-05T08:59:15+00:00</updated>
<author>
<name>Aaron Pop</name>
<email>aaronpop@microsoft.com</email>
</author>
<published>2025-10-23T19:57:49+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/Tianocore/edk2.git/commit/?id=77cf8c8c10160c886bb932309c3498db435ff7c6'/>
<id>urn:sha1:77cf8c8c10160c886bb932309c3498db435ff7c6</id>
<content type='text'>
https://github.com/github/codeql/blob/codeql-cli-2.7.3/cpp/ql/src/Critical/MissingNullTest.qhelp

For items which allocate memory, or get a pointer from another
structure, it is important to validate that the pointers
are not null before they are dereferenced.

Signed-off-by: Aaron Pop &lt;aaronpop@microsoft.com&gt;
</content>
</entry>
<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>
</feed>
