\r
STATIC BOOLEAN mSevStatus = FALSE;\r
STATIC BOOLEAN mSevEsStatus = FALSE;\r
+STATIC BOOLEAN mSevSnpStatus = FALSE;\r
STATIC BOOLEAN mSevStatusChecked = FALSE;\r
\r
STATIC UINT64 mSevEncryptionMask = 0;\r
if (Msr.Bits.SevEsBit) {\r
mSevEsStatus = TRUE;\r
}\r
+\r
+ //\r
+ // Check MSR_0xC0010131 Bit 2 (Sev-Snp Enabled)\r
+ //\r
+ if (Msr.Bits.SevSnpBit) {\r
+ mSevSnpStatus = TRUE;\r
+ }\r
}\r
\r
mSevStatusChecked = TRUE;\r
}\r
\r
+/**\r
+ Returns a boolean to indicate whether SEV-SNP is enabled.\r
+\r
+ @retval TRUE SEV-SNP is enabled\r
+ @retval FALSE SEV-SNP is not enabled\r
+**/\r
+BOOLEAN\r
+EFIAPI\r
+MemEncryptSevSnpIsEnabled (\r
+ VOID\r
+ )\r
+{\r
+ if (!mSevStatusChecked) {\r
+ InternalMemEncryptSevStatus ();\r
+ }\r
+\r
+ return mSevSnpStatus;\r
+}\r
+\r
/**\r
Returns a boolean to indicate whether SEV-ES is enabled.\r
\r