diff mbox series

[15/24] arm/virt: Register most properties as class properties

Message ID 20200921221045.699690-16-ehabkost@redhat.com
State Accepted
Commit b91def7b8382eb862bad5a60e752a02b7123db71
Headers show
Series qom: Convert some properties to class properties | expand

Commit Message

Eduardo Habkost Sept. 21, 2020, 10:10 p.m. UTC
Class properties make QOM introspection simpler and easier, as
they don't require an object to be instantiated.

Signed-off-by: Eduardo Habkost <ehabkost@redhat.com>
---
Cc: Peter Maydell <peter.maydell@linaro.org>
Cc: qemu-arm@nongnu.org
Cc: qemu-devel@nongnu.org
---
 hw/arm/virt.c | 76 +++++++++++++++++++++++++++------------------------
 1 file changed, 41 insertions(+), 35 deletions(-)

Comments

Igor Mammedov Oct. 23, 2020, 6:26 p.m. UTC | #1
On Mon, 21 Sep 2020 18:10:36 -0400
Eduardo Habkost <ehabkost@redhat.com> wrote:

> Class properties make QOM introspection simpler and easier, as

> they don't require an object to be instantiated.

> 

> Signed-off-by: Eduardo Habkost <ehabkost@redhat.com>


Reviewed-by: Igor Mammedov <imammedo@redhat.com>


> ---

> Cc: Peter Maydell <peter.maydell@linaro.org>

> Cc: qemu-arm@nongnu.org

> Cc: qemu-devel@nongnu.org

> ---

>  hw/arm/virt.c | 76 +++++++++++++++++++++++++++------------------------

>  1 file changed, 41 insertions(+), 35 deletions(-)

> 

> diff --git a/hw/arm/virt.c b/hw/arm/virt.c

> index acf9bfbecea..d1ab660fa60 100644

> --- a/hw/arm/virt.c

> +++ b/hw/arm/virt.c

> @@ -2443,6 +2443,47 @@ static void virt_machine_class_init(ObjectClass *oc, void *data)

>          NULL, NULL);

>      object_class_property_set_description(oc, "acpi",

>          "Enable ACPI");

> +    object_class_property_add_bool(oc, "secure", virt_get_secure,

> +                                   virt_set_secure);

> +    object_class_property_set_description(oc, "secure",

> +                                                "Set on/off to enable/disable the ARM "

> +                                                "Security Extensions (TrustZone)");

> +

> +    object_class_property_add_bool(oc, "virtualization", virt_get_virt,

> +                                   virt_set_virt);

> +    object_class_property_set_description(oc, "virtualization",

> +                                          "Set on/off to enable/disable emulating a "

> +                                          "guest CPU which implements the ARM "

> +                                          "Virtualization Extensions");

> +

> +    object_class_property_add_bool(oc, "highmem", virt_get_highmem,

> +                                   virt_set_highmem);

> +    object_class_property_set_description(oc, "highmem",

> +                                          "Set on/off to enable/disable using "

> +                                          "physical address space above 32 bits");

> +

> +    object_class_property_add_str(oc, "gic-version", virt_get_gic_version,

> +                                  virt_set_gic_version);

> +    object_class_property_set_description(oc, "gic-version",

> +                                          "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, "ras", virt_get_ras,

> +                                   virt_set_ras);

> +    object_class_property_set_description(oc, "ras",

> +                                          "Set on/off to enable/disable reporting host memory errors "

> +                                          "to a KVM guest using ACPI and guest external abort exceptions");

> +

> +    object_class_property_add_bool(oc, "mte", virt_get_mte, virt_set_mte);

> +    object_class_property_set_description(oc, "mte",

> +                                          "Set on/off to enable/disable emulating a "

> +                                          "guest CPU which implements the ARM "

> +                                          "Memory Tagging Extension");

>  }

>  

>  static void virt_instance_init(Object *obj)

> @@ -2455,34 +2496,13 @@ static void virt_instance_init(Object *obj)

>       * boot UEFI blobs which assume no TrustZone support.

>       */

>      vms->secure = false;

> -    object_property_add_bool(obj, "secure", virt_get_secure,

> -                             virt_set_secure);

> -    object_property_set_description(obj, "secure",

> -                                    "Set on/off to enable/disable the ARM "

> -                                    "Security Extensions (TrustZone)");

>  

>      /* EL2 is also disabled by default, for similar reasons */

>      vms->virt = false;

> -    object_property_add_bool(obj, "virtualization", virt_get_virt,

> -                             virt_set_virt);

> -    object_property_set_description(obj, "virtualization",

> -                                    "Set on/off to enable/disable emulating a "

> -                                    "guest CPU which implements the ARM "

> -                                    "Virtualization Extensions");

>  

>      /* High memory is enabled by default */

>      vms->highmem = true;

> -    object_property_add_bool(obj, "highmem", virt_get_highmem,

> -                             virt_set_highmem);

> -    object_property_set_description(obj, "highmem",

> -                                    "Set on/off to enable/disable using "

> -                                    "physical address space above 32 bits");

>      vms->gic_version = VIRT_GIC_VERSION_NOSEL;

> -    object_property_add_str(obj, "gic-version", virt_get_gic_version,

> -                        virt_set_gic_version);

> -    object_property_set_description(obj, "gic-version",

> -                                    "Set GIC version. "

> -                                    "Valid values are 2, 3, host and max");

