]> git.proxmox.com Git - mirror_qemu.git/commit
target/riscv/kvm: get/set vector vregs[]
authorDaniel Henrique Barboza <dbarboza@ventanamicro.com>
Tue, 23 Jan 2024 16:17:14 +0000 (13:17 -0300)
committerAlistair Francis <alistair.francis@wdc.com>
Fri, 9 Feb 2024 10:43:14 +0000 (20:43 +1000)
commit6f4a6248bb647d4fc6a349b448038a24eceb4d95
tree08cce8d68053457cd48644b9d28a4bf36f322dc6
parentd4ff3da8f45c52670941c6e1b94e771d69d887e9
target/riscv/kvm: get/set vector vregs[]

vregs[] have variable size that depends on the current vlenb set by the
host, meaning we can't use our regular kvm_riscv_reg_id() to retrieve
it.

Create a generic kvm_encode_reg_size_id() helper to encode any given
size in bytes into a given kvm reg id. kvm_riscv_vector_reg_id() will
use it to encode vlenb into a given vreg ID.

kvm_riscv_(get|set)_vector() can then get/set all 32 vregs.

Signed-off-by: Daniel Henrique Barboza <dbarboza@ventanamicro.com>
Acked-by: Alistair Francis <alistair.francis@wdc.com>
Message-ID: <20240123161714.160149-4-dbarboza@ventanamicro.com>
Signed-off-by: Alistair Francis <alistair.francis@wdc.com>
target/riscv/kvm/kvm-cpu.c