Alexey Kardashevskiy <a...@ozlabs.ru> writes:

> From: David Gibson <da...@gibson.dropbear.id.au>
>
> This patch adds helpers to allow PAPR VIO devices to save state common
> to all VIO devices during savevm.
>
> Signed-off-by: David Gibson <da...@gibson.dropbear.id.au>
> Signed-off-by: Alexey Kardashevskiy <a...@ozlabs.ru>

Reviewed-by: Anthony Liguori <aligu...@us.ibm.com>

Regards,

Anthony Liguori

> ---
>  hw/ppc/spapr_vio.c         |   20 ++++++++++++++++++++
>  include/hw/ppc/spapr_vio.h |    5 +++++
>  2 files changed, 25 insertions(+)
>
> diff --git a/hw/ppc/spapr_vio.c b/hw/ppc/spapr_vio.c
> index 9c18741..565d883 100644
> --- a/hw/ppc/spapr_vio.c
> +++ b/hw/ppc/spapr_vio.c
> @@ -542,6 +542,26 @@ static const TypeInfo spapr_vio_bridge_info = {
>      .class_init    = spapr_vio_bridge_class_init,
>  };
>  
> +const VMStateDescription vmstate_spapr_vio = {
> +    .name = "spapr_vio",
> +    .version_id = 1,
> +    .minimum_version_id = 1,
> +    .minimum_version_id_old = 1,
> +    .fields      = (VMStateField []) {
> +        /* Sanity check */
> +        VMSTATE_UINT32_EQUAL(reg, VIOsPAPRDevice),
> +        VMSTATE_UINT32_EQUAL(irq, VIOsPAPRDevice),
> +
> +        /* General VIO device state */
> +        VMSTATE_UINTTL(signal_state, VIOsPAPRDevice),
> +        VMSTATE_UINT64(crq.qladdr, VIOsPAPRDevice),
> +        VMSTATE_UINT32(crq.qsize, VIOsPAPRDevice),
> +        VMSTATE_UINT32(crq.qnext, VIOsPAPRDevice),
> +
> +        VMSTATE_END_OF_LIST()
> +    },
> +};
> +
>  static void vio_spapr_device_class_init(ObjectClass *klass, void *data)
>  {
>      DeviceClass *k = DEVICE_CLASS(klass);
> diff --git a/include/hw/ppc/spapr_vio.h b/include/hw/ppc/spapr_vio.h
> index 3609327..46edc2a 100644
> --- a/include/hw/ppc/spapr_vio.h
> +++ b/include/hw/ppc/spapr_vio.h
> @@ -134,4 +134,9 @@ VIOsPAPRDevice *spapr_vty_get_default(VIOsPAPRBus *bus);
>  
>  void spapr_vio_quiesce(void);
>  
> +extern const VMStateDescription vmstate_spapr_vio;
> +
> +#define VMSTATE_SPAPR_VIO(_f, _s) \
> +    VMSTATE_STRUCT(_f, _s, 0, vmstate_spapr_vio, VIOsPAPRDevice)
> +
>  #endif /* _HW_SPAPR_VIO_H */
> -- 
> 1.7.10.4


Reply via email to