Register Control-Program Identification data with the live migration infrastructure.
Signed-off-by: Shalini Chellathurai Saroja <shal...@linux.ibm.com> Reviewed-by: Nina Schoetterl-Glausch <n...@linux.ibm.com> --- hw/s390x/s390-virtio-ccw.c | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/hw/s390x/s390-virtio-ccw.c b/hw/s390x/s390-virtio-ccw.c index 13ea8db1b0..4d0838d037 100644 --- a/hw/s390x/s390-virtio-ccw.c +++ b/hw/s390x/s390-virtio-ccw.c @@ -260,6 +260,20 @@ static void s390_create_sclpconsole(SCLPDevice *sclp, qdev_realize_and_unref(dev, ev_fac_bus, &error_fatal); } +static const VMStateDescription vmstate_control_program_id = { + .name = "s390_control_program_id", + .version_id = 0, + .minimum_version_id = 0, + .fields = (const VMStateField[]) { + VMSTATE_UINT8_ARRAY(system_type, ControlProgramId, 8), + VMSTATE_UINT8_ARRAY(system_name, ControlProgramId, 8), + VMSTATE_UINT64(system_level, ControlProgramId), + VMSTATE_UINT8_ARRAY(sysplex_name, ControlProgramId, 8), + VMSTATE_UINT64(timestamp, ControlProgramId), + VMSTATE_END_OF_LIST() + } +}; + static void ccw_init(MachineState *machine) { MachineClass *mc = MACHINE_GET_CLASS(machine); @@ -308,6 +322,9 @@ static void ccw_init(MachineState *machine) ret = css_create_css_image(VIRTUAL_CSSID, true); assert(ret == 0); + /* register CPI values */ + vmstate_register_any(NULL, &vmstate_control_program_id, &ms->cpi); + css_register_vmstate(); /* Create VirtIO network adapters */ -- 2.47.0