TianoCore EDK2 master
Loading...
Searching...
No Matches
CpuCommonFeatures.h File Reference

Go to the source code of this file.

Functions

VOID *EFIAPI AesniGetConfigData (IN UINTN NumberOfProcessors)
 
BOOLEAN EFIAPI AesniSupport (IN UINTN ProcessorNumber, IN REGISTER_CPU_FEATURE_INFORMATION *CpuInfo, IN VOID *ConfigData OPTIONAL)
 
RETURN_STATUS EFIAPI AesniInitialize (IN UINTN ProcessorNumber, IN REGISTER_CPU_FEATURE_INFORMATION *CpuInfo, IN VOID *ConfigData OPTIONAL, IN BOOLEAN State)
 
VOID *EFIAPI ClockModulationGetConfigData (IN UINTN NumberOfProcessors)
 
BOOLEAN EFIAPI ClockModulationSupport (IN UINTN ProcessorNumber, IN REGISTER_CPU_FEATURE_INFORMATION *CpuInfo, IN VOID *ConfigData OPTIONAL)
 
RETURN_STATUS EFIAPI ClockModulationInitialize (IN UINTN ProcessorNumber, IN REGISTER_CPU_FEATURE_INFORMATION *CpuInfo, IN VOID *ConfigData OPTIONAL, IN BOOLEAN State)
 
BOOLEAN EFIAPI EistSupport (IN UINTN ProcessorNumber, IN REGISTER_CPU_FEATURE_INFORMATION *CpuInfo, IN VOID *ConfigData OPTIONAL)
 
RETURN_STATUS EFIAPI EistInitialize (IN UINTN ProcessorNumber, IN REGISTER_CPU_FEATURE_INFORMATION *CpuInfo, IN VOID *ConfigData OPTIONAL, IN BOOLEAN State)
 
BOOLEAN EFIAPI ExecuteDisableSupport (IN UINTN ProcessorNumber, IN REGISTER_CPU_FEATURE_INFORMATION *CpuInfo, IN VOID *ConfigData OPTIONAL)
 
RETURN_STATUS EFIAPI ExecuteDisableInitialize (IN UINTN ProcessorNumber, IN REGISTER_CPU_FEATURE_INFORMATION *CpuInfo, IN VOID *ConfigData OPTIONAL, IN BOOLEAN State)
 
RETURN_STATUS EFIAPI FastStringsInitialize (IN UINTN ProcessorNumber, IN REGISTER_CPU_FEATURE_INFORMATION *CpuInfo, IN VOID *ConfigData OPTIONAL, IN BOOLEAN State)
 
BOOLEAN EFIAPI MonitorMwaitSupport (IN UINTN ProcessorNumber, IN REGISTER_CPU_FEATURE_INFORMATION *CpuInfo, IN VOID *ConfigData OPTIONAL)
 
RETURN_STATUS EFIAPI MonitorMwaitInitialize (IN UINTN ProcessorNumber, IN REGISTER_CPU_FEATURE_INFORMATION *CpuInfo, IN VOID *ConfigData OPTIONAL, IN BOOLEAN State)
 
BOOLEAN EFIAPI VmxSupport (IN UINTN ProcessorNumber, IN REGISTER_CPU_FEATURE_INFORMATION *CpuInfo, IN VOID *ConfigData OPTIONAL)
 
RETURN_STATUS EFIAPI VmxInitialize (IN UINTN ProcessorNumber, IN REGISTER_CPU_FEATURE_INFORMATION *CpuInfo, IN VOID *ConfigData OPTIONAL, IN BOOLEAN State)
 
BOOLEAN EFIAPI LockFeatureControlRegisterSupport (IN UINTN ProcessorNumber, IN REGISTER_CPU_FEATURE_INFORMATION *CpuInfo, IN VOID *ConfigData OPTIONAL)
 
RETURN_STATUS EFIAPI LockFeatureControlRegisterInitialize (IN UINTN ProcessorNumber, IN REGISTER_CPU_FEATURE_INFORMATION *CpuInfo, IN VOID *ConfigData OPTIONAL, IN BOOLEAN State)
 
BOOLEAN EFIAPI SmxSupport (IN UINTN ProcessorNumber, IN REGISTER_CPU_FEATURE_INFORMATION *CpuInfo, IN VOID *ConfigData OPTIONAL)
 
RETURN_STATUS EFIAPI SmxInitialize (IN UINTN ProcessorNumber, IN REGISTER_CPU_FEATURE_INFORMATION *CpuInfo, IN VOID *ConfigData OPTIONAL, IN BOOLEAN State)
 
BOOLEAN EFIAPI LimitCpuidMaxvalSupport (IN UINTN ProcessorNumber, IN REGISTER_CPU_FEATURE_INFORMATION *CpuInfo, IN VOID *ConfigData OPTIONAL)
 
RETURN_STATUS EFIAPI LimitCpuidMaxvalInitialize (IN UINTN ProcessorNumber, IN REGISTER_CPU_FEATURE_INFORMATION *CpuInfo, IN VOID *ConfigData OPTIONAL, IN BOOLEAN State)
 
BOOLEAN EFIAPI MceSupport (IN UINTN ProcessorNumber, IN REGISTER_CPU_FEATURE_INFORMATION *CpuInfo, IN VOID *ConfigData OPTIONAL)
 
RETURN_STATUS EFIAPI MceInitialize (IN UINTN ProcessorNumber, IN REGISTER_CPU_FEATURE_INFORMATION *CpuInfo, IN VOID *ConfigData OPTIONAL, IN BOOLEAN State)
 
BOOLEAN EFIAPI McaSupport (IN UINTN ProcessorNumber, IN REGISTER_CPU_FEATURE_INFORMATION *CpuInfo, IN VOID *ConfigData OPTIONAL)
 
RETURN_STATUS EFIAPI McaInitialize (IN UINTN ProcessorNumber, IN REGISTER_CPU_FEATURE_INFORMATION *CpuInfo, IN VOID *ConfigData OPTIONAL, IN BOOLEAN State)
 
BOOLEAN EFIAPI McgCtlSupport (IN UINTN ProcessorNumber, IN REGISTER_CPU_FEATURE_INFORMATION *CpuInfo, IN VOID *ConfigData OPTIONAL)
 
