Re: [kvmtool PATCH 05/10] riscv: Add vector crypto extensions support

Andrew Jones
2024-03-05T13:49:31Z

On Wed, Feb 14, 2024 at 05:51:36PM +0530, Anup Patel wrote:
> When the vector extensions are available expose them to the guest
> via device tree so that guest can use it. This includes extensions
> Zvbb, Zvbc, Zvkb, Zvkg, Zvkned, Zvknha, Zvknhb, Zvksed, Zvksh,
> and Zvkt.
>
> Signed-off-by: Anup Patel <apatel@ventanamicro.com>
> ---
> riscv/fdt.c | 10 ++++++++++
> riscv/include/kvm/kvm-config-arch.h | 30 +++++++++++++++++++++++++++++
> 2 files changed, 40 insertions(+)
>
> diff --git a/riscv/fdt.c b/riscv/fdt.c
> index be87e9a..44058dc 100644
> --- a/riscv/fdt.c
> +++ b/riscv/fdt.c
> @@ -44,6 +44,16 @@ struct isa_ext_info isa_info_arr[] = {
> {"zksed", KVM_RISCV_ISA_EXT_ZKSED},
> {"zksh", KVM_RISCV_ISA_EXT_ZKSH},
> {"zkt", KVM_RISCV_ISA_EXT_ZKT},
> + {"zvbb", KVM_RISCV_ISA_EXT_ZVBB},
> + {"zvbc", KVM_RISCV_ISA_EXT_ZVBC},
> + {"zvkb", KVM_RISCV_ISA_EXT_ZVKB},
> + {"zvkg", KVM_RISCV_ISA_EXT_ZVKG},
> + {"zvkned", KVM_RISCV_ISA_EXT_ZVKNED},
> + {"zvknha", KVM_RISCV_ISA_EXT_ZVKNHA},
> + {"zvknhb", KVM_RISCV_ISA_EXT_ZVKNHB},
> + {"zvksed", KVM_RISCV_ISA_EXT_ZVKSED},
> + {"zvksh", KVM_RISCV_ISA_EXT_ZVKSH},
> + {"zvkt", KVM_RISCV_ISA_EXT_ZVKT},
> };
>
> static void dump_fdt(const char *dtb_file, void *fdt)
> diff --git a/riscv/include/kvm/kvm-config-arch.h b/riscv/include/kvm/kvm-config-arch.h
> index 3764d7c..ae648ce 100644
> --- a/riscv/include/kvm/kvm-config-arch.h
> +++ b/riscv/include/kvm/kvm-config-arch.h
> @@ -109,6 +109,36 @@ struct kvm_config_arch {
> OPT_BOOLEAN('\0', "disable-zkt", \
> &(cfg)->ext_disabled[KVM_RISCV_ISA_EXT_ZKT], \
> "Disable Zkt Extension"), \
> + OPT_BOOLEAN('\0', "disable-zvbb", \
> + &(cfg)->ext_disabled[KVM_RISCV_ISA_EXT_ZVBB], \
> + "Disable Zvbb Extension"), \
> + OPT_BOOLEAN('\0', "disable-zvbc", \
> + &(cfg)->ext_disabled[KVM_RISCV_ISA_EXT_ZVBC], \
> + "Disable Zvbc Extension"), \
> + OPT_BOOLEAN('\0', "disable-zvkb", \
> + &(cfg)->ext_disabled[KVM_RISCV_ISA_EXT_ZVKB], \
> + "Disable Zvkb Extension"), \
> + OPT_BOOLEAN('\0', "disable-zvkg", \
> + &(cfg)->ext_disabled[KVM_RISCV_ISA_EXT_ZVKG], \
> + "Disable Zvkg Extension"), \
> + OPT_BOOLEAN('\0', "disable-zvkned", \
> + &(cfg)->ext_disabled[KVM_RISCV_ISA_EXT_ZVKNED], \
> + "Disable Zvkned Extension"), \
> + OPT_BOOLEAN('\0', "disable-zvknha", \
> + &(cfg)->ext_disabled[KVM_RISCV_ISA_EXT_ZVKNHA], \
> + "Disable Zvknha Extension"), \
> + OPT_BOOLEAN('\0', "disable-zvknhb", \
> + &(cfg)->ext_disabled[KVM_RISCV_ISA_EXT_ZVKNHB], \
> + "Disable Zvknhb Extension"), \
> + OPT_BOOLEAN('\0', "disable-zvksed", \
> + &(cfg)->ext_disabled[KVM_RISCV_ISA_EXT_ZVKSED], \
> + "Disable Zvksed Extension"), \
> + OPT_BOOLEAN('\0', "disable-zvksh", \
> + &(cfg)->ext_disabled[KVM_RISCV_ISA_EXT_ZVKSH], \
> + "Disable Zvksh Extension"), \
> + OPT_BOOLEAN('\0', "disable-zvkt", \
> + &(cfg)->ext_disabled[KVM_RISCV_ISA_EXT_ZVKT], \
> + "Disable Zvkt Extension"), \
> OPT_BOOLEAN('\0', "disable-sbi-legacy", \
> &(cfg)->sbi_ext_disabled[KVM_RISCV_SBI_EXT_V01], \
> "Disable SBI Legacy Extensions"), \
> --
> 2.34.1
>

Reviewed-by: Andrew Jones <ajones@ventanamicro.com>