From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:47277) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1YzrbU-0001Is-V9 for qemu-devel@nongnu.org; Tue, 02 Jun 2015 15:12:02 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1YzrbQ-0006hQ-Ro for qemu-devel@nongnu.org; Tue, 02 Jun 2015 15:12:00 -0400 Received: from mga02.intel.com ([134.134.136.20]:36277) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1YzrbQ-0006hJ-Lt for qemu-devel@nongnu.org; Tue, 02 Jun 2015 15:11:56 -0400 Date: Tue, 2 Jun 2015 19:11:28 +0000 (UTC) From: Keith Busch In-Reply-To: <556D5F36.1050907@redhat.com> Message-ID: References: <8530272280D33D4095B8F02BA1B57BAC3AFD753D@G9W0345.americas.hpqcorp.net> <7F1BAD85ADEA444D97065A60D2E97EE501D6A4BB@SHSMSX101.ccr.corp.intel.com> <8530272280D33D4095B8F02BA1B57BAC3AFD9AB1@G9W0345.americas.hpqcorp.net> <7F1BAD85ADEA444D97065A60D2E97EE501D6AB7C@SHSMSX101.ccr.corp.intel.com> <556D5F36.1050907@redhat.com> MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII; format=flowed Subject: Re: [Qemu-devel] [edk2] NVMe question List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Laszlo Ersek Cc: Keith Busch , "Anbazhagan, Baraneedharan" , edk2-devel@lists.sourceforge.net, Feng Tian , qemu devel list Hi, On Tue, 2 Jun 2015, Laszlo Ersek wrote: > removed the nonzero initialization of Cc.Iosqes (submission queue size?) > and Cc.Iocqes (completion queue size?) in function > NvmeEnableController(). And the removal of these field initializations > seems to cause the early sanity check in QEMU's nvme_start_ctrl() to > fail -- my guess at least. > > The question is now if QEMU is right (according to the NVMe spec) to > require those fields, or if edk2 is right not to initialize them. The host driver definitely needs to initialize these for the device to understand the queue's entry sizes. Without proper values, it would have no idea how much memory a queue occupies. If you have a real device that ignores these, it's breaking spec.