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-sta...@nongnu.org
> Fixes: 25fa194b7b11901561532e435beb83d046899f7a
> Signed-off-by: Laszlo Ersek <ler...@redhat.com>
> ---
> 

Reviewed-by: Eric Blake <ebl...@redhat.com>

-- 
Eric Blake, Principal Software Engineer
Red Hat, Inc.           +1-919-301-3266
Virtualization:  qemu.org | libvirt.org

Attachment: signature.asc
Description: OpenPGP digital signature

Reply via email to