From: Venkateswararao Jujjuri <jvrao@linux.vnet.ibm.com>
To: qemu-devel@nongnu.org
Subject: Re: [Qemu-devel] [PATCH 1/3] virtio-9p: Move 9p device registration into virtio-9p.c
Date: Tue, 31 May 2011 14:28:19 -0700 [thread overview]
Message-ID: <4DE55D73.50806@linux.vnet.ibm.com> (raw)
In-Reply-To: <1303904782-26367-1-git-send-email-aneesh.kumar@linux.vnet.ibm.com>
On 04/27/2011 04:46 AM, Aneesh Kumar K.V wrote:
> This patch move the 9p device registration into its own file
All other PCI devices registration is in this file. Not sure the need to
move 9p alone.
Also s390x doesn't support PCI..hence this breaks the s390x build.
Thanks,
JV
> Signed-off-by: Aneesh Kumar K.V<aneesh.kumar@linux.vnet.ibm.com>
> ---
> hw/virtio-9p.c | 38 ++++++++++++++++++++++++++++++++++++
> hw/virtio-pci.c | 57 +-----------------------------------------------------
> hw/virtio-pci.h | 43 +++++++++++++++++++++++++++++++++++++++++
> 3 files changed, 83 insertions(+), 55 deletions(-)
> create mode 100644 hw/virtio-pci.h
>
> diff --git a/hw/virtio-9p.c b/hw/virtio-9p.c
> index 7c59988..64ab3c8 100644
> --- a/hw/virtio-9p.c
> +++ b/hw/virtio-9p.c
> @@ -14,6 +14,7 @@
> #include "virtio.h"
> #include "pc.h"
> #include "qemu_socket.h"
> +#include "virtio-pci.h"
> #include "virtio-9p.h"
> #include "fsdev/qemu-fsdev.h"
> #include "virtio-9p-debug.h"
> @@ -3742,3 +3743,40 @@ VirtIODevice *virtio_9p_init(DeviceState *dev, V9fsConf *conf)
>
> return&s->vdev;
> }
> +
> +static int virtio_9p_init_pci(PCIDevice *pci_dev)
> +{
> + VirtIOPCIProxy *proxy = DO_UPCAST(VirtIOPCIProxy, pci_dev, pci_dev);
> + VirtIODevice *vdev;
> +
> + vdev = virtio_9p_init(&pci_dev->qdev,&proxy->fsconf);
> + vdev->nvectors = proxy->nvectors;
> + virtio_init_pci(proxy, vdev,
> + PCI_VENDOR_ID_REDHAT_QUMRANET,
> + 0x1009,
> + 0x2,
> + 0x00);
> + /* make the actual value visible */
> + proxy->nvectors = vdev->nvectors;
> + return 0;
> +}
> +
> +static PCIDeviceInfo virtio_9p_info = {
> + .qdev.name = "virtio-9p-pci",
> + .qdev.size = sizeof(VirtIOPCIProxy),
> + .init = virtio_9p_init_pci,
> + .qdev.props = (Property[]) {
> + DEFINE_PROP_UINT32("vectors", VirtIOPCIProxy, nvectors, 2),
> + DEFINE_VIRTIO_COMMON_FEATURES(VirtIOPCIProxy, host_features),
> + DEFINE_PROP_STRING("mount_tag", VirtIOPCIProxy, fsconf.tag),
> + DEFINE_PROP_STRING("fsdev", VirtIOPCIProxy, fsconf.fsdev_id),
> + DEFINE_PROP_END_OF_LIST(),
> + }
> +};
> +
> +static void virtio_9p_register_devices(void)
> +{
> + pci_qdev_register(&virtio_9p_info);
> +}
> +
> +device_init(virtio_9p_register_devices)
> diff --git a/hw/virtio-pci.c b/hw/virtio-pci.c
> index d07ff97..59c75de 100644
> --- a/hw/virtio-pci.c
> +++ b/hw/virtio-pci.c
> @@ -25,6 +25,7 @@
> #include "loader.h"
> #include "kvm.h"
> #include "blockdev.h"
> +#include "virtio-pci.h"
>
> /* from Linux's linux/virtio_pci.h */
>
> @@ -94,28 +95,6 @@
> */
> #define wmb() do { } while (0)
>
> -/* PCI bindings. */
> -
> -typedef struct {
> - PCIDevice pci_dev;
> - VirtIODevice *vdev;
> - uint32_t flags;
> - uint32_t addr;
> - uint32_t class_code;
> - uint32_t nvectors;
> - BlockConf block;
> - NICConf nic;
> - uint32_t host_features;
> -#ifdef CONFIG_LINUX
> - V9fsConf fsconf;
> -#endif
> - /* Max. number of ports we can have for a the virtio-serial device */
> - uint32_t max_virtserial_ports;
> - virtio_net_conf net;
> - bool ioeventfd_disabled;
> - bool ioeventfd_started;
> -} VirtIOPCIProxy;
> -
> /* virtio device */
>
> static void virtio_pci_notify(void *opaque, uint16_t vector)
> @@ -663,7 +642,7 @@ static const VirtIOBindings virtio_pci_bindings = {
> .vmstate_change = virtio_pci_vmstate_change,
> };
>
> -static void virtio_init_pci(VirtIOPCIProxy *proxy, VirtIODevice *vdev,
> +void virtio_init_pci(VirtIOPCIProxy *proxy, VirtIODevice *vdev,
> uint16_t vendor, uint16_t device,
> uint16_t class_code, uint8_t pif)
> {
> @@ -828,25 +807,6 @@ static int virtio_balloon_init_pci(PCIDevice *pci_dev)
> return 0;
> }
>
> -#ifdef CONFIG_VIRTFS
> -static int virtio_9p_init_pci(PCIDevice *pci_dev)
> -{
> - VirtIOPCIProxy *proxy = DO_UPCAST(VirtIOPCIProxy, pci_dev, pci_dev);
> - VirtIODevice *vdev;
> -
> - vdev = virtio_9p_init(&pci_dev->qdev,&proxy->fsconf);
> - vdev->nvectors = proxy->nvectors;
> - virtio_init_pci(proxy, vdev,
> - PCI_VENDOR_ID_REDHAT_QUMRANET,
> - 0x1009,
> - 0x2,
> - 0x00);
> - /* make the actual value visible */
> - proxy->nvectors = vdev->nvectors;
> - return 0;
> -}
> -#endif
> -
> static PCIDeviceInfo virtio_info[] = {
> {
> .qdev.name = "virtio-blk-pci",
> @@ -911,19 +871,6 @@ static PCIDeviceInfo virtio_info[] = {
> },
> .qdev.reset = virtio_pci_reset,
> },{
> -#ifdef CONFIG_VIRTFS
> - .qdev.name = "virtio-9p-pci",
> - .qdev.size = sizeof(VirtIOPCIProxy),
> - .init = virtio_9p_init_pci,
> - .qdev.props = (Property[]) {
> - DEFINE_PROP_UINT32("vectors", VirtIOPCIProxy, nvectors, 2),
> - DEFINE_VIRTIO_COMMON_FEATURES(VirtIOPCIProxy, host_features),
> - DEFINE_PROP_STRING("mount_tag", VirtIOPCIProxy, fsconf.tag),
> - DEFINE_PROP_STRING("fsdev", VirtIOPCIProxy, fsconf.fsdev_id),
> - DEFINE_PROP_END_OF_LIST(),
> - },
> - }, {
> -#endif
> /* end of list */
> }
> };
> diff --git a/hw/virtio-pci.h b/hw/virtio-pci.h
> new file mode 100644
> index 0000000..3bef656
> --- /dev/null
> +++ b/hw/virtio-pci.h
> @@ -0,0 +1,43 @@
> +/*
> + * Virtio PCI Bindings
> + *
> + * Copyright IBM, Corp. 2007
> + * Copyright (c) 2009 CodeSourcery
> + *
> + * Authors:
> + * Anthony Liguori<aliguori@us.ibm.com>
> + * Paul Brook<paul@codesourcery.com>
> + *
> + * This work is licensed under the terms of the GNU GPL, version 2. See
> + * the COPYING file in the top-level directory.
> + */
> +
> +#ifndef QEMU_VIRTIO_PCI_H
> +#define QEMU_VIRTIO_PCI_H
> +
> +#include "virtio-net.h"
> +
> +typedef struct {
> + PCIDevice pci_dev;
> + VirtIODevice *vdev;
> + uint32_t flags;
> + uint32_t addr;
> + uint32_t class_code;
> + uint32_t nvectors;
> + BlockConf block;
> + NICConf nic;
> + uint32_t host_features;
> +#ifdef CONFIG_LINUX
> + V9fsConf fsconf;
> +#endif
> + /* Max. number of ports we can have for a the virtio-serial device */
> + uint32_t max_virtserial_ports;
> + virtio_net_conf net;
> + bool ioeventfd_disabled;
> + bool ioeventfd_started;
> +} VirtIOPCIProxy;
> +
> +extern void virtio_init_pci(VirtIOPCIProxy *proxy, VirtIODevice *vdev,
> + uint16_t vendor, uint16_t device,
> + uint16_t class_code, uint8_t pif);
> +#endif
next prev parent reply other threads:[~2011-05-31 21:28 UTC|newest]
Thread overview: 11+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-04-27 6:53 [Qemu-devel] [PATCH] virtio-9p: move 9p files around Aneesh Kumar K.V
2011-04-27 7:03 ` Jan Kiszka
2011-04-27 10:33 ` Aneesh Kumar K.V
2011-04-27 14:55 ` Jan Kiszka
2011-04-27 15:57 ` Venkateswararao Jujjuri
2011-04-27 16:31 ` Aneesh Kumar K.V
2011-04-27 11:46 ` [Qemu-devel] [PATCH 1/3] virtio-9p: Move 9p device registration into virtio-9p.c Aneesh Kumar K.V
2011-04-27 11:46 ` [Qemu-devel] [PATCH 2/3] virtio-9p: move 9p files around Aneesh Kumar K.V
2011-04-27 11:46 ` [Qemu-devel] [PATCH 3/3] virtio-9p: Move device specific code to virtio-9p-device Aneesh Kumar K.V
2011-05-31 21:28 ` Venkateswararao Jujjuri [this message]
2011-06-01 6:49 ` [Qemu-devel] [PATCH 1/3] virtio-9p: Move 9p device registration into virtio-9p.c Aneesh Kumar K.V
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=4DE55D73.50806@linux.vnet.ibm.com \
--to=jvrao@linux.vnet.ibm.com \
--cc=qemu-devel@nongnu.org \
/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 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).