]> 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 3390aa8f2a7af75994cc55a40c125467ade84662..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
@@ -211,7 +198,7 @@ CpuCommonFeaturesLibConstructor (
   if (IsCpuFeatureSupported (CPU_FEATURE_X2APIC)) {\r
     Status = RegisterCpuFeature (\r
                "X2Apic",\r
-               NULL,\r
+               X2ApicGetConfigData,\r
                X2ApicSupport,\r
                X2ApicInitialize,\r
                CPU_FEATURE_X2APIC,\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