<feed xmlns='http://www.w3.org/2005/Atom'>
<title>Tianocore/edk2.git/MdeModulePkg/Core/Dxe/Image, 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-06-11T04:02:08+00:00</updated>
<entry>
<title>MdeModulePkg: Use EFI_NOT_FOUND when SourceBuffer and DevicePath are NULL</title>
<updated>2026-06-11T04:02:08+00:00</updated>
<author>
<name>monty.zhao</name>
<email>monty.zhao@cixtech.com</email>
</author>
<published>2026-05-09T09:43:46+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/Tianocore/edk2.git/commit/?id=a581eb85f533e77eb65ffdcd5474e2b10dc3b946'/>
<id>urn:sha1:a581eb85f533e77eb65ffdcd5474e2b10dc3b946</id>
<content type='text'>
Update CoreLoadImageCommon to return EFI_NOT_FOUND instead of
EFI_INVALID_PARAMETER when both SourceBuffer and DevicePath are NULL.
UEFI 2.11 specification requires this change for LoadImage().

Signed-off-by: jie.fu &lt;jie.fu@cixtech.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: Remove ambiguous negation of narrower type</title>
<updated>2025-12-03T10:50:28+00:00</updated>
<author>
<name>Ard Biesheuvel</name>
<email>ardb@kernel.org</email>
</author>
<published>2025-12-03T09:29:40+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/Tianocore/edk2.git/commit/?id=bd4bb10d8070635db8921707678a9a902cf82667'/>
<id>urn:sha1:bd4bb10d8070635db8921707678a9a902cf82667</id>
<content type='text'>
Replace UINTN casts with EFI_PHYSICAL_ADDRESS in places where the result
is negated, as otherwise, the top bits may remain 0 unexpectedly.

VS2022 started warning about this, and thus breaking the IA32 CI build.

Signed-off-by: Ard Biesheuvel &lt;ardb@kernel.org&gt;
</content>
</entry>
<entry>
<title>MdeModulePkg: Fix missing NULL tests.</title>
<updated>2025-11-22T18:58:47+00:00</updated>
<author>
<name>Aaron Pop</name>
<email>aaronpop@microsoft.com</email>
</author>
<published>2025-10-22T18:33:02+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/Tianocore/edk2.git/commit/?id=5214f931c9a9bed62e1d5324864c60f25b77590d'/>
<id>urn:sha1:5214f931c9a9bed62e1d5324864c60f25b77590d</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: CoreDxe: Handle multilple MemoryAllocationModules</title>
<updated>2025-11-06T03:17:41+00:00</updated>
<author>
<name>Kun Qin</name>
<email>kuqin@microsoft.com</email>
</author>
<published>2025-11-04T00:34:34+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/Tianocore/edk2.git/commit/?id=49d4753385dd4949c2ba3f0f3ab5b941cd817749'/>
<id>urn:sha1:49d4753385dd4949c2ba3f0f3ab5b941cd817749</id>
<content type='text'>
The current implementation from Dxe/Image/Image.c does not handle the
configuration where there might be multiple MemoryAllocationModules.

Given that the `ModuleName` is included in the hob data and used for
targetting the consumer, DXE core should specify the GUID when looking up
for its own MemoryAllocationModule.

This change adds a check to ensure the located hob is targetting DXE
core.

Signed-off-by: Kun Qin &lt;kuqin12@gmail.com&gt;
</content>
</entry>
<entry>
<title>MdeModulePkg: Remove DXE_SAL_DRIVER</title>
<updated>2025-10-30T10:00:32+00:00</updated>
<author>
<name>Sathya Ravichandran</name>
<email>sathyar@ami.com</email>
</author>
<published>2025-09-23T10:07:04+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/Tianocore/edk2.git/commit/?id=147e9a053e3b7a65ee21c23d5a83338e153a4c3e'/>
<id>urn:sha1:147e9a053e3b7a65ee21c23d5a83338e153a4c3e</id>
<content type='text'>
The DXE_SAL_DRIVER module type was introduced to support
Itanium (IPF) platforms. Since support for Itanium processors
has been dropped, the instances of DXE_SAL_DRIVER
have been removed.

Ref: [3cb0a311cb7e747d7be5c5076d0fff76ad256d2b]

