summary refs log tree commit diff stats
path: root/hw/ipmi/isa_ipmi_bt.c
diff options
context:
space:
mode:
authorCorey Minyard <corey@minyard.net>2025-04-04 10:47:07 -0500
committerCorey Minyard <corey@minyard.net>2025-04-11 10:50:01 -0500
commitd11d904c81a202c7bfb5b18f4ee248eb2fc9174f (patch)
tree9480bfa745a3a3d6e60ac00e82cdff89348cfeb5 /hw/ipmi/isa_ipmi_bt.c
parent56c6e249b6988c1b6edc2dd34ebb0f1e570a1365 (diff)
downloadfocaccia-qemu-d11d904c81a202c7bfb5b18f4ee248eb2fc9174f.tar.gz
focaccia-qemu-d11d904c81a202c7bfb5b18f4ee248eb2fc9174f.zip
hw/ipmi: Move vmsd registration to device class
It's the right way to do it now, and it handles multiple instances
properly.  I need multiple instances for some testing I'm doing so this
is the right thing to do.

Tested by doing:

   (qemu) migrate -d exec:cat>filen.mig

before and after the fix, then:

   scripts/analyze-migration.py -d desc -f file1.mig >file1.json
   scripts/analyze-migration.py -d desc -f file2.mig >file2.json
   diff file1.json file2.json

with no differences.

Signed-off-by: Corey Minyard <corey@minyard.net>
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Reviewed-by: Fabiano Rosas <farosas@suse.de>
Diffstat (limited to 'hw/ipmi/isa_ipmi_bt.c')
-rw-r--r--hw/ipmi/isa_ipmi_bt.c3
1 files changed, 1 insertions, 2 deletions
diff --git a/hw/ipmi/isa_ipmi_bt.c b/hw/ipmi/isa_ipmi_bt.c
index a1b66d5ee8..474a792c9a 100644
--- a/hw/ipmi/isa_ipmi_bt.c
+++ b/hw/ipmi/isa_ipmi_bt.c
@@ -117,8 +117,6 @@ static void isa_ipmi_bt_realize(DeviceState *dev, Error **errp)
     qdev_set_legacy_instance_id(dev, iib->bt.io_base, iib->bt.io_length);
 
     isa_register_ioport(isadev, &iib->bt.io, iib->bt.io_base);
-
-    vmstate_register(NULL, 0, &vmstate_ISAIPMIBTDevice, dev);
 }
 
 static void isa_ipmi_bt_init(Object *obj)
@@ -147,6 +145,7 @@ static void isa_ipmi_bt_class_init(ObjectClass *oc, void *data)
     AcpiDevAmlIfClass *adevc = ACPI_DEV_AML_IF_CLASS(oc);
 
     dc->realize = isa_ipmi_bt_realize;
+    dc->vmsd = &vmstate_ISAIPMIBTDevice;
     device_class_set_props(dc, ipmi_isa_properties);
 
     iic->get_backend_data = isa_ipmi_bt_get_backend_data;