arm/virt: Register most properties as class properties
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: Peter Maydell <peter.maydell@linaro.org> Message-Id: <20201111183823.283752-6-ehabkost@redhat.com> Signed-off-by: Eduardo Habkost <ehabkost@redhat.com>
This commit is contained in:
parent
f5730c69f0
commit
b91def7b83
@ -2490,6 +2490,47 @@ static void virt_machine_class_init(ObjectClass *oc, void *data)
|
|||||||
NULL, NULL);
|
NULL, NULL);
|
||||||
object_class_property_set_description(oc, "acpi",
|
object_class_property_set_description(oc, "acpi",
|
||||||
"Enable 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)
|
static void virt_instance_init(Object *obj)
|
||||||
@ -2502,34 +2543,13 @@ static void virt_instance_init(Object *obj)
|
|||||||
* boot UEFI blobs which assume no TrustZone support.
|
* boot UEFI blobs which assume no TrustZone support.
|
||||||
*/
|
*/
|
||||||
vms->secure = false;
|
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 */
|
/* EL2 is also disabled by default, for similar reasons */
|
||||||
vms->virt = false;
|
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 */
|
/* High memory is enabled by default */
|
||||||
vms->highmem = true;
|
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;
|
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;
|
vms->highmem_ecam = !vmc->no_highmem_ecam;
|
||||||
|
|
||||||
@ -2547,26 +2567,12 @@ static void virt_instance_init(Object *obj)
|
|||||||
|
|
||||||
/* Default disallows iommu instantiation */
|
/* Default disallows iommu instantiation */
|
||||||
vms->iommu = VIRT_IOMMU_NONE;
|
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 */
|
/* Default disallows RAS instantiation */
|
||||||
vms->ras = false;
|
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. */
|
/* MTE is disabled by default. */
|
||||||
vms->mte = false;
|
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;
|
vms->irqmap = a15irqmap;
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user