#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
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