]> git.proxmox.com Git - mirror_edk2.git/blobdiff - UefiCpuPkg/Library/CpuCommonFeaturesLib/CpuCommonFeaturesLib.c
UefiCpuPkg/CpuDxe: Enable protection for newly added page table
[mirror_edk2.git] / UefiCpuPkg / Library / CpuCommonFeaturesLib / CpuCommonFeaturesLib.c
index 793a0956d3f82520578fb0fa6261d1c70d1ed231..bbaffc538d8b507b89e6e2a24b033e254b07aac8 100644 (file)
@@ -105,25 +105,12 @@ CpuCommonFeaturesLibConstructor (
                );\r
     ASSERT_EFI_ERROR (Status);\r
   }\r
-  if (IsCpuFeatureSupported (CPU_FEATURE_SENTER)) {\r
-    Status = RegisterCpuFeature (\r
-               "SENTER",\r
-               FeatureControlGetConfigData,\r
-               VmxSupport,\r
-               SenterInitialize,\r
-               CPU_FEATURE_SENTER,\r
-               CPU_FEATURE_LOCK_FEATURE_CONTROL_REGISTER | CPU_FEATURE_BEFORE,\r
-               CPU_FEATURE_SMX | CPU_FEATURE_AFTER,\r
-               CPU_FEATURE_END\r
-               );\r
-    ASSERT_EFI_ERROR (Status);\r
-  }\r
   if (IsCpuFeatureSupported (CPU_FEATURE_SMX)) {\r
     Status = RegisterCpuFeature (\r
                "SMX",\r
                FeatureControlGetConfigData,\r
                SmxSupport,\r
-               VmxInsideSmxInitialize,\r
+               SmxInitialize,\r
                CPU_FEATURE_SMX,\r
                CPU_FEATURE_LOCK_FEATURE_CONTROL_REGISTER | CPU_FEATURE_BEFORE,\r
                CPU_FEATURE_END\r
@@ -134,8 +121,8 @@ CpuCommonFeaturesLibConstructor (
     Status = RegisterCpuFeature (\r
                "VMX",\r
                FeatureControlGetConfigData,\r
-               SmxSupport,\r
-               VmxOutsideSmxInitialize,\r
+               VmxSupport,\r
+               VmxInitialize,\r
                CPU_FEATURE_VMX,\r
                CPU_FEATURE_LOCK_FEATURE_CONTROL_REGISTER | CPU_FEATURE_BEFORE,\r
                CPU_FEATURE_END\r
@@ -219,6 +206,40 @@ CpuCommonFeaturesLibConstructor (
                );\r
     ASSERT_EFI_ERROR (Status);\r
   }\r
+  if (IsCpuFeatureSupported (CPU_FEATURE_PPIN)) {\r
+    Status = RegisterCpuFeature (\r
+               "PPIN",\r
+               NULL,\r
+               PpinSupport,\r
+               PpinInitialize,\r
+               CPU_FEATURE_PPIN,\r
+               CPU_FEATURE_END\r
+               );\r
+    ASSERT_EFI_ERROR (Status);\r
+  }\r
+  if (IsCpuFeatureSupported (CPU_FEATURE_LMCE)) {\r
+    Status = RegisterCpuFeature (\r
+               "LMCE",\r
+               NULL,\r
+               LmceSupport,\r
+               LmceInitialize,\r
+               CPU_FEATURE_LMCE,\r
+               CPU_FEATURE_LOCK_FEATURE_CONTROL_REGISTER | CPU_FEATURE_BEFORE,\r
+               CPU_FEATURE_END\r
+               );\r
+    ASSERT_EFI_ERROR (Status);\r
+  }\r
+  if (IsCpuFeatureSupported (CPU_FEATURE_PROC_TRACE)) {\r
+    Status = RegisterCpuFeature (\r
+               "Proc Trace",\r
+               ProcTraceGetConfigData,\r
+               ProcTraceSupport,\r
+               ProcTraceInitialize,\r
+               CPU_FEATURE_PROC_TRACE,\r
+               CPU_FEATURE_END\r
+               );\r
+    ASSERT_EFI_ERROR (Status);\r
+  }\r
 \r
   return RETURN_SUCCESS;\r
 }\r