RETURN_STATUS EFIAPI McgCtlInitialize (IN UINTN ProcessorNumber, IN REGISTER_CPU_FEATURE_INFORMATION *CpuInfo, IN VOID *ConfigData OPTIONAL, IN BOOLEAN State)
 
BOOLEAN EFIAPI PendingBreakSupport (IN UINTN ProcessorNumber, IN REGISTER_CPU_FEATURE_INFORMATION *CpuInfo, IN VOID *ConfigData OPTIONAL)
 
RETURN_STATUS EFIAPI PendingBreakInitialize (IN UINTN ProcessorNumber, IN REGISTER_CPU_FEATURE_INFORMATION *CpuInfo, IN VOID *ConfigData OPTIONAL, IN BOOLEAN State)
 
BOOLEAN EFIAPI C1eSupport (IN UINTN ProcessorNumber, IN REGISTER_CPU_FEATURE_INFORMATION *CpuInfo, IN VOID *ConfigData OPTIONAL)
 
RETURN_STATUS EFIAPI C1eInitialize (IN UINTN ProcessorNumber, IN REGISTER_CPU_FEATURE_INFORMATION *CpuInfo, IN VOID *ConfigData OPTIONAL, IN BOOLEAN State)
 
VOID *EFIAPI X2ApicGetConfigData (IN UINTN NumberOfProcessors)
 
BOOLEAN EFIAPI X2ApicSupport (IN UINTN ProcessorNumber, IN REGISTER_CPU_FEATURE_INFORMATION *CpuInfo, IN VOID *ConfigData OPTIONAL)
 
RETURN_STATUS EFIAPI X2ApicInitialize (IN UINTN ProcessorNumber, IN REGISTER_CPU_FEATURE_INFORMATION *CpuInfo, IN VOID *ConfigData OPTIONAL, IN BOOLEAN State)
 
VOID *EFIAPI PpinGetConfigData (IN UINTN NumberOfProcessors)
 
BOOLEAN EFIAPI PpinSupport (IN UINTN ProcessorNumber, IN REGISTER_CPU_FEATURE_INFORMATION *CpuInfo, IN VOID *ConfigData OPTIONAL)
 
RETURN_STATUS EFIAPI PpinInitialize (IN UINTN ProcessorNumber, IN REGISTER_CPU_FEATURE_INFORMATION *CpuInfo, IN VOID *ConfigData OPTIONAL, IN BOOLEAN State)
 
BOOLEAN EFIAPI LmceSupport (IN UINTN ProcessorNumber, IN REGISTER_CPU_FEATURE_INFORMATION *CpuInfo, IN VOID *ConfigData OPTIONAL)
 
RETURN_STATUS EFIAPI LmceInitialize (IN UINTN ProcessorNumber, IN REGISTER_CPU_FEATURE_INFORMATION *CpuInfo, IN VOID *ConfigData OPTIONAL, IN BOOLEAN State)
 
VOID *EFIAPI ProcTraceGetConfigData (IN UINTN NumberOfProcessors)
 
BOOLEAN EFIAPI ProcTraceSupport (IN UINTN ProcessorNumber, IN REGISTER_CPU_FEATURE_INFORMATION *CpuInfo, IN VOID *ConfigData OPTIONAL)
 
RETURN_STATUS EFIAPI ProcTraceInitialize (IN UINTN ProcessorNumber, IN REGISTER_CPU_FEATURE_INFORMATION *CpuInfo, IN VOID *ConfigData OPTIONAL, IN BOOLEAN State)
 

Detailed Description

CPU Common features library header file.

Copyright (c) 2017 - 2019, Intel Corporation. All rights reserved.
SPDX-License-Identifier: BSD-2-Clause-Patent

Definition in file CpuCommonFeatures.h.

Function Documentation

◆ AesniGetConfigData()

VOID *EFIAPI AesniGetConfigData ( IN UINTN  NumberOfProcessors)

Prepares for the data used by CPU feature detection and initialization.

Parameters
[in]NumberOfProcessorsThe number of CPUs in the platform.
Returns
Pointer to a buffer of CPU related configuration data.
Note
This service could be called by BSP only.

Definition at line 22 of file Aesni.c.

◆ AesniInitialize()

RETURN_STATUS EFIAPI AesniInitialize ( IN UINTN  ProcessorNumber,
IN REGISTER_CPU_FEATURE_INFORMATION CpuInfo,
IN VOID *ConfigData  OPTIONAL,
IN BOOLEAN  State 
)

Initializes AESNI feature to specific state.

Parameters
[in]ProcessorNumberThe index of the CPU executing this function.
[in]CpuInfoA pointer to the REGISTER_CPU_FEATURE_INFORMATION structure for the CPU executing this function.
[in]ConfigDataA pointer to the configuration buffer returned by CPU_FEATURE_GET_CONFIG_DATA. NULL if CPU_FEATURE_GET_CONFIG_DATA was not provided in RegisterCpuFeature().
[in]StateIf TRUE, then the AESNI feature must be enabled. If FALSE, then the AESNI feature must be disabled.
Return values
RETURN_SUCCESSAESNI feature is initialized.
Note
This service could be called by BSP only.

Definition at line 88 of file Aesni.c.

◆ AesniSupport()

BOOLEAN EFIAPI AesniSupport ( IN UINTN  ProcessorNumber,
IN REGISTER_CPU_FEATURE_INFORMATION CpuInfo,
IN VOID *ConfigData  OPTIONAL 
)

Detects if AESNI feature supported on current processor.

Parameters
[in]ProcessorNumberThe index of the CPU executing this function.
[in]CpuInfoA pointer to the REGISTER_CPU_FEATURE_INFORMATION structure for the CPU executing this function.
[in]ConfigDataA pointer to the configuration buffer returned by CPU_FEATURE_GET_CONFIG_DATA. NULL if CPU_FEATURE_GET_CONFIG_DATA was not provided in RegisterCpuFeature().
Return values
TRUEAESNI feature is supported.
FALSEAESNI feature is not supported.
Note
This service could be called by BSP/APs.

Definition at line 51 of file Aesni.c.

◆ C1eInitialize()

RETURN_STATUS EFIAPI C1eInitialize ( IN UINTN  ProcessorNumber,
IN REGISTER_CPU_FEATURE_INFORMATION CpuInfo,
IN VOID *ConfigData  OPTIONAL,
IN BOOLEAN  State 
)

Initializes C1E feature to specific state.

