cachepc-linux

Fork of AMDESE/linux with modifications for CachePC side-channel attack
git clone https://git.sinitax.com/sinitax/cachepc-linux
Log | Files | Refs | README | LICENSE | sfeed.txt

sev-guest.h (1155B)


      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__ */