RISC-V: KVM: Allow Zacas extension for Guest/VM
authorAnup Patel <apatel@ventanamicro.com>
Tue, 13 Feb 2024 08:05:45 +0000 (13:35 +0530)
committerAnup Patel <anup@brainfault.org>
Wed, 6 Mar 2024 15:23:40 +0000 (20:53 +0530)
Extend the KVM ISA extension ONE_REG interface to allow KVM user space
to detect and enable Zacas 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 f8aa9f2ace9571c82704f73b7f5a08fe66da29ec..37fb0f70b3e534915ffce74d9727cfafe7d5fa06 100644 (file)
@@ -167,6 +167,7 @@ enum KVM_RISCV_ISA_EXT_ID {
        KVM_RISCV_ISA_EXT_ZVFHMIN,
        KVM_RISCV_ISA_EXT_ZFA,
        KVM_RISCV_ISA_EXT_ZTSO,
+       KVM_RISCV_ISA_EXT_ZACAS,
        KVM_RISCV_ISA_EXT_MAX,
 };
 
index 38f5cf2860874847cadef1a302471961d20e8caa..f4a6124d25c939ecdf5dc631d8c7aa69a2684621 100644 (file)
@@ -40,6 +40,7 @@ static const unsigned long kvm_isa_ext_arr[] = {
        KVM_ISA_EXT_ARR(SVINVAL),
        KVM_ISA_EXT_ARR(SVNAPOT),
        KVM_ISA_EXT_ARR(SVPBMT),
+       KVM_ISA_EXT_ARR(ZACAS),
        KVM_ISA_EXT_ARR(ZBA),
        KVM_ISA_EXT_ARR(ZBB),
        KVM_ISA_EXT_ARR(ZBC),
@@ -118,6 +119,7 @@ static bool kvm_riscv_vcpu_isa_disable_allowed(unsigned long ext)
        case KVM_RISCV_ISA_EXT_SSTC:
        case KVM_RISCV_ISA_EXT_SVINVAL:
        case KVM_RISCV_ISA_EXT_SVNAPOT:
+       case KVM_RISCV_ISA_EXT_ZACAS:
        case KVM_RISCV_ISA_EXT_ZBA:
        case KVM_RISCV_ISA_EXT_ZBB:
        case KVM_RISCV_ISA_EXT_ZBC: