From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([140.186.70.92]:50365) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1QF78M-0005wB-Qc for qemu-devel@nongnu.org; Wed, 27 Apr 2011 11:58:38 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1QF78I-0005K9-Vz for qemu-devel@nongnu.org; Wed, 27 Apr 2011 11:58:34 -0400 Received: from e36.co.us.ibm.com ([32.97.110.154]:56518) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1QF78I-0005JF-Gr for qemu-devel@nongnu.org; Wed, 27 Apr 2011 11:58:30 -0400 Received: from d03relay02.boulder.ibm.com (d03relay02.boulder.ibm.com [9.17.195.227]) by e36.co.us.ibm.com (8.14.4/8.13.1) with ESMTP id p3RFqcmE006604 for ; Wed, 27 Apr 2011 09:52:38 -0600 Received: from d03av02.boulder.ibm.com (d03av02.boulder.ibm.com [9.17.195.168]) by d03relay02.boulder.ibm.com (8.13.8/8.13.8/NCO v9.1) with ESMTP id p3RFw9bc110310 for ; Wed, 27 Apr 2011 09:58:10 -0600 Received: from d03av02.boulder.ibm.com (loopback [127.0.0.1]) by d03av02.boulder.ibm.com (8.14.4/8.13.1/NCO v10.0 AVout) with ESMTP id p3RFvPnD021855 for ; Wed, 27 Apr 2011 09:57:27 -0600 Received: from oc6675851006.ibm.com (sig-9-65-227-209.mts.ibm.com [9.65.227.209]) by d03av02.boulder.ibm.com (8.14.4/8.13.1/NCO v10.0 AVin) with ESMTP id p3RFvLdh021090 for ; Wed, 27 Apr 2011 09:57:21 -0600 Message-ID: <4DB83CFC.4000800@linux.vnet.ibm.com> Date: Wed, 27 Apr 2011 08:57:48 -0700 From: Venkateswararao Jujjuri MIME-Version: 1.0 References: <1303887233-6668-1-git-send-email-aneesh.kumar@linux.vnet.ibm.com> <4DB7BFDC.6050801@web.de> <874o5kx9uk.fsf@linux.vnet.ibm.com> In-Reply-To: <874o5kx9uk.fsf@linux.vnet.ibm.com> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Subject: Re: [Qemu-devel] [PATCH] virtio-9p: move 9p files around List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org On 04/27/2011 03:33 AM, Aneesh Kumar K.V wrote: > On Wed, 27 Apr 2011 09:03:56 +0200, Jan Kiszka wrote: >> On 2011-04-27 08:53, Aneesh Kumar K.V wrote: >>> Now that we start adding more files related to 9pfs >>> it make sense to move them to a separate directory >>> >>> Signed-off-by: Aneesh Kumar K.V >>> --- >>> Makefile.objs | 10 +++++++--- >>> Makefile.target | 6 ++++-- >>> configure | 2 ++ >>> {hw => fsdev}/file-op-9p.h | 0 >>> fsdev/qemu-fsdev.h | 2 +- >>> hw/{ => 9pfs}/virtio-9p-debug.c | 0 >>> hw/{ => 9pfs}/virtio-9p-debug.h | 0 >>> hw/{ => 9pfs}/virtio-9p-local.c | 0 >>> hw/{ => 9pfs}/virtio-9p-posix-acl.c | 2 +- >>> hw/{ => 9pfs}/virtio-9p-xattr-user.c | 2 +- >>> hw/{ => 9pfs}/virtio-9p-xattr.c | 2 +- >>> hw/{ => 9pfs}/virtio-9p-xattr.h | 0 >>> hw/{ => 9pfs}/virtio-9p.c | 0 >>> hw/{ => 9pfs}/virtio-9p.h | 2 +- >>> 14 files changed, 18 insertions(+), 10 deletions(-) >>> rename {hw => fsdev}/file-op-9p.h (100%) >>> rename hw/{ => 9pfs}/virtio-9p-debug.c (100%) >>> rename hw/{ => 9pfs}/virtio-9p-debug.h (100%) >>> rename hw/{ => 9pfs}/virtio-9p-local.c (100%) >>> rename hw/{ => 9pfs}/virtio-9p-posix-acl.c (99%) >>> rename hw/{ => 9pfs}/virtio-9p-xattr-user.c (98%) >>> rename hw/{ => 9pfs}/virtio-9p-xattr.c (99%) >>> rename hw/{ => 9pfs}/virtio-9p-xattr.h (100%) >>> rename hw/{ => 9pfs}/virtio-9p.c (100%) >> That's a good chance to split up this file, move virtio_9p_get_config >> into a separate one and build the large virtio-9p.c as part of hwlib >> while keeping the new file target-specific. I've some hack for this >> lying around, but now that you are already at it... >> > How about doing the below patch also and move all those device specific > stuff to virtio-9p-device.c and rest in virtio-9p.c ? I think this goes on top of your old patch. I am ready to give pull to Anthony with old patch. May be this can go in next pull? Thanks, JV > commit 9de1857114dac1dcd0c6399d91036c279373b2d0 > Author: Aneesh Kumar K.V > Date: Thu Oct 21 13:50:05 2010 +0530 > > virtio-9p: Move 9p device registration into virtio-9p.c > > This patch move the 9p device registration into its own file > > Signed-off-by: Aneesh Kumar K.V > > diff --git a/hw/virtio-9p.c b/hw/virtio-9p.c > index daade77..11e87a3 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" > @@ -3741,3 +3742,37 @@ 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); > + virtio_init_pci(proxy, vdev, > + PCI_VENDOR_ID_REDHAT_QUMRANET, > + 0x1009, > + 0x2, > + 0x00); > + > + 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_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 729917d..f1377b1 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 */ > > @@ -90,26 +91,6 @@ > */ > #define wmb() do { } while (0) > > -/* PCI bindings. */ > - > -typedef struct { > - PCIDevice pci_dev; > - VirtIODevice *vdev; > - uint32_t bugs; > - 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; > -} VirtIOPCIProxy; > - > /* virtio device */ > > static void virtio_pci_notify(void *opaque, uint16_t vector) > @@ -518,7 +499,7 @@ static const VirtIOBindings virtio_pci_bindings = { > .set_guest_notifiers = virtio_pci_set_guest_notifiers, > }; > > -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) > { > @@ -677,23 +658,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); > - virtio_init_pci(proxy, vdev, > - PCI_VENDOR_ID_REDHAT_QUMRANET, > - 0x1009, > - 0x2, > - 0x00); > - > - return 0; > -} > -#endif > - > static PCIDeviceInfo virtio_info[] = { > { > .qdev.name = "virtio-blk-pci", > @@ -752,20 +716,7 @@ static PCIDeviceInfo virtio_info[] = { > DEFINE_PROP_END_OF_LIST(), > }, > .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_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 */ > + }, { /* end of list */ > } > }; > > diff --git a/hw/virtio-pci.h b/hw/virtio-pci.h > new file mode 100644 > index 0000000..d9bf683 > --- /dev/null > +++ b/hw/virtio-pci.h > @@ -0,0 +1,42 @@ > +/* > + * Virtio PCI Bindings > + * > + * Copyright IBM, Corp. 2007 > + * Copyright (c) 2009 CodeSourcery > + * > + * Authors: > + * Anthony Liguori > + * Paul Brook > + * > + * 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 bugs; > + 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; > +} VirtIOPCIProxy; > + > +extern void virtio_init_pci(VirtIOPCIProxy *proxy, VirtIODevice *vdev, > + uint16_t vendor, uint16_t device, > + uint16_t class_code, uint8_t pif); > + > +#endif >