<feed xmlns='http://www.w3.org/2005/Atom'>
<title>Tianocore/edk2.git/MdeModulePkg/Core, 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-03T09:00:37+00:00</updated>
<entry>
<title>MdeModulePkg: DxeIpl: Don't Duplicate Mem Alloc Hob for Stack</title>
<updated>2026-09-03T09:00:37+00:00</updated>
<author>
<name>Oliver Smith-Denny</name>
<email>osde@microsoft.com</email>
</author>
<published>2026-09-02T19:44:21+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/Tianocore/edk2.git/commit/?id=ee655c4d815231bd0916fbdde7a59f4dfdf0ee9f'/>
<id>urn:sha1:ee655c4d815231bd0916fbdde7a59f4dfdf0ee9f</id>
<content type='text'>
Currently, DxeIpl will allocate memory for the new DXE stack,
which creates a memory allocation HOB for that region. It will
then call UpdateStackHob() to find the stack HOB with the old
stack info and update the memory address/length to correspond
to the new stack. It then creates a new memory allocation HOB
for the old stack region as it needs to remain mapped.

This ends up creating two memory allocation HOBs for the new
stack: a regular memory allocation HOB for the AllocatePages()
call and then the stack HOB (which is a memory allocation HOB
with a special name).

When DXE Core ingests these, it will ignore one of the two HOBs
when it goes to allocate memory. However, this is incorrectly
describing handoff state. There never should be overlapping
memory allocation HOBs.

This commit updates DxeIpl behavior to instead find the old
stack HOB, convert it to a regular memory allocation HOB,
then find the memory allocation HOB for the new stack range
and convert it into the stack HOB.

Signed-off-by: Oliver Smith-Denny &lt;osde@microsoft.com&gt;
</content>
</entry>
<entry>
<title>MdeModulePkg/Core/Dxe: Add interrupt-enable nesting guard</title>
<updated>2026-08-25T23:36:26+00:00</updated>
<author>
<name>Michael D Kinney</name>
<email>michael.d.kinney@intel.com</email>
</author>
<published>2026-07-11T16:47:32+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/Tianocore/edk2.git/commit/?id=ef437b30ad574cd760d1db8a9577e3a7d8f50163'/>
<id>urn:sha1:ef437b30ad574cd760d1db8a9577e3a7d8f50163</id>
<content type='text'>
Add interrupt-enable recursion depth tracking using
mInterruptEnableNestDepth and a bounded assertion in
CoreSetInterruptState().

This provides early detection for unintended recursive
interrupt-enable loops.

Signed-off-by: Michael D Kinney &lt;michael.d.kinney@intel.com&gt;</content>
</entry>
<entry>
<title>MdeModulePkg/Core/Dxe: Refactor CoreSetInterruptState enable path</title>
<updated>2026-08-25T23:36:26+00:00</updated>
<author>
<name>Michael D Kinney</name>
<email>michael.d.kinney@intel.com</email>
</author>
<published>2026-07-11T16:47:32+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/Tianocore/edk2.git/commit/?id=1d2e73c4af62cf7fe55a873558057e30249f4f4f'/>
<id>urn:sha1:1d2e73c4af62cf7fe55a873558057e30249f4f4f</id>
<content type='text'>
Refactor the CoreSetInterruptState(TRUE) flow so EnableInterrupt() is
invoked through a single call site.

Behavior is unchanged: interrupts remain disabled in SMM and are enabled
outside SMM.

Signed-off-by: Michael D Kinney &lt;michael.d.kinney@intel.com&gt;
</content>
</entry>
<entry>
<title>MdeModulePkg: MemoryBins: make GoogleTest page-granularity aware</title>
<updated>2026-07-31T15:16:47+00:00</updated>
<author>
<name>Jeff Brasen</name>
<email>jbrasen@nvidia.com</email>
</author>
<published>2026-07-20T20:54:49+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/Tianocore/edk2.git/commit/?id=ca8de19382c668cf8770ee788478edcd8a22d0e7'/>
<id>urn:sha1:ca8de19382c668cf8770ee788478edcd8a22d0e7</id>
<content type='text'>
MemoryBinGoogleTest.PopulatesFromValidHob asserted fixed page counts for
each memory type.  PopulateMemoryTypeInformation, however, rounds the
runtime memory types (EfiReservedMemoryType, EfiACPIMemoryNVS,
EfiRuntimeServicesCode, EfiRuntimeServicesData) up to
RUNTIME_PAGE_ALLOCATION_GRANULARITY.  That granularity equals EFI_PAGE_SIZE
on IA32/X64, so the hard-coded values happened to match, but it is 64 KiB
on AArch64, where the same inputs round up to different page counts and the
test failed.

Compute the expected page counts with the same granularity rounding the
production code uses, so the test passes on all host architectures instead
of only x86.

