]> git.proxmox.com Git - mirror_edk2.git/blobdiff - UefiCpuPkg/Library/CpuCommonFeaturesLib/CpuCommonFeaturesLib.c
UefiCpuPkg/CpuFeatures: Change files format to DOS
[mirror_edk2.git] / UefiCpuPkg / Library / CpuCommonFeaturesLib / CpuCommonFeaturesLib.c
index 65ed756cc578fcda55f0fab415a5d981a1f04b0b..3390aa8f2a7af75994cc55a40c125467ade84662 100644 (file)
-/** @file
-  This library registers CPU features defined in Intel(R) 64 and IA-32
-  Architectures Software Developer's Manual.
-
-  Copyright (c) 2017, Intel Corporation. All rights reserved.<BR>
-  This program and the accompanying materials
-  are licensed and made available under the terms and conditions of the BSD License
-  which accompanies this distribution.  The full text of the license may be found at
-  http://opensource.org/licenses/bsd-license.php
-
-  THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
-  WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-
-**/
-
-#include "CpuCommonFeatures.h"
-
-/**
-  Register CPU features.
-
-  @retval  RETURN_SUCCESS            Register successfully
-**/
-RETURN_STATUS
-EFIAPI
-CpuCommonFeaturesLibConstructor (
-  VOID
-  )
-{
-  RETURN_STATUS         Status;
-
-  if (IsCpuFeatureSupported (CPU_FEATURE_AESNI)) {
-    Status = RegisterCpuFeature (
-               "AESNI",
-               AesniGetConfigData,
-               AesniSupport,
-               AesniInitialize,
-               CPU_FEATURE_AESNI,
-               CPU_FEATURE_END
-               );
-    ASSERT_EFI_ERROR (Status);
-  }
-  if (IsCpuFeatureSupported (CPU_FEATURE_MWAIT)) {
-    Status = RegisterCpuFeature (
-               "MWAIT",
-               NULL,
-               MonitorMwaitSupport,
-               MonitorMwaitInitialize,
-               CPU_FEATURE_MWAIT,
-               CPU_FEATURE_END
-               );
-    ASSERT_EFI_ERROR (Status);
-  }
-  if (IsCpuFeatureSupported (CPU_FEATURE_ACPI)) {
-    Status = RegisterCpuFeature (
-               "ACPI",
-               NULL,
-               ClockModulationSupport,
-               ClockModulationInitialize,
-               CPU_FEATURE_ACPI,
-               CPU_FEATURE_END
-               );
-    ASSERT_EFI_ERROR (Status);
-  }
-  if (IsCpuFeatureSupported (CPU_FEATURE_EIST)) {
-    Status = RegisterCpuFeature (
-               "EIST",
-               NULL,
-               EistSupport,
-               EistInitialize,
-               CPU_FEATURE_EIST,
-               CPU_FEATURE_END
-               );
-    ASSERT_EFI_ERROR (Status);
-  }
-  if (IsCpuFeatureSupported (CPU_FEATURE_XD)) {
-    Status = RegisterCpuFeature (
-               "Execute Disable",
-               NULL,
-               ExecuteDisableSupport,
-               ExecuteDisableInitialize,
-               CPU_FEATURE_XD,
-               CPU_FEATURE_END
-               );
-    ASSERT_EFI_ERROR (Status);
-  }
-  if (IsCpuFeatureSupported (CPU_FEATURE_FASTSTRINGS)) {
-    Status = RegisterCpuFeature (
-               "FastStrings",
-               NULL,
-               NULL,
-               FastStringsInitialize,
-               CPU_FEATURE_FASTSTRINGS,
-               CPU_FEATURE_END
-               );
-    ASSERT_EFI_ERROR (Status);
-  }
-  if (IsCpuFeatureSupported (CPU_FEATURE_LOCK_FEATURE_CONTROL_REGISTER)) {
-    Status = RegisterCpuFeature (
-               "Lock Feature Control Register",
-               FeatureControlGetConfigData,
-               LockFeatureControlRegisterSupport,
-               LockFeatureControlRegisterInitialize,
-               CPU_FEATURE_LOCK_FEATURE_CONTROL_REGISTER,
-               CPU_FEATURE_END
-               );
-    ASSERT_EFI_ERROR (Status);
-  }
-  if (IsCpuFeatureSupported (CPU_FEATURE_SENTER)) {
-    Status = RegisterCpuFeature (
-               "SENTER",
-               FeatureControlGetConfigData,
-               VmxSupport,
-               SenterInitialize,
-               CPU_FEATURE_SENTER,
-               CPU_FEATURE_LOCK_FEATURE_CONTROL_REGISTER | CPU_FEATURE_BEFORE,
-               CPU_FEATURE_SMX | CPU_FEATURE_AFTER,
-               CPU_FEATURE_END
-               );
-    ASSERT_EFI_ERROR (Status);
-  }
-  if (IsCpuFeatureSupported (CPU_FEATURE_SMX)) {
-    Status = RegisterCpuFeature (
-               "SMX",
-               FeatureControlGetConfigData,
-               SmxSupport,
-               VmxInsideSmxInitialize,
-               CPU_FEATURE_SMX,
-               CPU_FEATURE_LOCK_FEATURE_CONTROL_REGISTER | CPU_FEATURE_BEFORE,
-               CPU_FEATURE_END
-               );
-    ASSERT_EFI_ERROR (Status);
-  }
-  if (IsCpuFeatureSupported (CPU_FEATURE_VMX)) {
-    Status = RegisterCpuFeature (
-               "VMX",
-               FeatureControlGetConfigData,
-               SmxSupport,
-               VmxOutsideSmxInitialize,
-               CPU_FEATURE_VMX,
-               CPU_FEATURE_LOCK_FEATURE_CONTROL_REGISTER | CPU_FEATURE_BEFORE,
-               CPU_FEATURE_END
-               );
-    ASSERT_EFI_ERROR (Status);
-  }
-  if (IsCpuFeatureSupported (CPU_FEATURE_LIMIT_CPUID_MAX_VAL)) {
-    Status = RegisterCpuFeature (
-               "Limit CpuId Maximum Value",
-               NULL,
-               LimitCpuidMaxvalSupport,
-               LimitCpuidMaxvalInitialize,
-               CPU_FEATURE_LIMIT_CPUID_MAX_VAL,
-               CPU_FEATURE_END
-               );
-    ASSERT_EFI_ERROR (Status);
-  }
-  if (IsCpuFeatureSupported (CPU_FEATURE_MCE)) {
-    Status = RegisterCpuFeature (
-               "Machine Check Enable",
-               NULL,
-               MceSupport,
-               MceInitialize,
-               CPU_FEATURE_MCE,
-               CPU_FEATURE_END
-               );
-    ASSERT_EFI_ERROR (Status);
-  }
-  if (IsCpuFeatureSupported (CPU_FEATURE_MCA)) {
-    Status = RegisterCpuFeature (
-               "Machine Check Architect",
-               NULL,
-               McaSupport,
-               McaInitialize,
-               CPU_FEATURE_MCA,
-               CPU_FEATURE_END
-               );
-    ASSERT_EFI_ERROR (Status);
-  }
-  if (IsCpuFeatureSupported (CPU_FEATURE_MCG_CTL)) {
-    Status = RegisterCpuFeature (
-               "MCG_CTL",
-               NULL,
-               McgCtlSupport,
-               McgCtlInitialize,
-               CPU_FEATURE_MCG_CTL,
-               CPU_FEATURE_END
-               );
-    ASSERT_EFI_ERROR (Status);
-  }
-  if (IsCpuFeatureSupported (CPU_FEATURE_PENDING_BREAK)) {
-    Status = RegisterCpuFeature (
-               "Pending Break",
-               NULL,
-               PendingBreakSupport,
-               PendingBreakInitialize,
-               CPU_FEATURE_PENDING_BREAK,
-               CPU_FEATURE_END
-               );
-    ASSERT_EFI_ERROR (Status);
-  }
-  if (IsCpuFeatureSupported (CPU_FEATURE_C1E)) {
-    Status = RegisterCpuFeature (
-               "C1E",
-               NULL,
-               C1eSupport,
-               C1eInitialize,
-               CPU_FEATURE_C1E,
-               CPU_FEATURE_END
-               );
-    ASSERT_EFI_ERROR (Status);
-  }
-  if (IsCpuFeatureSupported (CPU_FEATURE_X2APIC)) {
-    Status = RegisterCpuFeature (
-               "X2Apic",
-               NULL,
-               X2ApicSupport,
-               X2ApicInitialize,
-               CPU_FEATURE_X2APIC,
-               CPU_FEATURE_END
-               );
-    ASSERT_EFI_ERROR (Status);
-  }
-
-  return RETURN_SUCCESS;
-}
-
-
-
+/** @file\r
+  This library registers CPU features defined in Intel(R) 64 and IA-32\r
+  Architectures Software Developer's Manual.\r
+\r
+  Copyright (c) 2017, Intel Corporation. All rights reserved.<BR>\r
+  This program and the accompanying materials\r
+  are licensed and made available under the terms and conditions of the BSD License\r
+  which accompanies this distribution.  The full text of the license may be found at\r
+  http://opensource.org/licenses/bsd-license.php\r
+\r
+  THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
+  WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
+\r
+**/\r
+\r
+#include "CpuCommonFeatures.h"\r
+\r
+/**\r
+  Register CPU features.\r
+\r
+  @retval  RETURN_SUCCESS            Register successfully\r
+**/\r
+RETURN_STATUS\r
+EFIAPI\r
+CpuCommonFeaturesLibConstructor (\r
+  VOID\r
+  )\r
+{\r
+  RETURN_STATUS         Status;\r
+\r
+  if (IsCpuFeatureSupported (CPU_FEATURE_AESNI)) {\r
+    Status = RegisterCpuFeature (\r
+               "AESNI",\r
+               AesniGetConfigData,\r
+               AesniSupport,\r
+               AesniInitialize,\r
+               CPU_FEATURE_AESNI,\r
+               CPU_FEATURE_END\r
+               );\r
+    ASSERT_EFI_ERROR (Status);\r
+  }\r
+  if (IsCpuFeatureSupported (CPU_FEATURE_MWAIT)) {\r
+    Status = RegisterCpuFeature (\r
+               "MWAIT",\r
+               NULL,\r
+               MonitorMwaitSupport,\r
+               MonitorMwaitInitialize,\r
+               CPU_FEATURE_MWAIT,\r
+               CPU_FEATURE_END\r
+               );\r
+    ASSERT_EFI_ERROR (Status);\r
+  }\r
+  if (IsCpuFeatureSupported (CPU_FEATURE_ACPI)) {\r
+    Status = RegisterCpuFeature (\r
+               "ACPI",\r
+               NULL,\r
+               ClockModulationSupport,\r
+               ClockModulationInitialize,\r
+               CPU_FEATURE_ACPI,\r
+               CPU_FEATURE_END\r
+               );\r
+    ASSERT_EFI_ERROR (Status);\r
+  }\r
+  if (IsCpuFeatureSupported (CPU_FEATURE_EIST)) {\r
+    Status = RegisterCpuFeature (\r
+               "EIST",\r
+               NULL,\r
+               EistSupport,\r
+               EistInitialize,\r
+               CPU_FEATURE_EIST,\r
+               CPU_FEATURE_END\r
+               );\r
+    ASSERT_EFI_ERROR (Status);\r
+  }\r
+  if (IsCpuFeatureSupported (CPU_FEATURE_XD)) {\r
+    Status = RegisterCpuFeature (\r
+               "Execute Disable",\r
+               NULL,\r
+               ExecuteDisableSupport,\r
+               ExecuteDisableInitialize,\r
+               CPU_FEATURE_XD,\r
+               CPU_FEATURE_END\r
+               );\r
+    ASSERT_EFI_ERROR (Status);\r
+  }\r
+  if (IsCpuFeatureSupported (CPU_FEATURE_FASTSTRINGS)) {\r
+    Status = RegisterCpuFeature (\r
+               "FastStrings",\r
+               NULL,\r
+               NULL,\r
+               FastStringsInitialize,\r
+               CPU_FEATURE_FASTSTRINGS,\r
+               CPU_FEATURE_END\r
+               );\r
+    ASSERT_EFI_ERROR (Status);\r
+  }\r
+  if (IsCpuFeatureSupported (CPU_FEATURE_LOCK_FEATURE_CONTROL_REGISTER)) {\r
+    Status = RegisterCpuFeature (\r
+               "Lock Feature Control Register",\r
+               FeatureControlGetConfigData,\r
+               LockFeatureControlRegisterSupport,\r
+               LockFeatureControlRegisterInitialize,\r
+               CPU_FEATURE_LOCK_FEATURE_CONTROL_REGISTER,\r
+               CPU_FEATURE_END\r
+               );\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
+               CPU_FEATURE_SMX,\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_VMX)) {\r
+    Status = RegisterCpuFeature (\r
+               "VMX",\r
+               FeatureControlGetConfigData,\r
+               SmxSupport,\r
+               VmxOutsideSmxInitialize,\r
+               CPU_FEATURE_VMX,\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_LIMIT_CPUID_MAX_VAL)) {\r
+    Status = RegisterCpuFeature (\r
+               "Limit CpuId Maximum Value",\r
+               NULL,\r
+               LimitCpuidMaxvalSupport,\r
+               LimitCpuidMaxvalInitialize,\r
+               CPU_FEATURE_LIMIT_CPUID_MAX_VAL,\r
+               CPU_FEATURE_END\r
+               );\r
+    ASSERT_EFI_ERROR (Status);\r
+  }\r
+  if (IsCpuFeatureSupported (CPU_FEATURE_MCE)) {\r
+    Status = RegisterCpuFeature (\r
+               "Machine Check Enable",\r
+               NULL,\r
+               MceSupport,\r
+               MceInitialize,\r
+               CPU_FEATURE_MCE,\r
+               CPU_FEATURE_END\r
+               );\r
+    ASSERT_EFI_ERROR (Status);\r
+  }\r
+  if (IsCpuFeatureSupported (CPU_FEATURE_MCA)) {\r
+    Status = RegisterCpuFeature (\r
+               "Machine Check Architect",\r
+               NULL,\r
+               McaSupport,\r
+               McaInitialize,\r
+               CPU_FEATURE_MCA,\r
+               CPU_FEATURE_END\r
+               );\r
+    ASSERT_EFI_ERROR (Status);\r
+  }\r
+  if (IsCpuFeatureSupported (CPU_FEATURE_MCG_CTL)) {\r
+    Status = RegisterCpuFeature (\r
+               "MCG_CTL",\r
+               NULL,\r
+               McgCtlSupport,\r
+               McgCtlInitialize,\r
+               CPU_FEATURE_MCG_CTL,\r
+               CPU_FEATURE_END\r
+               );\r
+    ASSERT_EFI_ERROR (Status);\r
+  }\r
+  if (IsCpuFeatureSupported (CPU_FEATURE_PENDING_BREAK)) {\r
+    Status = RegisterCpuFeature (\r
+               "Pending Break",\r
+               NULL,\r
+               PendingBreakSupport,\r
+               PendingBreakInitialize,\r
+               CPU_FEATURE_PENDING_BREAK,\r
+               CPU_FEATURE_END\r
+               );\r
+    ASSERT_EFI_ERROR (Status);\r
+  }\r
+  if (IsCpuFeatureSupported (CPU_FEATURE_C1E)) {\r
+    Status = RegisterCpuFeature (\r
+               "C1E",\r
+               NULL,\r
+               C1eSupport,\r
+               C1eInitialize,\r
+               CPU_FEATURE_C1E,\r
+               CPU_FEATURE_END\r
+               );\r
+    ASSERT_EFI_ERROR (Status);\r
+  }\r
+  if (IsCpuFeatureSupported (CPU_FEATURE_X2APIC)) {\r
+    Status = RegisterCpuFeature (\r
+               "X2Apic",\r
+               NULL,\r
+               X2ApicSupport,\r
+               X2ApicInitialize,\r
+               CPU_FEATURE_X2APIC,\r
+               CPU_FEATURE_END\r
+               );\r
+    ASSERT_EFI_ERROR (Status);\r
+  }\r
+\r
+  return RETURN_SUCCESS;\r
+}\r
+\r
+\r
+\r