From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1MOyFE-0005Cu-Os for qemu-devel@nongnu.org; Thu, 09 Jul 2009 14:21:20 -0400 Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1MOyFA-00055O-Bd for qemu-devel@nongnu.org; Thu, 09 Jul 2009 14:21:20 -0400 Received: from [199.232.76.173] (port=37248 helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1MOyFA-00055D-3J for qemu-devel@nongnu.org; Thu, 09 Jul 2009 14:21:16 -0400 Received: from mx2.redhat.com ([66.187.237.31]:50976) by monty-python.gnu.org with esmtp (Exim 4.60) (envelope-from ) id 1MOyF9-0006W7-ME for qemu-devel@nongnu.org; Thu, 09 Jul 2009 14:21:15 -0400 Received: from int-mx2.corp.redhat.com (int-mx2.corp.redhat.com [172.16.27.26]) by mx2.redhat.com (8.13.8/8.13.8) with ESMTP id n69ILF82013027 for ; Thu, 9 Jul 2009 14:21:15 -0400 Date: Thu, 9 Jul 2009 21:20:32 +0300 From: "Michael S. Tsirkin" Subject: Re: [Qemu-devel] [PATCH 3/5] qdev/compat: virtio-blk-pci 0.10 compatibility. Message-ID: <20090709182032.GA4351@redhat.com> References: <1247144553-8951-1-git-send-email-kraxel@redhat.com> <1247144553-8951-4-git-send-email-kraxel@redhat.com> <20090709145215.GC26895@redhat.com> <4A560835.3050108@redhat.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <4A560835.3050108@redhat.com> List-Id: qemu-devel.nongnu.org List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Gerd Hoffmann Cc: qemu-devel@nongnu.org On Thu, Jul 09, 2009 at 05:09:41PM +0200, Gerd Hoffmann wrote: > On 07/09/09 16:52, Michael S. Tsirkin wrote: >>> .compat_props = (CompatProperty[]) { >>> + { >>> + .driver = "virtio-blk-pci", >>> + .property = "class", >>> + .value = "0x0180", /* PCI_CLASS_STORAGE_OTHER */ >> >> it seems annoying that we can't use the symbolic name. Ideas how to fix this? > > We could add a special property type instead of using hex32. Then we > can have a string <-> int mapping and use something like > > .value = "storage-other", > > Not sure it is worth the trouble though. > >>> - >>> - uint16_t vendor; >>> - uint16_t device; >>> - uint16_t subvendor; >>> - uint16_t class_code; >>> - uint8_t pif; >> >> Are the other fields unused? If yes can be a separate patch ... > > Yes, they are all unused to date. This patch puts class_code into use. > >>> + if (proxy->class_code != PCI_CLASS_STORAGE_SCSI&& >>> + proxy->class_code != PCI_CLASS_STORAGE_OTHER) >>> + proxy->class_code = PCI_CLASS_STORAGE_SCSI; >>> + >> >> what does this do? > > Make sure proxy->class_code has one of the two allowed values. > >>> vdev = virtio_blk_init(&pci_dev->qdev); >>> virtio_init_pci(proxy, vdev, >>> PCI_VENDOR_ID_REDHAT_QUMRANET, >>> PCI_DEVICE_ID_VIRTIO_BLOCK, >>> - PCI_CLASS_STORAGE_OTHER, >>> - 0x00); >>> + proxy->class_code, 0x00); >>> } >>> >>> static void virtio_console_init_pci(PCIDevice *pci_dev) >> >> does this mean that virtio block was broken by some previous >> patch? It's not a good way to split changes: bisecting won't work. > > Huh? virtio block wasn't broken. What makes you think it was? > > cheers, > Gerd This is adding a parameter to a function. Before this patch it was missing this parameter so was broken?