On 04/24/2018 04:45 PM, Laszlo Ersek wrote: > Commit 25fa194b7b11 added the @riscv enum constant to @CpuInfoArch (used > in both @CpuInfo and @CpuInfoFast -- the return types of the @query-cpus > and @query-cpus-fast commands, respectively), and assigned, in both return > structures, the @CpuInfoRISCV sub-structure to the new enum value. > > However, qmp_query_cpus_fast() would not populate either the @arch field > or the @CpuInfoRISCV sub-structure, when TARGET_RISCV was defined; only > qmp_query_cpus() would. > > In theory, there are two ways to fix this: > > (a) Fill in both the @arch field and the @CpuInfoRISCV sub-structure in > qmp_query_cpus_fast(), by copying the logic from qmp_query_cpus(). > > (b) Assign @CpuInfoOther to the @riscv enum constant in @CpuInfoFast, and > populate only the @arch field in qmp_query_cpus_fast(). > > Approach (b) seems more robust, because: > > - clearly there has never been an attempt to get actual RISV CPU state > from qmp_query_cpus_fast(), so its lack of RISCV support is not actually > a problem, > > - getting CPU state without interrupting KVM looks like an exceptional > thing to do (only S390X does it currently). > ... > Cc: qemu-stable@nongnu.org > Fixes: 25fa194b7b11901561532e435beb83d046899f7a > Signed-off-by: Laszlo Ersek > --- > Reviewed-by: Eric Blake -- Eric Blake, Principal Software Engineer Red Hat, Inc. +1-919-301-3266 Virtualization: qemu.org | libvirt.org