Since OVMF 202211 the bios maps BAR2 to an upper address which has the undesirable effect of making it impossible to map the memory under Linux due to it exceeding the maximum permissible range for hotplug memory (see `mhp_get_pluggable_range` in `mm/memory_hotplug.c`). This patch resolves this by configuring the BAR as 32-bit.
Signed-off-by: Geoffrey McRae <ge...@hostfission.com> --- hw/misc/ivshmem.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/hw/misc/ivshmem.c b/hw/misc/ivshmem.c index d66d912172..2f8f7e2030 100644 --- a/hw/misc/ivshmem.c +++ b/hw/misc/ivshmem.c @@ -913,7 +913,7 @@ static void ivshmem_common_realize(PCIDevice *dev, Error **errp) pci_register_bar(PCI_DEVICE(s), 2, PCI_BASE_ADDRESS_SPACE_MEMORY | PCI_BASE_ADDRESS_MEM_PREFETCH | - PCI_BASE_ADDRESS_MEM_TYPE_64, + PCI_BASE_ADDRESS_MEM_TYPE_32, s->ivshmem_bar2); } -- 2.39.2