Cc: Sachin Ganesh &lt;sachinganesh@ami.com&gt;
Signed-off-by: Sathya Ravichandran &lt;sathyar@ami.com&gt;
</content>
</entry>
<entry>
<title>MdeModulePkg: Remove ARM32 Support</title>
<updated>2025-09-25T22:04:10+00:00</updated>
<author>
<name>Oliver Smith-Denny</name>
<email>osde@microsoft.com</email>
</author>
<published>2025-09-15T16:26:04+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/Tianocore/edk2.git/commit/?id=ef79d5842734e0504f58aef86142079ed26b7238'/>
<id>urn:sha1:ef79d5842734e0504f58aef86142079ed26b7238</id>
<content type='text'>
edk2 is dropping support for the ARM32 architecture. This
commit removes ARM32 support from MdeModulePkg. This also
drops irrelevant VALID_ARCHITECTURE comments from infs that
are not arch specific.

Signed-off-by: Oliver Smith-Denny &lt;osde@microsoft.com&gt;
</content>
</entry>
<entry>
<title>MdeModulePkg: Unify EfiFileName Parsing</title>
<updated>2025-07-23T12:57:55+00:00</updated>
<author>
<name>Oliver Smith-Denny</name>
<email>osde@microsoft.com</email>
</author>
<published>2025-07-22T17:07:45+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/Tianocore/edk2.git/commit/?id=c3479204cc067cceee43410a596ff434f4e9bf41'/>
<id>urn:sha1:c3479204cc067cceee43410a596ff434f4e9bf41</id>
<content type='text'>
The various cores all attempt to print the EfiFileName when
loading/dispatching drivers, but they are not unified on
approach. This commit ensures they are using the same buffer
size and the loop parsing variables are unsigned, as we should
not have a negative index.

Signed-off-by: Oliver Smith-Denny &lt;osde@microsoft.com&gt;
</content>
</entry>
<entry>
<title>MdeModulePkg: Always Print Driver Load Messages</title>
<updated>2025-07-23T12:57:55+00:00</updated>
<author>
<name>Oliver Smith-Denny</name>
<email>osde@microsoft.com</email>
</author>
<published>2025-07-17T18:00:24+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/Tianocore/edk2.git/commit/?id=1ec1f5d711b47a9f9aca86b4089f21af4c8a17ac'/>
<id>urn:sha1:1ec1f5d711b47a9f9aca86b4089f21af4c8a17ac</id>
<content type='text'>
Today, DXE/PEI/SMM Core's image loaders only print driver load messages
if debug code is enabled. However, these are some of the most
important prints in the codebase: on a given system even if you
have nothing else to debug with, you can see the last driver
executed.

Debug code blocks are used to skip logic that only exists for
debug purposes and wastes time on a release build. However, the
logic to print a line and determine the filename from the PDB
is not extensive and provides critical information, so it is
inappropriate to wrap in a debug code section.

Platforms can still choose to disable logging at DEBUG_INFO/DEBUG_LOAD
and will not see the error messages.

Signed-off-by: Oliver Smith-Denny &lt;osde@microsoft.com&gt;
</content>
</entry>
<entry>
<title>MdeModulePkg: Fix redundant call to RestoreTpl()</title>
<updated>2024-09-04T00:53:54+00:00</updated>
<author>
<name>Ken Lautner</name>
<email>kenlautner3@gmail.com</email>
</author>
<published>2024-08-23T22:39:53+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/Tianocore/edk2.git/commit/?id=559affab2e82aba4e0819d299d5a8de03e276af6'/>
<id>urn:sha1:559affab2e82aba4e0819d299d5a8de03e276af6</id>
<content type='text'>
Comments out a redundant call to RestoreTpl(). While this does not
technically violate spec on raise/restore TPL, TPL should already be at
the specified level. This extra call introduces an asymmetry between
RaiseTpl and RestoreTpl calls, which makes analysis of TPL correctness
more difficult and hampers certain non-standard TPL usages that some
platforms require.  Additionally, the two TPL variables were renamed to
provide context for each of them.

Signed-off-by: Kenneth Lautner &lt;kenlautner3@gmail.com&gt;
</content>
</entry>
</feed>
