Skip to content

Commit 043cba0

Browse files
committed
RISC-V: KVM: Allow Zicntr, Zicsr, Zifencei, and Zihpm for Guest/VM
We extend the KVM ISA extension ONE_REG interface to allow KVM user space to detect and enable Zicntr, Zicsr, Zifencei, and Zihpm extensions for Guest/VM. Signed-off-by: Anup Patel <apatel@ventanamicro.com> Reviewed-by: Andrew Jones <ajones@ventanamicro.com> Signed-off-by: Anup Patel <anup@brainfault.org>
1 parent 4171686 commit 043cba0

2 files changed

Lines changed: 12 additions & 0 deletions

File tree

arch/riscv/include/uapi/asm/kvm.h

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -126,6 +126,10 @@ enum KVM_RISCV_ISA_EXT_ID {
126126
KVM_RISCV_ISA_EXT_SVNAPOT,
127127
KVM_RISCV_ISA_EXT_ZBA,
128128
KVM_RISCV_ISA_EXT_ZBS,
129+
KVM_RISCV_ISA_EXT_ZICNTR,
130+
KVM_RISCV_ISA_EXT_ZICSR,
131+
KVM_RISCV_ISA_EXT_ZIFENCEI,
132+
KVM_RISCV_ISA_EXT_ZIHPM,
129133
KVM_RISCV_ISA_EXT_MAX,
130134
};
131135

arch/riscv/kvm/vcpu_onereg.c

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,11 @@ static const unsigned long kvm_isa_ext_arr[] = {
4141
KVM_ISA_EXT_ARR(ZBA),
4242
KVM_ISA_EXT_ARR(ZBB),
4343
KVM_ISA_EXT_ARR(ZBS),
44+
KVM_ISA_EXT_ARR(ZICNTR),
45+
KVM_ISA_EXT_ARR(ZICSR),
46+
KVM_ISA_EXT_ARR(ZIFENCEI),
4447
KVM_ISA_EXT_ARR(ZIHINTPAUSE),
48+
KVM_ISA_EXT_ARR(ZIHPM),
4549
KVM_ISA_EXT_ARR(ZICBOM),
4650
KVM_ISA_EXT_ARR(ZICBOZ),
4751
};
@@ -83,7 +87,11 @@ static bool kvm_riscv_vcpu_isa_disable_allowed(unsigned long ext)
8387
case KVM_RISCV_ISA_EXT_SSTC:
8488
case KVM_RISCV_ISA_EXT_SVINVAL:
8589
case KVM_RISCV_ISA_EXT_SVNAPOT:
90+
case KVM_RISCV_ISA_EXT_ZICNTR:
91+
case KVM_RISCV_ISA_EXT_ZICSR:
92+
case KVM_RISCV_ISA_EXT_ZIFENCEI:
8693
case KVM_RISCV_ISA_EXT_ZIHINTPAUSE:
94+
case KVM_RISCV_ISA_EXT_ZIHPM:
8795
case KVM_RISCV_ISA_EXT_ZBA:
8896
case KVM_RISCV_ISA_EXT_ZBB:
8997
case KVM_RISCV_ISA_EXT_ZBS:

0 commit comments

Comments
 (0)