]> git.proxmox.com Git - mirror_edk2.git/blobdiff - OvmfPkg/PlatformPei/AmdSev.c
OvmfPkg/PlatformPei: set PcdConfidentialComputingAttr when SEV is active
[mirror_edk2.git] / OvmfPkg / PlatformPei / AmdSev.c
index a0f9178ed6e9366caac5e05cdf74a1d6f0f81eb9..c60a153a059e044acd64cf822777d8461939330f 100644 (file)
@@ -20,6 +20,7 @@
 #include <Register/Amd/Msr.h>\r
 #include <Register/Intel/SmramSaveStateMap.h>\r
 #include <Library/VmgExitLib.h>\r
+#include <ConfidentialComputingGuestAttr.h>\r
 \r
 #include "Platform.h"\r
 \r
@@ -345,4 +346,18 @@ AmdSevInitialize (
   // Check and perform SEV-ES initialization if required.\r
   //\r
   AmdSevEsInitialize ();\r
+\r
+  //\r
+  // Set the Confidential computing attr PCD to communicate which SEV\r
+  // technology is active.\r
+  //\r
+  if (MemEncryptSevSnpIsEnabled ()) {\r
+    PcdStatus = PcdSet64S (PcdConfidentialComputingGuestAttr, CCAttrAmdSevSnp);\r
+  } else if (MemEncryptSevEsIsEnabled ()) {\r
+    PcdStatus = PcdSet64S (PcdConfidentialComputingGuestAttr, CCAttrAmdSevEs);\r
+  } else {\r
+    PcdStatus = PcdSet64S (PcdConfidentialComputingGuestAttr, CCAttrAmdSev);\r
+  }\r
+\r
+  ASSERT_RETURN_ERROR (PcdStatus);\r
 }\r