We're missing scounteren and senvcfg CSRs, both already present in the KVM UAPI.
Signed-off-by: Daniel Henrique Barboza <dbarb...@ventanamicro.com> Reviewed-by: Andrew Jones <ajo...@ventanamicro.com> Acked-by: Alistair Francis <alistair.fran...@wdc.com> Signed-off-by: Alistair Francis <alistair.fran...@wdc.com> --- target/riscv/kvm/kvm-cpu.c | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/target/riscv/kvm/kvm-cpu.c b/target/riscv/kvm/kvm-cpu.c index ec74520872..a91a87b175 100644 --- a/target/riscv/kvm/kvm-cpu.c +++ b/target/riscv/kvm/kvm-cpu.c @@ -251,6 +251,11 @@ static KVMCPUConfig kvm_csr_cfgs[] = { KVM_CSR_CFG("stval", stval, sizeof(target_ulong), RISCV_CSR_REG(stval)), KVM_CSR_CFG("sip", mip, sizeof(uint64_t), RISCV_CSR_REG(sip)), KVM_CSR_CFG("satp", satp, sizeof(target_ulong), RISCV_CSR_REG(satp)), + KVM_CSR_CFG("scounteren", scounteren, sizeof(uint32_t), + RISCV_CSR_REG(scounteren)), + KVM_CSR_CFG("senvcfg", senvcfg, sizeof(target_ulong), + RISCV_CSR_REG(senvcfg)), + }; static void *kvmconfig_get_env_addr(RISCVCPU *cpu, KVMCPUConfig *csr_cfg) @@ -696,6 +701,8 @@ static void kvm_riscv_reset_regs_csr(CPURISCVState *env) env->stval = 0; env->mip = 0; env->satp = 0; + env->scounteren = 0; + env->senvcfg = 0; } static int kvm_riscv_get_regs_fp(CPUState *cs) -- 2.49.0