[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH 3/8] virtio: pass host features to driver init f
From: |
Anthony Liguori |
Subject: |
Re: [Qemu-devel] [PATCH 3/8] virtio: pass host features to driver init functions |
Date: |
Tue, 19 Feb 2013 14:37:46 -0600 |
User-agent: |
Notmuch/0.13.2+93~ged93d79 (http://notmuchmail.org) Emacs/23.3.1 (x86_64-pc-linux-gnu) |
Jesse Larrew <address@hidden> writes:
> Drivers affected:
> * virtio_balloon
> * virtio_serial_bus
> * virtio_scsi
> * virtio_blk
> * virtio_9p
> * virtio_rng
>
> Signed-off-by: Jesse Larrew <address@hidden>
Reviewed-by: Anthony Liguori <address@hidden>
Regards,
Anthony Liguori
> ---
> hw/s390x/s390-virtio-bus.c | 7 ++++---
> hw/s390x/virtio-ccw.c | 11 +++++++----
> hw/virtio-balloon.c | 2 +-
> hw/virtio-blk.c | 3 ++-
> hw/virtio-pci.c | 9 +++++----
> hw/virtio-scsi.c | 3 ++-
> hw/virtio-serial-bus.c | 3 ++-
> hw/virtio.h | 11 +++++++----
> 8 files changed, 30 insertions(+), 19 deletions(-)
>
> diff --git a/hw/s390x/s390-virtio-bus.c b/hw/s390x/s390-virtio-bus.c
> index 089ed92..4407fea 100644
> --- a/hw/s390x/s390-virtio-bus.c
> +++ b/hw/s390x/s390-virtio-bus.c
> @@ -166,7 +166,7 @@ static int s390_virtio_blk_init(VirtIOS390Device *dev)
> {
> VirtIODevice *vdev;
>
> - vdev = virtio_blk_init((DeviceState *)dev, &dev->blk);
> + vdev = virtio_blk_init((DeviceState *)dev, &dev->blk,
> dev->host_features);
> if (!vdev) {
> return -1;
> }
> @@ -182,7 +182,8 @@ static int s390_virtio_serial_init(VirtIOS390Device *dev)
>
> bus = DO_UPCAST(VirtIOS390Bus, bus, dev->qdev.parent_bus);
>
> - vdev = virtio_serial_init((DeviceState *)dev, &dev->serial);
> + vdev = virtio_serial_init((DeviceState *)dev, &dev->serial,
> + dev->host_features);
> if (!vdev) {
> return -1;
> }
> @@ -204,7 +205,7 @@ static int s390_virtio_scsi_init(VirtIOS390Device *dev)
> return -1;
> }
>
> - return s390_virtio_device_init(dev, vdev);
> + return s390_virtio_device_init(dev, vdev, dev->host_features);
> }
>
> static int s390_virtio_rng_init(VirtIOS390Device *dev)
> diff --git a/hw/s390x/virtio-ccw.c b/hw/s390x/virtio-ccw.c
> index d92e427..32edd2d 100644
> --- a/hw/s390x/virtio-ccw.c
> +++ b/hw/s390x/virtio-ccw.c
> @@ -574,7 +574,8 @@ static int virtio_ccw_blk_init(VirtioCcwDevice *dev)
> {
> VirtIODevice *vdev;
>
> - vdev = virtio_blk_init((DeviceState *)dev, &dev->blk);
> + vdev = virtio_blk_init((DeviceState *)dev, &dev->blk,
> + dev->host_features[0]);
> if (!vdev) {
> return -1;
> }
> @@ -593,7 +594,8 @@ static int virtio_ccw_serial_init(VirtioCcwDevice *dev)
> {
> VirtIODevice *vdev;
>
> - vdev = virtio_serial_init((DeviceState *)dev, &dev->serial);
> + vdev = virtio_serial_init((DeviceState *)dev, &dev->serial,
> + dev->host_features[0]);
> if (!vdev) {
> return -1;
> }
> @@ -611,7 +613,7 @@ static int virtio_ccw_balloon_init(VirtioCcwDevice *dev)
> {
> VirtIODevice *vdev;
>
> - vdev = virtio_balloon_init((DeviceState *)dev);
> + vdev = virtio_balloon_init((DeviceState *)dev, dev->host_features[0]);
> if (!vdev) {
> return -1;
> }
> @@ -629,7 +631,8 @@ static int virtio_ccw_scsi_init(VirtioCcwDevice *dev)
> {
> VirtIODevice *vdev;
>
> - vdev = virtio_scsi_init((DeviceState *)dev, &dev->scsi);
> + vdev = virtio_scsi_init((DeviceState *)dev, &dev->scsi,
> + dev->host_features[0]);
> if (!vdev) {
> return -1;
> }
> diff --git a/hw/virtio-balloon.c b/hw/virtio-balloon.c
> index c0a7902..4574db6 100644
> --- a/hw/virtio-balloon.c
> +++ b/hw/virtio-balloon.c
> @@ -349,7 +349,7 @@ static int virtio_balloon_load(QEMUFile *f, void *opaque,
> int version_id)
> return 0;
> }
>
> -VirtIODevice *virtio_balloon_init(DeviceState *dev)
> +VirtIODevice *virtio_balloon_init(DeviceState *dev, uint32_t host_features)
> {
> VirtIOBalloon *s;
> int ret;
> diff --git a/hw/virtio-blk.c b/hw/virtio-blk.c
> index 34913ee..b3ab267 100644
> --- a/hw/virtio-blk.c
> +++ b/hw/virtio-blk.c
> @@ -639,7 +639,8 @@ static const BlockDevOps virtio_block_ops = {
> .resize_cb = virtio_blk_resize,
> };
>
> -VirtIODevice *virtio_blk_init(DeviceState *dev, VirtIOBlkConf *blk)
> +VirtIODevice *virtio_blk_init(DeviceState *dev, VirtIOBlkConf *blk,
> + uint32_t host_features)
> {
> VirtIOBlock *s;
> static int virtio_blk_id;
> diff --git a/hw/virtio-pci.c b/hw/virtio-pci.c
> index a869f53..07fbf98 100644
> --- a/hw/virtio-pci.c
> +++ b/hw/virtio-pci.c
> @@ -933,7 +933,7 @@ static int virtio_blk_init_pci(PCIDevice *pci_dev)
> proxy->class_code != PCI_CLASS_STORAGE_OTHER)
> proxy->class_code = PCI_CLASS_STORAGE_SCSI;
>
> - vdev = virtio_blk_init(&pci_dev->qdev, &proxy->blk);
> + vdev = virtio_blk_init(&pci_dev->qdev, &proxy->blk,
> proxy->host_features);
> if (!vdev) {
> return -1;
> }
> @@ -971,7 +971,8 @@ static int virtio_serial_init_pci(PCIDevice *pci_dev)
> proxy->class_code != PCI_CLASS_OTHERS) /* qemu-kvm */
> proxy->class_code = PCI_CLASS_COMMUNICATION_OTHER;
>
> - vdev = virtio_serial_init(&pci_dev->qdev, &proxy->serial);
> + vdev = virtio_serial_init(&pci_dev->qdev, &proxy->serial,
> + proxy->host_features);
> if (!vdev) {
> return -1;
> }
> @@ -1027,7 +1028,7 @@ static int virtio_balloon_init_pci(PCIDevice *pci_dev)
> proxy->class_code = PCI_CLASS_OTHERS;
> }
>
> - vdev = virtio_balloon_init(&pci_dev->qdev);
> + vdev = virtio_balloon_init(&pci_dev->qdev, proxy->host_features);
> if (!vdev) {
> return -1;
> }
> @@ -1261,7 +1262,7 @@ static int virtio_scsi_init_pci(PCIDevice *pci_dev)
> VirtIOPCIProxy *proxy = DO_UPCAST(VirtIOPCIProxy, pci_dev, pci_dev);
> VirtIODevice *vdev;
>
> - vdev = virtio_scsi_init(&pci_dev->qdev, &proxy->scsi);
> + vdev = virtio_scsi_init(&pci_dev->qdev, &proxy->scsi,
> proxy->host_features);
> if (!vdev) {
> return -EINVAL;
> }
> diff --git a/hw/virtio-scsi.c b/hw/virtio-scsi.c
> index 0715865..d6db042 100644
> --- a/hw/virtio-scsi.c
> +++ b/hw/virtio-scsi.c
> @@ -700,7 +700,8 @@ static struct SCSIBusInfo virtio_scsi_scsi_info = {
> .load_request = virtio_scsi_load_request,
> };
>
> -VirtIODevice *virtio_scsi_init(DeviceState *dev, VirtIOSCSIConf *proxyconf)
> +VirtIODevice *virtio_scsi_init(DeviceState *dev, VirtIOSCSIConf *proxyconf,
> + uint32_t host_features)
> {
> VirtIOSCSI *s;
> static int virtio_scsi_id;
> diff --git a/hw/virtio-serial-bus.c b/hw/virtio-serial-bus.c
> index aa7d0d7..d6b588f 100644
> --- a/hw/virtio-serial-bus.c
> +++ b/hw/virtio-serial-bus.c
> @@ -945,7 +945,8 @@ static int virtser_port_qdev_exit(DeviceState *qdev)
> return 0;
> }
>
> -VirtIODevice *virtio_serial_init(DeviceState *dev, virtio_serial_conf *conf)
> +VirtIODevice *virtio_serial_init(DeviceState *dev, virtio_serial_conf *conf,
> + uint32_t host_features)
> {
> VirtIOSerial *vser;
> VirtIODevice *vdev;
> diff --git a/hw/virtio.h b/hw/virtio.h
> index 7755fec..17ce9c8 100644
> --- a/hw/virtio.h
> +++ b/hw/virtio.h
> @@ -252,16 +252,19 @@ void virtio_bind_device(VirtIODevice *vdev, const
> VirtIOBindings *binding,
>
> /* Base devices. */
> typedef struct VirtIOBlkConf VirtIOBlkConf;
> -VirtIODevice *virtio_blk_init(DeviceState *dev, VirtIOBlkConf *blk);
> +VirtIODevice *virtio_blk_init(DeviceState *dev, VirtIOBlkConf *blk,
> + uint32_t host_features);
> struct virtio_net_conf;
> VirtIODevice *virtio_net_init(DeviceState *dev, NICConf *conf,
> struct virtio_net_conf *net,
> uint32_t host_features);
> typedef struct virtio_serial_conf virtio_serial_conf;
> -VirtIODevice *virtio_serial_init(DeviceState *dev, virtio_serial_conf
> *serial);
> -VirtIODevice *virtio_balloon_init(DeviceState *dev);
> +VirtIODevice *virtio_serial_init(DeviceState *dev, virtio_serial_conf
> *serial,
> + uint32_t host_features);
> +VirtIODevice *virtio_balloon_init(DeviceState *dev, uint32_t host_features);
> typedef struct VirtIOSCSIConf VirtIOSCSIConf;
> -VirtIODevice *virtio_scsi_init(DeviceState *dev, VirtIOSCSIConf *conf);
> +VirtIODevice *virtio_scsi_init(DeviceState *dev, VirtIOSCSIConf *conf,
> + uint32_t host_features);
> typedef struct VirtIORNGConf VirtIORNGConf;
> VirtIODevice *virtio_rng_init(DeviceState *dev, VirtIORNGConf *conf);
> #ifdef CONFIG_LINUX
> --
> 1.7.11.7
- [Qemu-devel] [PATCH 1/8] virtio-net: replace redundant config_size field with config_len, (continued)
- [Qemu-devel] [PATCH 1/8] virtio-net: replace redundant config_size field with config_len, Jesse Larrew, 2013/02/18
- [Qemu-devel] [PATCH 8/8] virtio-blk: fill in the feature table, Jesse Larrew, 2013/02/18
- [Qemu-devel] [PATCH 6/8] virtio-serial: fill in the feature table, Jesse Larrew, 2013/02/18
- [Qemu-devel] [PATCH 7/8] virtio-scsi: fill in table of feature sizes, Jesse Larrew, 2013/02/18
- [Qemu-devel] [PATCH 2/8] virtio: put struct VirtIOFeature in a header, Jesse Larrew, 2013/02/18
- [Qemu-devel] [PATCH 4/8] virtio: set config size using host features, Jesse Larrew, 2013/02/18
- [Qemu-devel] [PATCH 5/8] virtio-balloon: fill in the table of feature_sizes, Jesse Larrew, 2013/02/18
- [Qemu-devel] [PATCH 3/8] virtio: pass host features to driver init functions, Jesse Larrew, 2013/02/18
- Re: [Qemu-devel] [PATCH 3/8] virtio: pass host features to driver init functions,
Anthony Liguori <=
- Re: [Qemu-devel] [PATCH 0/8] virtio: set config size using host features, Anthony Liguori, 2013/02/19