The TARGET_BASE_ARCH values from "configure" don't all map to the
@CpuInfoArch enum constants; in particular "s390x" from the former does
not match @s390 in the latter. Clients are known to rely on the @s390
constant specifically, so we can't change it silently. Instead, deprecate
the @CpuInfoFast.@arch member (in favor of @CpuInfoFast.@target) using the
regular deprecation process.
(No deprecation reminder is added to sysemu_target_to_cpuinfo_arch(): once
@CpuInfoFast.@arch is removed, the assignment expression that calls
sysemu_target_to_cpuinfo_arch() from qmp_query_cpus_fast() will have to
disappear; in turn the static function left without callers will also
break the build, thus it'll have to go.)
Cc: "Daniel P. Berrange" <berrange@redhat.com>
Cc: Eric Blake <eblake@redhat.com>
Cc: Markus Armbruster <armbru@redhat.com>
Signed-off-by: Laszlo Ersek <lersek@redhat.com>
---
Notes:
PATCHv3:
- new patch [Markus, Eric]
qapi/misc.json | 8 ++++----
qemu-doc.texi | 5 +++++
2 files changed, 9 insertions(+), 4 deletions(-)
diff --git a/qapi/misc.json b/qapi/misc.json
index fa4eec7b6b63..f5988cc0b52d 100644
--- a/qapi/misc.json
+++ b/qapi/misc.json
@@ -550,27 +550,27 @@
# Information about a virtual CPU
#
# @cpu-index: index of the virtual CPU
#
# @qom-path: path to the CPU object in the QOM tree
#
# @thread-id: ID of the underlying host thread
#
# @props: properties describing to which node/socket/core/thread
# virtual CPU belongs to, provided if supported by board
#
-# @arch: base architecture of the cpu
+# @arch: base architecture of the cpu; deprecated since 2.13.0 in favor
+# of @target
#
-# @target: the QEMU system emulation target, which is more specific than
-# @arch and determines which additional fields will be listed
-# (since 2.13)
+# @target: the QEMU system emulation target, which determines which
+# additional fields will be listed (since 2.13)
#
# Since: 2.12
#
##
{ 'union' : 'CpuInfoFast',
'base' : { 'cpu-index' : 'int',
'qom-path' : 'str',
'thread-id' : 'int',
'*props' : 'CpuInstanceProperties',
'arch' : 'CpuInfoArch',
'target' : 'SysEmuTarget' },
diff --git a/qemu-doc.texi b/qemu-doc.texi
index 5813d276156a..0ed0f19e6bab 100644
--- a/qemu-doc.texi
+++ b/qemu-doc.texi
@@ -2941,22 +2941,27 @@ by the ``convert -l snapshot_param'' argument instead.
@section QEMU Machine Protocol (QMP) commands
@subsection block-dirty-bitmap-add "autoload" parameter (since 2.12.0)
"autoload" parameter is now ignored. All bitmaps are automatically loaded
from qcow2 images.
@subsection query-cpus (since 2.12.0)
The ``query-cpus'' command is replaced by the ``query-cpus-fast'' command.
+@subsection query-cpus-fast "arch" output member (since 2.13.0)
+
+The ``arch'' output member of the ``query-cpus-fast'' command is
+replaced by the ``target'' output member.
+
@section System emulator devices
@subsection ivshmem (since 2.6.0)
The ``ivshmem'' device type is replaced by either the ``ivshmem-plain''
or ``ivshmem-doorbell`` device types.
@subsection Page size support < 4k for embedded PowerPC CPUs (since 2.12.0)
qemu-system-ppcemb will be removed. qemu-system-ppc (or qemu-system-ppc64)
should be used instead. That means that embedded 4xx PowerPC CPUs will not
--
2.14.1.3.gb7cf6e02401b
On 04/27/2018 02:28 PM, Laszlo Ersek wrote: > The TARGET_BASE_ARCH values from "configure" don't all map to the > @CpuInfoArch enum constants; in particular "s390x" from the former does > not match @s390 in the latter. Clients are known to rely on the @s390 > constant specifically, so we can't change it silently. Instead, deprecate > the @CpuInfoFast.@arch member (in favor of @CpuInfoFast.@target) using the > regular deprecation process. > > (No deprecation reminder is added to sysemu_target_to_cpuinfo_arch(): once > @CpuInfoFast.@arch is removed, the assignment expression that calls > sysemu_target_to_cpuinfo_arch() from qmp_query_cpus_fast() will have to > disappear; in turn the static function left without callers will also > break the build, thus it'll have to go.) > > Cc: "Daniel P. Berrange" <berrange@redhat.com> > Cc: Eric Blake <eblake@redhat.com> > Cc: Markus Armbruster <armbru@redhat.com> > Signed-off-by: Laszlo Ersek <lersek@redhat.com> > --- > Reviewed-by: Eric Blake <eblake@redhat.com> -- Eric Blake, Principal Software Engineer Red Hat, Inc. +1-919-301-3266 Virtualization: qemu.org | libvirt.org
Laszlo Ersek <lersek@redhat.com> writes: > The TARGET_BASE_ARCH values from "configure" don't all map to the > @CpuInfoArch enum constants; in particular "s390x" from the former does > not match @s390 in the latter. Clients are known to rely on the @s390 > constant specifically, so we can't change it silently. Instead, deprecate > the @CpuInfoFast.@arch member (in favor of @CpuInfoFast.@target) using the > regular deprecation process. > > (No deprecation reminder is added to sysemu_target_to_cpuinfo_arch(): once > @CpuInfoFast.@arch is removed, the assignment expression that calls > sysemu_target_to_cpuinfo_arch() from qmp_query_cpus_fast() will have to > disappear; in turn the static function left without callers will also > break the build, thus it'll have to go.) > > Cc: "Daniel P. Berrange" <berrange@redhat.com> > Cc: Eric Blake <eblake@redhat.com> > Cc: Markus Armbruster <armbru@redhat.com> > Signed-off-by: Laszlo Ersek <lersek@redhat.com> Reviewed-by: Markus Armbruster <armbru@redhat.com>
© 2016 - 2025 Red Hat, Inc.