On Mon, Feb 15, 2016 at 08:40:54PM +0100, Markus Armbruster wrote:
Peter Maydell <peter.maydell(a)linaro.org> writes:
> On 15 February 2016 at 15:08, Markus Armbruster <armbru(a)redhat.com> wrote:
>> Peter Xu <peterx(a)redhat.com> writes:
>>> On Mon, Feb 15, 2016 at 10:52:01AM +0100, Markus Armbruster wrote:
>>>> Peter Xu <peterx(a)redhat.com> writes:
>>>> Adding ad hoc queries as we go won't scale. Is there really no
generic
>>>> way to get this information, e.g. with qom-get?
>>>
>>> Haven't used "qom-get" before, but it seems to fetch one
property
>>> for a specific object. If so, will it be strange to hide some
>>> capability bits into every GIC objects (though there is possibly
>>> one object)?
>>
>> Pardon my ignorance... what are these "GIC objects"?
>>
>> What exactly is the "GIC type", and how would the result of
>> query-gic-capability be used?
>
> The GIC type (for our purposes) is the revision of the interrupt
> controller supported by the host, which comes in two versions
> (v2 and v3). These are not compatible, unless your host has
> the v3-with-v2-compat flavour. If a host is v3-only, it is not
> possible for it to give the guest a v2 virtual interrupt
> controller; if v2, it can't give the guest a v3 virtual interrupt
> controller. (If you ask QEMU to do this via command line options
> we will report an error at startup.)
How would the command line look like?
Here is what is available today
# select gicv2 (this work with and without KVM)
qemu-system-aarch64 -M virt # v2 is the default
qemu-system-aarch64 -M virt,gic-version=2 ...
# select gicv3 (only works with KVM)
qemu-system-aarch64 -M virt,gic-version=3 ...
# select whatever the host has
qemu-system-aarch64 -M virt,gic-version=host ...
Thanks,
drew