Set TYPE_VIRT_MACHINE to MACHINE_TYPE_NAME("or1k-virt") so OpenRISC
virt no longer collides with other virt-machine types in one process.
Keep the -M / help / migration name as virt via
machine_class_set_name().

Signed-off-by: Yonggang Luo <[email protected]>
Reviewed-by: Marc-AndrĂ© Lureau <[email protected]>
Reviewed-by: Zhao Liu <[email protected]>
---
 hw/or1k/virt.c | 20 +++++++++++---------
 1 file changed, 11 insertions(+), 9 deletions(-)

diff --git a/hw/or1k/virt.c b/hw/or1k/virt.c
index a3ff903839b..ec20045a3d0 100644
--- a/hw/or1k/virt.c
+++ b/hw/or1k/virt.c
@@ -34,7 +34,9 @@
 #define VIRT_CPUS_MAX 4
 #define VIRT_CLK_MHZ 20000000
 
-#define TYPE_VIRT_MACHINE MACHINE_TYPE_NAME("virt")
+#define TYPE_VIRT_MACHINE \
+    (target_combined_binary() ? MACHINE_TYPE_NAME("or1k-virt") : \
+                                MACHINE_TYPE_NAME("virt"))
 #define VIRT_MACHINE(obj) \
     OBJECT_CHECK(OR1KVirtState, (obj), TYPE_VIRT_MACHINE)
 
@@ -548,22 +550,22 @@ static void openrisc_virt_machine_init(ObjectClass *oc, 
const void *data)
     MachineClass *mc = MACHINE_CLASS(oc);
 
     mc->desc = "or1k virtual machine";
+    machine_class_set_name(mc, "virt");
     mc->init = openrisc_virt_init;
     mc->max_cpus = VIRT_CPUS_MAX;
     mc->is_default = false;
     mc->default_cpu_type = OPENRISC_CPU_TYPE_NAME("or1200");
 }
 
-static const TypeInfo or1ksim_machine_typeinfo = {
-    .name       = TYPE_VIRT_MACHINE,
-    .parent     = TYPE_MACHINE,
-    .class_init = openrisc_virt_machine_init,
-    .instance_size = sizeof(OR1KVirtState),
-    .is_available = target_or1k,
-};
-
 static void or1ksim_machine_init_register_types(void)
 {
+    const TypeInfo or1ksim_machine_typeinfo = {
+        .name = TYPE_VIRT_MACHINE,
+        .parent = TYPE_MACHINE,
+        .class_init = openrisc_virt_machine_init,
+        .instance_size = sizeof(OR1KVirtState),
+        .is_available = target_or1k,
+    };
     type_register_static(&or1ksim_machine_typeinfo);
 }
 
-- 
2.55.0.windows.3


Reply via email to