audk/MdeModulePkg/Core
Taylor Beebe acb29d4cbe MdeModulePkg: Fix MAT Descriptor Count Calculation
|4K PAGE|DATA|CODE|DATA|CODE|DATA|4K PAGE|
Say the above memory region is currently one memory map descriptor.
The above image memory layout example contains two code sections
oriented in a way that maximizes the number of descriptors which
would be required to describe each section.

NOTE: It's unlikely that a data section would ever be between
two code sections, but it's still handled by the below formula
for correctness.

There are two code sections (let's say CodeSegmentMax == 2),
three data sections, and two unrelated memory regions flanking the
image. The number of required descriptors to describe this layout
will be 2 * 2 + 3 == 7. This patch updates the calculations to account
for the worst-case scenario.

Cc: Jian J Wang <jian.j.wang@intel.com>
Cc: Liming Gao <gaoliming@byosoft.com.cn>
Cc: Dandan Bi <dandan.bi@intel.com>
Signed-off-by: Taylor Beebe <taylor.d.beebe@gmail.com>
Reviewed-by: Liming Gao <gaoliming@byosoft.com.cn>
2023-11-27 18:55:18 +00:00
..
Dxe MdeModulePkg: Fix MAT Descriptor Count Calculation 2023-11-27 18:55:18 +00:00
DxeIplPeim MdeModulePkg: Fix misspelling 2023-09-26 20:03:23 +00:00
Pei MdeModulePkg/Core/Pei: set AprioriCount=0 before walking through next FV 2023-05-24 12:59:54 +00:00
PiSmmCore MdeModulePkg: Remove other attribute protection in UnsetGuardPage 2023-06-30 11:07:40 +05:30
RuntimeDxe MdeModulePkg/RuntimeDxe: clear mVirtualMapMaxIndex 2022-02-07 05:31:17 +00:00