]> git.ipfire.org Git - thirdparty/libvirt.git/commit
cpu_riscv64.c: add update() implementation
authorDaniel Henrique Barboza <dbarboza@ventanamicro.com>
Fri, 28 Apr 2023 19:57:28 +0000 (16:57 -0300)
committerAndrea Bolognani <abologna@redhat.com>
Thu, 4 May 2023 12:15:15 +0000 (14:15 +0200)
commitd4c39bad85206fdb2398d18efc3c2441532a1abe
tree5c1a8e894f729f133fa06209c7d94ec3465c2cd1
parent2f197ab6959b2f2c39c922c3ffbdbf45aa6e8eb6
cpu_riscv64.c: add update() implementation

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@ventanamicro.com>
Reviewed-by: Andrea Bolognani <abologna@redhat.com>
po/POTFILES
src/cpu/cpu_riscv64.c