Parameters
[in]ProcessorNumberThe index of the CPU executing this function.
[in]CpuInfoA pointer to the REGISTER_CPU_FEATURE_INFORMATION structure for the CPU executing this function.
[in]ConfigDataA pointer to the configuration buffer returned by CPU_FEATURE_GET_CONFIG_DATA. NULL if CPU_FEATURE_GET_CONFIG_DATA was not provided in RegisterCpuFeature().
[in]StateIf TRUE, then the C1E feature must be enabled. If FALSE, then the C1E feature must be disabled.
Return values
RETURN_SUCCESSC1E feature is initialized.
Note
This service could be called by BSP only.

Definition at line 57 of file C1e.c.

◆ C1eSupport()

BOOLEAN EFIAPI C1eSupport ( IN UINTN  ProcessorNumber,
IN REGISTER_CPU_FEATURE_INFORMATION CpuInfo,
IN VOID *ConfigData  OPTIONAL 
)

Detects if C1E feature supported on current processor.

Parameters
[in]ProcessorNumberThe index of the CPU executing this function.
[in]CpuInfoA pointer to the REGISTER_CPU_FEATURE_INFORMATION structure for the CPU executing this function.
[in]ConfigDataA pointer to the configuration buffer returned by CPU_FEATURE_GET_CONFIG_DATA. NULL if CPU_FEATURE_GET_CONFIG_DATA was not provided in RegisterCpuFeature().
Return values
TRUEC1E feature is supported.
FALSEC1E feature is not supported.
Note
This service could be called by BSP/APs.

Definition at line 29 of file C1e.c.

◆ ClockModulationGetConfigData()

VOID *EFIAPI ClockModulationGetConfigData ( IN UINTN  NumberOfProcessors)

Prepares for the data used by CPU feature detection and initialization.

Parameters
[in]NumberOfProcessorsThe number of CPUs in the platform.
Returns
Pointer to a buffer of CPU related configuration data.
Note
This service could be called by BSP only.

Definition at line 27 of file ClockModulation.c.

◆ ClockModulationInitialize()

RETURN_STATUS EFIAPI ClockModulationInitialize ( IN UINTN  ProcessorNumber,
IN REGISTER_CPU_FEATURE_INFORMATION CpuInfo,
IN VOID *ConfigData  OPTIONAL,
IN BOOLEAN  State 
)

Initializes Clock Modulation feature to specific state.

Parameters
[in]ProcessorNumberThe index of the CPU executing this function.
[in]CpuInfoA pointer to the REGISTER_CPU_FEATURE_INFORMATION structure for the CPU executing this function.
[in]ConfigDataA pointer to the configuration buffer returned by CPU_FEATURE_GET_CONFIG_DATA. NULL if CPU_FEATURE_GET_CONFIG_DATA was not provided in RegisterCpuFeature().
[in]StateIf TRUE, then the Clock Modulation feature must be enabled. If FALSE, then the Clock Modulation feature must be disabled.
Return values
RETURN_SUCCESSClock Modulation feature is initialized.
Note
This service could be called by BSP only.

Definition at line 100 of file ClockModulation.c.

◆ ClockModulationSupport()

BOOLEAN EFIAPI ClockModulationSupport ( IN UINTN  ProcessorNumber,
IN REGISTER_CPU_FEATURE_INFORMATION CpuInfo,
IN VOID *ConfigData  OPTIONAL 
)

Detects if Clock Modulation feature supported on current processor.

Parameters
[in]ProcessorNumberThe index of the CPU executing this function.
[in]CpuInfoA pointer to the REGISTER_CPU_FEATURE_INFORMATION structure for the CPU executing this function.
[in]ConfigDataA pointer to the configuration buffer returned by CPU_FEATURE_GET_CONFIG_DATA. NULL if CPU_FEATURE_GET_CONFIG_DATA was not provided in RegisterCpuFeature().
Return values
TRUEClock Modulation feature is supported.
FALSEClock Modulation feature is not supported.
Note
This service could be called by BSP/APs.

Definition at line 56 of file ClockModulation.c.

◆ EistInitialize()

RETURN_STATUS EFIAPI EistInitialize ( IN UINTN  ProcessorNumber,
IN REGISTER_CPU_FEATURE_INFORMATION CpuInfo,
IN VOID *ConfigData  OPTIONAL,
IN BOOLEAN  State 
)

Initializes Enhanced Intel SpeedStep feature to specific state.

Parameters
[in]ProcessorNumberThe index of the CPU executing this function.
[in]CpuInfoA pointer to the REGISTER_CPU_FEATURE_INFORMATION structure for the CPU executing this function.
[in]ConfigDataA pointer to the configuration buffer returned by CPU_FEATURE_GET_CONFIG_DATA. NULL if CPU_FEATURE_GET_CONFIG_DATA was not provided in RegisterCpuFeature().
[in]StateIf TRUE, then the Enhanced Intel SpeedStep feature must be enabled. If FALSE, then the Enhanced Intel SpeedStep feature must be disabled.
Return values
RETURN_SUCCESSEnhanced Intel SpeedStep feature is initialized.
Note
This service could be called by BSP only.

Definition at line 59 of file Eist.c.

◆ EistSupport()

BOOLEAN EFIAPI EistSupport ( IN UINTN  ProcessorNumber,
IN REGISTER_CPU_FEATURE_INFORMATION CpuInfo,
IN VOID *ConfigData  OPTIONAL 
)

Detects if Enhanced Intel SpeedStep feature supported on current processor.

Parameters
[in]ProcessorNumberThe index of the CPU executing this function.
[in]CpuInfoA pointer to the REGISTER_CPU_FEATURE_INFORMATION structure for the CPU executing this function.
[in]ConfigDataA pointer to the configuration buffer returned by CPU_FEATURE_GET_CONFIG_DATA. NULL if CPU_FEATURE_GET_CONFIG_DATA was not provided in RegisterCpuFeature().
Return values
TRUEEnhanced Intel SpeedStep feature is supported.
FALSEEnhanced Intel SpeedStep feature is not supported.
Note
This service could be called by BSP/APs.

Definition at line 29 of file Eist.c.

◆ ExecuteDisableInitialize()

RETURN_STATUS EFIAPI ExecuteDisableInitialize ( IN UINTN  ProcessorNumber,
IN REGISTER_CPU_FEATURE_INFORMATION CpuInfo,
IN VOID *ConfigData  OPTIONAL,
IN BOOLEAN  State 
)

