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

Andrew Jones ajones at ventanamicro.com
Tue Mar 5 05:49:28 PST 2024


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 at 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 at ventanamicro.com>



More information about the kvm-riscv mailing list