Linux Audio

Check our new training course

Loading...
Note: File does not exist in v5.14.15.
 1/* SPDX-License-Identifier: GPL-2.0-only */
 2/*
 3 * Copyright (C) 2021 Advanced Micro Devices, Inc.
 4 *
 5 * Author: Brijesh Singh <brijesh.singh@amd.com>
 6 *
 7 * SEV-SNP API spec is available at https://developer.amd.com/sev
 8 */
 9
10#ifndef __VIRT_SEVGUEST_H__
11#define __VIRT_SEVGUEST_H__
12
13#include <linux/types.h>
14
15#define MAX_AUTHTAG_LEN		32
16
17/* See SNP spec SNP_GUEST_REQUEST section for the structure */
18enum msg_type {
19	SNP_MSG_TYPE_INVALID = 0,
20	SNP_MSG_CPUID_REQ,
21	SNP_MSG_CPUID_RSP,
22	SNP_MSG_KEY_REQ,
23	SNP_MSG_KEY_RSP,
24	SNP_MSG_REPORT_REQ,
25	SNP_MSG_REPORT_RSP,
26	SNP_MSG_EXPORT_REQ,
27	SNP_MSG_EXPORT_RSP,
28	SNP_MSG_IMPORT_REQ,
29	SNP_MSG_IMPORT_RSP,
30	SNP_MSG_ABSORB_REQ,
31	SNP_MSG_ABSORB_RSP,
32	SNP_MSG_VMRK_REQ,
33	SNP_MSG_VMRK_RSP,
34
35	SNP_MSG_TYPE_MAX
36};
37
38enum aead_algo {
39	SNP_AEAD_INVALID,
40	SNP_AEAD_AES_256_GCM,
41};
42
43struct snp_guest_msg_hdr {
44	u8 authtag[MAX_AUTHTAG_LEN];
45	u64 msg_seqno;
46	u8 rsvd1[8];
47	u8 algo;
48	u8 hdr_version;
49	u16 hdr_sz;
50	u8 msg_type;
51	u8 msg_version;
52	u16 msg_sz;
53	u32 rsvd2;
54	u8 msg_vmpck;
55	u8 rsvd3[35];
56} __packed;
57
58struct snp_guest_msg {
59	struct snp_guest_msg_hdr hdr;
60	u8 payload[4000];
61} __packed;
62
63#endif /* __VIRT_SEVGUEST_H__ */