summary refs log tree commit diff stats
path: root/hw/arm/virt.c
diff options
context:
space:
mode:
authorShameer Kolothum <skolothumtho@nvidia.com>2025-08-29 09:25:24 +0100
committerPeter Maydell <peter.maydell@linaro.org>2025-09-16 17:31:54 +0100
commit0e6a5bfb0eb17f57fb923b7905bd1435204bdd62 (patch)
tree50223ca000092cf8ff8908e70680f9117898f6f6 /hw/arm/virt.c
parentd9e6b8424fd2523a0361972d5dd841471879479c (diff)
downloadfocaccia-qemu-0e6a5bfb0eb17f57fb923b7905bd1435204bdd62.tar.gz
focaccia-qemu-0e6a5bfb0eb17f57fb923b7905bd1435204bdd62.zip
hw/arm/virt-acpi-build: Re-arrange SMMUv3 IORT build
Introduce a new struct AcpiIortSMMUv3Dev to hold all the information
required for SMMUv3 IORT node and use that for populating the node.

The current machine wide SMMUv3 is named as legacy SMMUv3 as we will
soon add support for user-creatable SMMUv3 devices. These changes will
be useful to have common code paths when we add that support.

Tested-by: Nathan Chen <nathanc@nvidia.com>
Reviewed-by: Nicolin Chen <nicolinc@nvidia.com>
Reviewed-by: Jonathan Cameron <jonathan.cameron@huawei.com>
Reviewed-by: Eric Auger <eric.auger@redhat.com>
Tested-by: Eric Auger <eric.auger@redhat.com>
Tested-by: Nicolin Chen <nicolinc@nvidia.com>
Signed-off-by: Shameer Kolothum <shameerali.kolothum.thodi@huawei.com>
Signed-off-by: Shameer Kolothum <skolothumtho@nvidia.com>
Reviewed-by: Donald Dutile <ddutile@redhat.com>
Message-id: 20250829082543.7680-3-skolothumtho@nvidia.com
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Diffstat (limited to 'hw/arm/virt.c')
-rw-r--r--hw/arm/virt.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/hw/arm/virt.c b/hw/arm/virt.c
index e5c4142e82..16a1ac3c2d 100644
--- a/hw/arm/virt.c
+++ b/hw/arm/virt.c
@@ -1651,6 +1651,7 @@ static void create_pcie(VirtMachineState *vms)
                 qemu_fdt_setprop_cells(ms->fdt, nodename, "iommu-map",
                                        0x0, vms->iommu_phandle, 0x0, 0x10000);
             }
+            vms->legacy_smmuv3_present = true;
             break;
         default:
             g_assert_not_reached();