Re: [PATCH v2 1/1] cpu_riscv64.c: add update() implementation

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Fri, Apr 28, 2023 at 04:57:28PM -0300, Daniel Henrique Barboza wrote:
> At this moment it is not possible to launch a 'riscv64' domain if a CPU
> definition is presented in the domain. For example, adding this CPU
> definition:
>
>   <cpu mode='custom' match='exact' check='none'>
>     <model fallback='forbid'>rv64</model>
>   </cpu>
>
> Will trigger the following error:
>
> $ sudo ./run tools/virsh start riscv-virt1
> error: Failed to start domain 'riscv-virt1'
> error: this function is not supported by the connection driver:
>        cannot update guest CPU for riscv64 architecture
>
> The error comes from virCPUUpdate(), via qemuProcessUpdateGuestCPU(),
> and it's caused by the absence of the 'update' API in the existing
> RISC-V driver.
>
> Add an 'update' API impl to the RISC-V driver to allow for CPU
> definitions to be declared in RISC-V domains. This API was copied from
> the ARM driver (virCPUarmUpdate()) since it's a good enough
> implementation to get us going.
>
> Signed-off-by: Daniel Henrique Barboza <dbarboza@xxxxxxxxxxxxxxxx>
> ---
>  po/POTFILES           |  1 +
>  src/cpu/cpu_riscv64.c | 28 +++++++++++++++++++++++++++-
>  2 files changed, 28 insertions(+), 1 deletion(-)

Using the Arm CPU driver as a base sounds reasonable, as they
currently have the same level (read: pretty low) of sophistication.

I've tested this against both the current version of QEMU and the
upcoming one which implements query-cpu-definitions, and it works as
expected.

  Reviewed-by: Andrea Bolognani <abologna@xxxxxxxxxx>

and pushed.

-- 
Andrea Bolognani / Red Hat / Virtualization




[Index of Archives]     [Virt Tools]     [Libvirt Users]     [Lib OS Info]     [Fedora Users]     [Fedora Desktop]     [Fedora SELinux]     [Big List of Linux Books]     [Yosemite News]     [KDE Users]     [Fedora Tools]

  Powered by Linux