"Dr. David Alan Gilbert" <[email protected]> writes:

> * Mateusz Nowicki ([email protected]) wrote:
>> Add an 'info nvme-queues' HMP command that lists, for every emulated
>> NVMe controller, the admin SQ/CQ and every active I/O SQ/CQ.
>> 
>> For each queue the command prints:
>> 
>>   - the ring size, head and tail indices;
>>   - the associated CQ id (for SQ) or interrupt vector (for CQ);
>>   - the queue's PRP1 (DMA base address of the ring);
>>   - the BAR0-relative doorbell offset (SQyTDBL / CQyHDBL);
>>   - the current CQ phase tag.
>> 
>> The doorbell offsets are computed from CAP.DSTRD so they remain
>> correct if the emulation ever exposes a non-zero stride.
>> 
>> Useful when debugging the Linux NVMe driver against the QEMU
>> emulation - queue setup, doorbell rings, AERs held in the admin SQ
>> etc. - without attaching gdb to the QEMU process.
>> 
>> Example, with the long PRP1 ring address and BAR0-relative doorbell
>> offset replaced by '...'; phase tag column omitted for brevity:
>> 
>>   (qemu) info nvme-queues
>>   /machine/peripheral-anon/device[0]
>>   SQ 0  size=32    head=9     tail=9     cqid=0    prp1=...  SQTDBL=...
>>   CQ 0  size=32    head=8     tail=8     iv=0      prp1=...  CQHDBL=...
>>   SQ 1  size=1024  head=2     tail=2     cqid=1    prp1=...  SQTDBL=...
>>   CQ 1  size=1024  head=2     tail=2     iv=1      prp1=...  CQHDBL=...
>> 
>> Signed-off-by: Mateusz Nowicki <[email protected]>
>
> as the previous patch; looks OK from HMP but check where the json should live.
>
> Acked-by: Dr. David Alan Gilbert <[email protected]>

Same answer.

QAPI schema
Acked-by: Markus Armbruster <[email protected]>


Reply via email to