summaryrefslogtreecommitdiff
path: root/include/uapi/linux/sev-guest.h
diff options
context:
space:
mode:
authorBrijesh Singh <brijesh.singh@amd.com>2022-03-08 00:33:55 +0300
committerBorislav Petkov <bp@suse.de>2022-04-07 17:47:12 +0300
commitd80b494f712317493d464a55652698c4d1b7bb0f (patch)
tree72a1ef636877237cf66e86ea3f0bf38524b6d9e3 /include/uapi/linux/sev-guest.h
parent68de0b2f938642079c0c853b219bdb88c4dc4d13 (diff)
downloadlinux-d80b494f712317493d464a55652698c4d1b7bb0f.tar.xz
virt: sevguest: Add support to get extended report
Version 2 of GHCB specification defines Non-Automatic-Exit (NAE) to get extended guest report which is similar to the SNP_GET_REPORT ioctl. The main difference is related to the additional data that will be returned. That additional data returned is a certificate blob that can be used by the SNP guest user. The certificate blob layout is defined in the GHCB specification. The driver simply treats the blob as a opaque data and copies it to userspace. [ bp: Massage commit message, cast 1st arg of access_ok() ] Signed-off-by: Brijesh Singh <brijesh.singh@amd.com> Signed-off-by: Borislav Petkov <bp@suse.de> Link: https://lore.kernel.org/r/20220307213356.2797205-46-brijesh.singh@amd.com
Diffstat (limited to 'include/uapi/linux/sev-guest.h')
-rw-r--r--include/uapi/linux/sev-guest.h13
1 files changed, 13 insertions, 0 deletions
diff --git a/include/uapi/linux/sev-guest.h b/include/uapi/linux/sev-guest.h
index 598367f12064..256aaeff7e65 100644
--- a/include/uapi/linux/sev-guest.h
+++ b/include/uapi/linux/sev-guest.h
@@ -56,6 +56,16 @@ struct snp_guest_request_ioctl {
__u64 fw_err;
};
+struct snp_ext_report_req {
+ struct snp_report_req data;
+
+ /* where to copy the certificate blob */
+ __u64 certs_address;
+
+ /* length of the certificate blob */
+ __u32 certs_len;
+};
+
#define SNP_GUEST_REQ_IOC_TYPE 'S'
/* Get SNP attestation report */
@@ -64,4 +74,7 @@ struct snp_guest_request_ioctl {
/* Get a derived key from the root */
#define SNP_GET_DERIVED_KEY _IOWR(SNP_GUEST_REQ_IOC_TYPE, 0x1, struct snp_guest_request_ioctl)
+/* Get SNP extended report as defined in the GHCB specification version 2. */
+#define SNP_GET_EXT_REPORT _IOWR(SNP_GUEST_REQ_IOC_TYPE, 0x2, struct snp_guest_request_ioctl)
+
#endif /* __UAPI_LINUX_SEV_GUEST_H_ */