v7 changes: - patch 1 - add more to commit log, about how to use the results [Markus] - change interface from dict back to array [Markus, Eric] - patch 2 - kvm_arm_create_scratch_host_vcpu should raise error when init non-zero, but failed to find a good CPU model [Sergey] - patch 3 - rename function to kvm_device_supported [Sergey] - patch 4 - comment line from "FIXME" to "TODO" [Sergey] - make kvm-related part another function [Sergey] - change result to array to follow patch 1's change
v6 changes: - patch 1 (squashed into patch 2) - explain more about the following in commit message: why we need this command, and what does the entries mean [Markus] - explain what GIC is [Eric] - squash this patch into patch 2 [Eric] - patch 2 (new patch 1) - fix "does not implement" english error [Eric] - remove useless headers in target-arm/monitor.c [Markus] - remove this command from whitelist [Markus, Eric] - return dict rather than array, with single key points to the original array results [Markus, Eric] - patch 5 (new patch 4) - tiny change in implementation to suite the new interface. v5 changes: - patch 2: moved to target-arm/monitor.c (from target-arm/machine.c) [Peter] - patch 3: splitted into three patches: [all from Peter's comments] - patch 3 (new): leverage kvm_arm_create_scratch_host_vcpu(), tiny enhancement of old one to suite our need - patch 4: introduce kvm_support_device() in kvm-all.c - patch 5: do the implementation. 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 (4): arm: qmp: add query-gic-capabilities interface arm: enhance kvm_arm_create_scratch_host_vcpu kvm: add kvm_device_supported() helper function arm: implement query-gic-capabilities include/sysemu/kvm.h | 9 ++++++ kvm-all.c | 15 +++++++++ monitor.c | 8 +++++ qapi-schema.json | 36 +++++++++++++++++++++ qmp-commands.hx | 27 ++++++++++++++++ target-arm/Makefile.objs | 2 +- target-arm/kvm.c | 14 +++++++- target-arm/kvm_arm.h | 6 ++-- target-arm/monitor.c | 84 ++++++++++++++++++++++++++++++++++++++++++++++++ 9 files changed, 197 insertions(+), 4 deletions(-) create mode 100644 target-arm/monitor.c -- 2.4.3