From: KONRAD Frederic <fred.kon...@greensocs.com> host_features field is part of the transport device. So move all the host_features related properties into transport device.
Signed-off-by: KONRAD Frederic <fred.kon...@greensocs.com> --- hw/s390-virtio-bus.c | 7 ++++++- hw/virtio-pci.c | 7 ++++++- hw/virtio-scsi.h | 9 +++------ 3 files changed, 15 insertions(+), 8 deletions(-) diff --git a/hw/s390-virtio-bus.c b/hw/s390-virtio-bus.c index 8a2c8b3..283b7b6 100644 --- a/hw/s390-virtio-bus.c +++ b/hw/s390-virtio-bus.c @@ -543,7 +543,12 @@ static TypeInfo virtio_s390_device_info = { }; static Property s390_virtio_scsi_properties[] = { - DEFINE_VIRTIO_SCSI_PROPERTIES(VirtIOS390Device, host_features, scsi), + DEFINE_VIRTIO_SCSI_PROPERTIES(VirtIOS390Device, scsi), + DEFINE_VIRTIO_COMMON_FEATURES(VirtIOS390Device, host_features), + DEFINE_PROP_BIT("hotplug", VirtIOS390Device, host_features, + VIRTIO_SCSI_F_HOTPLUG, true), + DEFINE_PROP_BIT("param_change", VirtIOS390Device, host_features, + VIRTIO_SCSI_F_CHANGE, true), DEFINE_PROP_END_OF_LIST(), }; diff --git a/hw/virtio-pci.c b/hw/virtio-pci.c index 06bdbe1..8955b73 100644 --- a/hw/virtio-pci.c +++ b/hw/virtio-pci.c @@ -1010,7 +1010,12 @@ static void virtio_scsi_exit_pci(PCIDevice *pci_dev) static Property virtio_scsi_properties[] = { DEFINE_PROP_BIT("ioeventfd", VirtIOPCIProxy, flags, VIRTIO_PCI_FLAG_USE_IOEVENTFD_BIT, true), DEFINE_PROP_UINT32("vectors", VirtIOPCIProxy, nvectors, DEV_NVECTORS_UNSPECIFIED), - DEFINE_VIRTIO_SCSI_PROPERTIES(VirtIOPCIProxy, host_features, scsi), + DEFINE_VIRTIO_COMMON_FEATURES(VirtIOPCIProxy, host_features), + DEFINE_PROP_BIT("hotplug", VirtIOPCIProxy, host_features, + VIRTIO_SCSI_F_HOTPLUG, true), + DEFINE_PROP_BIT("param_change", VirtIOPCIProxy, host_features, + VIRTIO_SCSI_F_CHANGE, true), + DEFINE_VIRTIO_SCSI_PROPERTIES(VirtIOPCIProxy, scsi), DEFINE_PROP_END_OF_LIST(), }; diff --git a/hw/virtio-scsi.h b/hw/virtio-scsi.h index c659ba1..197a7b5 100644 --- a/hw/virtio-scsi.h +++ b/hw/virtio-scsi.h @@ -47,12 +47,9 @@ typedef struct { VirtQueue **cmd_vqs; } VirtIOSCSI; -#define DEFINE_VIRTIO_SCSI_PROPERTIES(_state, _features_field, _conf_field) \ - DEFINE_VIRTIO_COMMON_FEATURES(_state, _features_field), \ +#define DEFINE_VIRTIO_SCSI_PROPERTIES(_state, _conf_field) \ DEFINE_PROP_UINT32("num_queues", _state, _conf_field.num_queues, 1), \ - DEFINE_PROP_UINT32("max_sectors", _state, _conf_field.max_sectors, 0xFFFF), \ - DEFINE_PROP_UINT32("cmd_per_lun", _state, _conf_field.cmd_per_lun, 128), \ - DEFINE_PROP_BIT("hotplug", _state, _features_field, VIRTIO_SCSI_F_HOTPLUG, true), \ - DEFINE_PROP_BIT("param_change", _state, _features_field, VIRTIO_SCSI_F_CHANGE, true) + DEFINE_PROP_UINT32("max_sectors", _state, _conf_field.max_sectors, 0xFFFF),\ + DEFINE_PROP_UINT32("cmd_per_lun", _state, _conf_field.cmd_per_lun, 128) #endif /* _QEMU_VIRTIO_SCSI_H */ -- 1.7.11.7