"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]>
