qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [RFC PATCH 1/6] linux-header: add the SNP specific command


From: Michael S. Tsirkin
Subject: Re: [RFC PATCH 1/6] linux-header: add the SNP specific command
Date: Sat, 10 Jul 2021 16:32:03 -0400

On Fri, Jul 09, 2021 at 04:55:45PM -0500, Brijesh Singh wrote:
> Sync the kvm.h with the kernel to include the SNP specific commands.
> 
> Signed-off-by: Brijesh Singh <brijesh.singh@amd.com>

Pls specify which kernel version you used for the sync.

> ---
>  linux-headers/linux/kvm.h | 47 +++++++++++++++++++++++++++++++++++++++
>  1 file changed, 47 insertions(+)
> 
> diff --git a/linux-headers/linux/kvm.h b/linux-headers/linux/kvm.h
> index 20d6a263bb..c17ace1ece 100644
> --- a/linux-headers/linux/kvm.h
> +++ b/linux-headers/linux/kvm.h
> @@ -1679,6 +1679,12 @@ enum sev_cmd_id {
>       /* Guest Migration Extension */
>       KVM_SEV_SEND_CANCEL,
>  
> +     /* SNP specific commands */
> +     KVM_SEV_SNP_INIT = 256,
> +     KVM_SEV_SNP_LAUNCH_START,
> +     KVM_SEV_SNP_LAUNCH_UPDATE,
> +     KVM_SEV_SNP_LAUNCH_FINISH,
> +
>       KVM_SEV_NR_MAX,
>  };
>  
> @@ -1775,6 +1781,47 @@ struct kvm_sev_receive_update_data {
>       __u32 trans_len;
>  };
>  
> +struct kvm_snp_init {
> +     __u64 flags;
> +};
> +
> +struct kvm_sev_snp_launch_start {
> +     __u64 policy;
> +     __u64 ma_uaddr;
> +     __u8 ma_en;
> +     __u8 imi_en;
> +     __u8 gosvw[16];
> +};
> +
> +#define KVM_SEV_SNP_PAGE_TYPE_NORMAL         0x1
> +#define KVM_SEV_SNP_PAGE_TYPE_VMSA           0x2
> +#define KVM_SEV_SNP_PAGE_TYPE_ZERO           0x3
> +#define KVM_SEV_SNP_PAGE_TYPE_UNMEASURED     0x4
> +#define KVM_SEV_SNP_PAGE_TYPE_SECRETS                0x5
> +#define KVM_SEV_SNP_PAGE_TYPE_CPUID          0x6
> +
> +struct kvm_sev_snp_launch_update {
> +     __u64 uaddr;
> +     __u32 len;
> +     __u8 imi_page;
> +     __u8 page_type;
> +     __u8 vmpl3_perms;
> +     __u8 vmpl2_perms;
> +     __u8 vmpl1_perms;
> +};
> +
> +#define KVM_SEV_SNP_ID_BLOCK_SIZE    96
> +#define KVM_SEV_SNP_ID_AUTH_SIZE     4096
> +#define KVM_SEV_SNP_FINISH_DATA_SIZE 32
> +
> +struct kvm_sev_snp_launch_finish {
> +     __u64 id_block_uaddr;
> +     __u64 id_auth_uaddr;
> +     __u8 id_block_en;
> +     __u8 auth_key_en;
> +     __u8 host_data[KVM_SEV_SNP_FINISH_DATA_SIZE];
> +};
> +
>  #define KVM_DEV_ASSIGN_ENABLE_IOMMU  (1 << 0)
>  #define KVM_DEV_ASSIGN_PCI_2_3               (1 << 1)
>  #define KVM_DEV_ASSIGN_MASK_INTX     (1 << 2)
> -- 
> 2.17.1




reply via email to

[Prev in Thread] Current Thread [Next in Thread]