From 545076d67ef27203e08538123d8bc3798caf9505 Mon Sep 17 00:00:00 2001 From: Eric Auger Date: Mon, 20 Dec 2021 15:50:44 +0100 Subject: [PATCH 1/6] hw/arm/virt: Register "iommu" as a class property RH-Author: Eric Auger RH-MergeRequest: 57: hw/arm/virt: Add 9.0 machine type and remove 8.5 one RH-Commit: [1/6] 2b6a22ebddd2da7505961ff4ffe90424f7489300 (eauger1/centos-qemu-kvm) RH-Bugzilla: 2031044 RH-Acked-by: Gavin Shan RH-Acked-by: Andrew Jones RH-Acked-by: Miroslav Rezanina branch: c9s Brew: 42213566 Upstream: no Register the "iommu" option as a class property. This mirrors what was done in upstream commit b91def7b ("arm/virt: Register most properties as class properties"). While we are at it we also move the "x-oem-id" and "x-oem-table-id" registrations at the very end of the rhel_machine_class_init() function. This makes our life easier when comparing with upstream. Signed-off-by: Eric Auger --- hw/arm/virt.c | 23 ++++++++++++----------- 1 file changed, 12 insertions(+), 11 deletions(-) diff --git a/hw/arm/virt.c b/hw/arm/virt.c index 6ba9a2c2e1..7e227b1fa4 100644 --- a/hw/arm/virt.c +++ b/hw/arm/virt.c @@ -3131,6 +3131,18 @@ static void rhel_machine_class_init(ObjectClass *oc, void *data) "Set GIC version. " "Valid values are 2, 3, host and max"); + object_class_property_add_str(oc, "iommu", virt_get_iommu, virt_set_iommu); + object_class_property_set_description(oc, "iommu", + "Set the IOMMU type. " + "Valid values are none and smmuv3"); + + object_class_property_add_bool(oc, "default_bus_bypass_iommu", + virt_get_default_bus_bypass_iommu, + virt_set_default_bus_bypass_iommu); + object_class_property_set_description(oc, "default_bus_bypass_iommu", + "Set on/off to enable/disable " + "bypass_iommu for default root bus"); + object_class_property_add_str(oc, "x-oem-id", virt_get_oem_id, virt_set_oem_id); @@ -3146,13 +3158,6 @@ static void rhel_machine_class_init(ObjectClass *oc, void *data) "Override the default value of field OEM Table ID " "in ACPI table header." "The string may be up to 8 bytes in size"); - object_class_property_add_bool(oc, "default_bus_bypass_iommu", - virt_get_default_bus_bypass_iommu, - virt_set_default_bus_bypass_iommu); - object_class_property_set_description(oc, "default_bus_bypass_iommu", - "Set on/off to enable/disable " - "bypass_iommu for default root bus"); - } static void rhel_virt_instance_init(Object *obj) @@ -3186,10 +3191,6 @@ static void rhel_virt_instance_init(Object *obj) /* Default disallows iommu instantiation */ vms->iommu = VIRT_IOMMU_NONE; - object_property_add_str(obj, "iommu", virt_get_iommu, virt_set_iommu); - object_property_set_description(obj, "iommu", - "Set the IOMMU type. " - "Valid values are none and smmuv3"); /* Default disallows RAS instantiation and is non-configurable for RHEL */ vms->ras = false; -- 2.27.0