From: Stefan Hajnoczi Date: Wed, 16 Jul 2025 11:13:40 +0000 (-0400) Subject: Merge tag 'accel-20250715' of https://github.com/philmd/qemu into staging X-Git-Tag: v10.1.0-rc0~12 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=f96b157ebb93f94cd56ebbc99bc20982b8fd86ef;p=thirdparty%2Fqemu.git Merge tag 'accel-20250715' of https://github.com/philmd/qemu into staging Accelerators patches - Unify x86/arm hw/xen/arch_hvm.h header - Move non-system-specific 'accel/accel-ops.h' and 'accel-cpu-ops.h' to accel/ - Move KVM definitions qapi/accelerator.json - Add @qom-type field to CpuInfoFast QAPI structure - Display CPU model name in 'info cpus' HMP command - Introduce @x-accel-stats QMP command - Add 'info accel' on HMP - Improve qemu_add_vm_change_state_handler*() docstring - Extract TCG statistic related code to tcg-stats.c - Implement AccelClass::get_[vcpu]_stats() handlers for TCG and HVF - Do not dump NaN in TCG statistics - Revert incomplete "accel/tcg: Unregister the RCU before exiting RR thread" # -----BEGIN PGP SIGNATURE----- # # iQIzBAABCAAdFiEE+qvnXhKRciHc/Wuy4+MsLN6twN4FAmh2r4UACgkQ4+MsLN6t # wN5i6xAAkOvwFh1GmsPUdz5RxzsWoIUDvyENg6E8Axwe5tSEMRFiPjabbTQJomQg # GZt75XIS24LZFZ+hvqrLSA+dFgXTgWv08ZE81EjwjmAMBlLCOPhCgeN6C1p8100Y # scSvRJbP9k9lpA5K7et/1X4AkK2cZyh+LGJgCjr2Al2mbERpPueDF8fxqeohFvXQ # nTSks4XlA0yQ06+9r49aQAiuXvgg9lDT1wIglD2HEV7vOVs/ud+yyL8+z5YMeFzx # pSIc6wDu4PqdA46w4MZs90uTy7S/PMvBiYDEiV3tKzg0MLttvFGlT58/YjVtguTP # mNkfwIEwQtDQzoxsFIJO7yBTlTRBs95V4aIVk3pB+Gb/bideRPIkeVQvgMSEBKj7 # N0pEXWOxfB9iIWO6b1utYpQ4uxeDOU/8DPUCit1IBbNgKTaJkJb77fboYk7NaB0K # KEtObAk6jMatB/xr+vUFWc4sMk9wlm72w8wcQzgKZ0xV2U3d1/Y/9nS4GvI510ev # TRQ3mKj7N319uCeId1czF6W8rillCJ2u8ZK53u+Nfp7R3PbsRSMc6IDJ1UdDUlyR # HFcWHxbcbEGhe8SnFGab4Qd6fWChcn2EaEoAJJz+Rqv0k3zcwqccNM5waCABAjTE # 0S22JIHePJKcpkMLGq3EOUAQuu+8Zsol7gPCLxSAMclVqPTl9ck= # =rAav # -----END PGP SIGNATURE----- # gpg: Signature made Tue 15 Jul 2025 15:44:05 EDT # gpg: using RSA key FAABE75E12917221DCFD6BB2E3E32C2CDEADC0DE # gpg: Good signature from "Philippe Mathieu-Daudé (F4BUG) " [full] # Primary key fingerprint: FAAB E75E 1291 7221 DCFD 6BB2 E3E3 2C2C DEAD C0DE * tag 'accel-20250715' of https://github.com/philmd/qemu: system/runstate: Document qemu_add_vm_change_state_handler_prio* in hdr system/runstate: Document qemu_add_vm_change_state_handler() accel/hvf: Implement AccelClass::get_vcpu_stats() handler accel/tcg: Implement AccelClass::get_stats() handler accel/tcg: Propagate AccelState to dump_accel_info() accel/system: Add 'info accel' on human monitor accel/system: Introduce @x-accel-stats QMP command accel/tcg: Extract statistic related code to tcg-stats.c Revert "accel/tcg: Unregister the RCU before exiting RR thread" accel: Extract AccelClass definition to 'accel/accel-ops.h' accel: Rename 'system/accel-ops.h' -> 'accel/accel-cpu-ops.h' accel/tcg: Do not dump NaN statistics hw/core/machine: Display CPU model name in 'info cpus' command qapi/machine: Add @qom-type field to CpuInfoFast structure qapi/accel: Move definitions related to accelerators in their own file hw/arm/xen-pvh: Remove unnecessary 'hw/xen/arch_hvm.h' header hw/xen/arch_hvm: Unify x86 and ARM variants Signed-off-by: Stefan Hajnoczi Conflicts: qapi/machine.json Commit 0462da9d6b19 ("qapi: remove trivial "Returns:" sections") removed trivial "Returns:". This caused a conflict with the move from machine.json to accelerator.json. --- f96b157ebb93f94cd56ebbc99bc20982b8fd86ef diff --cc cpu-target.c index 20db5ff3108,2049eb1d0f6..772e35495b8 --- a/cpu-target.c +++ b/cpu-target.c @@@ -19,9 -19,10 +19,9 @@@ #include "qemu/osdep.h" #include "cpu.h" - #include "system/accel-ops.h" + #include "accel/accel-cpu-ops.h" #include "system/cpus.h" #include "exec/cpu-common.h" -#include "exec/tswap.h" #include "exec/replay-core.h" #include "exec/log.h" #include "hw/core/cpu.h" diff --cc qapi/accelerator.json index 00000000000,6029e7307a7..28d5ff4c493 mode 000000,100644..100644 --- a/qapi/accelerator.json +++ b/qapi/accelerator.json @@@ -1,0 -1,56 +1,54 @@@ + # -*- Mode: Python -*- + # vim: filetype=python + # + # SPDX-License-Identifier: GPL-2.0-or-later + + ## + # = Accelerators + ## + + { 'include': 'common.json' } + + ## + # @KvmInfo: + # + # Information about support for KVM acceleration + # + # @enabled: true if KVM acceleration is active + # + # @present: true if KVM acceleration is built into this executable + # + # Since: 0.14 + ## + { 'struct': 'KvmInfo', 'data': {'enabled': 'bool', 'present': 'bool'} } + + ## + # @query-kvm: + # + # Return information about KVM acceleration + # -# Returns: @KvmInfo -# + # Since: 0.14 + # + # .. qmp-example:: + # + # -> { "execute": "query-kvm" } + # <- { "return": { "enabled": true, "present": true } } + ## + { 'command': 'query-kvm', 'returns': 'KvmInfo' } + + ## + # @x-accel-stats: + # + # Query accelerator statistics + # + # Features: + # + # @unstable: This command is meant for debugging. + # + # Returns: accelerator statistics + # + # Since: 10.1 + ## + { 'command': 'x-accel-stats', + 'returns': 'HumanReadableText', + 'features': [ 'unstable' ] }