edk2/OvmfPkg/Library/PlatformInitLib
ramkumar.s 7735ed4f8e OvmfPkg/PlatformInitLib: Set dynamic MMIO window size to 1/4
Large multi-GPU passthrough configurations can exhaust the current
MMIO window sizing rule (1/8 of guest physical address space),
especially with newer GPUs that have very large BAR requirements and
alignment overhead.

With 46-bit guest physical addressing, the 1/8 rule provides an 8TB
MMIO window. Newer GPUs with 512GB VRAM can exhaust an 8TB window
when passing through up to 8 devices.

Increase the MMIO window size to 1/4 of guest physical address space.
This provides a 16TB MMIO window on a 46-bit setup.

Tested with 8-GPU passthrough (512GB VRAM per GPU). With this
change, all GPUs are visible and functional in the VM; without it,
one GPU was unusable.

Signed-off-by: ramkumar.s <ramkumar.s@nutanix.com>
2026-08-23 16:00:31 +03:00
..
X64 OvmfPkg/PlatformInitLib: allow switching to 4-level paging 2024-08-30 22:13:44 +00:00
Cmos.c OvmfPkg: Create initial version of PlatformInitLib 2022-04-02 08:15:12 +00:00
Igvm.c OvmfPkg/PlatformInitLib: reserve igvm parameter area 2025-12-10 12:35:02 +00:00
IntelTdx.c OvmfPkg: Add the ResetVector in TDX MailBox 2025-06-20 10:23:42 +08:00
IntelTdxNull.c OvmfPkg: Refactor ProcessHobList 2023-02-04 03:38:15 +00:00
MemDetect.c OvmfPkg/PlatformInitLib: Set dynamic MMIO window size to 1/4 2026-08-23 16:00:31 +03:00
Platform.c OvmfPkg/igvm: add PlatformIgvmVpCount 2025-09-29 14:28:23 +00:00
PlatformInitLib.inf OvmfPkg/PlatformInitLib: reserve igvm parameter area 2025-12-10 12:35:02 +00:00