On Mon, 2016-03-07 at 12:23 +0800, Peter Xu wrote: > 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-capability interface > arm: implement query-gic-capability > > monitor.c | 8 ++++ > qapi-schema.json | 33 ++++++++++++++++ > qmp-commands.hx | 26 ++++++++++++ > scripts/qapi.py | 1 + > target-arm/machine.c | 109 >+++++++++++++++++++++++++++++++++++++++++++++++++++ > 5 files changed, 177 insertions(+)
I tested this both on a v2-only machine {"return": [ {"emulated": false, "version": 3, "kernel": false}, {"emulated": true, "version": 2, "kernel": true} ]} and on a v3-only machine {"return": [ {"emulated": false, "version": 3, "kernel": true}, {"emulated": true, "version": 2, "kernel": false} ]} The output looks good to me - I'll leave reviewing the implementation to someone with more QEMU knowledge than me, that is, any QEMU knowledge at all ;) One last, purely cosmetic, bit: should the command name be query-gic-capabilities rather than query-gic-capability? Any native speaker feels like weighing in? Cheers. -- Andrea Bolognani Software Engineer - Virtualization Team