From: Eric Blake <eblake@redhat.com>
To: Eduardo Habkost <ehabkost@redhat.com>, qemu-devel@nongnu.org
Cc: peter.maydell@linaro.org, peter.crosthwaite@xilinx.com,
mimu@linux.vnet.ibm.com, "Igor Mammedov" <imammedo@redhat.com>,
agraf@suse.de, mdroth@linux.vnet.ibm.com, borntraeger@de.ibm.com,
bharata@linux.vnet.ibm.com, cornelia.huck@de.ibm.com,
"Paolo Bonzini" <pbonzini@redhat.com>,
"Jiri Denemark" <jdenemar@redhat.com>,
lcapitulino@redhat.com, "Andreas Färber" <afaerber@suse.de>,
david@gibson.dropbear.id.au
Subject: Re: [Qemu-devel] [PATCH] qmp: Add qom-path field to query-cpus command
Date: Mon, 04 May 2015 13:17:06 -0600 [thread overview]
Message-ID: <5547C5B2.7050600@redhat.com> (raw)
In-Reply-To: <1430766598-8512-1-git-send-email-ehabkost@redhat.com>
[-- Attachment #1: Type: text/plain, Size: 3059 bytes --]
On 05/04/2015 01:09 PM, Eduardo Habkost wrote:
> This will allow clients to query additional information directly using
> qom-get on the CPU objects.
>
> Signed-off-by: Eduardo Habkost <ehabkost@redhat.com>
> ---
> Reference to previous discussion:
>
> Date: Mon, 4 May 2015 15:37:40 -0300
> From: Eduardo Habkost <ehabkost@redhat.com>
> Message-ID: <20150504183740.GM17796@thinpad.lan.raisama.net>
> Subject: Re: [Qemu-devel] [PATCH] cpu: Register QOM links at /machine/cpus/<index>
>
> The summary is: even if we provide predictable QOM paths for the CPU
> objects, the qom-path field will be useful to allow the QOM objects and
> query-cpu data to be matched correctly.
> ---
> +++ b/qapi-schema.json
> @@ -602,6 +602,8 @@
> # @halted: true if the virtual CPU is in the halt state. Halt usually refers
> # to a processor specific low power mode.
> #
> +# @qom-path: path to the CPU object in the QOM tree.
> +#
Needs a '(since 2.4)' designation. But definitely looks useful.
> # @pc: #optional If the target is i386 or x86_64, this is the 64-bit instruction
> # pointer.
> # If the target is Sparc, this is the PC component of the
> @@ -622,8 +624,9 @@
> # data is sent to the client, the guest may no longer be halted.
> ##
> { 'type': 'CpuInfo',
Rebase context fun once my series goes in that does s/type/struct/
> - 'data': {'CPU': 'int', 'current': 'bool', 'halted': 'bool', '*pc': 'int',
> - '*nip': 'int', '*npc': 'int', '*PC': 'int', 'thread_id': 'int'} }
> + 'data': {'CPU': 'int', 'current': 'bool', 'halted': 'bool', 'qom-path': 'str',
> + '*pc': 'int', '*nip': 'int', '*npc': 'int', '*PC': 'int',
> + 'thread_id': 'int'} }
We now have a mix of _ (thread_id) and - (qom-path). It might be nice to
someday teach QMP to interchange either spelling. I'm on the fence as
to whether this should use qom_path in order to be consistent within the
struct itself.
> +++ b/qmp-commands.hx
> @@ -2569,6 +2569,7 @@ Return a json-array. Each CPU is represented by a json-object, which contains:
> - "CPU": CPU index (json-int)
> - "current": true if this is the current CPU, false otherwise (json-bool)
> - "halted": true if the cpu is halted, false otherwise (json-bool)
> +- "qom-path": path to the CPU object in the QOM tree (json-str)
> - Current program counter. The key's name depends on the architecture:
> "pc": i386/x86_64 (json-int)
> "nip": PPC (json-int)
The new output is not optional, so the example needs to be updated to
show it. For that matter, the example is broken, so you could fix it
while touching it:
"return":[
{
"CPU":0,
"current":true,
"halted":false,
"pc":3227107138
"thread_id":3134
is not valid JSON, since there is a missing comma for "pc".
--
Eric Blake eblake redhat com +1-919-301-3266
Libvirt virtualization library http://libvirt.org
[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 604 bytes --]
next prev parent reply other threads:[~2015-05-04 19:17 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-05-04 19:09 [Qemu-devel] [PATCH] qmp: Add qom-path field to query-cpus command Eduardo Habkost
2015-05-04 19:17 ` Eric Blake [this message]
2015-05-05 7:51 ` David Gibson
2015-05-08 12:51 ` Luiz Capitulino
2015-05-08 14:36 ` Eduardo Habkost
2015-05-08 14:46 ` Andreas Färber
2015-05-08 16:25 ` Eduardo Habkost
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=5547C5B2.7050600@redhat.com \
--to=eblake@redhat.com \
--cc=afaerber@suse.de \
--cc=agraf@suse.de \
--cc=bharata@linux.vnet.ibm.com \
--cc=borntraeger@de.ibm.com \
--cc=cornelia.huck@de.ibm.com \
--cc=david@gibson.dropbear.id.au \
--cc=ehabkost@redhat.com \
--cc=imammedo@redhat.com \
--cc=jdenemar@redhat.com \
--cc=lcapitulino@redhat.com \
--cc=mdroth@linux.vnet.ibm.com \
--cc=mimu@linux.vnet.ibm.com \
--cc=pbonzini@redhat.com \
--cc=peter.crosthwaite@xilinx.com \
--cc=peter.maydell@linaro.org \
--cc=qemu-devel@nongnu.org \
/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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).