For historical reasons ovmf is quite conservative on address space
usage, to play safe and avoid using more than 36 physical address bits
(the guaranteed minimum) if possible.  With devices (specifically GPUs)
becoming larger and larger pci memory bars this becomes increasingly
problematic.

This patch series address that by trying to figure what the physical
address space size is (which is a bit tricky, see patch #1 for details).
If that worked scale up the 64-bit mmio window and also pcie bridge
windows dynamically with the available address space.

v2:
 - fix pcie bridge window logic, track prefetchable and non-prefetchable
   default state separately (Laszlo).

Gerd Hoffmann (4):
  OvmfPkg/PlatformInitLib: qemu cpuid physbits detection
  OvmfPkg/PlatformInitLib: detect physical address space
  OvmfPkg/PlatformInitLib: dynamic mmio window size
  OvmfPkg/PciHotPlugInitDxe: reserve more mmio space

 OvmfPkg/PciHotPlugInitDxe/PciHotPlugInit.inf |   1 +
 OvmfPkg/Library/PlatformInitLib/MemDetect.c  | 143 ++++++++++++++++---
 OvmfPkg/PciHotPlugInitDxe/PciHotPlugInit.c   |  21 ++-
 3 files changed, 145 insertions(+), 20 deletions(-)

-- 
2.37.3



-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#94698): https://edk2.groups.io/g/devel/message/94698
Mute This Topic: https://groups.io/mt/94113622/21656
Group Owner: devel+ow...@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-


Reply via email to