This series cleans up device configuration in virtio: 1) all properties (features and not) are moved to a single macro DEFINE_VIRTIO_XYZ_PROPERTIES. This makes the definitions uniform across all three virtio backends.
2) all configuration is moved to a single struct, which embeds the NICConf/BlockConf for respectively virtio-nic/virtio-blk. This lets the DEFINE_VIRTIO_XYZ_PROPERTIES include these pieces as well. 3) virtio-9p had some knowledge of PCI, but there should be no reason why s390 or mmio backends cannot use it. These bits are removed and moved back to virtio-pci.[ch]. Tested x86_64, compiled arm+s390x. Paolo Bonzini (9): virtio-net: move property declarations to header file virtio-net: move NICConf into virtio_net_conf virtio-serial: move property declarations to header file virtio-9p: remove PCI dependencies from hw/9pfs/ virtio-9p: move property declarations to header file virtio-blk: define VirtIOBlkConf virtio-blk: move property declarations to header file virtio-blk: move BlockConf into VirtIOBlkConf virtio: move conf fields into an anonymous union hw/9pfs/virtio-9p-device.c | 35 +--------------------- hw/{9p.h => 9pfs/virtio-9p-device.h} | 9 ++++- hw/9pfs/virtio-9p.c | 1 - hw/s390-virtio-bus.c | 18 +++-------- hw/s390-virtio-bus.h | 11 ++++--- hw/syborg_virtio.c | 15 +++------ hw/virtio-blk.c | 28 ++++++++-------- hw/virtio-blk.h | 12 +++++++ hw/virtio-net.c | 13 ++++---- hw/virtio-net.h | 43 +++++++++++++++------------ hw/virtio-pci.c | 55 +++++++++++++++++++++++---------- hw/virtio-pci.h | 14 +++++---- hw/virtio-serial.h | 5 +++ hw/virtio.h | 9 ++--- 14 files changed, 135 insertions(+), 133 deletions(-) rename hw/{9p.h => 9pfs/virtio-9p-device.h} (50%) -- 1.7.7.1