mirror of
https://github.com/xemu-project/xemu.git
synced 2024-11-25 04:30:02 +00:00
pseries: savevm support for VIO devices
This patch adds helpers to allow PAPR VIO devices to save state common to all VIO devices during savevm. Signed-off-by: David Gibson <david@gibson.dropbear.id.au> Reviewed-by: Anthony Liguori <aliguori@us.ibm.com> Message-id: 1374175984-8930-3-git-send-email-aliguori@us.ibm.com Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
This commit is contained in:
parent
a90db1584a
commit
b368a7d864
@ -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);
|
||||
|
@ -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 */
|
||||
|
Loading…
Reference in New Issue
Block a user