Re: [Qemu-devel] [PATCH v4 0/3] ARM: add query-gic-capabilities SMP command

2016-03-16 Thread Andrea Bolognani
On Wed, 2016-03-16 at 10:32 +, Peter Maydell wrote:
> On 8 March 2016 at 07:36, Peter Xu  wrote:
> > 
> > v4 changes:
> > - all: rename query-gic-capability to query-gic-capabilities [Andrea]
> > - patch 3: rename helper function to kvm_support_device, make it
> >   inline and lighter. [Drew]
> > 
> > v3 changes:
> > - patch 2: remove func declaration, add qmp header [Drew]
> > - patch 3: being able to detect KVM GIC capabilities even without
> >   kvm enabled [Andrea]: this is a little bit hacky, need some more
> >   review on this.
> > 
> > v2 changes:
> > - result layout change: use array and dict for the capability bits
> >   rather than a single array of strings [Andrea/Markus]
> > - spelling out what GIC is in doc [Eric]
> > 
> > This patch is to add ARM-specific command "query-gic-capability".
> > 
> > The new command can report which kind of GIC device the host/QEMU
> > support. The returned result is in the form of array.
> 
> Hi. I've made some code review comments on the specifics of the
> implementation, but really what I'd like to see is:
>  * an ack from the libvirt folks that this API meets their
>requirements

I have a working implementation of the libvirt part, but I need
to polish it up before it can be posted on the list; then other
libvirt folks will be able to provide feedback.

Cheers.

-- 
Andrea Bolognani
Software Engineer - Virtualization Team



Re: [Qemu-devel] [PATCH v4 0/3] ARM: add query-gic-capabilities SMP command

2016-03-16 Thread Peter Maydell
On 8 March 2016 at 07:36, Peter Xu  wrote:
> v4 changes:
> - all: rename query-gic-capability to query-gic-capabilities [Andrea]
> - patch 3: rename helper function to kvm_support_device, make it
>   inline and lighter. [Drew]
>
> v3 changes:
> - patch 2: remove func declaration, add qmp header [Drew]
> - patch 3: being able to detect KVM GIC capabilities even without
>   kvm enabled [Andrea]: this is a little bit hacky, need some more
>   review on this.
>
> v2 changes:
> - result layout change: use array and dict for the capability bits
>   rather than a single array of strings [Andrea/Markus]
> - spelling out what GIC is in doc [Eric]
>
> This patch is to add ARM-specific command "query-gic-capability".
>
> The new command can report which kind of GIC device the host/QEMU
> support. The returned result is in the form of array.

Hi. I've made some code review comments on the specifics of the
implementation, but really what I'd like to see is:
 * an ack from the libvirt folks that this API meets their
   requirements
 * an ack/review frem Eric or somebody else familiar with qmp
   that it's OK from a protocol perspective

since I'm not really able to judge those aspects.

thanks
-- PMM



[Qemu-devel] [PATCH v4 0/3] ARM: add query-gic-capabilities SMP command

2016-03-07 Thread Peter Xu
v4 changes:
- all: rename query-gic-capability to query-gic-capabilities [Andrea]
- patch 3: rename helper function to kvm_support_device, make it
  inline and lighter. [Drew]

v3 changes:
- patch 2: remove func declaration, add qmp header [Drew]
- patch 3: being able to detect KVM GIC capabilities even without
  kvm enabled [Andrea]: this is a little bit hacky, need some more
  review on this.

v2 changes:
- result layout change: use array and dict for the capability bits
  rather than a single array of strings [Andrea/Markus]
- spelling out what GIC is in doc [Eric]

This patch is to add ARM-specific command "query-gic-capability".

The new command can report which kind of GIC device the host/QEMU
support. The returned result is in the form of array.

Sample command and output:

{"execute": "query-gic-capability"}
{"return": [{"emulated": false, "version": 3, "kernel": false},
{"emulated": true, "version": 2, "kernel": true}]}

Testing:

Smoke tests on both x86 (emulated) and another moonshot ARM server.

Peter Xu (3):
  arm: qmp: add GICCapability struct
  arm: qmp: add query-gic-capabilities interface
  arm: implement query-gic-capabilities

 monitor.c|  8 +
 qapi-schema.json | 33 ++
 qmp-commands.hx  | 26 ++
 scripts/qapi.py  |  1 +
 target-arm/machine.c | 98 
 5 files changed, 166 insertions(+)

-- 
2.4.3