RISC-V: KVM: Allow Zcmop extension for Guest/VM
authorClément Léger <cleger@rivosinc.com>
Wed, 19 Jun 2024 11:35:25 +0000 (13:35 +0200)
committerPalmer Dabbelt <palmer@rivosinc.com>
Wed, 26 Jun 2024 14:54:59 +0000 (07:54 -0700)
Extend the KVM ISA extension ONE_REG interface to allow KVM user space
to detect and enable Zcmop extension for Guest/VM.

Signed-off-by: Clément Léger <cleger@rivosinc.com>
Reviewed-by: Anup Patel <anup@brainfault.org>
Acked-by: Anup Patel <anup@brainfault.org>
Link: https://lore.kernel.org/r/20240619113529.676940-16-cleger@rivosinc.com
Signed-off-by: Palmer Dabbelt <palmer@rivosinc.com>
arch/riscv/include/uapi/asm/kvm.h
arch/riscv/kvm/vcpu_onereg.c

index 71b17a6799e6b90a6248d45476c018dd56d6e5f6..a6215634df7c436020d44d58c44a942990025a90 100644 (file)
@@ -173,6 +173,7 @@ enum KVM_RISCV_ISA_EXT_ID {
        KVM_RISCV_ISA_EXT_ZCB,
        KVM_RISCV_ISA_EXT_ZCD,
        KVM_RISCV_ISA_EXT_ZCF,
+       KVM_RISCV_ISA_EXT_ZCMOP,
        KVM_RISCV_ISA_EXT_MAX,
 };
 
index f68b15b15f0e1941d609317a2be8858094d2d64c..fa5ee544bc69cf67faea7f4c5d4b75e41fb3793d 100644 (file)
@@ -53,6 +53,7 @@ static const unsigned long kvm_isa_ext_arr[] = {
        KVM_ISA_EXT_ARR(ZCB),
        KVM_ISA_EXT_ARR(ZCD),
        KVM_ISA_EXT_ARR(ZCF),
+       KVM_ISA_EXT_ARR(ZCMOP),
        KVM_ISA_EXT_ARR(ZFA),
        KVM_ISA_EXT_ARR(ZFH),
        KVM_ISA_EXT_ARR(ZFHMIN),
@@ -142,6 +143,7 @@ static bool kvm_riscv_vcpu_isa_disable_allowed(unsigned long ext)
        case KVM_RISCV_ISA_EXT_ZCB:
        case KVM_RISCV_ISA_EXT_ZCD:
        case KVM_RISCV_ISA_EXT_ZCF:
+       case KVM_RISCV_ISA_EXT_ZCMOP:
        case KVM_RISCV_ISA_EXT_ZFA:
        case KVM_RISCV_ISA_EXT_ZFH:
        case KVM_RISCV_ISA_EXT_ZFHMIN: