]> rtime.felk.cvut.cz Git - lisovros/qemu_apohw.git/commitdiff
spapr: QOM'ify pseries machine
authorAlexey Kardashevskiy <aik@ozlabs.ru>
Mon, 17 Mar 2014 02:40:26 +0000 (13:40 +1100)
committerAndreas Färber <afaerber@suse.de>
Thu, 20 Mar 2014 01:40:13 +0000 (02:40 +0100)
Signed-off-by: Alexey Kardashevskiy <aik@ozlabs.ru>
Signed-off-by: Andreas Färber <afaerber@suse.de>
hw/ppc/spapr.c

index 5c9a154d6afdad0f9d20ff15e539b398fdb20101..170e08383b671d8cb69d41899f9b5f98b789e085 100644 (file)
@@ -81,6 +81,8 @@
 
 #define HTAB_SIZE(spapr)        (1ULL << ((spapr)->htab_shift))
 
+#define TYPE_SPAPR_MACHINE      "spapr-machine"
+
 sPAPREnvironment *spapr;
 
 int spapr_allocate_irq(int hint, bool lsi)
@@ -1410,9 +1412,23 @@ static QEMUMachine spapr_machine = {
     .kvm_type = spapr_kvm_type,
 };
 
-static void spapr_machine_init(void)
+static void spapr_machine_class_init(ObjectClass *oc, void *data)
+{
+    MachineClass *mc = MACHINE_CLASS(oc);
+
+    mc->qemu_machine = data;
+}
+
+static const TypeInfo spapr_machine_info = {
+    .name          = TYPE_SPAPR_MACHINE,
+    .parent        = TYPE_MACHINE,
+    .class_init    = spapr_machine_class_init,
+    .class_data    = &spapr_machine,
+};
+
+static void spapr_machine_register_types(void)
 {
-    qemu_register_machine(&spapr_machine);
+    type_register_static(&spapr_machine_info);
 }
 
-machine_init(spapr_machine_init);
+type_init(spapr_machine_register_types)