[edk2-devel] [PATCH v4 1/4] MdePkg: Add header for SEV-SNP secrets page struct

Roth, Michael via groups.io posted 4 patches 3 years, 1 month ago
[edk2-devel] [PATCH v4 1/4] MdePkg: Add header for SEV-SNP secrets page struct
Posted by Roth, Michael via groups.io 3 years, 1 month ago
This will be needed so that the AP Jump Table address can be stored for
use by the operating system later, and possibly for other things in the
future.

Reviewed-by: Tom Lendacky <thomas.lendacky@amd.com>
Signed-off-by: Michael Roth <michael.roth@amd.com>
---
 MdePkg/Include/Register/Amd/SnpSecretsPage.h | 56 ++++++++++++++++++++
 1 file changed, 56 insertions(+)
 create mode 100644 MdePkg/Include/Register/Amd/SnpSecretsPage.h

diff --git a/MdePkg/Include/Register/Amd/SnpSecretsPage.h b/MdePkg/Include/Register/Amd/SnpSecretsPage.h
new file mode 100644
index 0000000000..3188459150
--- /dev/null
+++ b/MdePkg/Include/Register/Amd/SnpSecretsPage.h
@@ -0,0 +1,56 @@
+/** @file

+Definitions for AMD SEV-SNP Secrets Page

+

+Copyright (c) 2022 AMD Inc. All rights reserved.<BR>

+SPDX-License-Identifier: BSD-2-Clause-Patent

+

+**/

+

+#ifndef SNP_SECRETS_PAGE_H_

+#define SNP_SECRETS_PAGE_H_

+

+//

+// OS-defined area of secrets page

+//

+// As defined by "SEV-ES Guest-Hypervisor Communication Block Standardization",

+// revision 2.01, section 2.7, "SEV-SNP Secrets Page".

+//

+typedef PACKED struct _SNP_SECRETS_OS_AREA {

+  UINT32    Vmpl0MsgSeqNumLo;

+  UINT32    Vmpl1MsgSeqNumLo;

+  UINT32    Vmpl2MsgSeqNumLo;

+  UINT32    Vmpl3MsgSeqNumLo;

+  UINT64    ApJumpTablePa;

+  UINT32    Vmpl0MsgSeqNumHi;

+  UINT32    Vmpl1MsgSeqNumHi;

+  UINT32    Vmpl2MsgSeqNumHi;

+  UINT32    Vmpl3MsgSeqNumHi;

+  UINT8     Reserved2[22];

+  UINT16    Version;

+  UINT8     GuestUsage[32];

+} SNP_SECRETS_OS_AREA;

+

+#define VMPCK_KEY_LEN  32

+

+//

+// SEV-SNP Secrets page

+//

+// As defined by "SEV-SNP Firmware ABI", revision 1.51, section 8.17.2.5,

+// "PAGE_TYPE_SECRETS".

+//

+typedef PACKED struct _SNP_SECRETS_PAGE {

+  UINT32                 Version;

+  UINT32                 ImiEn    : 1,

+                         Reserved : 31;

+  UINT32                 Fms;

+  UINT32                 Reserved2;

+  UINT8                  Gosvw[16];

+  UINT8                  Vmpck0[VMPCK_KEY_LEN];

+  UINT8                  Vmpck1[VMPCK_KEY_LEN];

+  UINT8                  Vmpck2[VMPCK_KEY_LEN];

+  UINT8                  Vmpck3[VMPCK_KEY_LEN];

+  SNP_SECRETS_OS_AREA    OsArea;

+  UINT8                  Reserved3[3840];

+} SNP_SECRETS_PAGE;

+

+#endif

-- 
2.25.1



-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#97697): https://edk2.groups.io/g/devel/message/97697
Mute This Topic: https://groups.io/mt/95815535/1787277
Group Owner: devel+owner@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [importer@patchew.org]
-=-=-=-=-=-=-=-=-=-=-=-