]> git.proxmox.com Git - mirror_edk2.git/blobdiff - OvmfPkg/PlatformPei/FeatureControl.c
OvmfPkg: Update PlatformPei to support Tdx guest
[mirror_edk2.git] / OvmfPkg / PlatformPei / FeatureControl.c
index 9af58c2655f88abcf0dfb222f49d7b830c16e03d..5864ee0c214d3223c6e74c8ba6063b5f465c595e 100644 (file)
@@ -12,6 +12,7 @@
 #include <Library/QemuFwCfgLib.h>\r
 #include <Ppi/MpServices.h>\r
 #include <Register/ArchitecturalMsr.h>\r
+#include <IndustryStandard/Tdx.h>\r
 \r
 #include "Platform.h"\r
 \r
@@ -37,7 +38,11 @@ WriteFeatureControl (
   IN OUT VOID  *WorkSpace\r
   )\r
 {\r
-  AsmWriteMsr64 (MSR_IA32_FEATURE_CONTROL, mFeatureControlValue);\r
+  if (TdIsEnabled ()) {\r
+    TdVmCall (TDVMCALL_WRMSR, (UINT64)MSR_IA32_FEATURE_CONTROL, mFeatureControlValue, 0, 0, 0);\r
+  } else {\r
+    AsmWriteMsr64 (MSR_IA32_FEATURE_CONTROL, mFeatureControlValue);\r
+  }\r
 }\r
 \r
 /**\r