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 (5): arm: qmp: add GICCapability struct arm: qmp: add query-gic-capabilities interface arm: enhance kvm_arm_create_scratch_host_vcpu kvm: add kvm_support_device() helper function arm: implement query-gic-capabilities include/sysemu/kvm.h | 9 +++++ kvm-all.c | 15 +++++++++ monitor.c | 8 +++++ qapi-schema.json | 33 +++++++++++++++++++ qmp-commands.hx | 26 +++++++++++++++ scripts/qapi.py | 1 + target-arm/Makefile.objs | 2 +- target-arm/kvm.c | 10 +++++- target-arm/kvm_arm.h | 6 ++-- target-arm/monitor.c | 86 ++++++++++++++++++++++++++++++++++++++++++++++++ 10 files changed, 192 insertions(+), 4 deletions(-) create mode 100644 target-arm/monitor.c -- 2.4.3