/** @file\r
Register CPU Features Library to register and manage CPU features.\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
+ Copyright (c) 2017 - 2019, Intel Corporation. All rights reserved.<BR>\r
+ SPDX-License-Identifier: BSD-2-Clause-Patent\r
\r
**/\r
\r
#define CPU_FEATURE_IP_PREFETCHER (32+5)\r
#define CPU_FEATURE_MLC_STREAMER_PREFETCHER (32+6)\r
#define CPU_FEATURE_MLC_SPATIAL_PREFETCHER (32+7)\r
-#define CPU_FEATURE_THREE_STRICK_COUNTER (32+8)\r
+#define CPU_FEATURE_THREE_STRIKE_COUNTER (32+8)\r
#define CPU_FEATURE_APIC_TPR_UPDATE_MESSAGE (32+9)\r
#define CPU_FEATURE_ENERGY_PERFORMANCE_BIAS (32+10)\r
#define CPU_FEATURE_PPIN (32+11)\r
#define CPU_FEATURE_PROC_TRACE (32+12)\r
\r
-#define CPU_FEATURE_BEFORE_ALL BIT27\r
-#define CPU_FEATURE_AFTER_ALL BIT28\r
-#define CPU_FEATURE_BEFORE BIT29\r
-#define CPU_FEATURE_AFTER BIT30\r
+#define CPU_FEATURE_BEFORE_ALL BIT23\r
+#define CPU_FEATURE_AFTER_ALL BIT24\r
+//\r
+// CPU_FEATURE_BEFORE and CPU_FEATURE_AFTER only mean Thread scope\r
+// before and Thread scope after.\r
+// It will be replace with CPU_FEATURE_THREAD_BEFORE and\r
+// CPU_FEATURE_THREAD_AFTER, and should not be used anymore.\r
+//\r
+#define CPU_FEATURE_BEFORE BIT25\r
+#define CPU_FEATURE_AFTER BIT26\r
+\r
+#define CPU_FEATURE_THREAD_BEFORE CPU_FEATURE_BEFORE\r
+#define CPU_FEATURE_THREAD_AFTER CPU_FEATURE_AFTER\r
+#define CPU_FEATURE_CORE_BEFORE BIT27\r
+#define CPU_FEATURE_CORE_AFTER BIT28\r
+#define CPU_FEATURE_PACKAGE_BEFORE BIT29\r
+#define CPU_FEATURE_PACKAGE_AFTER BIT30\r
#define CPU_FEATURE_END MAX_UINT32\r
/// @}\r
\r
IN UINT32 Feature\r
);\r
\r
-/**\r
- Determines if a CPU feature is set in PcdCpuFeaturesCapability bit mask.\r
-\r
- @param[in] Feature The bit number of the CPU feature to check in the PCD\r
- PcdCpuFeaturesCapability.\r
-\r
- @retval TRUE The CPU feature is set in PcdCpuFeaturesCapability.\r
- @retval FALSE The CPU feature is not set in PcdCpuFeaturesCapability.\r
-\r
- @note This service could be called by BSP only.\r
-**/\r
-BOOLEAN\r
-EFIAPI\r
-IsCpuFeatureCapability (\r
- IN UINT32 Feature\r
- );\r
-\r
-/**\r
- Determines if a CPU feature is set in PcdCpuFeaturesUserConfiguration bit mask.\r
-\r
- @param[in] Feature The bit number of the CPU feature to check in the PCD\r
- PcdCpuFeaturesUserConfiguration.\r
-\r
- @retval TRUE The CPU feature is set in PcdCpuFeaturesUserConfiguration.\r
- @retval FALSE The CPU feature is not set in PcdCpuFeaturesUserConfiguration.\r
-\r
- @note This service could be called by BSP only.\r
-**/\r
-BOOLEAN\r
-EFIAPI\r
-IsCpuFeatureUserConfiguration (\r
- IN UINT32 Feature\r
- );\r
-\r
/**\r
Prepares for the data used by CPU feature detection and initialization.\r
\r