From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1MkvP8-00053B-4S for qemu-devel@nongnu.org; Tue, 08 Sep 2009 03:46:18 -0400 Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1MkvP3-00051K-F6 for qemu-devel@nongnu.org; Tue, 08 Sep 2009 03:46:17 -0400 Received: from [199.232.76.173] (port=55927 helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1MkvP3-00051H-A8 for qemu-devel@nongnu.org; Tue, 08 Sep 2009 03:46:13 -0400 Received: from mx20.gnu.org ([199.232.41.8]:3746) by monty-python.gnu.org with esmtps (TLS-1.0:RSA_AES_256_CBC_SHA1:32) (Exim 4.60) (envelope-from ) id 1MkvP2-0008KF-KQ for qemu-devel@nongnu.org; Tue, 08 Sep 2009 03:46:12 -0400 Received: from mx1.redhat.com ([209.132.183.28]) by mx20.gnu.org with esmtp (Exim 4.60) (envelope-from ) id 1MkvP1-0007fz-0A for qemu-devel@nongnu.org; Tue, 08 Sep 2009 03:46:11 -0400 Message-ID: <4AA60A58.4090703@redhat.com> Date: Tue, 08 Sep 2009 03:40:08 -0400 From: john cooper MIME-Version: 1.0 References: <20090907181436.GA8538@redhat.com> In-Reply-To: <20090907181436.GA8538@redhat.com> Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Subject: [Qemu-devel] Re: [PATCH] qemu: make virtio-blk PCI compliant by default List-Id: qemu-devel.nongnu.org List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: "Michael S. Tsirkin" Cc: john.cooper@redhat.com, rusty@rustcorp.com.au, qemu-devel@nongnu.org, jens.axboe@oracle.com Michael S. Tsirkin wrote: > commit bf011293faaa7f87e4de83185931e7411b794128 made virtio-blk-pci not > PCI-compliant, since it makes region 0 (which is an i/o region) > size > 256, and, since PCI 2.1, i/o regions are limited to 256 bytes size. > > When the ATA serial number feature is off, which is the default, > make the device spec compliant again, by making region 0 smaller. I'd hazard this is the cause of the breakage others encountered -- even when the driver was initialized but unused. For some odd reason I hadn't seen nor been able to reproduce the failure. The mock-up of an entire ATA IDENTIFY page is really overkill for what we're trying to accomplish here, namely passing a 20 byte S/N from qemu to the guest. However emulating and passing an IDENTIFY page allows guest apps to interpret the information via an existing interface, with the guest driver doing nothing more than transferring the data as opaque. During review, other defined fields of the IDENTIFY page were speculated to be potentially useful thus the entire 512 byte page was passed wholesale. But it is clearly more trouble than benefit at this point. I'll rework the patch or use an alternate mechanism. -john -- john.cooper@redhat.com