This patch set has a dual purpose: introduce proper migration for the
channel subsystem (css) and convert the migration of ccw devices to
vmstate. The state of the css was only partially migrated by the
virtio-ccw devices (was the only device type until recent), which was
good enough for a while.
Since the new vmstate infrastructure is used also for handling the
migration stream for legacy machines some bits are a bit convoluted:
that is, if you see something convoluted there is a good chance the
reason why is compatibility.
Halil Pasic (10):
s390x: add helper get_machine_class
s390x: add css_migration_enabled to machine class
s390x/css: add vmstate entities for css
s390x/css: add vmstate macro for CcwDevice
virtio-ccw: add vmstate entities for VirtioCcwDevice
virtio-ccw: use vmstate way for config migration
s390x/css: remove unused subch_dev_(load|save)
s390x/css: add ORB to SubchDev
s390x/css: turn on channel subsystem migration
s390x/css: use SubchDev.orb
hw/intc/s390_flic.c | 48 ++++
hw/s390x/ccw-device.c | 11 +
hw/s390x/ccw-device.h | 4 +
hw/s390x/css.c | 478 +++++++++++++++++++++++++------------
hw/s390x/s390-virtio-ccw.c | 58 +++--
hw/s390x/virtio-ccw.c | 164 +++++++------
include/hw/s390x/css.h | 17 +-
include/hw/s390x/s390-virtio-ccw.h | 7 +
include/hw/s390x/s390_flic.h | 5 +
9 files changed, 543 insertions(+), 249 deletions(-)
--
2.10.2