Signed-off-by: Jeff Brasen &lt;jbrasen@nvidia.com&gt;
</content>
</entry>
<entry>
<title>MdeModulePkg: Dxe Core: Correct gMemoryTypeInformation Definition</title>
<updated>2026-07-09T12:46:51+00:00</updated>
<author>
<name>Oliver Smith-Denny</name>
<email>osde@microsoft.com</email>
</author>
<published>2026-06-22T14:05:40+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/Tianocore/edk2.git/commit/?id=c38340a0c198e8e5c07a3820796c624109060b96'/>
<id>urn:sha1:c38340a0c198e8e5c07a3820796c624109060b96</id>
<content type='text'>
Commit 43e306806e3c1ed3ad7e9913492732e893cafa0f added support
to DXE Core for EfiUnacceptedMemoryType. However, it incorrectly
added EFI_GCD_MEMORY_TYPE_UNACCEPTED to gMemoryTypeInformation,
which is the GCD memory type that is associated with
EfiUnacceptedMemoryType. All other changes from that PR
appear correct.

This is corrected to the EFI memory type.

The Memory Bin Google Test copied this incorrect definition,
so it is updated as well.

Signed-off-by: Oliver Smith-Denny &lt;osde@microsoft.com&gt;
</content>
</entry>
<entry>
<title>MdeModulePkg: MemoryBins: Add GoogleTest and README</title>
<updated>2026-06-24T15:53:58+00:00</updated>
<author>
<name>Oliver Smith-Denny</name>
<email>osde@microsoft.com</email>
</author>
<published>2026-01-29T17:56:38+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/Tianocore/edk2.git/commit/?id=1b39cb1d816a870a44fbeeaaf092773b1b08b179'/>
<id>urn:sha1:1b39cb1d816a870a44fbeeaaf092773b1b08b179</id>
<content type='text'>
This commit adds unit tests and documentation for the Memory Bin
feature.

Signed-off-by: Oliver Smith-Denny &lt;osde@microsoft.com&gt;
</content>
</entry>
<entry>
<title>MdeModulePkg: DxeCore: Update Memory Statistics from PEI</title>
<updated>2026-06-24T15:53:58+00:00</updated>
<author>
<name>Oliver Smith-Denny</name>
<email>osde@microsoft.com</email>
</author>
<published>2026-01-29T17:51:48+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/Tianocore/edk2.git/commit/?id=cf1a2a541e1fa19a0117a952fece30de1928caae'/>
<id>urn:sha1:cf1a2a541e1fa19a0117a952fece30de1928caae</id>
<content type='text'>
If memory bins are enabled for PEI, PEI will produce
Memory Allocation HOBs marked with gEfiMemoryTypeInformationGuid.
If these exist, DXE core will now process the stats from them
to have accurate numbers.

Signed-off-by: Oliver Smith-Denny &lt;osde@microsoft.com&gt;
</content>
</entry>
<entry>
<title>MdeModulePkg: PeiCore: Add Memory Bin Support to Post-Mem PEI</title>
<updated>2026-06-24T15:53:58+00:00</updated>
<author>
<name>Oliver Smith-Denny</name>
<email>osde@microsoft.com</email>
</author>
<published>2026-03-30T17:58:32+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/Tianocore/edk2.git/commit/?id=2e7aa4810bd3e4008e561f2ea5a9de1dc189c817'/>
<id>urn:sha1:2e7aa4810bd3e4008e561f2ea5a9de1dc189c817</id>
<content type='text'>
This commit adds opt-in support for post-mem PEI memory bins.
See the README for full details.

MemoryBin.c is duplicated to PeiCore per request.

Signed-off-by: Oliver Smith-Denny &lt;osde@microsoft.com&gt;
</content>
</entry>
<entry>
<title>MdeModulePkg: Dxe Core: Split Memory Bin Logic Into Separate File</title>
<updated>2026-06-24T15:53:58+00:00</updated>
<author>
<name>Oliver Smith-Denny</name>
<email>osde@microsoft.com</email>
</author>
<published>2026-06-18T16:32:27+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/Tianocore/edk2.git/commit/?id=eab3300622876b674cf22c5c56f899b0a6df1087'/>
<id>urn:sha1:eab3300622876b674cf22c5c56f899b0a6df1087</id>
<content type='text'>
This commits splits out logic currently contained in
Gcd.c and Page.c to a new file called
MemoryBin.c. This is set up in preparation to
add support to PEI for memory bins (an S4 resume stability
feature).

MemoryBin.c takes all global state in as parameters so that
DXE core can use globals and PEI core can use HOBs.

There is no logic change here, just consolidating the
functionality to share with PEI.

This was requested not to be a library.

Signed-off-by: Oliver Smith-Denny &lt;osde@microsoft.com&gt;
</content>
</entry>
<entry>
<title>MdeModulePkg: Dxe Core: Add Resource Desc Hob Generation</title>
<updated>2026-06-24T15:53:58+00:00</updated>
<author>
<name>Oliver Smith-Denny</name>
<email>osde@microsoft.com</email>
</author>
<published>2026-05-12T21:46:18+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/Tianocore/edk2.git/commit/?id=a196ef6db5c77708dde3528dc735494037f16ab3'/>
<id>urn:sha1:a196ef6db5c77708dde3528dc735494037f16ab3</id>
<content type='text'>
This commit adds a parameter to the memory bin allocation function
to tell it whether it should create the Resource Descriptor HOB
owned by gMemoryTypeInformationGuid. This will be used by PEI to
tell DXE where the memory bins are.

Signed-off-by: Oliver Smith-Denny &lt;osde@microsoft.com&gt;
</content>
</entry>
</feed>
