On Jun 30 11:52, Mateusz Nowicki wrote:
> Add two HMP commands for inspecting emulated NVMe controllers from
> the QEMU monitor without attaching gdb to the QEMU process:
>
> - 'info nvme' - per-controller summary (PCI, identify
> fields, CC/CSTS/AQA, queue counts)
> - 'info nvme-queues' - per-queue listing of admin and I/O SQ/CQ
> (size, head/tail, PRP1, doorbell offset,
> phase tag)
>
> Useful for verifying queue setup, doorbell rings, AERs held in the
> admin SQ and similar driver/controller interaction details from a
> running QEMU monitor.
>
> Changes in v4:
> - Drop the v3 attempt to gate the new commands with
> 'if': 'CONFIG_NVME_PCI'. CONFIG_NVME_PCI is a device symbol and
> is poisoned in common code, so the generated qapi-introspect.c
> failed to build (reported by Klaus Jensen). Instead the x-query
> commands stay unconditional and hw/nvme/monitor-stub.c provides
> qmp_x_query_nvme[_queues]() stubs, built when CONFIG_NVME_PCI is
> not set, so targets without NVMe (e.g. riscv64-softmmu) link.
>
> Changes in v3:
> - hw/nvme/meson.build: keep the source file list alphabetically
> sorted (Markus).
>
> Changes in v2:
> - hw/nvme/meson.build: add the missing trailing newline (Markus).
> - Pick up Acked-by tags from Dr. David Alan Gilbert and Markus
> Armbruster on both patches.
>
> v3: https://lore.kernel.org/qemu-devel/20260626112116.7621-1-mateusz.nowicki@posteo.net/
> v2: https://lore.kernel.org/qemu-devel/cover.1778694320.git.mateusz.nowicki@posteo.net/
> v1: https://lore.kernel.org/qemu-devel/cover.1778409416.git.mateusz.nowicki@posteo.net/
>
> Mateusz Nowicki (2):
> hw/nvme: add 'info nvme' HMP command
> hw/nvme: add 'info nvme-queues' HMP command
>
> hmp-commands-info.hx | 28 +++++++++
> hw/nvme/meson.build | 4 +-
> hw/nvme/monitor-stub.c | 21 +++++++
> hw/nvme/monitor.c | 139 +++++++++++++++++++++++++++++++++++++++++
> qapi/machine.json | 34 ++++++++++
> 5 files changed, 225 insertions(+), 1 deletion(-)
> create mode 100644 hw/nvme/monitor-stub.c
> create mode 100644 hw/nvme/monitor.c
>
> --
> 2.53.0
>
>
Thanks for the fix, back in nvme.next :)