]> git.baikalelectronics.ru Git - kernel.git/commit
RISC-V: KVM: Add extensible CSR emulation framework
authorAnup Patel <apatel@ventanamicro.com>
Fri, 29 Jul 2022 11:44:53 +0000 (17:14 +0530)
committerAnup Patel <anup@brainfault.org>
Fri, 29 Jul 2022 11:44:53 +0000 (17:14 +0530)
commitb9688f618bf078bf616326c4d5cf74f5d12e2f0e
treeca9fef5fb33c95fe9580daf738f3c033e5c92270
parent399fdb448ffb6da02a9cfa8dbbbef0690ddb6292
RISC-V: KVM: Add extensible CSR emulation framework

We add an extensible CSR emulation framework which is based upon the
existing system instruction emulation. This will be useful to upcoming
AIA, PMU, Nested and other virtualization features.

The CSR emulation framework also has provision to emulate CSR in user
space but this will be used only in very specific cases such as AIA
IMSIC CSR emulation in user space or vendor specific CSR emulation
in user space.

By default, all CSRs not handled by KVM RISC-V will be redirected back
to Guest VCPU as illegal instruction trap.

Signed-off-by: Anup Patel <apatel@ventanamicro.com>
Signed-off-by: Anup Patel <anup@brainfault.org>
arch/riscv/include/asm/kvm_host.h
arch/riscv/include/asm/kvm_vcpu_insn.h
arch/riscv/kvm/vcpu.c
arch/riscv/kvm/vcpu_insn.c
include/uapi/linux/kvm.h