#ifndef __FAM17_MSR_H__\r
#define __FAM17_MSR_H__\r
\r
+/**\r
+ Secure Encrypted Virtualization - Encrypted State (SEV-ES) GHCB register\r
+\r
+**/\r
+#define MSR_SEV_ES_GHCB 0xc0010130\r
+\r
+/**\r
+ MSR information returned for #MSR_SEV_ES_GHCB\r
+**/\r
+typedef union {\r
+ struct {\r
+ UINT32 Function:12;\r
+ UINT32 Reserved1:20;\r
+ UINT32 Reserved2:32;\r
+ } GhcbInfo;\r
+\r
+ struct {\r
+ UINT8 Reserved[3];\r
+ UINT8 SevEncryptionBitPos;\r
+ UINT16 SevEsProtocolMin;\r
+ UINT16 SevEsProtocolMax;\r
+ } GhcbProtocol;\r
+\r
+ struct {\r
+ UINT32 Function:12;\r
+ UINT32 ReasonCodeSet:4;\r
+ UINT32 ReasonCode:8;\r
+ UINT32 Reserved1:8;\r
+ UINT32 Reserved2:32;\r
+ } GhcbTerminate;\r
+\r
+ VOID *Ghcb;\r
+\r
+ UINT64 GhcbPhysicalAddress;\r
+} MSR_SEV_ES_GHCB_REGISTER;\r
+\r
+#define GHCB_INFO_SEV_INFO 1\r
+#define GHCB_INFO_SEV_INFO_GET 2\r
+#define GHCB_INFO_CPUID_REQUEST 4\r
+#define GHCB_INFO_CPUID_RESPONSE 5\r
+#define GHCB_INFO_TERMINATE_REQUEST 256\r
+\r
+#define GHCB_TERMINATE_GHCB 0\r
+#define GHCB_TERMINATE_GHCB_GENERAL 0\r
+#define GHCB_TERMINATE_GHCB_PROTOCOL 1\r
+\r
/**\r
Secure Encrypted Virtualization (SEV) status register\r
\r