Initializes Execute Disable feature to specific state.

Parameters
[in]ProcessorNumberThe index of the CPU executing this function.
[in]CpuInfoA pointer to the REGISTER_CPU_FEATURE_INFORMATION structure for the CPU executing this function.
[in]ConfigDataA pointer to the configuration buffer returned by CPU_FEATURE_GET_CONFIG_DATA. NULL if CPU_FEATURE_GET_CONFIG_DATA was not provided in RegisterCpuFeature().
[in]StateIf TRUE, then the Execute Disable feature must be enabled. If FALSE, then the Execute Disable feature must be disabled.
Return values
RETURN_SUCCESSExecute Disable feature is initialized.
Note
This service could be called by BSP only.

◆ ExecuteDisableSupport()

BOOLEAN EFIAPI ExecuteDisableSupport ( IN UINTN  ProcessorNumber,
IN REGISTER_CPU_FEATURE_INFORMATION CpuInfo,
IN VOID *ConfigData  OPTIONAL 
)

Detects if Execute Disable feature supported on current processor.

Parameters
[in]ProcessorNumberThe index of the CPU executing this function.
[in]CpuInfoA pointer to the REGISTER_CPU_FEATURE_INFORMATION structure for the CPU executing this function.
[in]ConfigDataA pointer to the configuration buffer returned by CPU_FEATURE_GET_CONFIG_DATA. NULL if CPU_FEATURE_GET_CONFIG_DATA was not provided in RegisterCpuFeature().
Return values
TRUEExecute Disable feature is supported.
FALSEExecute Disable feature is not supported.
Note
This service could be called by BSP/APs.

◆ FastStringsInitialize()

RETURN_STATUS EFIAPI FastStringsInitialize ( IN UINTN  ProcessorNumber,
IN REGISTER_CPU_FEATURE_INFORMATION CpuInfo,
IN VOID *ConfigData  OPTIONAL,
IN BOOLEAN  State 
)

Initializes Fast-Strings feature to specific state.

Parameters
[in]ProcessorNumberThe index of the CPU executing this function.
[in]CpuInfoA pointer to the REGISTER_CPU_FEATURE_INFORMATION structure for the CPU executing this function.
[in]ConfigDataA pointer to the configuration buffer returned by CPU_FEATURE_GET_CONFIG_DATA. NULL if CPU_FEATURE_GET_CONFIG_DATA was not provided in RegisterCpuFeature().
[in]StateIf TRUE, then the Fast-Strings feature must be enabled. If FALSE, then the Fast-Strings feature must be disabled.
Return values
RETURN_SUCCESSFast-Strings feature is initialized.
Note
This service could be called by BSP only.

Definition at line 30 of file FastStrings.c.

◆ LimitCpuidMaxvalInitialize()

RETURN_STATUS EFIAPI LimitCpuidMaxvalInitialize ( IN UINTN  ProcessorNumber,
IN REGISTER_CPU_FEATURE_INFORMATION CpuInfo,
IN VOID *ConfigData  OPTIONAL,
IN BOOLEAN  State 
)

Initializes LimitCpuidMaxval feature to specific state.

Parameters
[in]ProcessorNumberThe index of the CPU executing this function.
[in]CpuInfoA pointer to the REGISTER_CPU_FEATURE_INFORMATION structure for the CPU executing this function.
[in]ConfigDataA pointer to the configuration buffer returned by CPU_FEATURE_GET_CONFIG_DATA. NULL if CPU_FEATURE_GET_CONFIG_DATA was not provided in RegisterCpuFeature().
[in]StateIf TRUE, then the LimitCpuidMaxval feature must be enabled. If FALSE, then the LimitCpuidMaxval feature must be disabled.
Return values
RETURN_SUCCESSLimitCpuidMaxval feature is initialized.
Note
This service could be called by BSP only.

Definition at line 60 of file LimitCpuIdMaxval.c.

◆ LimitCpuidMaxvalSupport()

BOOLEAN EFIAPI LimitCpuidMaxvalSupport ( IN UINTN  ProcessorNumber,
IN REGISTER_CPU_FEATURE_INFORMATION CpuInfo,
IN VOID *ConfigData  OPTIONAL 
)

Detects if LimitCpuidMaxval feature supported on current processor.

Parameters
[in]ProcessorNumberThe index of the CPU executing this function.
[in]CpuInfoA pointer to the REGISTER_CPU_FEATURE_INFORMATION structure for the CPU executing this function.
[in]ConfigDataA pointer to the configuration buffer returned by CPU_FEATURE_GET_CONFIG_DATA. NULL if CPU_FEATURE_GET_CONFIG_DATA was not provided in RegisterCpuFeature().
Return values
TRUELimitCpuidMaxval feature is supported.
FALSELimitCpuidMaxval feature is not supported.
Note
This service could be called by BSP/APs.

Definition at line 29 of file LimitCpuIdMaxval.c.

◆ LmceInitialize()

RETURN_STATUS EFIAPI LmceInitialize ( IN UINTN  ProcessorNumber,
IN REGISTER_CPU_FEATURE_INFORMATION CpuInfo,
IN VOID *ConfigData  OPTIONAL,
IN BOOLEAN  State 
)

Initializes Local machine check exception feature to specific state.

Parameters
[in]ProcessorNumberThe index of the CPU executing this function.
[in]CpuInfoA pointer to the REGISTER_CPU_FEATURE_INFORMATION structure for the CPU executing this function.
[in]ConfigDataA pointer to the configuration buffer returned by CPU_FEATURE_GET_CONFIG_DATA. NULL if CPU_FEATURE_GET_CONFIG_DATA was not provided in RegisterCpuFeature().
[in]StateIf TRUE, then the Local machine check exception feature must be enabled. If FALSE, then the Local machine check exception feature must be disabled.
Return values
RETURN_SUCCESSLocal machine check exception feature is initialized.

Definition at line 316 of file MachineCheck.c.

◆ LmceSupport()

BOOLEAN EFIAPI LmceSupport ( IN UINTN  ProcessorNumber,
IN REGISTER_CPU_FEATURE_INFORMATION CpuInfo,
IN VOID *ConfigData  OPTIONAL 
)

Detects if Local machine check exception feature supported on current processor.

