From: Markus Armbruster <armbru@redhat.com>
To: Mateusz Nowicki <mateusz.nowicki@posteo.net>
Cc: qemu-devel@nongnu.org,
"Dr . David Alan Gilbert" <dave@treblig.org>,
"Keith Busch" <kbusch@kernel.org>,
"Klaus Jensen" <its@irrelevant.dk>,
"Jesper Devantier" <foss@defmacro.it>,
"Philippe Mathieu-Daudé" <philmd@linaro.org>,
"Zhao Liu" <zhao1.liu@intel.com>,
"Eric Blake" <eblake@redhat.com>,
qemu-block@nongnu.org
Subject: Re: [PATCH v3 1/2] hw/nvme: add 'info nvme' HMP command
Date: Mon, 01 Jun 2026 16:09:32 +0200 [thread overview]
Message-ID: <87v7c2wdwj.fsf@pond.sub.org> (raw)
In-Reply-To: <20260522102821.16766-2-mateusz.nowicki@posteo.net> (Mateusz Nowicki's message of "Fri, 22 May 2026 10:29:18 +0000")
Mateusz Nowicki <mateusz.nowicki@posteo.net> writes:
> Add an 'info nvme' HMP command for inspecting emulated NVMe
> controllers from the QEMU monitor.
>
> For each NVMe controller in the QOM tree the command prints:
>
> - PCI BDF, vendor/device ID and BAR0 base address;
> - Identify Controller fields visible to the host driver: SN, MN, FR
> and CNTLID;
> - the CC, CSTS and AQA registers (raw 32-bit values);
> - the number of admin and active I/O submission/completion queues.
>
> Useful when debugging the Linux NVMe driver against the QEMU emulation
> without attaching gdb to the QEMU process.
>
> Example:
>
> (qemu) info nvme
> /machine/peripheral-anon/device[0]
> PCI: BDF 00:04.0 VID=8086 DID=5845 BAR0=0x00000000feb50000
> ID: SN=NVME0001 MN=QEMU NVMe Ctrl FR=... CNTLID=0x0000
> CC: 0x00460001
> CSTS: 0x00000001
> AQA: 0x001f001f
> Queues: 1 admin + 4 IO SQ / 4 IO CQ
>
> Signed-off-by: Mateusz Nowicki <mateusz.nowicki@posteo.net>
> Acked-by: Dr. David Alan Gilbert <dave@treblig.org>
> Acked-by: Markus Armbruster <armbru@redhat.com>
> ---
> hmp-commands-info.hx | 13 ++++++++
> hw/nvme/meson.build | 2 +-
> hw/nvme/monitor.c | 76 ++++++++++++++++++++++++++++++++++++++++++++
> qapi/machine.json | 17 ++++++++++
> 4 files changed, 107 insertions(+), 1 deletion(-)
> create mode 100644 hw/nvme/monitor.c
>
> diff --git a/hmp-commands-info.hx b/hmp-commands-info.hx
> index 82134eb6c2..b984691c3c 100644
> --- a/hmp-commands-info.hx
> +++ b/hmp-commands-info.hx
> @@ -340,6 +340,19 @@ SRST
> Show guest USB devices.
> ERST
>
> + {
> + .name = "nvme",
> + .args_type = "",
> + .params = "",
> + .help = "show emulated NVMe controllers",
> + .cmd_info_hrt = qmp_x_query_nvme,
> + },
> +
> +SRST
> + ``info nvme``
> + Show emulated NVMe controllers.
> +ERST
> +
> {
> .name = "usbhost",
> .args_type = "",
> diff --git a/hw/nvme/meson.build b/hw/nvme/meson.build
> index 7d5caa53c2..33dee048b0 100644
> --- a/hw/nvme/meson.build
> +++ b/hw/nvme/meson.build
> @@ -1 +1 @@
> -system_ss.add(when: 'CONFIG_NVME_PCI', if_true: files('ctrl.c', 'dif.c', 'ns.c', 'subsys.c', 'nguid.c'))
> \ No newline at end of file
> +system_ss.add(when: 'CONFIG_NVME_PCI', if_true: files('ctrl.c', 'dif.c', 'ns.c', 'subsys.c', 'nguid.c', 'monitor.c'))
Keep this list alphabetically sorted, please.
I can tidy this up myself in my tree.
[...]
next prev parent reply other threads:[~2026-06-01 14:14 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-05-22 10:29 [PATCH v3 0/2] hw/nvme: HMP commands for inspecting emulated controllers Mateusz Nowicki
2026-05-22 10:29 ` [PATCH v3 1/2] hw/nvme: add 'info nvme' HMP command Mateusz Nowicki
2026-06-01 14:09 ` Markus Armbruster [this message]
2026-05-22 10:29 ` [PATCH v3 2/2] hw/nvme: add 'info nvme-queues' " Mateusz Nowicki
2026-06-01 14:14 ` [PATCH v3 0/2] hw/nvme: HMP commands for inspecting emulated controllers Markus Armbruster
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=87v7c2wdwj.fsf@pond.sub.org \
--to=armbru@redhat.com \
--cc=dave@treblig.org \
--cc=eblake@redhat.com \
--cc=foss@defmacro.it \
--cc=its@irrelevant.dk \
--cc=kbusch@kernel.org \
--cc=mateusz.nowicki@posteo.net \
--cc=philmd@linaro.org \
--cc=qemu-block@nongnu.org \
--cc=qemu-devel@nongnu.org \
--cc=zhao1.liu@intel.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.