From: David Gibson <david@gibson.dropbear.id.au>
To: Alexey Kardashevskiy <aik@ozlabs.ru>
Cc: Andrea Bolognani <abologna@redhat.com>,
paulus@ozlabs.org, qemu-ppc@nongnu.org, qemu-devel@nongnu.org,
Suraj Jitindar Singh <sjitindarsingh@gmail.com>
Subject: Re: [Qemu-devel] [Qemu-ppc] [QEMU-PPC] [PATCH V3 0/6] target/ppc: Rework spapr_caps
Date: Wed, 17 Jan 2018 10:30:43 +1100 [thread overview]
Message-ID: <20180116233043.GR30352@umbus.fritz.box> (raw)
In-Reply-To: <62449abf-fdd1-44f3-4a5c-0695e8607cea@ozlabs.ru>
[-- Attachment #1: Type: text/plain, Size: 4792 bytes --]
On Wed, Jan 17, 2018 at 10:26:28AM +1100, Alexey Kardashevskiy wrote:
> On 17/01/18 09:34, David Gibson wrote:
> > On Tue, Jan 16, 2018 at 03:46:20PM +0100, Andrea Bolognani wrote:
> >> On Wed, 2018-01-17 at 00:54 +1100, David Gibson wrote:
> >>>> Correct me if I'm wrong, but it seems to me like there's no way
> >>>> to figure out through QMP whether these new machine options can be
> >>>> used for a given QEMU binary.
> >>>
> >>> Uh, I don't think so. These are machine options like any other (just
> >>> constructed a bit differently). So they'll appear in qemu -machine
> >>> pseries,? and I believe that info can also be retrieved with QMP.
> >>
> >> Yes, they will indeed show up in the output of -machine pseries,?
> >> but there's AFAICT no way to retrieve them via QMP.
> >
> > Really!? I thought introspecting object properties was QMP's bread
> > and butter.
>
>
> On a guest started with '-S':
> {"execute": "qom-list", "arguments": {"path": "/machine"}}
>
> returns:
> { 'return': [ {'name': 'graphics', 'type': 'bool'},
> {'name': 'phandle-start', 'type': 'int'},
> {'name': 'dump-guest-core', 'type': 'bool'},
> {'name': 'kernel-irqchip', 'type': 'OnOffSplit'},
> {'name': 'accel', 'type': 'string'},
> {'name': 'append', 'type': 'string'},
> {'name': 'dumpdtb', 'type': 'string'},
> {'name': 'igd-passthru', 'type': 'bool'},
> {'name': 'dt-compatible', 'type': 'string'},
> {'name': 'kernel', 'type': 'string'},
> {'name': 'usb', 'type': 'bool'},
> {'name': 'suppress-vmdesc', 'type': 'bool'},
> {'name': 'dtb', 'type': 'string'},
> {'name': 'firmware', 'type': 'string'},
> {'name': 'mem-merge', 'type': 'bool'},
> {'name': 'initrd', 'type': 'string'},
> {'name': 'enforce-config-section', 'type': 'bool'},
> {'name': 'kvm-shadow-mem', 'type': 'int'},
> {'name': 'cap-dfp', 'type': 'bool'},
> {'name': 'cap-htm', 'type': 'bool'},
> {'name': 'cap-vsx', 'type': 'bool'},
^^^^^^^
Here are the cap properties. Is it just Suraj's new tristate ones
that aren't showing up? If so that's weird... are you sure you built
with those patches included?
> {'name': 'vfio-no-msix-emulation', 'type': 'bool'},
> {'name': 'kvm-type', 'type': 'string'},
> {'name': 'max-cpu-compat', 'type': 'string'},
> { 'name': 'dr-connector[268435480]',
> 'type': 'child<spapr-drc-cpu>'},
> {'name': 'peripheral', 'type': 'child<container>'},
> { 'name': 'dr-connector[268435472]',
> 'type': 'child<spapr-drc-cpu>'},
> {'name': 'modern-hotplug-events', 'type': 'bool'},
> { 'name': 'dr-connector[268435464]',
> 'type': 'child<spapr-drc-cpu>'},
> { 'name': 'dr-connector[268435456]',
> 'type': 'child<spapr-drc-cpu>'},
> {'name': 'peripheral-anon', 'type': 'child<container>'},
> {'name': 'ics', 'type': 'child<icskvm>'},
> {'name': 'vsmt', 'type': 'uint32'},
> {'name': 'type', 'type': 'string'},
> {'name': 'rtc-time', 'type': 'struct tm'},
> {'name': 'unattached', 'type': 'child<container>'},
> {'name': 'rtc', 'type': 'child<spapr-rtc>'},
> {'name': 'resize-hpt', 'type': 'string'}]}
>
>
> but still requires a running qemu, yes.
>
> >
> >> And libvirt
> >> can't afford to spawn a QEMU process for each machine type
> >> implemented by each QEMU binary installed on the system just to
> >> figure out what properties they support; in fact, we've been
> >> pushing away from that approach - which was used initially - for
> >> years and we're now at the point where we only fall back to it
> >> for positively ancient QEMU versions. So the information needs
> >> to be available through QMP for libvirt to consume it.
> >
> > Right, I'm not arguing with that. It's just that I thought that
> > standard QOM properties on QOM objects (the machine in this case) met
> > the criteria.
> >
>
>
--
David Gibson | I'll have my music baroque, and my code
david AT gibson.dropbear.id.au | minimalist, thank you. NOT _the_ _other_
| _way_ _around_!
http://www.ozlabs.org/~dgibson
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]
next prev parent reply other threads:[~2018-01-16 23:30 UTC|newest]
Thread overview: 33+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-01-15 6:32 [Qemu-devel] [QEMU-PPC] [PATCH V3 0/6] target/ppc: Rework spapr_caps Suraj Jitindar Singh
2018-01-15 6:32 ` [Qemu-devel] [QEMU-PPC] [PATCH V3 1/6] target/ppc/kvm: Add cap_ppc_safe_[cache/bounds_check/indirect_branch] Suraj Jitindar Singh
2018-01-15 6:58 ` [Qemu-devel] [QEMU-PPC] [PATCH V4 " Suraj Jitindar Singh
2018-01-18 5:06 ` David Gibson
2018-01-15 6:32 ` [Qemu-devel] [QEMU-PPC] [PATCH V3 2/6] target/ppc/spapr_caps: Add support for tristate spapr_capabilities Suraj Jitindar Singh
2018-01-18 5:07 ` David Gibson
2018-01-15 6:32 ` [Qemu-devel] [QEMU-PPC] [PATCH V3 3/6] target/ppc/spapr_caps: Add new tristate cap safe_cache Suraj Jitindar Singh
2018-01-18 5:10 ` David Gibson
2018-01-15 6:32 ` [Qemu-devel] [QEMU-PPC] [PATCH V3 4/6] target/ppc/spapr_caps: Add new tristate cap safe_bounds_check Suraj Jitindar Singh
2018-01-18 5:11 ` David Gibson
2018-01-15 6:32 ` [Qemu-devel] [QEMU-PPC] [PATCH V3 5/6] target/ppc/spapr_caps: Add new tristate cap safe_indirect_branch Suraj Jitindar Singh
2018-01-18 5:11 ` David Gibson
2018-01-15 6:32 ` [Qemu-devel] [QEMU-PPC] [PATCH V3 6/6] target/ppc/spapr: Add H-Call H_GET_CPU_CHARACTERISTICS Suraj Jitindar Singh
2018-01-18 5:20 ` David Gibson
2018-01-18 5:44 ` [Qemu-devel] [Qemu-ppc] " Alexey Kardashevskiy
2018-01-18 5:53 ` David Gibson
2018-01-18 8:11 ` Alexey Kardashevskiy
2018-01-18 20:30 ` Eric Blake
2018-01-18 23:35 ` David Gibson
2018-01-18 23:33 ` David Gibson
2018-01-16 13:47 ` [Qemu-devel] [Qemu-ppc] [QEMU-PPC] [PATCH V3 0/6] target/ppc: Rework spapr_caps Andrea Bolognani
2018-01-16 13:54 ` David Gibson
2018-01-16 14:46 ` Andrea Bolognani
2018-01-16 22:34 ` David Gibson
2018-01-16 23:26 ` Alexey Kardashevskiy
2018-01-16 23:30 ` David Gibson [this message]
2018-01-16 23:46 ` Alexey Kardashevskiy
2018-01-17 1:15 ` David Gibson
2018-01-17 8:54 ` Andrea Bolognani
2018-01-18 4:27 ` David Gibson
2018-01-18 15:55 ` Andrea Bolognani
2018-01-19 2:22 ` David Gibson
2018-01-19 3:59 ` Alexey Kardashevskiy
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=20180116233043.GR30352@umbus.fritz.box \
--to=david@gibson.dropbear.id.au \
--cc=abologna@redhat.com \
--cc=aik@ozlabs.ru \
--cc=paulus@ozlabs.org \
--cc=qemu-devel@nongnu.org \
--cc=qemu-ppc@nongnu.org \
--cc=sjitindarsingh@gmail.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.