RISC-V: KVM: Allow Zicond extension for Guest/VM
authorAnup Patel <apatel@ventanamicro.com>
Fri, 15 Sep 2023 12:21:10 +0000 (17:51 +0530)
committerAnup Patel <anup@brainfault.org>
Thu, 12 Oct 2023 13:14:23 +0000 (18:44 +0530)
We extend the KVM ISA extension ONE_REG interface to allow KVM
user space to detect and enable Zicond extension 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>
arch/riscv/include/uapi/asm/kvm.h
arch/riscv/kvm/vcpu_onereg.c

index b1baf6f096a3502f6ac669b4d5bcad94c5e631a7..917d8cc2489e500989b51022ae0d5f2b5a6ec93e 100644 (file)
@@ -138,6 +138,7 @@ enum KVM_RISCV_ISA_EXT_ID {
        KVM_RISCV_ISA_EXT_ZIFENCEI,
        KVM_RISCV_ISA_EXT_ZIHPM,
        KVM_RISCV_ISA_EXT_SMSTATEEN,
+       KVM_RISCV_ISA_EXT_ZICOND,
        KVM_RISCV_ISA_EXT_MAX,
 };
 
index 388599fcf684cebfaace6bed9fb5520d0bacfb34..c6ebce6126b55006a2714a43d5cd3f123636d654 100644 (file)
@@ -46,6 +46,7 @@ static const unsigned long kvm_isa_ext_arr[] = {
        KVM_ISA_EXT_ARR(ZICBOM),
        KVM_ISA_EXT_ARR(ZICBOZ),
        KVM_ISA_EXT_ARR(ZICNTR),
+       KVM_ISA_EXT_ARR(ZICOND),
        KVM_ISA_EXT_ARR(ZICSR),
        KVM_ISA_EXT_ARR(ZIFENCEI),
        KVM_ISA_EXT_ARR(ZIHINTPAUSE),
@@ -93,6 +94,7 @@ static bool kvm_riscv_vcpu_isa_disable_allowed(unsigned long ext)
        case KVM_RISCV_ISA_EXT_ZBB:
        case KVM_RISCV_ISA_EXT_ZBS:
        case KVM_RISCV_ISA_EXT_ZICNTR:
+       case KVM_RISCV_ISA_EXT_ZICOND:
        case KVM_RISCV_ISA_EXT_ZICSR:
        case KVM_RISCV_ISA_EXT_ZIFENCEI:
        case KVM_RISCV_ISA_EXT_ZIHINTPAUSE: