qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [edk2] NVMe question


From: Tian, Feng
Subject: Re: [Qemu-devel] [edk2] NVMe question
Date: Thu, 4 Jun 2015 02:04:37 +0000

Got your point.

Ok, I will roll back the change 

Thanks
Feng

-----Original Message-----
From: Busch, Keith 
Sent: Wednesday, June 03, 2015 22:47
To: Tian, Feng; Laszlo Ersek
Cc: address@hidden; Anbazhagan, Baraneedharan; qemu devel list
Subject: RE: [edk2] NVMe question

Section 3.1.5, for IOCQES and IOSQES:

"The required and maximum values for this field are specified in the Identify 
Controller data structure in Figure 90 for each I/O Command Set. The value is 
in bytes and is specified as a power of two (2^n)."


If you're not setting these values, I assume you're leaving it as 0, which is 
most definitely below the "required" value.

> -----Original Message-----
> From: Tian, Feng
> Sent: Tuesday, June 02, 2015 6:21 PM
> To: Busch, Keith; Laszlo Ersek
> Cc: address@hidden; Anbazhagan, Baraneedharan; qemu devel list; Tian, Feng
> Subject: RE: [edk2] NVMe question
> 
> Hi, Keith
> 
> I agree your explanation does make sense.
> 
> But could you let me know where speaks the host driver must initialize these 
> two fields of CC
> register before any I/O operation in NVMe spec?
> 
> Thanks
> Feng
> 
> -----Original Message-----
> From: Busch, Keith
> Sent: Wednesday, June 03, 2015 03:11
> To: Laszlo Ersek
> Cc: address@hidden; Anbazhagan, Baraneedharan; Tian, Feng; Busch, Keith; qemu
> devel list
> Subject: Re: [edk2] NVMe question
> 
> 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.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]