Parameters
[in]ProcessorNumberThe index of the CPU executing this function.
[in]CpuInfoA pointer to the REGISTER_CPU_FEATURE_INFORMATION structure for the CPU executing this function.
[in]ConfigDataA pointer to the configuration buffer returned by CPU_FEATURE_GET_CONFIG_DATA. NULL if CPU_FEATURE_GET_CONFIG_DATA was not provided in RegisterCpuFeature().
Return values
TRUELocal machine check exception feature is supported.
FALSELocal machine check exception feature is not supported.
Note
This service could be called by BSP/APs.

Definition at line 279 of file MachineCheck.c.

◆ LockFeatureControlRegisterInitialize()

RETURN_STATUS EFIAPI LockFeatureControlRegisterInitialize ( IN UINTN  ProcessorNumber,
IN REGISTER_CPU_FEATURE_INFORMATION CpuInfo,
IN VOID *ConfigData  OPTIONAL,
IN BOOLEAN  State 
)

Initializes Lock Feature Control Register feature to specific state.

Parameters
[in]ProcessorNumberThe index of the CPU executing this function.
[in]CpuInfoA pointer to the REGISTER_CPU_FEATURE_INFORMATION structure for the CPU executing this function.
[in]ConfigDataA pointer to the configuration buffer returned by CPU_FEATURE_GET_CONFIG_DATA. NULL if CPU_FEATURE_GET_CONFIG_DATA was not provided in RegisterCpuFeature().
[in]StateIf TRUE, then the Lock Feature Control Register feature must be enabled. If FALSE, then the Lock Feature Control Register feature must be disabled.
Return values
RETURN_SUCCESSLock Feature Control Register feature is initialized.
Note
This service could be called by BSP only.

Definition at line 136 of file FeatureControl.c.

◆ LockFeatureControlRegisterSupport()

BOOLEAN EFIAPI LockFeatureControlRegisterSupport ( IN UINTN  ProcessorNumber,
IN REGISTER_CPU_FEATURE_INFORMATION CpuInfo,
IN VOID *ConfigData  OPTIONAL 
)

Detects if Lock Feature Control Register feature supported on current processor.

Parameters
[in]ProcessorNumberThe index of the CPU executing this function.
[in]CpuInfoA pointer to the REGISTER_CPU_FEATURE_INFORMATION structure for the CPU executing this function.
[in]ConfigDataA pointer to the configuration buffer returned by CPU_FEATURE_GET_CONFIG_DATA. NULL if CPU_FEATURE_GET_CONFIG_DATA was not provided in RegisterCpuFeature().
Return values
TRUELock Feature Control Register feature is supported.
FALSELock Feature Control Register feature is not supported.
Note
This service could be called by BSP/APs.

Definition at line 108 of file FeatureControl.c.

◆ McaInitialize()

RETURN_STATUS EFIAPI McaInitialize ( IN UINTN  ProcessorNumber,
IN REGISTER_CPU_FEATURE_INFORMATION CpuInfo,
IN VOID *ConfigData  OPTIONAL,
IN BOOLEAN  State 
)

Initializes Machine Check Architecture feature to specific state.

Parameters
[in]ProcessorNumberThe index of the CPU executing this function.
[in]CpuInfoA pointer to the REGISTER_CPU_FEATURE_INFORMATION structure for the CPU executing this function.
[in]ConfigDataA pointer to the configuration buffer returned by CPU_FEATURE_GET_CONFIG_DATA. NULL if CPU_FEATURE_GET_CONFIG_DATA was not provided in RegisterCpuFeature().
[in]StateIf TRUE, then the Machine Check Architecture feature must be enabled. If FALSE, then the Machine Check Architecture feature must be disabled.
Return values
RETURN_SUCCESSMachine Check Architecture feature is initialized.
Note
This service could be called by BSP only.

Definition at line 128 of file MachineCheck.c.

◆ McaSupport()

BOOLEAN EFIAPI McaSupport ( IN UINTN  ProcessorNumber,
IN REGISTER_CPU_FEATURE_INFORMATION CpuInfo,
IN VOID *ConfigData  OPTIONAL 
)

Detects if Machine Check Architecture feature supported on current processor.

Parameters
[in]ProcessorNumberThe index of the CPU executing this function.
[in]CpuInfoA pointer to the REGISTER_CPU_FEATURE_INFORMATION structure for the CPU executing this function.
[in]ConfigDataA pointer to the configuration buffer returned by CPU_FEATURE_GET_CONFIG_DATA. NULL if CPU_FEATURE_GET_CONFIG_DATA was not provided in RegisterCpuFeature().
Return values
TRUEMachine Check Architecture feature is supported.
FALSEMachine Check Architecture feature is not supported.
Note
This service could be called by BSP/APs.

Definition at line 96 of file MachineCheck.c.

◆ MceInitialize()

RETURN_STATUS EFIAPI MceInitialize ( IN UINTN  ProcessorNumber,
IN REGISTER_CPU_FEATURE_INFORMATION CpuInfo,
IN VOID *ConfigData  OPTIONAL,
IN BOOLEAN  State 
)

Initializes Machine Check Exception feature to specific state.

Parameters
[in]ProcessorNumberThe index of the CPU executing this function.
[in]CpuInfoA pointer to the REGISTER_CPU_FEATURE_INFORMATION structure for the CPU executing this function.
[in]ConfigDataA pointer to the configuration buffer returned by CPU_FEATURE_GET_CONFIG_DATA. NULL if CPU_FEATURE_GET_CONFIG_DATA was not provided in RegisterCpuFeature().
[in]StateIf TRUE, then the Machine Check Exception feature must be enabled. If FALSE, then the Machine Check Exception feature must be disabled.
Return values
RETURN_SUCCESSMachine Check Exception feature is initialized.
Note
This service could be called by BSP only.

Definition at line 57 of file MachineCheck.c.

◆ MceSupport()

BOOLEAN EFIAPI MceSupport ( IN UINTN  ProcessorNumber,
IN REGISTER_CPU_FEATURE_INFORMATION CpuInfo,
IN VOID *ConfigData  OPTIONAL 
)

Detects if Machine Check Exception feature supported on current processor.

