[libvirt] [PATCH v7 0/4] ARM: add query-gic-capabilities QMP command

Peter Xu peterx at redhat.com
Thu Mar 24 02:55:38 UTC 2016


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




More information about the libvir-list mailing list