On Thu, Sep 19, 2013 at 10:07 PM, Alexander Graf <ag...@suse.de> wrote: > > On 18.09.2013, at 05:19, Christian Borntraeger wrote: > >> From: Heinz Graalfs <graa...@linux.vnet.ibm.com> >> >> This patch adds the necessary life migration pieces to the sclp code >> by using vmstate_register. >> >> Signed-off-by: Heinz Graalfs <graa...@linux.vnet.ibm.com> >> Signed-off-by: Christian Borntraeger <borntrae...@de.ibm.com> >> --- >> hw/char/sclpconsole.c | 19 ++++++++++++++++++- >> 1 file changed, 18 insertions(+), 1 deletion(-) >> >> diff --git a/hw/char/sclpconsole.c b/hw/char/sclpconsole.c >> index fd270be..856230f 100644 >> --- a/hw/char/sclpconsole.c >> +++ b/hw/char/sclpconsole.c >> @@ -197,9 +197,26 @@ static void trigger_ascii_console_data(void *opaque, >> int n, int level) >> sclp_service_interrupt(0); >> } >> >> +static const VMStateDescription vmstate_sclpconsole = { >> + .name = "sclpconsole", >> + .version_id = 0, >> + .minimum_version_id = 0, >> + .minimum_version_id_old = 0, >> + .fields = (VMStateField[]) { >> + VMSTATE_BOOL(event.event_pending, SCLPConsole), >> + VMSTATE_UINT8_ARRAY(iov, SCLPConsole, SIZE_BUFFER_VT220), >> + VMSTATE_UINT32(iov_sclp, SCLPConsole), >> + VMSTATE_UINT32(iov_bs, SCLPConsole), >> + VMSTATE_UINT32(iov_data_len, SCLPConsole), >> + VMSTATE_UINT32(iov_sclp_rest, SCLPConsole), >> + VMSTATE_END_OF_LIST() >> + } >> +}; >> + >> /* qemu object creation and initialization functions */ >> >> /* tell character layer our call-back functions */ >> + >> static int console_init(SCLPEvent *event) >> { >> static bool console_available; >> @@ -223,7 +240,7 @@ static int console_init(SCLPEvent *event) >> scon->irq_read_vt220 = *qemu_allocate_irqs(trigger_ascii_console_data, >> NULL, 1); >> >> - return 0; >> + return vmstate_register(NULL, 0, &vmstate_sclpconsole, scon); > > If I understand Anthony correctly a vmstate_register() call means you didn't > convert something to QOM correctly :).
In this case, the line is just wrong. In console_class_init, you should assign dc->vmsd = &vmstate_slcpconsole. Regards, Anthony Liguori > > > Alex >