Parameters
[in]ProcessorNumberThe index of the CPU executing this function.
[in]CpuInfoA pointer to the REGISTER_CPU_FEATURE_INFORMATION structure for the CPU executing this function.
[in]ConfigDataA pointer to the configuration buffer returned by CPU_FEATURE_GET_CONFIG_DATA. NULL if CPU_FEATURE_GET_CONFIG_DATA was not provided in RegisterCpuFeature().
Return values
TRUEMachine Check Exception feature is supported.
FALSEMachine Check Exception feature is not supported.
Note
This service could be called by BSP/APs.

Definition at line 29 of file MachineCheck.c.

◆ McgCtlInitialize()

RETURN_STATUS EFIAPI McgCtlInitialize ( IN UINTN  ProcessorNumber,
IN REGISTER_CPU_FEATURE_INFORMATION CpuInfo,
IN VOID *ConfigData  OPTIONAL,
IN BOOLEAN  State 
)

Initializes IA32_MCG_CTL feature to specific state.

Parameters
[in]ProcessorNumberThe index of the CPU executing this function.
[in]CpuInfoA pointer to the REGISTER_CPU_FEATURE_INFORMATION structure for the CPU executing this function.
[in]ConfigDataA pointer to the configuration buffer returned by CPU_FEATURE_GET_CONFIG_DATA. NULL if CPU_FEATURE_GET_CONFIG_DATA was not provided in RegisterCpuFeature().
[in]StateIf TRUE, then the IA32_MCG_CTL feature must be enabled. If FALSE, then the IA32_MCG_CTL feature must be disabled.
Return values
RETURN_SUCCESSIA32_MCG_CTL feature is initialized.
Note
This service could be called by BSP only.

Definition at line 244 of file MachineCheck.c.

◆ McgCtlSupport()

BOOLEAN EFIAPI McgCtlSupport ( IN UINTN  ProcessorNumber,
IN REGISTER_CPU_FEATURE_INFORMATION CpuInfo,
IN VOID *ConfigData  OPTIONAL 
)

Detects if IA32_MCG_CTL feature supported on current processor.

Parameters
[in]ProcessorNumberThe index of the CPU executing this function.
[in]CpuInfoA pointer to the REGISTER_CPU_FEATURE_INFORMATION structure for the CPU executing this function.
[in]ConfigDataA pointer to the configuration buffer returned by CPU_FEATURE_GET_CONFIG_DATA. NULL if CPU_FEATURE_GET_CONFIG_DATA was not provided in RegisterCpuFeature().
Return values
TRUEIA32_MCG_CTL feature is supported.
FALSEIA32_MCG_CTL feature is not supported.
Note
This service could be called by BSP/APs.

Definition at line 209 of file MachineCheck.c.

◆ MonitorMwaitInitialize()

RETURN_STATUS EFIAPI MonitorMwaitInitialize ( IN UINTN  ProcessorNumber,
IN REGISTER_CPU_FEATURE_INFORMATION CpuInfo,
IN VOID *ConfigData  OPTIONAL,
IN BOOLEAN  State 
)

Initializes MONITOR/MWAIT feature to specific state.

Parameters
[in]ProcessorNumberThe index of the CPU executing this function.
[in]CpuInfoA pointer to the REGISTER_CPU_FEATURE_INFORMATION structure for the CPU executing this function.
[in]ConfigDataA pointer to the configuration buffer returned by CPU_FEATURE_GET_CONFIG_DATA. NULL if CPU_FEATURE_GET_CONFIG_DATA was not provided in RegisterCpuFeature().
[in]StateIf TRUE, then the MONITOR/MWAIT feature must be enabled. If FALSE, then the MONITOR/MWAIT feature must be disabled.
Return values
RETURN_SUCCESSMONITOR/MWAIT feature is initialized.
Note
This service could be called by BSP only.

Definition at line 57 of file MonitorMwait.c.

◆ MonitorMwaitSupport()

BOOLEAN EFIAPI MonitorMwaitSupport ( IN UINTN  ProcessorNumber,
IN REGISTER_CPU_FEATURE_INFORMATION CpuInfo,
IN VOID *ConfigData  OPTIONAL 
)

Detects if MONITOR/MWAIT feature supported on current processor.

Parameters
[in]ProcessorNumberThe index of the CPU executing this function.
[in]CpuInfoA pointer to the REGISTER_CPU_FEATURE_INFORMATION structure for the CPU executing this function.
[in]ConfigDataA pointer to the configuration buffer returned by CPU_FEATURE_GET_CONFIG_DATA. NULL if CPU_FEATURE_GET_CONFIG_DATA was not provided in RegisterCpuFeature().
Return values
TRUEMONITOR/MWAIT feature is supported.
FALSEMONITOR/MWAIT feature is not supported.
Note
This service could be called by BSP/APs.

Definition at line 29 of file MonitorMwait.c.

◆ PendingBreakInitialize()

RETURN_STATUS EFIAPI PendingBreakInitialize ( IN UINTN  ProcessorNumber,
IN REGISTER_CPU_FEATURE_INFORMATION CpuInfo,
IN VOID *ConfigData  OPTIONAL,
IN BOOLEAN  State 
)

Initializes Pending Break feature to specific state.

Parameters
[in]ProcessorNumberThe index of the CPU executing this function.
[in]CpuInfoA pointer to the REGISTER_CPU_FEATURE_INFORMATION structure for the CPU executing this function.
[in]ConfigDataA pointer to the configuration buffer returned by CPU_FEATURE_GET_CONFIG_DATA. NULL if CPU_FEATURE_GET_CONFIG_DATA was not provided in RegisterCpuFeature().
[in]StateIf TRUE, then the Pending Break feature must be enabled. If FALSE, then the Pending Break feature must be disabled.
Return values
RETURN_SUCCESSPending Break feature is initialized.
Note
This service could be called by BSP only.

Definition at line 66 of file PendingBreak.c.

◆ PendingBreakSupport()

BOOLEAN EFIAPI PendingBreakSupport ( IN UINTN  ProcessorNumber,
IN REGISTER_CPU_FEATURE_INFORMATION CpuInfo,
IN VOID *ConfigData  OPTIONAL 
)

Detects if Pending Break feature supported on current processor.

Parameters
[in]ProcessorNumberThe index of the CPU executing this function.
[in]CpuInfoA pointer to the REGISTER_CPU_FEATURE_INFORMATION structure for the CPU executing this function.
[in]ConfigDataA pointer to the configuration buffer returned by CPU_FEATURE_GET_CONFIG_DATA. NULL if CPU_FEATURE_GET_CONFIG_DATA was not provided in RegisterCpuFeature().
Return values
TRUEPending Break feature is supported.
FALSEPending Break feature is not supported.
Note
This service could be called by BSP/APs.

