189 lines
6.2 KiB
Diff
189 lines
6.2 KiB
Diff
|
From bfa3dc6e290c7b4f7f8825e4d4320ba062ed445a Mon Sep 17 00:00:00 2001
|
||
|
From: Andrew Jones <drjones@redhat.com>
|
||
|
Date: Sat, 9 Jan 2021 22:19:27 -0500
|
||
|
Subject: AArch64 machine types cleanup
|
||
|
|
||
|
RH-Author: Andrew Jones <drjones@redhat.com>
|
||
|
Message-id: <20210109221928.31407-2-drjones@redhat.com>
|
||
|
Patchwork-id: 100547
|
||
|
O-Subject: [RHEL-AV-8.4.0 qemu-kvm PATCH v2 1/2] AArch64 machine types cleanup
|
||
|
Bugzilla: 1895276
|
||
|
RH-Acked-by: Gavin Shan <gshan@redhat.com>
|
||
|
RH-Acked-by: Miroslav Rezanina <mrezanin@redhat.com>
|
||
|
RH-Acked-by: Auger Eric <eric.auger@redhat.com>
|
||
|
RH-Acked-by: Thomas Huth <thuth@redhat.com>
|
||
|
|
||
|
No functional change here, just a reduction of downstream-only
|
||
|
changes and whitespace differences. Also the removal of a nested
|
||
|
'#if 0 /* disabled for RHEL */' block.
|
||
|
|
||
|
Signed-off-by: Andrew Jones <drjones@redhat.com>
|
||
|
Signed-off-by: Danilo C. L. de Paula <ddepaula@redhat.com>
|
||
|
---
|
||
|
hw/arm/virt.c | 69 +++++++++++++++++++++++----------------------------
|
||
|
1 file changed, 31 insertions(+), 38 deletions(-)
|
||
|
|
||
|
diff --git a/hw/arm/virt.c b/hw/arm/virt.c
|
||
|
index 21e0485ac5..530072fce0 100644
|
||
|
--- a/hw/arm/virt.c
|
||
|
+++ b/hw/arm/virt.c
|
||
|
@@ -123,7 +123,6 @@
|
||
|
static const TypeInfo rhel##m##n##s##_machvirt_info = { \
|
||
|
.name = MACHINE_TYPE_NAME("virt-rhel" # m "." # n "." # s), \
|
||
|
.parent = TYPE_RHEL_MACHINE, \
|
||
|
- .instance_init = rhel##m##n##s##_virt_instance_init, \
|
||
|
.class_init = rhel##m##n##s##_virt_class_init, \
|
||
|
}; \
|
||
|
static void rhel##m##n##s##_machvirt_init(void) \
|
||
|
@@ -2098,8 +2097,8 @@ static void virt_set_virt(Object *obj, bool value, Error **errp)
|
||
|
|
||
|
vms->virt = value;
|
||
|
}
|
||
|
-
|
||
|
#endif /* disabled for RHEL */
|
||
|
+
|
||
|
static bool virt_get_highmem(Object *obj, Error **errp)
|
||
|
{
|
||
|
VirtMachineState *vms = VIRT_MACHINE(obj);
|
||
|
@@ -2167,14 +2166,13 @@ static void virt_set_ras(Object *obj, bool value, Error **errp)
|
||
|
|
||
|
vms->ras = value;
|
||
|
}
|
||
|
-#if 0 /* Disabled for Red Hat Enterprise Linux */
|
||
|
+
|
||
|
static bool virt_get_mte(Object *obj, Error **errp)
|
||
|
{
|
||
|
VirtMachineState *vms = VIRT_MACHINE(obj);
|
||
|
|
||
|
return vms->mte;
|
||
|
}
|
||
|
-#endif /* disabled for RHEL */
|
||
|
|
||
|
static void virt_set_mte(Object *obj, bool value, Error **errp)
|
||
|
{
|
||
|
@@ -2182,7 +2180,8 @@ static void virt_set_mte(Object *obj, bool value, Error **errp)
|
||
|
|
||
|
vms->mte = value;
|
||
|
}
|
||
|
-#endif
|
||
|
+#endif /* disabled for RHEL */
|
||
|
+
|
||
|
static char *virt_get_gic_version(Object *obj, Error **errp)
|
||
|
{
|
||
|
VirtMachineState *vms = VIRT_MACHINE(obj);
|
||
|
@@ -2818,25 +2817,6 @@ static void rhel_machine_class_init(ObjectClass *oc, void *data)
|
||
|
"Enable ACPI");
|
||
|
}
|
||
|
|
||
|
-static const TypeInfo rhel_machine_info = {
|
||
|
- .name = TYPE_RHEL_MACHINE,
|
||
|
- .parent = TYPE_MACHINE,
|
||
|
- .abstract = true,
|
||
|
- .instance_size = sizeof(VirtMachineState),
|
||
|
- .class_size = sizeof(VirtMachineClass),
|
||
|
- .class_init = rhel_machine_class_init,
|
||
|
- .interfaces = (InterfaceInfo[]) {
|
||
|
- { TYPE_HOTPLUG_HANDLER },
|
||
|
- { }
|
||
|
- },
|
||
|
-};
|
||
|
-
|
||
|
-static void rhel_machine_init(void)
|
||
|
-{
|
||
|
- type_register_static(&rhel_machine_info);
|
||
|
-}
|
||
|
-type_init(rhel_machine_init);
|
||
|
-
|
||
|
static void rhel_virt_instance_init(Object *obj)
|
||
|
{
|
||
|
VirtMachineState *vms = VIRT_MACHINE(obj);
|
||
|
@@ -2844,22 +2824,23 @@ static void rhel_virt_instance_init(Object *obj)
|
||
|
|
||
|
/* EL3 is disabled by default and non-configurable for RHEL */
|
||
|
vms->secure = false;
|
||
|
+
|
||
|
/* EL2 is disabled by default and non-configurable for RHEL */
|
||
|
vms->virt = false;
|
||
|
- /* High memory is enabled by default for RHEL */
|
||
|
+
|
||
|
+ /* 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 and host");
|
||
|
+ "Valid values are 2, 3, host and max");
|
||
|
|
||
|
vms->highmem_ecam = !vmc->no_highmem_ecam;
|
||
|
|
||
|
@@ -2882,18 +2863,36 @@ static void rhel_virt_instance_init(Object *obj)
|
||
|
"Set the IOMMU type. "
|
||
|
"Valid values are none and smmuv3");
|
||
|
|
||
|
+ /* Default disallows RAS instantiation and is non-configurable for RHEL */
|
||
|
vms->ras = false;
|
||
|
- /* MTE is disabled by default. */
|
||
|
+
|
||
|
+ /* MTE is disabled by default and non-configurable for RHEL */
|
||
|
vms->mte = false;
|
||
|
|
||
|
- vms->irqmap=a15irqmap;
|
||
|
+ vms->irqmap = a15irqmap;
|
||
|
+
|
||
|
virt_flash_create(vms);
|
||
|
}
|
||
|
|
||
|
-static void rhel830_virt_instance_init(Object *obj)
|
||
|
+static const TypeInfo rhel_machine_info = {
|
||
|
+ .name = TYPE_RHEL_MACHINE,
|
||
|
+ .parent = TYPE_MACHINE,
|
||
|
+ .abstract = true,
|
||
|
+ .instance_size = sizeof(VirtMachineState),
|
||
|
+ .class_size = sizeof(VirtMachineClass),
|
||
|
+ .class_init = rhel_machine_class_init,
|
||
|
+ .instance_init = rhel_virt_instance_init,
|
||
|
+ .interfaces = (InterfaceInfo[]) {
|
||
|
+ { TYPE_HOTPLUG_HANDLER },
|
||
|
+ { }
|
||
|
+ },
|
||
|
+};
|
||
|
+
|
||
|
+static void rhel_machine_init(void)
|
||
|
{
|
||
|
- rhel_virt_instance_init(obj);
|
||
|
+ type_register_static(&rhel_machine_info);
|
||
|
}
|
||
|
+type_init(rhel_machine_init);
|
||
|
|
||
|
static void rhel830_virt_options(MachineClass *mc)
|
||
|
{
|
||
|
@@ -2901,16 +2900,10 @@ static void rhel830_virt_options(MachineClass *mc)
|
||
|
}
|
||
|
DEFINE_RHEL_MACHINE_AS_LATEST(8, 3, 0)
|
||
|
|
||
|
-static void rhel820_virt_instance_init(Object *obj)
|
||
|
-{
|
||
|
- rhel_virt_instance_init(obj);
|
||
|
-}
|
||
|
-
|
||
|
static void rhel820_virt_options(MachineClass *mc)
|
||
|
{
|
||
|
rhel830_virt_options(mc);
|
||
|
- compat_props_add(mc->compat_props, hw_compat_rhel_8_2,
|
||
|
- hw_compat_rhel_8_2_len);
|
||
|
+ compat_props_add(mc->compat_props, hw_compat_rhel_8_2, hw_compat_rhel_8_2_len);
|
||
|
mc->numa_mem_supported = true;
|
||
|
mc->auto_enable_numa_with_memdev = false;
|
||
|
}
|
||
|
--
|
||
|
2.18.4
|
||
|
|