hw/ppc: Add pnv_i2c vmstate support

- Add vmstate support for i2c registers

Reviewed-by: Michael Kowal <kowal@linux.ibm.com>
Reviewed-by: Aditya Gupta <adityag@linux.ibm.com>
Reviewed-by: Chalapathi V <chalapathi.v@linux.ibm.com>
Signed-off-by: Caleb Schlossin <calebs@linux.ibm.com>
Reviewed-by: Glenn Miles <milesg@linux.ibm.com>
Link: https://lore.kernel.org/qemu-devel/20260105160138.3242709-4-calebs@linux.ibm.com
Signed-off-by: Harsh Prateek Bora <harshpb@linux.ibm.com>
This commit is contained in:
Caleb Schlossin
2026-01-05 10:01:34 -06:00
committed by Harsh Prateek Bora
parent 555fd783ef
commit 39af40b3f4

View File

@@ -19,6 +19,7 @@
#include "hw/ppc/pnv_i2c.h"
#include "hw/ppc/pnv_xscom.h"
#include "hw/ppc/fdt.h"
#include "migration/vmstate.h"
#include <libfdt.h>
@@ -549,6 +550,15 @@ static const Property pnv_i2c_properties[] = {
DEFINE_PROP_UINT32("num-busses", PnvI2C, num_busses, 1),
};
static const VMStateDescription pnv_i2c_vmstate = {
.name = TYPE_PNV_I2C,
.version_id = 1,
.fields = (const VMStateField[]) {
VMSTATE_UINT64_ARRAY(regs, PnvI2C, PNV_I2C_REGS),
VMSTATE_END_OF_LIST(),
},
};
static void pnv_i2c_class_init(ObjectClass *klass, const void *data)
{
DeviceClass *dc = DEVICE_CLASS(klass);
@@ -561,6 +571,7 @@ static void pnv_i2c_class_init(ObjectClass *klass, const void *data)
dc->desc = "PowerNV I2C";
dc->realize = pnv_i2c_realize;
dc->vmsd = &pnv_i2c_vmstate;
device_class_set_props(dc, pnv_i2c_properties);
}