Definition at line 29 of file PendingBreak.c.

◆ PpinGetConfigData()

VOID *EFIAPI PpinGetConfigData ( IN UINTN  NumberOfProcessors)

Prepares for the data used by CPU feature detection and initialization.

Parameters
[in]NumberOfProcessorsThe number of CPUs in the platform.
Returns
Pointer to a buffer of CPU related configuration data.
Note
This service could be called by BSP only.

Definition at line 22 of file Ppin.c.

◆ PpinInitialize()

RETURN_STATUS EFIAPI PpinInitialize ( IN UINTN  ProcessorNumber,
IN REGISTER_CPU_FEATURE_INFORMATION CpuInfo,
IN VOID *ConfigData  OPTIONAL,
IN BOOLEAN  State 
)

Initializes Protected Processor Inventory Number feature to specific state.

Parameters
[in]ProcessorNumberThe index of the CPU executing this function.
[in]CpuInfoA pointer to the REGISTER_CPU_FEATURE_INFORMATION structure for the CPU executing this function.
[in]ConfigDataA pointer to the configuration buffer returned by CPU_FEATURE_GET_CONFIG_DATA. NULL if CPU_FEATURE_GET_CONFIG_DATA was not provided in RegisterCpuFeature().
[in]StateIf TRUE, then the Protected Processor Inventory Number feature must be enabled. If FALSE, then the Protected Processor Inventory Number feature must be disabled.
Return values
RETURN_SUCCESSProtected Processor Inventory Number feature is initialized.
RETURN_DEVICE_ERRORDevice can't change state because it has been locked.

Initializes Protected Processor Inventory Number feature to specific state.

Parameters
[in]ProcessorNumberThe index of the CPU executing this function.
[in]CpuInfoA pointer to the REGISTER_CPU_FEATURE_INFORMATION structure for the CPU executing this function.
[in]ConfigDataA pointer to the configuration buffer returned by CPU_FEATURE_GET_CONFIG_DATA. NULL if CPU_FEATURE_GET_CONFIG_DATA was not provided in RegisterCpuFeature().
[in]StateIf TRUE, then the Protected Processor Inventory Number feature must be enabled. If FALSE, then the Protected Processor Inventory Number feature must be disabled.
Return values
RETURN_SUCCESSProtected Processor Inventory Number feature is initialized.
RETURN_DEVICE_ERRORDevice can't change state because it has been locked.
Note
This service could be called by BSP only.

Definition at line 109 of file Ppin.c.

◆ PpinSupport()

BOOLEAN EFIAPI PpinSupport ( IN UINTN  ProcessorNumber,
IN REGISTER_CPU_FEATURE_INFORMATION CpuInfo,
IN VOID *ConfigData  OPTIONAL 
)

Detects if Protected Processor Inventory Number feature supported on current processor.

Parameters
[in]ProcessorNumberThe index of the CPU executing this function.
[in]CpuInfoA pointer to the REGISTER_CPU_FEATURE_INFORMATION structure for the CPU executing this function.
[in]ConfigDataA pointer to the configuration buffer returned by CPU_FEATURE_GET_CONFIG_DATA. NULL if CPU_FEATURE_GET_CONFIG_DATA was not provided in RegisterCpuFeature().
Return values
TRUEProtected Processor Inventory Number feature is supported.
FALSEProtected Processor Inventory Number feature is not supported.
Note
This service could be called by BSP/APs.

Definition at line 52 of file Ppin.c.

◆ ProcTraceGetConfigData()

VOID *EFIAPI ProcTraceGetConfigData ( IN UINTN  NumberOfProcessors)

Prepares for the data used by CPU feature detection and initialization.

Parameters
[in]NumberOfProcessorsThe number of CPUs in the platform.
Returns
Pointer to a buffer of CPU related configuration data.
Note
This service could be called by BSP only.

Definition at line 71 of file ProcTrace.c.

◆ ProcTraceInitialize()

RETURN_STATUS EFIAPI ProcTraceInitialize ( IN UINTN  ProcessorNumber,
IN REGISTER_CPU_FEATURE_INFORMATION CpuInfo,
IN VOID *ConfigData  OPTIONAL,
IN BOOLEAN  State 
)

Initializes Intel Processor Trace feature to specific state.

Parameters
[in]ProcessorNumberThe index of the CPU executing this function.
[in]CpuInfoA pointer to the REGISTER_CPU_FEATURE_INFORMATION structure for the CPU executing this function.
[in]ConfigDataA pointer to the configuration buffer returned by CPU_FEATURE_GET_CONFIG_DATA. NULL if CPU_FEATURE_GET_CONFIG_DATA was not provided in RegisterCpuFeature().
[in]StateIf TRUE, then the Processor Trace feature must be enabled. If FALSE, then the Processor Trace feature must be disabled.
Return values
RETURN_SUCCESSIntel Processor Trace feature is initialized.

Clear bit 0 in MSR IA32_RTIT_CTL (570)

Clear MSR IA32_RTIT_STS (571h) to all zeros

Refer to PROC_TRACE_MEM_SIZE Table for Size Encoding

Check Processor Trace output scheme: Single Range output or ToPA table

Enable the Processor Trace feature from MSR IA32_RTIT_CTL (570h)

Definition at line 176 of file ProcTrace.c.

◆ ProcTraceSupport()

BOOLEAN EFIAPI ProcTraceSupport ( IN UINTN  ProcessorNumber,
IN REGISTER_CPU_FEATURE_INFORMATION CpuInfo,
IN VOID *ConfigData  OPTIONAL 
)

Detects if Intel Processor Trace feature supported on current processor.

Parameters
[in]ProcessorNumberThe index of the CPU executing this function.
[in]CpuInfoA pointer to the REGISTER_CPU_FEATURE_INFORMATION structure for the CPU executing this function.
[in]ConfigDataA pointer to the configuration buffer returned by CPU_FEATURE_GET_CONFIG_DATA. NULL if CPU_FEATURE_GET_CONFIG_DATA was not provided in RegisterCpuFeature().
Return values
TRUEProcessor Trace feature is supported.
FALSEProcessor Trace feature is not supported.
Note
This service could be called by BSP/APs.

Definition at line 109 of file ProcTrace.c.

