audk/OvmfPkg/Library/PlatformInitLib
Thomas Barrett 6d204e8fbc OvmfPkg: Update PlatformAddressWidthInitialization for CloudHv
In addition to initializing the PhysMemAddressWidth and
FirstNonAddress fields in PlatformInfoHob, the
PlatformAddressWidthInitialization function is responsible
for initializing the PcdPciMmio64Base and PcdPciMmio64Size
fields.

Currently, for CloudHv guests, the PcdPciMmio64Base is
placed immediately after either the 4G boundary or the
last RAM region, whichever is greater. We do not change
this behavior.

Previously, when booting CloudHv guests with greater than
1TiB of high memory, the PlatformAddressWidthInitialization
function incorrect calculates the amount of RAM using the
overflowed 24-bit CMOS register.

Now, we update the PlatformAddressWidthInitialization
behavior on CloudHv to scan the E820 entries to detect
the amount of RAM. This allows CloudHv guests to boot with
greater than 1TiB of RAM

Signed-off-by: Thomas Barrett <tbarrett@crusoeenergy.com>
Acked-by: Gerd Hoffmann <kraxel@redhat.com>
2024-01-15 15:57:42 +00:00
..
Cmos.c OvmfPkg: Create initial version of PlatformInitLib 2022-04-02 08:15:12 +00:00
IntelTdx.c OvmfPkg: Refactor ProcessHobList 2023-02-04 03:38:15 +00:00
IntelTdxNull.c OvmfPkg: Refactor ProcessHobList 2023-02-04 03:38:15 +00:00
MemDetect.c OvmfPkg: Update PlatformAddressWidthInitialization for CloudHv 2024-01-15 15:57:42 +00:00
Platform.c OvmfPkg: Update code to be more C11 compliant by using __func__ 2023-04-10 14:19:57 +00:00
PlatformInitLib.inf OvmfPkg/PlatformInitLib: check PcdUse1GPageTable 2023-05-29 11:19:51 +00:00