X-Git-Url: https://git.proxmox.com/?p=mirror_edk2.git;a=blobdiff_plain;f=UefiCpuPkg%2FLibrary%2FCpuCommonFeaturesLib%2FCpuCommonFeatures.h;h=af2fc41f759af31f2c6ef3080ccb62ab4f48ee61;hp=b8269b00f3f3f4c724eb205e5d9258a3d1a5401e;hb=0acd869796ded1266e69487dff717cd69d6031f9;hpb=3d6275c1137c9633ce24e31522b71105367bd6a0 diff --git a/UefiCpuPkg/Library/CpuCommonFeaturesLib/CpuCommonFeatures.h b/UefiCpuPkg/Library/CpuCommonFeaturesLib/CpuCommonFeatures.h index b8269b00f3..af2fc41f75 100644 --- a/UefiCpuPkg/Library/CpuCommonFeaturesLib/CpuCommonFeatures.h +++ b/UefiCpuPkg/Library/CpuCommonFeaturesLib/CpuCommonFeatures.h @@ -1,14 +1,8 @@ /** @file CPU Common features library header file. - Copyright (c) 2017, Intel Corporation. All rights reserved.
- 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. + Copyright (c) 2017 - 2018, Intel Corporation. All rights reserved.
+ SPDX-License-Identifier: BSD-2-Clause-Patent **/ @@ -855,7 +849,7 @@ FeatureControlGetConfigData ( ); /** - Detects if Protected Processor Inventory Number feature supported on current + Detects if Protected Processor Inventory Number feature supported on current processor. @param[in] ProcessorNumber The index of the CPU executing this function. @@ -889,14 +883,14 @@ PpinSupport ( by CPU_FEATURE_GET_CONFIG_DATA. NULL if CPU_FEATURE_GET_CONFIG_DATA was not provided in RegisterCpuFeature(). - @param[in] State If TRUE, then the Protected Processor Inventory + @param[in] State If TRUE, then the Protected Processor Inventory Number feature must be enabled. - If FALSE, then the Protected Processor Inventory + If FALSE, then the Protected Processor Inventory Number feature must be disabled. - @retval RETURN_SUCCESS Protected Processor Inventory Number feature is + @retval RETURN_SUCCESS Protected Processor Inventory Number feature is initialized. - @retval RETURN_DEVICE_ERROR Device can't change state because it has been + @retval RETURN_DEVICE_ERROR Device can't change state because it has been locked. **/ @@ -910,7 +904,7 @@ PpinInitialize ( ); /** - Detects if Local machine check exception feature supported on current + Detects if Local machine check exception feature supported on current processor. @param[in] ProcessorNumber The index of the CPU executing this function. @@ -961,4 +955,70 @@ LmceInitialize ( IN BOOLEAN State ); +/** + Prepares for the data used by CPU feature detection and initialization. + + @param[in] NumberOfProcessors The number of CPUs in the platform. + + @return Pointer to a buffer of CPU related configuration data. + + @note This service could be called by BSP only. +**/ +VOID * +EFIAPI +ProcTraceGetConfigData ( + IN UINTN NumberOfProcessors + ); + +/** + Detects if Intel Processor Trace feature supported on current processor. + + @param[in] ProcessorNumber The index of the CPU executing this function. + @param[in] CpuInfo A pointer to the REGISTER_CPU_FEATURE_INFORMATION + structure for the CPU executing this function. + @param[in] ConfigData A pointer to the configuration buffer returned + by CPU_FEATURE_GET_CONFIG_DATA. NULL if + CPU_FEATURE_GET_CONFIG_DATA was not provided in + RegisterCpuFeature(). + + @retval TRUE Processor Trace feature is supported. + @retval FALSE Processor Trace feature is not supported. + + @note This service could be called by BSP/APs. +**/ +BOOLEAN +EFIAPI +ProcTraceSupport ( + IN UINTN ProcessorNumber, + IN REGISTER_CPU_FEATURE_INFORMATION *CpuInfo, + IN VOID *ConfigData OPTIONAL + ); + +/** + Initializes Intel Processor Trace feature to specific state. + + @param[in] ProcessorNumber The index of the CPU executing this function. + @param[in] CpuInfo A pointer to the REGISTER_CPU_FEATURE_INFORMATION + structure for the CPU executing this function. + @param[in] ConfigData A pointer to the configuration buffer returned + by CPU_FEATURE_GET_CONFIG_DATA. NULL if + CPU_FEATURE_GET_CONFIG_DATA was not provided in + RegisterCpuFeature(). + @param[in] State If TRUE, then the Processor Trace feature must be + enabled. + If FALSE, then the Processor Trace feature must be + disabled. + + @retval RETURN_SUCCESS Intel Processor Trace feature is initialized. + +**/ +RETURN_STATUS +EFIAPI +ProcTraceInitialize ( + IN UINTN ProcessorNumber, + IN REGISTER_CPU_FEATURE_INFORMATION *CpuInfo, + IN VOID *ConfigData, OPTIONAL + IN BOOLEAN State + ); + #endif