◆ SmxInitialize()

RETURN_STATUS EFIAPI SmxInitialize ( IN UINTN  ProcessorNumber,
IN REGISTER_CPU_FEATURE_INFORMATION CpuInfo,
IN VOID *ConfigData  OPTIONAL,
IN BOOLEAN  State 
)

Initializes SMX feature to specific state.

Parameters
[in]ProcessorNumberThe index of the CPU executing this function.
[in]CpuInfoA pointer to the REGISTER_CPU_FEATURE_INFORMATION structure for the CPU executing this function.
[in]ConfigDataA pointer to the configuration buffer returned by CPU_FEATURE_GET_CONFIG_DATA. NULL if CPU_FEATURE_GET_CONFIG_DATA was not provided in RegisterCpuFeature().
[in]StateIf TRUE, then SMX feature must be enabled. If FALSE, then SMX feature must be disabled.
Return values
RETURN_SUCCESSSMX feature is initialized.
RETURN_UNSUPPORTEDVMX not initialized.
Note
This service could be called by BSP only.

Definition at line 216 of file FeatureControl.c.

◆ SmxSupport()

BOOLEAN EFIAPI SmxSupport ( IN UINTN  ProcessorNumber,
IN REGISTER_CPU_FEATURE_INFORMATION CpuInfo,
IN VOID *ConfigData  OPTIONAL 
)

Detects if SMX feature supported on current processor.

Parameters
[in]ProcessorNumberThe index of the CPU executing this function.
[in]CpuInfoA pointer to the REGISTER_CPU_FEATURE_INFORMATION structure for the CPU executing this function.
[in]ConfigDataA pointer to the configuration buffer returned by CPU_FEATURE_GET_CONFIG_DATA. NULL if CPU_FEATURE_GET_CONFIG_DATA was not provided in RegisterCpuFeature().
Return values
TRUESMX feature is supported.
FALSESMX feature is not supported.
Note
This service could be called by BSP/APs.

Definition at line 187 of file FeatureControl.c.

◆ VmxInitialize()

RETURN_STATUS EFIAPI VmxInitialize ( IN UINTN  ProcessorNumber,
IN REGISTER_CPU_FEATURE_INFORMATION CpuInfo,
IN VOID *ConfigData  OPTIONAL,
IN BOOLEAN  State 
)

Initializes VMX feature to specific state.

Parameters
[in]ProcessorNumberThe index of the CPU executing this function.
[in]CpuInfoA pointer to the REGISTER_CPU_FEATURE_INFORMATION structure for the CPU executing this function.
[in]ConfigDataA pointer to the configuration buffer returned by CPU_FEATURE_GET_CONFIG_DATA. NULL if CPU_FEATURE_GET_CONFIG_DATA was not provided in RegisterCpuFeature().
[in]StateIf TRUE, then the VMX feature must be enabled. If FALSE, then the VMX feature must be disabled.
Return values
RETURN_SUCCESSVMX feature is initialized.
Note
This service could be called by BSP only.

Definition at line 57 of file FeatureControl.c.

◆ VmxSupport()

BOOLEAN EFIAPI VmxSupport ( IN UINTN  ProcessorNumber,
IN REGISTER_CPU_FEATURE_INFORMATION CpuInfo,
IN VOID *ConfigData  OPTIONAL 
)

Detects if VMX feature supported on current processor.

Parameters
[in]ProcessorNumberThe index of the CPU executing this function.
[in]CpuInfoA pointer to the REGISTER_CPU_FEATURE_INFORMATION structure for the CPU executing this function.
[in]ConfigDataA pointer to the configuration buffer returned by CPU_FEATURE_GET_CONFIG_DATA. NULL if CPU_FEATURE_GET_CONFIG_DATA was not provided in RegisterCpuFeature().
Return values
TRUEVMX feature is supported.
FALSEVMX feature is not supported.
Note
This service could be called by BSP/APs.

Definition at line 29 of file FeatureControl.c.

◆ X2ApicGetConfigData()

VOID *EFIAPI X2ApicGetConfigData ( IN UINTN  NumberOfProcessors)

Prepares for the data used by CPU feature detection and initialization.

Parameters
[in]NumberOfProcessorsThe number of CPUs in the platform.
Returns
Pointer to a buffer of CPU related configuration data.
Note
This service could be called by BSP only.

Definition at line 22 of file X2Apic.c.

◆ X2ApicInitialize()

RETURN_STATUS EFIAPI X2ApicInitialize ( IN UINTN  ProcessorNumber,
IN REGISTER_CPU_FEATURE_INFORMATION CpuInfo,
IN VOID *ConfigData  OPTIONAL,
IN BOOLEAN  State 
)

Initializes X2Apci feature to specific state.

Parameters
[in]ProcessorNumberThe index of the CPU executing this function.
[in]CpuInfoA pointer to the REGISTER_CPU_FEATURE_INFORMATION structure for the CPU executing this function.
[in]ConfigDataA pointer to the configuration buffer returned by CPU_FEATURE_GET_CONFIG_DATA. NULL if CPU_FEATURE_GET_CONFIG_DATA was not provided in RegisterCpuFeature().
[in]StateIf TRUE, then the X2Apci feature must be enabled. If FALSE, then the X2Apci feature must be disabled.
Return values
RETURN_SUCCESSX2Apci feature is initialized.
Note
This service could be called by BSP only.

Definition at line 90 of file X2Apic.c.

◆ X2ApicSupport()

BOOLEAN EFIAPI X2ApicSupport ( IN UINTN  ProcessorNumber,
IN REGISTER_CPU_FEATURE_INFORMATION CpuInfo,
IN VOID *ConfigData  OPTIONAL 
)

Detects if X2Apci feature supported on current processor.

Detect if X2Apci has been already enabled.

Parameters
[in]ProcessorNumberThe index of the CPU executing this function.
[in]CpuInfoA pointer to the REGISTER_CPU_FEATURE_INFORMATION structure for the CPU executing this function.
[in]ConfigDataA pointer to the configuration buffer returned by CPU_FEATURE_GET_CONFIG_DATA. NULL if CPU_FEATURE_GET_CONFIG_DATA was not provided in RegisterCpuFeature().
Return values
TRUEX2Apci feature is supported.
FALSEX2Apci feature is not supported.
Note
This service could be called by BSP/APs.

Definition at line 53 of file X2Apic.c.