summaryrefslogtreecommitdiff
path: root/arch/riscv/kvm/vcpu_insn.c
diff options
context:
space:
mode:
authorAtish Patra <atishp@rivosinc.com>2023-02-07 12:55:26 +0300
committerAnup Patel <anup@brainfault.org>2023-02-07 18:06:01 +0300
commita9ac6c37521ff3f81eba7fada8773c362652d75f (patch)
tree1f086938288606f2eadbfbda47053861193ab053 /arch/riscv/kvm/vcpu_insn.c
parentf04bafb52f580552dc22bfb5b7af9a5dbcc2254f (diff)
downloadlinux-a9ac6c37521ff3f81eba7fada8773c362652d75f.tar.xz
RISC-V: KVM: Implement trap & emulate for hpmcounters
As the KVM guests only see the virtual PMU counters, all hpmcounter access should trap and KVM emulates the read access on behalf of guests. Reviewed-by: Anup Patel <anup@brainfault.org> Reviewed-by: Andrew Jones <ajones@ventanamicro.com> Signed-off-by: Atish Patra <atishp@rivosinc.com> Signed-off-by: Anup Patel <anup@brainfault.org>
Diffstat (limited to 'arch/riscv/kvm/vcpu_insn.c')
-rw-r--r--arch/riscv/kvm/vcpu_insn.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/arch/riscv/kvm/vcpu_insn.c b/arch/riscv/kvm/vcpu_insn.c
index 0bb52761a3f7..f689337b78ff 100644
--- a/arch/riscv/kvm/vcpu_insn.c
+++ b/arch/riscv/kvm/vcpu_insn.c
@@ -213,7 +213,9 @@ struct csr_func {
unsigned long wr_mask);
};
-static const struct csr_func csr_funcs[] = { };
+static const struct csr_func csr_funcs[] = {
+ KVM_RISCV_VCPU_HPMCOUNTER_CSR_FUNCS
+};
/**
* kvm_riscv_vcpu_csr_return -- Handle CSR read/write after user space