>  

>      vms->highmem_ecam = !vmc->no_highmem_ecam;

>  

> @@ -2500,26 +2520,12 @@ static void 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 */

>      vms->ras = false;

> -    object_property_add_bool(obj, "ras", virt_get_ras,

> -                             virt_set_ras);

> -    object_property_set_description(obj, "ras",

> -                                    "Set on/off to enable/disable reporting host memory errors "

> -                                    "to a KVM guest using ACPI and guest external abort exceptions");

>  

>      /* MTE is disabled by default.  */

>      vms->mte = false;

> -    object_property_add_bool(obj, "mte", virt_get_mte, virt_set_mte);

> -    object_property_set_description(obj, "mte",

> -                                    "Set on/off to enable/disable emulating a "

> -                                    "guest CPU which implements the ARM "

> -                                    "Memory Tagging Extension");

>  

>      vms->irqmap = a15irqmap;

>
diff mbox series

Patch

diff --git a/hw/arm/virt.c b/hw/arm/virt.c
index acf9bfbecea..d1ab660fa60 100644
--- a/hw/arm/virt.c
+++ b/hw/arm/virt.c
@@ -2443,6 +2443,47 @@  static void virt_machine_class_init(ObjectClass *oc, void *data)
         NULL, NULL);
     object_class_property_set_description(oc, "acpi",
         "Enable ACPI");
+    object_class_property_add_bool(oc, "secure", virt_get_secure,
+                                   virt_set_secure);
+    object_class_property_set_description(oc, "secure",
+                                                "Set on/off to enable/disable the ARM "
+                                                "Security Extensions (TrustZone)");
+
+    object_class_property_add_bool(oc, "virtualization", virt_get_virt,
+                                   virt_set_virt);
+    object_class_property_set_description(oc, "virtualization",
+                                          "Set on/off to enable/disable emulating a "
+                                          "guest CPU which implements the ARM "
+                                          "Virtualization Extensions");
+
+    object_class_property_add_bool(oc, "highmem", virt_get_highmem,
+                                   virt_set_highmem);
+    object_class_property_set_description(oc, "highmem",
+                                          "Set on/off to enable/disable using "
+                                          "physical address space above 32 bits");
+
+    object_class_property_add_str(oc, "gic-version", virt_get_gic_version,
+                                  virt_set_gic_version);
+    object_class_property_set_description(oc, "gic-version",
+                                          "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, "ras", virt_get_ras,
+                                   virt_set_ras);
+    object_class_property_set_description(oc, "ras",
+                                          "Set on/off to enable/disable reporting host memory errors "
+                                          "to a KVM guest using ACPI and guest external abort exceptions");
+
+    object_class_property_add_bool(oc, "mte", virt_get_mte, virt_set_mte);
+    object_class_property_set_description(oc, "mte",
+                                          "Set on/off to enable/disable emulating a "
+                                          "guest CPU which implements the ARM "
+                                          "Memory Tagging Extension");
 }
 
 static void virt_instance_init(Object *obj)
@@ -2455,34 +2496,13 @@  static void virt_instance_init(Object *obj)
      * boot UEFI blobs which assume no TrustZone support.
      */
     vms->secure = false;
-    object_property_add_bool(obj, "secure", virt_get_secure,
-                             virt_set_secure);
-    object_property_set_description(obj, "secure",
-                                    "Set on/off to enable/disable the ARM "
-                                    "Security Extensions (TrustZone)");
 
     /* EL2 is also disabled by default, for similar reasons */
     vms->virt = false;
-    object_property_add_bool(obj, "virtualization", virt_get_virt,
-                             virt_set_virt);
-    object_property_set_description(obj, "virtualization",
-                                    "Set on/off to enable/disable emulating a "
-                                    "guest CPU which implements the ARM "
-                                    "Virtualization Extensions");
 
     /* High memory is enabled by default */
     vms->highmem = true;
-    object_property_add_bool(obj, "highmem", virt_get_highmem,
-                             virt_set_highmem);
-    object_property_set_description(obj, "highmem",
-                                    "Set on/off to enable/disable using "
-                                    "physical address space above 32 bits");
     vms->gic_version = VIRT_GIC_VERSION_NOSEL;
-    object_property_add_str(obj, "gic-version", virt_get_gic_version,
-                        virt_set_gic_version);
-    object_property_set_description(obj, "gic-version",
-                                    "Set GIC version. "
-                                    "Valid values are 2, 3, host and max");
 
     vms->highmem_ecam = !vmc->no_highmem_ecam;
 
@@ -2500,26 +2520,12 @@  static void 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 */
     vms->ras = false;
-    object_property_add_bool(obj, "ras", virt_get_ras,
-                             virt_set_ras);
-    object_property_set_description(obj, "ras",
-                                    "Set on/off to enable/disable reporting host memory errors "
-                                    "to a KVM guest using ACPI and guest external abort exceptions");
 
     /* MTE is disabled by default.  */
     vms->mte = false;
-    object_property_add_bool(obj, "mte", virt_get_mte, virt_set_mte);
-    object_property_set_description(obj, "mte",
-                                    "Set on/off to enable/disable emulating a "
-                                    "guest CPU which implements the ARM "
-                                    "Memory Tagging Extension");
 
     vms->irqmap = a15irqmap;