qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* [Qemu-devel] [PATCH v1] virtio: move common virtio properties to bus class device
@ 2014-06-30 16:01 Ming Lei
  2014-07-02  9:58 ` Michael S. Tsirkin
  0 siblings, 1 reply; 5+ messages in thread
From: Ming Lei @ 2014-06-30 16:01 UTC (permalink / raw)
  To: Peter Maydell, qemu-devel, Paolo Bonzini; +Cc: Ming Lei, Michael S. Tsirkin

The two common virtio features can be defined per bus, so move all
into bus class device to make code more clean.

As discussed with cornelia, s390-virtio-blk doesn't support
the two features at all, so keep s390-virtio as it.

Acked-by: Cornelia Huck <cornelia.huck@de.ibm.com> #for s390 ccw
Suggested-by: Paolo Bonzini <pbonzini@redhat.com>
Signed-off-by: Ming Lei <ming.lei@canonical.com>
---
v1:
	- rebased on latest master branch of qemu upstream

 hw/s390x/s390-virtio-bus.c      |    2 ++
 hw/s390x/virtio-ccw.c           |   11 ++++++-----
 hw/virtio/virtio-pci.c          |   12 ++++++------
 include/hw/virtio/virtio-blk.h  |    3 ---
 include/hw/virtio/virtio-net.h  |    1 -
 include/hw/virtio/virtio-scsi.h |    1 -
 6 files changed, 14 insertions(+), 16 deletions(-)

diff --git a/hw/s390x/s390-virtio-bus.c b/hw/s390x/s390-virtio-bus.c
index 7c8c81b..65227a5 100644
--- a/hw/s390x/s390-virtio-bus.c
+++ b/hw/s390x/s390-virtio-bus.c
@@ -491,6 +491,7 @@ static unsigned virtio_s390_get_features(DeviceState *d)
 
 static Property s390_virtio_net_properties[] = {
     DEFINE_NIC_PROPERTIES(VirtIONetS390, vdev.nic_conf),
+    DEFINE_VIRTIO_COMMON_FEATURES(VirtIOS390Device, host_features),
     DEFINE_VIRTIO_NET_FEATURES(VirtIOS390Device, host_features),
     DEFINE_VIRTIO_NET_PROPERTIES(VirtIONetS390, vdev.net_conf),
     DEFINE_PROP_END_OF_LIST(),
@@ -618,6 +619,7 @@ static const TypeInfo virtio_s390_device_info = {
 
 static Property s390_virtio_scsi_properties[] = {
     DEFINE_VIRTIO_SCSI_PROPERTIES(VirtIOSCSIS390, vdev.parent_obj.conf),
+    DEFINE_VIRTIO_COMMON_FEATURES(VirtIOS390Device, host_features),
     DEFINE_VIRTIO_SCSI_FEATURES(VirtIOS390Device, host_features),
     DEFINE_PROP_END_OF_LIST(),
 };
diff --git a/hw/s390x/virtio-ccw.c b/hw/s390x/virtio-ccw.c
index 05656a2..b7a1b97 100644
--- a/hw/s390x/virtio-ccw.c
+++ b/hw/s390x/virtio-ccw.c
@@ -1399,7 +1399,6 @@ static const TypeInfo virtio_ccw_net = {
 
 static Property virtio_ccw_blk_properties[] = {
     DEFINE_PROP_STRING("devno", VirtioCcwDevice, bus_id),
-    DEFINE_VIRTIO_BLK_FEATURES(VirtioCcwDevice, host_features[0]),
     DEFINE_VIRTIO_BLK_PROPERTIES(VirtIOBlkCcw, blk),
     DEFINE_PROP_BIT("ioeventfd", VirtioCcwDevice, flags,
                     VIRTIO_CCW_FLAG_USE_IOEVENTFD_BIT, true),
@@ -1431,7 +1430,6 @@ static const TypeInfo virtio_ccw_blk = {
 static Property virtio_ccw_serial_properties[] = {
     DEFINE_PROP_STRING("devno", VirtioCcwDevice, bus_id),
     DEFINE_VIRTIO_SERIAL_PROPERTIES(VirtioSerialCcw, vdev.serial),
-    DEFINE_VIRTIO_COMMON_FEATURES(VirtioCcwDevice, host_features[0]),
     DEFINE_PROP_BIT("ioeventfd", VirtioCcwDevice, flags,
                     VIRTIO_CCW_FLAG_USE_IOEVENTFD_BIT, true),
     DEFINE_PROP_END_OF_LIST(),
@@ -1458,7 +1456,6 @@ static const TypeInfo virtio_ccw_serial = {
 
 static Property virtio_ccw_balloon_properties[] = {
     DEFINE_PROP_STRING("devno", VirtioCcwDevice, bus_id),
-    DEFINE_VIRTIO_COMMON_FEATURES(VirtioCcwDevice, host_features[0]),
     DEFINE_PROP_BIT("ioeventfd", VirtioCcwDevice, flags,
                     VIRTIO_CCW_FLAG_USE_IOEVENTFD_BIT, true),
     DEFINE_PROP_END_OF_LIST(),
@@ -1515,7 +1512,6 @@ static const TypeInfo virtio_ccw_scsi = {
 static Property vhost_ccw_scsi_properties[] = {
     DEFINE_PROP_STRING("devno", VirtioCcwDevice, bus_id),
     DEFINE_VHOST_SCSI_PROPERTIES(VirtIOSCSICcw, vdev.parent_obj.conf),
-    DEFINE_VIRTIO_COMMON_FEATURES(VirtioCcwDevice, host_features[0]),
     DEFINE_PROP_END_OF_LIST(),
 };
 
@@ -1552,7 +1548,6 @@ static void virtio_ccw_rng_instance_init(Object *obj)
 
 static Property virtio_ccw_rng_properties[] = {
     DEFINE_PROP_STRING("devno", VirtioCcwDevice, bus_id),
-    DEFINE_VIRTIO_COMMON_FEATURES(VirtioCcwDevice, host_features[0]),
     DEFINE_VIRTIO_RNG_PROPERTIES(VirtIORNGCcw, vdev.conf),
     DEFINE_PROP_BIT("ioeventfd", VirtioCcwDevice, flags,
                     VIRTIO_CCW_FLAG_USE_IOEVENTFD_BIT, true),
@@ -1618,10 +1613,16 @@ static int virtio_ccw_busdev_unplug(DeviceState *dev)
     return 0;
 }
 
+static Property virtio_ccw_properties[] = {
+    DEFINE_VIRTIO_COMMON_FEATURES(VirtioCcwDevice, host_features[0]),
+    DEFINE_PROP_END_OF_LIST(),
+};
+
 static void virtio_ccw_device_class_init(ObjectClass *klass, void *data)
 {
     DeviceClass *dc = DEVICE_CLASS(klass);
 
+    dc->props = virtio_ccw_properties;
     dc->init = virtio_ccw_busdev_init;
     dc->exit = virtio_ccw_busdev_exit;
     dc->unplug = virtio_ccw_busdev_unplug;
diff --git a/hw/virtio/virtio-pci.c b/hw/virtio/virtio-pci.c
index 57e1e61..fe01981 100644
--- a/hw/virtio/virtio-pci.c
+++ b/hw/virtio/virtio-pci.c
@@ -917,7 +917,6 @@ static Property virtio_9p_pci_properties[] = {
     DEFINE_PROP_BIT("ioeventfd", VirtIOPCIProxy, flags,
                     VIRTIO_PCI_FLAG_USE_IOEVENTFD_BIT, true),
     DEFINE_PROP_UINT32("vectors", VirtIOPCIProxy, nvectors, 2),
-    DEFINE_VIRTIO_COMMON_FEATURES(VirtIOPCIProxy, host_features),
     DEFINE_VIRTIO_9P_PROPERTIES(V9fsPCIState, vdev.fsconf),
     DEFINE_PROP_END_OF_LIST(),
 };
@@ -1040,11 +1039,17 @@ static void virtio_pci_reset(DeviceState *qdev)
     proxy->flags &= ~VIRTIO_PCI_FLAG_BUS_MASTER_BUG;
 }
 
+static Property virtio_pci_properties[] = {
+    DEFINE_VIRTIO_COMMON_FEATURES(VirtIOPCIProxy, host_features),
+    DEFINE_PROP_END_OF_LIST(),
+};
+
 static void virtio_pci_class_init(ObjectClass *klass, void *data)
 {
     DeviceClass *dc = DEVICE_CLASS(klass);
     PCIDeviceClass *k = PCI_DEVICE_CLASS(klass);
 
+    dc->props = virtio_pci_properties;
     k->init = virtio_pci_init;
     k->exit = virtio_pci_exit;
     k->vendor_id = PCI_VENDOR_ID_REDHAT_QUMRANET;
@@ -1072,7 +1077,6 @@ static Property virtio_blk_pci_properties[] = {
 #ifdef CONFIG_VIRTIO_BLK_DATA_PLANE
     DEFINE_PROP_BIT("x-data-plane", VirtIOBlkPCI, blk.data_plane, 0, false),
 #endif
-    DEFINE_VIRTIO_BLK_FEATURES(VirtIOPCIProxy, host_features),
     DEFINE_VIRTIO_BLK_PROPERTIES(VirtIOBlkPCI, blk),
     DEFINE_PROP_END_OF_LIST(),
 };
@@ -1195,7 +1199,6 @@ static const TypeInfo virtio_scsi_pci_info = {
 static Property vhost_scsi_pci_properties[] = {
     DEFINE_PROP_UINT32("vectors", VirtIOPCIProxy, nvectors,
                        DEV_NVECTORS_UNSPECIFIED),
-    DEFINE_VIRTIO_COMMON_FEATURES(VirtIOPCIProxy, host_features),
     DEFINE_VHOST_SCSI_PROPERTIES(VHostSCSIPCI, vdev.parent_obj.conf),
     DEFINE_PROP_END_OF_LIST(),
 };
@@ -1276,7 +1279,6 @@ static void balloon_pci_stats_set_poll_interval(Object *obj, struct Visitor *v,
 }
 
 static Property virtio_balloon_pci_properties[] = {
-    DEFINE_VIRTIO_COMMON_FEATURES(VirtIOPCIProxy, host_features),
     DEFINE_PROP_UINT32("class", VirtIOPCIProxy, class_code, 0),
     DEFINE_PROP_END_OF_LIST(),
 };
@@ -1379,7 +1381,6 @@ static Property virtio_serial_pci_properties[] = {
                     VIRTIO_PCI_FLAG_USE_IOEVENTFD_BIT, true),
     DEFINE_PROP_UINT32("vectors", VirtIOPCIProxy, nvectors, 2),
     DEFINE_PROP_UINT32("class", VirtIOPCIProxy, class_code, 0),
-    DEFINE_VIRTIO_COMMON_FEATURES(VirtIOPCIProxy, host_features),
     DEFINE_VIRTIO_SERIAL_PROPERTIES(VirtIOSerialPCI, vdev.serial),
     DEFINE_PROP_END_OF_LIST(),
 };
@@ -1475,7 +1476,6 @@ static const TypeInfo virtio_net_pci_info = {
 /* virtio-rng-pci */
 
 static Property virtio_rng_pci_properties[] = {
-    DEFINE_VIRTIO_COMMON_FEATURES(VirtIOPCIProxy, host_features),
     DEFINE_VIRTIO_RNG_PROPERTIES(VirtIORngPCI, vdev.conf),
     DEFINE_PROP_END_OF_LIST(),
 };
diff --git a/include/hw/virtio/virtio-blk.h b/include/hw/virtio/virtio-blk.h
index 4bc9b54..7029477 100644
--- a/include/hw/virtio/virtio-blk.h
+++ b/include/hw/virtio/virtio-blk.h
@@ -133,9 +133,6 @@ typedef struct VirtIOBlock {
 #endif
 } VirtIOBlock;
 
-#define DEFINE_VIRTIO_BLK_FEATURES(_state, _field) \
-        DEFINE_VIRTIO_COMMON_FEATURES(_state, _field)
-
 #ifdef __linux__
 #define DEFINE_VIRTIO_BLK_PROPERTIES(_state, _field)                          \
         DEFINE_BLOCK_PROPERTIES(_state, _field.conf),                         \
diff --git a/include/hw/virtio/virtio-net.h b/include/hw/virtio/virtio-net.h
index f7fccc0..6ceb5aa 100644
--- a/include/hw/virtio/virtio-net.h
+++ b/include/hw/virtio/virtio-net.h
@@ -258,7 +258,6 @@ struct virtio_net_ctrl_mq {
  #define VIRTIO_NET_CTRL_GUEST_OFFLOADS_SET        0
 
 #define DEFINE_VIRTIO_NET_FEATURES(_state, _field) \
-        DEFINE_VIRTIO_COMMON_FEATURES(_state, _field), \
         DEFINE_PROP_BIT("any_layout", _state, _field, VIRTIO_F_ANY_LAYOUT, true), \
         DEFINE_PROP_BIT("csum", _state, _field, VIRTIO_NET_F_CSUM, true), \
         DEFINE_PROP_BIT("guest_csum", _state, _field, VIRTIO_NET_F_GUEST_CSUM, true), \
diff --git a/include/hw/virtio/virtio-scsi.h b/include/hw/virtio/virtio-scsi.h
index a8f6185..0419ee4 100644
--- a/include/hw/virtio/virtio-scsi.h
+++ b/include/hw/virtio/virtio-scsi.h
@@ -178,7 +178,6 @@ typedef struct {
     DEFINE_PROP_UINT32("cmd_per_lun", _state, _conf_field.cmd_per_lun, 128)
 
 #define DEFINE_VIRTIO_SCSI_FEATURES(_state, _feature_field)                    \
-    DEFINE_VIRTIO_COMMON_FEATURES(_state, _feature_field),                     \
     DEFINE_PROP_BIT("hotplug", _state, _feature_field, VIRTIO_SCSI_F_HOTPLUG,  \
                                                        true),                  \
     DEFINE_PROP_BIT("param_change", _state, _feature_field,                    \
-- 
1.7.9.5

^ permalink raw reply related	[flat|nested] 5+ messages in thread

* Re: [Qemu-devel] [PATCH v1] virtio: move common virtio properties to bus class device
  2014-06-30 16:01 [Qemu-devel] [PATCH v1] virtio: move common virtio properties to bus class device Ming Lei
@ 2014-07-02  9:58 ` Michael S. Tsirkin
  2014-07-02 11:27   ` Ming Lei
  2014-07-02 12:27   ` Ming Lei
  0 siblings, 2 replies; 5+ messages in thread
