From: Peter Xu <peterx@redhat.com>
To: Andrea Bolognani <abologna@redhat.com>
Cc: wei@redhat.com, peter.maydell@linaro.org, drjones@redhat.com,
armbru@redhat.com, mdroth@linux.vnet.ibm.com,
qemu-devel@nongnu.org
Subject: Re: [Qemu-devel] [PATCH 1/3] arm: gic: add GICType
Date: Wed, 2 Mar 2016 11:34:44 +0800 [thread overview]
Message-ID: <20160302033444.GA5730@pxdev.xzpeter.org> (raw)
In-Reply-To: <1456842059.3566.11.camel@redhat.com>
On Tue, Mar 01, 2016 at 03:20:59PM +0100, Andrea Bolognani wrote:
> On Tue, 2016-02-23 at 18:52 +0800, Peter Xu wrote:
> > +{ 'enum': 'GICType', 'data': [ 'gicv2', 'gicv3', 'gicv2-kvm', 'gicv3-kvm' ] }
>
> Wouldn't this conflate the use of accel= and kernel_irqchip= options?
AFAIU, it's not a problem. Let me paste some lines from the original
RFC thread which explains the definition of the entries:
- gicv2: GIC version 2 without kernel IRQ chip
- gicv2-kvm: GIC version 2 with kernel IRQ chip
- gicv3: GIC version 3 without kernel IRQ chip (not supported)
- gicv3-kvm: GIC version 3 with kernel IRQ chip
(from https://lists.gnu.org/archive/html/qemu-devel/2016-02/msg02882.html)
So... what I understand is that, we are not talking about "accel="
at all. Instead, we are talking about "kernel_irqchip=" only. Or
say, all these GIC version information we provide from QEMU does not
tell whether KVM is supported or not (for "accel=", it is provided
by another QMP message named "query-kvm"). We are only talking about
which kind of GIC we support. In our case, for each version, it
could be supported either in userspace, or in kernel.
>
> IIUC, depending on the hardware, you might find yourself in the
> following situation:
>
> accel=tcg,gic-version=3 unavailable
> accel=kvm,kernel_irqchip=off,gic-version=3 unavailable
As explained above, IIUC, both of these two "unavailable" ones
correspond to "gicv3" entry of the results.
> accel=kvm,gic-version=3 available
And this one corresponds to "gicv3-kvm" entry.
>
> so I'd expect the output to be something like
>
> [ "v2": { "tcg": true,
> "kvm-without-kernel-irqchip": true,
> "kvm": true },
> "v3": { "tcg": false,
> "kvm-without-kernel-irqchip": false,
> "kvm": true } ]
Actually, this reminded me about the "kernel_irqchip=split" case. Do
we need to consider that one? AFAIK, splitted irqchip is only used
for x86 currently. Whether ARM will possibly support splitted kernel
irqchip one day just like x86? If so, I would prefer to change the
query result layout from array to dict, like:
[ "v2": { "emulated": true,
"split": false,
"kernel": true },
"v3": { "emulated": false,
"split": false,
"kernel": true } ]
Since the matrix is big enough (2x3) to consider drop the array
format (I'd admit maybe dict is always the best one...).
Peter
>
> Since libvirt currently doesn't have support for the
> kernel_irqchip= option, it would only take the "tcg" and "kvm"
> values into account; on the other hand, if at some point
> libvirt will grow support for that option it would be able to
> retrieve all the required information.
>
> Cheers.
>
> --
> Andrea Bolognani
> Software Engineer - Virtualization Team
next prev parent reply other threads:[~2016-03-02 3:35 UTC|newest]
Thread overview: 15+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-02-23 10:52 [Qemu-devel] [PATCH 0/3] ARM: add query-gic-capability SMP command Peter Xu
2016-02-23 10:52 ` [Qemu-devel] [PATCH 1/3] arm: gic: add GICType Peter Xu
2016-03-01 14:20 ` Andrea Bolognani
2016-03-02 3:34 ` Peter Xu [this message]
2016-03-02 7:15 ` Peter Xu
2016-03-02 9:47 ` Markus Armbruster
2016-03-02 10:55 ` Peter Xu
2016-03-02 13:59 ` Markus Armbruster
2016-03-03 4:27 ` Peter Xu
2016-03-03 6:34 ` Markus Armbruster
2016-03-03 6:58 ` Peter Xu
2016-03-01 16:46 ` Eric Blake
2016-03-02 4:55 ` Peter Xu
2016-02-23 10:52 ` [Qemu-devel] [PATCH 2/3] arm: gic: add "query-gic-capability" interface Peter Xu
2016-02-23 10:52 ` [Qemu-devel] [PATCH 3/3] arm: implement query-gic-capability Peter Xu
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=20160302033444.GA5730@pxdev.xzpeter.org \
--to=peterx@redhat.com \
--cc=abologna@redhat.com \
--cc=armbru@redhat.com \
--cc=drjones@redhat.com \
--cc=mdroth@linux.vnet.ibm.com \
--cc=peter.maydell@linaro.org \
--cc=qemu-devel@nongnu.org \
--cc=wei@redhat.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.