hw/riscv/virt: Add the BDF of IOMMU to RISCVVirtState structure

When the IOMMU is implemented as a PCI device, its BDF is created
locally in virt.c. However, the same BDF is also required in
virt-acpi-build.c to support ACPI. Therefore, make this information part
of the global RISCVVirtState structure so that it can be accessed
outside of virt.c as well.

Signed-off-by: Sunil V L <sunilvl@ventanamicro.com>
Reviewed-by: Daniel Henrique Barboza <dbarboza@ventanamicro.com>
Message-ID: <20250322043139.2003479-2-sunilvl@ventanamicro.com>
Signed-off-by: Alistair Francis <alistair.francis@wdc.com>
This commit is contained in:
Sunil V L 2025-03-22 10:01:37 +05:30 committed by Alistair Francis
parent 757a34115e
commit d2a88aca76
2 changed files with 2 additions and 0 deletions

View file

@ -1117,6 +1117,7 @@ static void create_fdt_iommu(RISCVVirtState *s, uint16_t bdf)
qemu_fdt_setprop_cells(fdt, pci_node, "iommu-map", qemu_fdt_setprop_cells(fdt, pci_node, "iommu-map",
0, iommu_phandle, 0, bdf, 0, iommu_phandle, 0, bdf,
bdf + 1, iommu_phandle, bdf + 1, 0xffff - bdf); bdf + 1, iommu_phandle, bdf + 1, 0xffff - bdf);
s->pci_iommu_bdf = bdf;
} }
static void finalize_fdt(RISCVVirtState *s) static void finalize_fdt(RISCVVirtState *s)

View file

@ -63,6 +63,7 @@ struct RISCVVirtState {
const MemMapEntry *memmap; const MemMapEntry *memmap;
struct GPEXHost *gpex_host; struct GPEXHost *gpex_host;
OnOffAuto iommu_sys; OnOffAuto iommu_sys;
uint16_t pci_iommu_bdf;
}; };
enum { enum {