qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [PATCH 1/3] arm: gic: add GICType


From: Markus Armbruster
Subject: Re: [Qemu-devel] [PATCH 1/3] arm: gic: add GICType
Date: Wed, 02 Mar 2016 14:59:57 +0100
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/24.5 (gnu/linux)

Peter Xu <address@hidden> writes:

> On Wed, Mar 02, 2016 at 10:47:39AM +0100, Markus Armbruster wrote:
>> Peter Xu <address@hidden> writes:
>> > If temporarily not considering kernel_irqchip=split case:
>> >
>> > [{
>> >     "version": 2,
>> >     "emulated": true,
>> >     "kernel": true
>> > },
>> > {
>> >     "version": 3,
>> >     "emulated": false,
>> >     "kernel": true
>> > }]
>> >
>> > To use array rather than dict so that we do not need to change qapi
>> > schema again when GICv4 comes.
>> 
>> Drive-by shooting without sufficient context: we may *want* to change
>> the QAPI schema, because that makes the change introspectable with
>> query-schema.
>
> Failed to catch the point. :(
>
> What's "query-schema"? Is that a QMP command?

Yes.

More than you ever wanted to know:
http://events.linuxfoundation.org/sites/events/files/slides/armbru-qemu-introspection.pdf
https://www.youtube.com/watch?v=IEa8Ao8_B9o&list=PLW3ep1uCIRfyLNSu708gWG7uvqlolk0ep&index=28

> What I meant is that, we can define the following (for example):
>
> { 'struct': 'GICCapInfo',
>   'data': [
>     'version': 'int',
>     'emulated': 'bool',
>     'kernel': 'bool'] }
>
> And:
>
> { 'command': 'query-gic-capability',
>   'returns': ['GICCapInfo'] }
>
> So we can keep this schema as it is when new versions arrive. We
> can just push another element in.

To answer questions of the sort "can this QEMU version do X?", it's
often useful to tie X to a schema change that is visible in the result
of query-schema.

Often != always.  I'd rather not mess with the schema in unnatural ways
just to make something visible in query-schema.

Note that "can this *board* do X" is a different question.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]