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
>

Reply via email to