From: Greg Kurz <groug@kaod.org>
To: Juan Quintela <quintela@redhat.com>
Cc: qemu-devel@nongnu.org, Thomas Huth <thuth@redhat.com>,
Gonglei <arei.gonglei@huawei.com>,
Gerd Hoffmann <kraxel@redhat.com>,
"Michael S. Tsirkin" <mst@redhat.com>
Subject: Re: [Qemu-devel] [PATCH v3 06/16] virtio: split virtio 9p bits from virtio-pci
Date: Fri, 28 Dec 2018 17:09:19 +0100 [thread overview]
Message-ID: <20181228170919.300fac4b@bahia.lan> (raw)
In-Reply-To: <20181213210057.3676-7-quintela@redhat.com>
On Thu, 13 Dec 2018 22:00:47 +0100
Juan Quintela <quintela@redhat.com> wrote:
> Reviewed-by: Laurent Vivier <lvivier@redhat.com>
> Signed-off-by: Juan Quintela <quintela@redhat.com>
>
> ---
>
Acked-by: Greg Kurz <groug@kaod.org>
> Also disable virtio9p test (lvivier)
> ---
> hw/virtio/Makefile.objs | 1 +
> hw/virtio/virtio-9p-pci.c | 86 +++++++++++++++++++++++++++++++++++++++
> hw/virtio/virtio-pci.c | 52 -----------------------
> hw/virtio/virtio-pci.h | 20 ---------
> tests/Makefile.include | 2 +-
> 5 files changed, 88 insertions(+), 73 deletions(-)
> create mode 100644 hw/virtio/virtio-9p-pci.c
>
> diff --git a/hw/virtio/Makefile.objs b/hw/virtio/Makefile.objs
> index 9e33104ce6..3e655fdce6 100644
> --- a/hw/virtio/Makefile.objs
> +++ b/hw/virtio/Makefile.objs
> @@ -17,6 +17,7 @@ obj-$(CONFIG_VIRTIO_INPUT_HOST) += virtio-input-host-pci.o
> obj-$(CONFIG_VIRTIO_INPUT) += virtio-input-pci.o
> obj-$(CONFIG_VIRTIO_RNG) += virtio-rng-pci.o
> obj-$(CONFIG_VIRTIO_BALLOON) += virtio-balloon-pci.o
> +obj-$(CONFIG_VIRTIO_9P) += virtio-9p-pci.o
> endif
> endif
>
> diff --git a/hw/virtio/virtio-9p-pci.c b/hw/virtio/virtio-9p-pci.c
> new file mode 100644
> index 0000000000..74c6ca2ddb
> --- /dev/null
> +++ b/hw/virtio/virtio-9p-pci.c
> @@ -0,0 +1,86 @@
> +/*
> + * Virtio 9p PCI Bindings
> + *
> + * Copyright IBM, Corp. 2010
> + *
> + * Authors:
> + * Anthony Liguori <aliguori@us.ibm.com>
> + *
> + * This work is licensed under the terms of the GNU GPL, version 2. See
> + * the COPYING file in the top-level directory.
> + *
> + * Contributions after 2012-01-13 are licensed under the terms of the
> + * GNU GPL, version 2 or (at your option) any later version.
> + */
> +
> +#include "qemu/osdep.h"
> +
> +#include "virtio-pci.h"
> +#include "hw/9pfs/virtio-9p.h"
> +
> +/*
> + * virtio-9p-pci: This extends VirtioPCIProxy.
> + */
> +
> +#define TYPE_VIRTIO_9P_PCI "virtio-9p-pci"
> +#define VIRTIO_9P_PCI(obj) \
> + OBJECT_CHECK(V9fsPCIState, (obj), TYPE_VIRTIO_9P_PCI)
> +
> +typedef struct V9fsPCIState {
> + VirtIOPCIProxy parent_obj;
> + V9fsVirtioState vdev;
> +} V9fsPCIState;
> +
> +static void virtio_9p_pci_realize(VirtIOPCIProxy *vpci_dev, Error **errp)
> +{
> + V9fsPCIState *dev = VIRTIO_9P_PCI(vpci_dev);
> + DeviceState *vdev = DEVICE(&dev->vdev);
> +
> + qdev_set_parent_bus(vdev, BUS(&vpci_dev->bus));
> + object_property_set_bool(OBJECT(vdev), true, "realized", errp);
> +}
> +
> +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_PROP_END_OF_LIST(),
> +};
> +
> +static void virtio_9p_pci_class_init(ObjectClass *klass, void *data)
> +{
> + DeviceClass *dc = DEVICE_CLASS(klass);
> + PCIDeviceClass *pcidev_k = PCI_DEVICE_CLASS(klass);
> + VirtioPCIClass *k = VIRTIO_PCI_CLASS(klass);
> +
> + k->realize = virtio_9p_pci_realize;
> + pcidev_k->vendor_id = PCI_VENDOR_ID_REDHAT_QUMRANET;
> + pcidev_k->device_id = PCI_DEVICE_ID_VIRTIO_9P;
> + pcidev_k->revision = VIRTIO_PCI_ABI_VERSION;
> + pcidev_k->class_id = 0x2;
> + set_bit(DEVICE_CATEGORY_STORAGE, dc->categories);
> + dc->props = virtio_9p_pci_properties;
> +}
> +
> +static void virtio_9p_pci_instance_init(Object *obj)
> +{
> + V9fsPCIState *dev = VIRTIO_9P_PCI(obj);
> +
> + virtio_instance_init_common(obj, &dev->vdev, sizeof(dev->vdev),
> + TYPE_VIRTIO_9P);
> +}
> +
> +static const TypeInfo virtio_9p_pci_info = {
> + .name = TYPE_VIRTIO_9P_PCI,
> + .parent = TYPE_VIRTIO_PCI,
> + .instance_size = sizeof(V9fsPCIState),
> + .instance_init = virtio_9p_pci_instance_init,
> + .class_init = virtio_9p_pci_class_init,
> +};
> +
> +static void virtio_9p_pci_register(void)
> +{
> + type_register_static(&virtio_9p_pci_info);
> +}
> +
> +type_init(virtio_9p_pci_register)
> diff --git a/hw/virtio/virtio-pci.c b/hw/virtio/virtio-pci.c
> index 855a7fdd40..bad9279f19 100644
> --- a/hw/virtio/virtio-pci.c
> +++ b/hw/virtio/virtio-pci.c
> @@ -1077,55 +1077,6 @@ static void virtio_pci_vmstate_change(DeviceState *d, bool running)
> }
> }
>
> -#ifdef CONFIG_VIRTFS
> -static void virtio_9p_pci_realize(VirtIOPCIProxy *vpci_dev, Error **errp)
> -{
> - V9fsPCIState *dev = VIRTIO_9P_PCI(vpci_dev);
> - DeviceState *vdev = DEVICE(&dev->vdev);
> -
> - qdev_set_parent_bus(vdev, BUS(&vpci_dev->bus));
> - object_property_set_bool(OBJECT(vdev), true, "realized", errp);
> -}
> -
> -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_PROP_END_OF_LIST(),
> -};
> -
> -static void virtio_9p_pci_class_init(ObjectClass *klass, void *data)
> -{
> - DeviceClass *dc = DEVICE_CLASS(klass);
> - PCIDeviceClass *pcidev_k = PCI_DEVICE_CLASS(klass);
> - VirtioPCIClass *k = VIRTIO_PCI_CLASS(klass);
> -
> - k->realize = virtio_9p_pci_realize;
> - pcidev_k->vendor_id = PCI_VENDOR_ID_REDHAT_QUMRANET;
> - pcidev_k->device_id = PCI_DEVICE_ID_VIRTIO_9P;
> - pcidev_k->revision = VIRTIO_PCI_ABI_VERSION;
> - pcidev_k->class_id = 0x2;
> - set_bit(DEVICE_CATEGORY_STORAGE, dc->categories);
> - dc->props = virtio_9p_pci_properties;
> -}
> -
> -static void virtio_9p_pci_instance_init(Object *obj)
> -{
> - V9fsPCIState *dev = VIRTIO_9P_PCI(obj);
> -
> - virtio_instance_init_common(obj, &dev->vdev, sizeof(dev->vdev),
> - TYPE_VIRTIO_9P);
> -}
> -
> -static const TypeInfo virtio_9p_pci_info = {
> - .name = TYPE_VIRTIO_9P_PCI,
> - .parent = TYPE_VIRTIO_PCI,
> - .instance_size = sizeof(V9fsPCIState),
> - .instance_init = virtio_9p_pci_instance_init,
> - .class_init = virtio_9p_pci_class_init,
> -};
> -#endif /* CONFIG_VIRTFS */
> -
> /*
> * virtio-pci: This is the PCIDevice which has a virtio-pci-bus.
> */
> @@ -2413,9 +2364,6 @@ static void virtio_pci_register_types(void)
> {
> type_register_static(&virtio_pci_bus_info);
> type_register_static(&virtio_pci_info);
> -#ifdef CONFIG_VIRTFS
> - type_register_static(&virtio_9p_pci_info);
> -#endif
> type_register_static(&virtio_blk_pci_info);
> #if defined(CONFIG_VHOST_USER) && defined(CONFIG_LINUX)
> type_register_static(&vhost_user_blk_pci_info);
> diff --git a/hw/virtio/virtio-pci.h b/hw/virtio/virtio-pci.h
> index 093fde7f4f..200950de0a 100644
> --- a/hw/virtio/virtio-pci.h
> +++ b/hw/virtio/virtio-pci.h
> @@ -28,9 +28,6 @@
> #include "hw/virtio/vhost-user-blk.h"
> #endif
>
> -#ifdef CONFIG_VIRTFS
> -#include "hw/9pfs/virtio-9p.h"
> -#endif
> #ifdef CONFIG_VHOST_SCSI
> #include "hw/virtio/vhost-scsi.h"
> #endif
> @@ -286,23 +283,6 @@ struct VirtIONetPCI {
> VirtIONet vdev;
> };
>
> -/*
> - * virtio-9p-pci: This extends VirtioPCIProxy.
> - */
> -
> -#ifdef CONFIG_VIRTFS
> -
> -#define TYPE_VIRTIO_9P_PCI "virtio-9p-pci"
> -#define VIRTIO_9P_PCI(obj) \
> - OBJECT_CHECK(V9fsPCIState, (obj), TYPE_VIRTIO_9P_PCI)
> -
> -typedef struct V9fsPCIState {
> - VirtIOPCIProxy parent_obj;
> - V9fsVirtioState vdev;
> -} V9fsPCIState;
> -
> -#endif
> -
> /*
> * virtio-input-pci: This extends VirtioPCIProxy.
> */
> diff --git a/tests/Makefile.include b/tests/Makefile.include
> index dd7c882cc5..90d33bb058 100644
> --- a/tests/Makefile.include
> +++ b/tests/Makefile.include
> @@ -151,7 +151,7 @@ check-qtest-virtio-y += tests/virtio-blk-test$(EXESUF)
> check-qtest-virtio-$(CONFIG_VIRTIO_RNG) += tests/virtio-rng-test$(EXESUF)
> check-qtest-virtio-y += tests/virtio-scsi-test$(EXESUF)
> ifeq ($(CONFIG_VIRTIO)$(CONFIG_VIRTFS)$(CONFIG_PCI),yyy)
> -check-qtest-virtio-y += tests/virtio-9p-test$(EXESUF)
> +check-qtest-virtio-$(CONFIG_VIRTIO_9P) += tests/virtio-9p-test$(EXESUF)
> endif
> check-qtest-virtio-y += tests/virtio-serial-test$(EXESUF)
> check-qtest-virtio-y += $(check-qtest-virtioserial-y)
next prev parent reply other threads:[~2018-12-28 16:11 UTC|newest]
Thread overview: 40+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-12-13 21:00 [Qemu-devel] [PATCH v3 00/16] Virtio devices split from virtio-pci Juan Quintela
2018-12-13 21:00 ` [Qemu-devel] [PATCH v3 01/16] virtio: split vhost vsock bits " Juan Quintela
2018-12-14 8:02 ` Thomas Huth
2018-12-18 13:12 ` Stefan Hajnoczi
2018-12-13 21:00 ` [Qemu-devel] [PATCH v3 02/16] virtio: split virtio input host " Juan Quintela
2018-12-14 8:29 ` Thomas Huth
2018-12-13 21:00 ` [Qemu-devel] [PATCH v3 03/16] virtio: split virtio input " Juan Quintela
2018-12-14 8:47 ` Thomas Huth
2018-12-13 21:00 ` [Qemu-devel] [PATCH v3 04/16] virtio: split virtio rng " Juan Quintela
2018-12-14 8:50 ` Thomas Huth
2018-12-13 21:00 ` [Qemu-devel] [PATCH v3 05/16] virtio: split virtio balloon " Juan Quintela
2018-12-20 14:27 ` Stefano Garzarella
2018-12-13 21:00 ` [Qemu-devel] [PATCH v3 06/16] virtio: split virtio 9p " Juan Quintela
2018-12-14 8:59 ` Thomas Huth
2018-12-28 16:09 ` Greg Kurz [this message]
2018-12-13 21:00 ` [Qemu-devel] [PATCH v3 07/16] virtio: split vhost user blk " Juan Quintela
2018-12-18 13:13 ` Stefan Hajnoczi
2018-12-13 21:00 ` [Qemu-devel] [PATCH v3 08/16] virtio: split vhost user scsi " Juan Quintela
2018-12-14 9:14 ` Thomas Huth
2018-12-14 15:09 ` Felipe Franciosi
2018-12-13 21:00 ` [Qemu-devel] [PATCH v3 09/16] virtio: split vhost " Juan Quintela
2018-12-14 9:19 ` Thomas Huth
2019-01-02 10:10 ` Stefan Hajnoczi
2018-12-13 21:00 ` [Qemu-devel] [PATCH v3 10/16] virtio: split virtio " Juan Quintela
2018-12-13 21:00 ` [Qemu-devel] [PATCH v3 11/16] virtio: split virtio blk bits rom virtio-pci Juan Quintela
2018-12-18 13:12 ` Stefan Hajnoczi
2018-12-13 21:00 ` [Qemu-devel] [PATCH v3 12/16] virtio: split virtio net " Juan Quintela
2019-01-02 4:44 ` Wei Xu
2018-12-13 21:00 ` [Qemu-devel] [PATCH v3 13/16] virtio: split virtio serial " Juan Quintela
2018-12-13 21:00 ` [Qemu-devel] [PATCH v3 14/16] virtio: split virtio gpu bits rom virtio-pci.h Juan Quintela
2018-12-14 9:22 ` Thomas Huth
2018-12-13 21:00 ` [Qemu-devel] [PATCH v3 15/16] virtio: split virtio crypto " Juan Quintela
2018-12-14 9:43 ` Thomas Huth
2018-12-13 21:00 ` [Qemu-devel] [PATCH v3 16/16] virtio: virtio 9p really requires CONFIG_VIRTFS to work Juan Quintela
2018-12-14 9:02 ` Thomas Huth
2018-12-28 16:09 ` Greg Kurz
2018-12-14 7:07 ` [Qemu-devel] [PATCH v3 00/16] Virtio devices split from virtio-pci Gonglei (Arei)
2018-12-14 12:53 ` Michael S. Tsirkin
2018-12-15 5:27 ` Gonglei (Arei)
2018-12-16 20:07 ` Michael S. Tsirkin
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20181228170919.300fac4b@bahia.lan \
--to=groug@kaod.org \
--cc=arei.gonglei@huawei.com \
--cc=kraxel@redhat.com \
--cc=mst@redhat.com \
--cc=qemu-devel@nongnu.org \
--cc=quintela@redhat.com \
--cc=thuth@redhat.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.