From: Michael S. Tsirkin @ 2014-07-02  9:58 UTC (permalink / raw)
  To: Ming Lei; +Cc: Peter Maydell, qemu-devel, stefanha, Paolo Bonzini

On Tue, Jul 01, 2014 at 12:01:58AM +0800, Ming Lei wrote:
> The two common virtio features can be defined per bus, so move all
> into bus class device to make code more clean.
> 
> As discussed with cornelia, s390-virtio-blk doesn't support
> the two features at all, so keep s390-virtio as it.
> 
> Acked-by: Cornelia Huck <cornelia.huck@de.ibm.com> #for s390 ccw
> Suggested-by: Paolo Bonzini <pbonzini@redhat.com>
> Signed-off-by: Ming Lei <ming.lei@canonical.com>

Looks like this got merged meanwhile:
commit caffdac363801cd2cf2bf01ad013a8c1e1e43800
Author: Stefan Hajnoczi <stefanha@redhat.com>
Date:   Wed Jun 18 17:58:33 2014 +0800

    virtio-blk: use aliases instead of duplicate qdev properties

so there was a conflict again.

I resolved it, but pls check out pci branch in my tree
and verify that it's all good to go.
Thanks!


> ---
> v1:
> 	- rebased on latest master branch of qemu upstream
> 
>  hw/s390x/s390-virtio-bus.c      |    2 ++
>  hw/s390x/virtio-ccw.c           |   11 ++++++-----
>  hw/virtio/virtio-pci.c          |   12 ++++++------
>  include/hw/virtio/virtio-blk.h  |    3 ---
>  include/hw/virtio/virtio-net.h  |    1 -
>  include/hw/virtio/virtio-scsi.h |    1 -
>  6 files changed, 14 insertions(+), 16 deletions(-)
> 
> diff --git a/hw/s390x/s390-virtio-bus.c b/hw/s390x/s390-virtio-bus.c
> index 7c8c81b..65227a5 100644
> --- a/hw/s390x/s390-virtio-bus.c
> +++ b/hw/s390x/s390-virtio-bus.c
> @@ -491,6 +491,7 @@ static unsigned virtio_s390_get_features(DeviceState *d)
>  
>  static Property s390_virtio_net_properties[] = {
>      DEFINE_NIC_PROPERTIES(VirtIONetS390, vdev.nic_conf),
> +    DEFINE_VIRTIO_COMMON_FEATURES(VirtIOS390Device, host_features),
>      DEFINE_VIRTIO_NET_FEATURES(VirtIOS390Device, host_features),
>      DEFINE_VIRTIO_NET_PROPERTIES(VirtIONetS390, vdev.net_conf),
>      DEFINE_PROP_END_OF_LIST(),
> @@ -618,6 +619,7 @@ static const TypeInfo virtio_s390_device_info = {
>  
>  static Property s390_virtio_scsi_properties[] = {
>      DEFINE_VIRTIO_SCSI_PROPERTIES(VirtIOSCSIS390, vdev.parent_obj.conf),
> +    DEFINE_VIRTIO_COMMON_FEATURES(VirtIOS390Device, host_features),
>      DEFINE_VIRTIO_SCSI_FEATURES(VirtIOS390Device, host_features),
>      DEFINE_PROP_END_OF_LIST(),
>  };
> diff --git a/hw/s390x/virtio-ccw.c b/hw/s390x/virtio-ccw.c
> index 05656a2..b7a1b97 100644
> --- a/hw/s390x/virtio-ccw.c
> +++ b/hw/s390x/virtio-ccw.c
> @@ -1399,7 +1399,6 @@ static const TypeInfo virtio_ccw_net = {
>  
>  static Property virtio_ccw_blk_properties[] = {
>      DEFINE_PROP_STRING("devno", VirtioCcwDevice, bus_id),
> -    DEFINE_VIRTIO_BLK_FEATURES(VirtioCcwDevice, host_features[0]),
>      DEFINE_VIRTIO_BLK_PROPERTIES(VirtIOBlkCcw, blk),
>      DEFINE_PROP_BIT("ioeventfd", VirtioCcwDevice, flags,
>                      VIRTIO_CCW_FLAG_USE_IOEVENTFD_BIT, true),
> @@ -1431,7 +1430,6 @@ static const TypeInfo virtio_ccw_blk = {
>  static Property virtio_ccw_serial_properties[] = {
>      DEFINE_PROP_STRING("devno", VirtioCcwDevice, bus_id),
>      DEFINE_VIRTIO_SERIAL_PROPERTIES(VirtioSerialCcw, vdev.serial),
> -    DEFINE_VIRTIO_COMMON_FEATURES(VirtioCcwDevice, host_features[0]),
>      DEFINE_PROP_BIT("ioeventfd", VirtioCcwDevice, flags,
>                      VIRTIO_CCW_FLAG_USE_IOEVENTFD_BIT, true),
>      DEFINE_PROP_END_OF_LIST(),
> @@ -1458,7 +1456,6 @@ static const TypeInfo virtio_ccw_serial = {
>  
>  static Property virtio_ccw_balloon_properties[] = {
>      DEFINE_PROP_STRING("devno", VirtioCcwDevice, bus_id),
> -    DEFINE_VIRTIO_COMMON_FEATURES(VirtioCcwDevice, host_features[0]),
>      DEFINE_PROP_BIT("ioeventfd", VirtioCcwDevice, flags,
>                      VIRTIO_CCW_FLAG_USE_IOEVENTFD_BIT, true),
>      DEFINE_PROP_END_OF_LIST(),
> @@ -1515,7 +1512,6 @@ static const TypeInfo virtio_ccw_scsi = {
>  static Property vhost_ccw_scsi_properties[] = {
>      DEFINE_PROP_STRING("devno", VirtioCcwDevice, bus_id),
>      DEFINE_VHOST_SCSI_PROPERTIES(VirtIOSCSICcw, vdev.parent_obj.conf),
> -    DEFINE_VIRTIO_COMMON_FEATURES(VirtioCcwDevice, host_features[0]),
>      DEFINE_PROP_END_OF_LIST(),
>  };
>  
> @@ -1552,7 +1548,6 @@ static void virtio_ccw_rng_instance_init(Object *obj)
>  
>  static Property virtio_ccw_rng_properties[] = {
>      DEFINE_PROP_STRING("devno", VirtioCcwDevice, bus_id),
> -    DEFINE_VIRTIO_COMMON_FEATURES(VirtioCcwDevice, host_features[0]),
>      DEFINE_VIRTIO_RNG_PROPERTIES(VirtIORNGCcw, vdev.conf),
>      DEFINE_PROP_BIT("ioeventfd", VirtioCcwDevice, flags,
>                      VIRTIO_CCW_FLAG_USE_IOEVENTFD_BIT, true),
> @@ -1618,10 +1613,16 @@ static int virtio_ccw_busdev_unplug(DeviceState *dev)
>      return 0;
>  }
>  
> +static Property virtio_ccw_properties[] = {
> +    DEFINE_VIRTIO_COMMON_FEATURES(VirtioCcwDevice, host_features[0]),
> +    DEFINE_PROP_END_OF_LIST(),
> +};
> +
>  static void virtio_ccw_device_class_init(ObjectClass *klass, void *data)
>  {
>      DeviceClass *dc = DEVICE_CLASS(klass);
>  
> +    dc->props = virtio_ccw_properties;
>      dc->init = virtio_ccw_busdev_init;
>      dc->exit = virtio_ccw_busdev_exit;
>      dc->unplug = virtio_ccw_busdev_unplug;
> diff --git a/hw/virtio/virtio-pci.c b/hw/virtio/virtio-pci.c
> index 57e1e61..fe01981 100644
> --- a/hw/virtio/virtio-pci.c
> +++ b/hw/virtio/virtio-pci.c
> @@ -917,7 +917,6 @@ static Property virtio_9p_pci_properties[] = {
>      DEFINE_PROP_BIT("ioeventfd", VirtIOPCIProxy, flags,
>                      VIRTIO_PCI_FLAG_USE_IOEVENTFD_BIT, true),
>      DEFINE_PROP_UINT32("vectors", VirtIOPCIProxy, nvectors, 2),
> -    DEFINE_VIRTIO_COMMON_FEATURES(VirtIOPCIProxy, host_features),
>      DEFINE_VIRTIO_9P_PROPERTIES(V9fsPCIState, vdev.fsconf),
>      DEFINE_PROP_END_OF_LIST(),
>  };
> @@ -1040,11 +1039,17 @@ static void virtio_pci_reset(DeviceState *qdev)
>      proxy->flags &= ~VIRTIO_PCI_FLAG_BUS_MASTER_BUG;
>  }
>  
> +static Property virtio_pci_properties[] = {
> +    DEFINE_VIRTIO_COMMON_FEATURES(VirtIOPCIProxy, host_features),
> +    DEFINE_PROP_END_OF_LIST(),
> +};
> +
>  static void virtio_pci_class_init(ObjectClass *klass, void *data)
>  {
>      DeviceClass *dc = DEVICE_CLASS(klass);
>      PCIDeviceClass *k = PCI_DEVICE_CLASS(klass);
>  
> +    dc->props = virtio_pci_properties;
>      k->init = virtio_pci_init;
>      k->exit = virtio_pci_exit;
>      k->vendor_id = PCI_VENDOR_ID_REDHAT_QUMRANET;
> @@ -1072,7 +1077,6 @@ static Property virtio_blk_pci_properties[] = {
>  #ifdef CONFIG_VIRTIO_BLK_DATA_PLANE
>      DEFINE_PROP_BIT("x-data-plane", VirtIOBlkPCI, blk.data_plane, 0, false),
>  #endif
> -    DEFINE_VIRTIO_BLK_FEATURES(VirtIOPCIProxy, host_features),
>      DEFINE_VIRTIO_BLK_PROPERTIES(VirtIOBlkPCI, blk),
>      DEFINE_PROP_END_OF_LIST(),
>  };
> @@ -1195,7 +1199,6 @@ static const TypeInfo virtio_scsi_pci_info = {
>  static Property vhost_scsi_pci_properties[] = {
>      DEFINE_PROP_UINT32("vectors", VirtIOPCIProxy, nvectors,
>                         DEV_NVECTORS_UNSPECIFIED),
> -    DEFINE_VIRTIO_COMMON_FEATURES(VirtIOPCIProxy, host_features),
>      DEFINE_VHOST_SCSI_PROPERTIES(VHostSCSIPCI, vdev.parent_obj.conf),
>      DEFINE_PROP_END_OF_LIST(),
>  };
> @@ -1276,7 +1279,6 @@ static void balloon_pci_stats_set_poll_interval(Object *obj, struct Visitor *v,
>  }
>  
>  static Property virtio_balloon_pci_properties[] = {
> -    DEFINE_VIRTIO_COMMON_FEATURES(VirtIOPCIProxy, host_features),
>      DEFINE_PROP_UINT32("class", VirtIOPCIProxy, class_code, 0),
>      DEFINE_PROP_END_OF_LIST(),
>  };
> @@ -1379,7 +1381,6 @@ static Property virtio_serial_pci_properties[] = {
>                      VIRTIO_PCI_FLAG_USE_IOEVENTFD_BIT, true),
>      DEFINE_PROP_UINT32("vectors", VirtIOPCIProxy, nvectors, 2),
>      DEFINE_PROP_UINT32("class", VirtIOPCIProxy, class_code, 0),
> -    DEFINE_VIRTIO_COMMON_FEATURES(VirtIOPCIProxy, host_features),
>      DEFINE_VIRTIO_SERIAL_PROPERTIES(VirtIOSerialPCI, vdev.serial),
>      DEFINE_PROP_END_OF_LIST(),
>  };
> @@ -1475,7 +1476,6 @@ static const TypeInfo virtio_net_pci_info = {
>  /* virtio-rng-pci */
>  
>  static Property virtio_rng_pci_properties[] = {
> -    DEFINE_VIRTIO_COMMON_FEATURES(VirtIOPCIProxy, host_features),
>      DEFINE_VIRTIO_RNG_PROPERTIES(VirtIORngPCI, vdev.conf),
>      DEFINE_PROP_END_OF_LIST(),
>  };
> diff --git a/include/hw/virtio/virtio-blk.h b/include/hw/virtio/virtio-blk.h
> index 4bc9b54..7029477 100644
> --- a/include/hw/virtio/virtio-blk.h
> +++ b/include/hw/virtio/virtio-blk.h
> @@ -133,9 +133,6 @@ typedef struct VirtIOBlock {
>  #endif
>  } VirtIOBlock;
>  
> -#define DEFINE_VIRTIO_BLK_FEATURES(_state, _field) \
> -        DEFINE_VIRTIO_COMMON_FEATURES(_state, _field)
> -
>  #ifdef __linux__
>  #define DEFINE_VIRTIO_BLK_PROPERTIES(_state, _field)                          \
>          DEFINE_BLOCK_PROPERTIES(_state, _field.conf),                         \
> diff --git a/include/hw/virtio/virtio-net.h b/include/hw/virtio/virtio-net.h
> index f7fccc0..6ceb5aa 100644
> --- a/include/hw/virtio/virtio-net.h
> +++ b/include/hw/virtio/virtio-net.h
> @@ -258,7 +258,6 @@ struct virtio_net_ctrl_mq {
>   #define VIRTIO_NET_CTRL_GUEST_OFFLOADS_SET        0
>  
>  #define DEFINE_VIRTIO_NET_FEATURES(_state, _field) \
> -        DEFINE_VIRTIO_COMMON_FEATURES(_state, _field), \
>          DEFINE_PROP_BIT("any_layout", _state, _field, VIRTIO_F_ANY_LAYOUT, true), \
>          DEFINE_PROP_BIT("csum", _state, _field, VIRTIO_NET_F_CSUM, true), \
>          DEFINE_PROP_BIT("guest_csum", _state, _field, VIRTIO_NET_F_GUEST_CSUM, true), \
> diff --git a/include/hw/virtio/virtio-scsi.h b/include/hw/virtio/virtio-scsi.h
> index a8f6185..0419ee4 100644
> --- a/include/hw/virtio/virtio-scsi.h
> +++ b/include/hw/virtio/virtio-scsi.h
> @@ -178,7 +178,6 @@ typedef struct {
>      DEFINE_PROP_UINT32("cmd_per_lun", _state, _conf_field.cmd_per_lun, 128)
>  
>  #define DEFINE_VIRTIO_SCSI_FEATURES(_state, _feature_field)                    \
> -    DEFINE_VIRTIO_COMMON_FEATURES(_state, _feature_field),                     \
>      DEFINE_PROP_BIT("hotplug", _state, _feature_field, VIRTIO_SCSI_F_HOTPLUG,  \
>                                                         true),                  \
>      DEFINE_PROP_BIT("param_change", _state, _feature_field,                    \
> -- 
> 1.7.9.5

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [Qemu-devel] [PATCH v1] virtio: move common virtio properties to bus class device
  2014-07-02 11:27   ` Ming Lei
@ 2014-07-02 10:35     ` Michael S. Tsirkin
  0 siblings, 0 replies; 5+ messages in thread
From: Michael S. Tsirkin @ 2014-07-02 10:35 UTC (permalink / raw)
  To: Ming Lei; +Cc: Peter Maydell, qemu-devel, Stefan Hajnoczi, Paolo Bonzini

On Wed, Jul 02, 2014 at 07:27:45PM +0800, Ming Lei wrote:
> On Wed, Jul 2, 2014 at 5:58 PM, Michael S. Tsirkin <mst@redhat.com> wrote:
> > On Tue, Jul 01, 2014 at 12:01:58AM +0800, Ming Lei wrote:
> >> The two common virtio features can be defined per bus, so move all
> >> into bus class device to make code more clean.
> >>
> >> As discussed with cornelia, s390-virtio-blk doesn't support
> >> the two features at all, so keep s390-virtio as it.
> >>
> >> Acked-by: Cornelia Huck <cornelia.huck@de.ibm.com> #for s390 ccw
> >> Suggested-by: Paolo Bonzini <pbonzini@redhat.com>
> >> Signed-off-by: Ming Lei <ming.lei@canonical.com>
> >
> > Looks like this got merged meanwhile:
> > commit caffdac363801cd2cf2bf01ad013a8c1e1e43800
> > Author: Stefan Hajnoczi <stefanha@redhat.com>
> > Date:   Wed Jun 18 17:58:33 2014 +0800
> >
> >     virtio-blk: use aliases instead of duplicate qdev properties
> >
> > so there was a conflict again.
> >
> > I resolved it, but pls check out pci branch in my tree
> > and verify that it's all good to go.
> 
> Could you share me your tree?
> 
> Thanks,
> --
> Ming Lei



git://git.kernel.org/pub/scm/virt/kvm/mst/qemu.git pci

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [Qemu-devel] [PATCH v1] virtio: move common virtio properties to bus class device
  2014-07-02  9:58 ` Michael S. Tsirkin
@ 2014-07-02 11:27   ` Ming Lei
  2014-07-02 10:35     ` Michael S. Tsirkin
  2014-07-02 12:27   ` Ming Lei
  1 sibling, 1 reply; 5+ messages in thread
From: Ming Lei @ 2014-07-02 11:27 UTC (permalink / raw)
  To: Michael S. Tsirkin
  Cc: Peter Maydell, qemu-devel, Stefan Hajnoczi, Paolo Bonzini

On Wed, Jul 2, 2014 at 5:58 PM, Michael S. Tsirkin <mst@redhat.com> wrote:
> On Tue, Jul 01, 2014 at 12:01:58AM +0800, Ming Lei wrote:
>> The two common virtio features can be defined per bus, so move all
>> into bus class device to make code more clean.
>>
>> As discussed with cornelia, s390-virtio-blk doesn't support
>> the two features at all, so keep s390-virtio as it.
>>
>> Acked-by: Cornelia Huck <cornelia.huck@de.ibm.com> #for s390 ccw
>> Suggested-by: Paolo Bonzini <pbonzini@redhat.com>
>> Signed-off-by: Ming Lei <ming.lei@canonical.com>
>
> Looks like this got merged meanwhile:
> commit caffdac363801cd2cf2bf01ad013a8c1e1e43800
> Author: Stefan Hajnoczi <stefanha@redhat.com>
> Date:   Wed Jun 18 17:58:33 2014 +0800
>
>     virtio-blk: use aliases instead of duplicate qdev properties
>
> so there was a conflict again.
>
> I resolved it, but pls check out pci branch in my tree
> and verify that it's all good to go.

Could you share me your tree?

Thanks,
--
Ming Lei

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [Qemu-devel] [PATCH v1] virtio: move common virtio properties to bus class device
  2014-07-02  9:58 ` Michael S. Tsirkin
  2014-07-02 11:27   ` Ming Lei
@ 2014-07-02 12:27   ` Ming Lei
  1 sibling, 0 replies; 5+ messages in thread
From: Ming Lei @ 2014-07-02 12:27 UTC (permalink / raw)
  To: Michael S. Tsirkin
  Cc: Peter Maydell, qemu-devel, Stefan Hajnoczi, Paolo Bonzini

On Wed, Jul 2, 2014 at 5:58 PM, Michael S. Tsirkin <mst@redhat.com> wrote:
> On Tue, Jul 01, 2014 at 12:01:58AM +0800, Ming Lei wrote:
>> The two common virtio features can be defined per bus, so move all
>> into bus class device to make code more clean.
>>
>> As discussed with cornelia, s390-virtio-blk doesn't support
>> the two features at all, so keep s390-virtio as it.
>>
>> Acked-by: Cornelia Huck <cornelia.huck@de.ibm.com> #for s390 ccw
>> Suggested-by: Paolo Bonzini <pbonzini@redhat.com>
>> Signed-off-by: Ming Lei <ming.lei@canonical.com>
>
> Looks like this got merged meanwhile:
> commit caffdac363801cd2cf2bf01ad013a8c1e1e43800
> Author: Stefan Hajnoczi <stefanha@redhat.com>
> Date:   Wed Jun 18 17:58:33 2014 +0800
>
>     virtio-blk: use aliases instead of duplicate qdev properties
>
> so there was a conflict again.
>
> I resolved it, but pls check out pci branch in my tree
> and verify that it's all good to go.

Yes, it is good to go.

BTW, looks the patch for mmio isn't applied yet

Thanks,

^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2014-07-02 12:27 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2014-06-30 16:01 [Qemu-devel] [PATCH v1] virtio: move common virtio properties to bus class device Ming Lei
2014-07-02  9:58 ` Michael S. Tsirkin
2014-07-02 11:27   ` Ming Lei
2014-07-02 10:35     ` Michael S. Tsirkin
2014-07-02 12:27   ` Ming Lei

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).