aboutsummaryrefslogtreecommitdiff
path: root/qapi-schema.json
diff options
context:
space:
mode:
authorViktor Mihajlovski <mihajlov@linux.vnet.ibm.com>2018-02-16 17:08:39 +0100
committerCornelia Huck <cohuck@redhat.com>2018-02-26 12:55:26 +0100
commitca230ff33f89bf7102cbfbc2328716da6750aaed (patch)
tree80c0471436b7b5b264545b5c5f6557fecfb6010b /qapi-schema.json
parentce74ee3dea6273a7a6aebc157f39cffd3e388097 (diff)
downloadqemu-ca230ff33f89bf7102cbfbc2328716da6750aaed.zip
qemu-ca230ff33f89bf7102cbfbc2328716da6750aaed.tar.gz
qemu-ca230ff33f89bf7102cbfbc2328716da6750aaed.tar.bz2
qmp: add architecture specific cpu data for query-cpus-fast
The s390 CPU state can be retrieved without interrupting the VM execution. Extendend the CpuInfoFast union with architecture specific data and an implementation for s390. Return data looks like this: [ {"thread-id":64301,"props":{"core-id":0}, "arch":"s390","cpu-state":"operating", "qom-path":"/machine/unattached/device[0]","cpu-index":0}, {"thread-id":64302,"props":{"core-id":1}, "arch":"s390","cpu-state":"operating", "qom-path":"/machine/unattached/device[1]","cpu-index":1} ] Signed-off-by: Viktor Mihajlovski <mihajlov@linux.vnet.ibm.com> Reviewed-by: Cornelia Huck <cohuck@redhat.com> Reviewed-by: Eric Blake <eblake@redhat.com> Message-Id: <1518797321-28356-4-git-send-email-mihajlov@linux.vnet.ibm.com> Signed-off-by: Cornelia Huck <cohuck@redhat.com>
Diffstat (limited to 'qapi-schema.json')
-rw-r--r--qapi-schema.json25
1 files changed, 18 insertions, 7 deletions
diff --git a/qapi-schema.json b/qapi-schema.json
index 815f072..e6ca63f 100644
--- a/qapi-schema.json
+++ b/qapi-schema.json
@@ -408,7 +408,7 @@
# @CpuInfoArch:
#
# An enumeration of cpu types that enable additional information during
-# @query-cpus.
+# @query-cpus and @query-cpus-fast.
#
# @s390: since 2.12
#
@@ -604,12 +604,24 @@
# @props: properties describing to which node/socket/core/thread
# virtual CPU belongs to, provided if supported by board
#
+# @arch: architecture of the cpu, which determines which additional fields
+# will be listed
+#
# Since: 2.12
#
##
-{ 'struct': 'CpuInfoFast',
- 'data': {'cpu-index': 'int', 'qom-path': 'str',
- 'thread-id': 'int', '*props': 'CpuInstanceProperties' } }
+{ 'union': 'CpuInfoFast',
+ 'base': {'cpu-index': 'int', 'qom-path': 'str',
+ 'thread-id': 'int', '*props': 'CpuInstanceProperties',
+ 'arch': 'CpuInfoArch' },
+ 'discriminator': 'arch',
+ 'data': { 'x86': 'CpuInfoOther',
+ 'sparc': 'CpuInfoOther',
+ 'ppc': 'CpuInfoOther',
+ 'mips': 'CpuInfoOther',
+ 'tricore': 'CpuInfoOther',
+ 's390': 'CpuInfoS390',
+ 'other': 'CpuInfoOther' } }
##
# @query-cpus-fast:
@@ -620,9 +632,6 @@
#
# Returns: list of @CpuInfoFast
#
-# Notes: The CPU architecture name is not returned by query-cpus-fast.
-# Use query-target to retrieve that information.
-#
# Since: 2.12
#
# Example:
@@ -637,6 +646,7 @@
# "socket-id": 0
# },
# "qom-path": "/machine/unattached/device[0]",
+# "arch":"x86",
# "cpu-index": 0
# },
# {
@@ -647,6 +657,7 @@
# "socket-id": 1
# },
# "qom-path": "/machine/unattached/device[2]",
+# "arch":"x86",
# "cpu-index": 1
# }
# ]