TianoCore EDK2 master
|
#include <PiDxe.h>
#include <Library/BaseLib.h>
#include <Library/PcdLib.h>
#include <Library/DebugLib.h>
#include <Library/RegisterCpuFeaturesLib.h>
#include <Library/BaseMemoryLib.h>
#include <Library/MemoryAllocationLib.h>
#include <Library/LocalApicLib.h>
#include <Register/Intel/Cpuid.h>
#include <Register/Intel/Msr.h>
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) |
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.
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.
[in] | ProcessorNumber | The index of the CPU executing this function. |
[in] | CpuInfo | A pointer to the REGISTER_CPU_FEATURE_INFORMATION structure for the CPU executing this function. |
[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(). |
[in] | State | If TRUE, then the AESNI feature must be enabled. If FALSE, then the AESNI feature must be disabled. |
RETURN_SUCCESS | AESNI feature is initialized. |
BOOLEAN EFIAPI AesniSupport | ( | IN UINTN | ProcessorNumber, |
IN REGISTER_CPU_FEATURE_INFORMATION * | CpuInfo, | ||
IN VOID *ConfigData | OPTIONAL | ||
) |
Detects if AESNI feature supported on current processor.
[in] | ProcessorNumber | The index of the CPU executing this function. |
[in] | CpuInfo | A pointer to the REGISTER_CPU_FEATURE_INFORMATION structure for the CPU executing this function. |
[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(). |
TRUE | AESNI feature is supported. |
FALSE | AESNI feature is not supported. |
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.
[in] | ProcessorNumber | The index of the CPU executing this function. |
[in] | CpuInfo | A pointer to the REGISTER_CPU_FEATURE_INFORMATION structure for the CPU executing this function. |
[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(). |
[in] | State | If TRUE, then the C1E feature must be enabled. If FALSE, then the C1E feature must be disabled. |
RETURN_SUCCESS | C1E feature is initialized. |
BOOLEAN EFIAPI C1eSupport | ( | IN UINTN | ProcessorNumber, |
IN REGISTER_CPU_FEATURE_INFORMATION * | CpuInfo, | ||
IN VOID *ConfigData | OPTIONAL | ||
) |
Detects if C1E feature supported on current processor.
[in] | ProcessorNumber | The index of the CPU executing this function. |
[in] | CpuInfo | A pointer to the REGISTER_CPU_FEATURE_INFORMATION structure for the CPU executing this function. |
[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(). |
TRUE | C1E feature is supported. |
FALSE | C1E feature is not supported. |
Prepares for the data used by CPU feature detection and initialization.
[in] | NumberOfProcessors | The number of CPUs in the platform. |
Definition at line 27 of file ClockModulation.c.
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.
[in] | ProcessorNumber | The index of the CPU executing this function. |
[in] | CpuInfo | A pointer to the REGISTER_CPU_FEATURE_INFORMATION structure for the CPU executing this function. |
[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(). |
[in] | State | If TRUE, then the Clock Modulation feature must be enabled. If FALSE, then the Clock Modulation feature must be disabled. |
RETURN_SUCCESS | Clock Modulation feature is initialized. |
Definition at line 100 of file ClockModulation.c.
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.
[in] | ProcessorNumber | The index of the CPU executing this function. |
[in] | CpuInfo | A pointer to the REGISTER_CPU_FEATURE_INFORMATION structure for the CPU executing this function. |
[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(). |
TRUE | Clock Modulation feature is supported. |
FALSE | Clock Modulation feature is not supported. |
Definition at line 56 of file ClockModulation.c.
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.
[in] | ProcessorNumber | The index of the CPU executing this function. |
[in] | CpuInfo | A pointer to the REGISTER_CPU_FEATURE_INFORMATION structure for the CPU executing this function. |
[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(). |
[in] | State | If TRUE, then the Enhanced Intel SpeedStep feature must be enabled. If FALSE, then the Enhanced Intel SpeedStep feature must be disabled. |
RETURN_SUCCESS | Enhanced Intel SpeedStep feature is initialized. |
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.
[in] | ProcessorNumber | The index of the CPU executing this function. |
[in] | CpuInfo | A pointer to the REGISTER_CPU_FEATURE_INFORMATION structure for the CPU executing this function. |
[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(). |
TRUE | Enhanced Intel SpeedStep feature is supported. |
FALSE | Enhanced Intel SpeedStep feature is not supported. |
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.
[in] | ProcessorNumber | The index of the CPU executing this function. |
[in] | CpuInfo | A pointer to the REGISTER_CPU_FEATURE_INFORMATION structure for the CPU executing this function. |
[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(). |
[in] | State | If TRUE, then the Execute Disable feature must be enabled. If FALSE, then the Execute Disable feature must be disabled. |
RETURN_SUCCESS | Execute Disable feature is initialized. |
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.
[in] | ProcessorNumber | The index of the CPU executing this function. |
[in] | CpuInfo | A pointer to the REGISTER_CPU_FEATURE_INFORMATION structure for the CPU executing this function. |
[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(). |
TRUE | Execute Disable feature is supported. |
FALSE | Execute Disable feature is not supported. |
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.
[in] | ProcessorNumber | The index of the CPU executing this function. |
[in] | CpuInfo | A pointer to the REGISTER_CPU_FEATURE_INFORMATION structure for the CPU executing this function. |
[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(). |
[in] | State | If TRUE, then the Fast-Strings feature must be enabled. If FALSE, then the Fast-Strings feature must be disabled. |
RETURN_SUCCESS | Fast-Strings feature is initialized. |
Definition at line 30 of file FastStrings.c.
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.
[in] | ProcessorNumber | The index of the CPU executing this function. |
[in] | CpuInfo | A pointer to the REGISTER_CPU_FEATURE_INFORMATION structure for the CPU executing this function. |
[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(). |
[in] | State | If TRUE, then the LimitCpuidMaxval feature must be enabled. If FALSE, then the LimitCpuidMaxval feature must be disabled. |
RETURN_SUCCESS | LimitCpuidMaxval feature is initialized. |
Definition at line 60 of file LimitCpuIdMaxval.c.
BOOLEAN EFIAPI LimitCpuidMaxvalSupport | ( | IN UINTN | ProcessorNumber, |
IN REGISTER_CPU_FEATURE_INFORMATION * | CpuInfo, | ||
IN VOID *ConfigData | OPTIONAL | ||
) |
Detects if LimitCpuidMaxval feature supported on current processor.
[in] | ProcessorNumber | The index of the CPU executing this function. |
[in] | CpuInfo | A pointer to the REGISTER_CPU_FEATURE_INFORMATION structure for the CPU executing this function. |
[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(). |
TRUE | LimitCpuidMaxval feature is supported. |
FALSE | LimitCpuidMaxval feature is not supported. |
Definition at line 29 of file LimitCpuIdMaxval.c.
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.
[in] | ProcessorNumber | The index of the CPU executing this function. |
[in] | CpuInfo | A pointer to the REGISTER_CPU_FEATURE_INFORMATION structure for the CPU executing this function. |
[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(). |
[in] | State | If TRUE, then the Local machine check exception feature must be enabled. If FALSE, then the Local machine check exception feature must be disabled. |
RETURN_SUCCESS | Local machine check exception feature is initialized. |
Definition at line 316 of file MachineCheck.c.
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.
[in] | ProcessorNumber | The index of the CPU executing this function. |
[in] | CpuInfo | A pointer to the REGISTER_CPU_FEATURE_INFORMATION structure for the CPU executing this function. |
[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(). |
TRUE | Local machine check exception feature is supported. |
FALSE | Local machine check exception feature is not supported. |
Definition at line 279 of file MachineCheck.c.
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.
[in] | ProcessorNumber | The index of the CPU executing this function. |
[in] | CpuInfo | A pointer to the REGISTER_CPU_FEATURE_INFORMATION structure for the CPU executing this function. |
[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(). |
[in] | State | If TRUE, then the Lock Feature Control Register feature must be enabled. If FALSE, then the Lock Feature Control Register feature must be disabled. |
RETURN_SUCCESS | Lock Feature Control Register feature is initialized. |
Definition at line 136 of file FeatureControl.c.
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.
[in] | ProcessorNumber | The index of the CPU executing this function. |
[in] | CpuInfo | A pointer to the REGISTER_CPU_FEATURE_INFORMATION structure for the CPU executing this function. |
[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(). |
TRUE | Lock Feature Control Register feature is supported. |
FALSE | Lock Feature Control Register feature is not supported. |
Definition at line 108 of file FeatureControl.c.
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.
[in] | ProcessorNumber | The index of the CPU executing this function. |
[in] | CpuInfo | A pointer to the REGISTER_CPU_FEATURE_INFORMATION structure for the CPU executing this function. |
[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(). |
[in] | State | If TRUE, then the Machine Check Architecture feature must be enabled. If FALSE, then the Machine Check Architecture feature must be disabled. |
RETURN_SUCCESS | Machine Check Architecture feature is initialized. |
Definition at line 128 of file MachineCheck.c.
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.
[in] | ProcessorNumber | The index of the CPU executing this function. |
[in] | CpuInfo | A pointer to the REGISTER_CPU_FEATURE_INFORMATION structure for the CPU executing this function. |
[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(). |
TRUE | Machine Check Architecture feature is supported. |
FALSE | Machine Check Architecture feature is not supported. |
Definition at line 96 of file MachineCheck.c.
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.
[in] | ProcessorNumber | The index of the CPU executing this function. |
[in] | CpuInfo | A pointer to the REGISTER_CPU_FEATURE_INFORMATION structure for the CPU executing this function. |
[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(). |
[in] | State | If TRUE, then the Machine Check Exception feature must be enabled. If FALSE, then the Machine Check Exception feature must be disabled. |
RETURN_SUCCESS | Machine Check Exception feature is initialized. |
Definition at line 57 of file MachineCheck.c.
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.
[in] | ProcessorNumber | The index of the CPU executing this function. |
[in] | CpuInfo | A pointer to the REGISTER_CPU_FEATURE_INFORMATION structure for the CPU executing this function. |
[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(). |
TRUE | Machine Check Exception feature is supported. |
FALSE | Machine Check Exception feature is not supported. |
Definition at line 29 of file MachineCheck.c.
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.
[in] | ProcessorNumber | The index of the CPU executing this function. |
[in] | CpuInfo | A pointer to the REGISTER_CPU_FEATURE_INFORMATION structure for the CPU executing this function. |
[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(). |
[in] | State | If TRUE, then the IA32_MCG_CTL feature must be enabled. If FALSE, then the IA32_MCG_CTL feature must be disabled. |
RETURN_SUCCESS | IA32_MCG_CTL feature is initialized. |
Definition at line 244 of file MachineCheck.c.
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.
[in] | ProcessorNumber | The index of the CPU executing this function. |
[in] | CpuInfo | A pointer to the REGISTER_CPU_FEATURE_INFORMATION structure for the CPU executing this function. |
[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(). |
TRUE | IA32_MCG_CTL feature is supported. |
FALSE | IA32_MCG_CTL feature is not supported. |
Definition at line 209 of file MachineCheck.c.
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.
[in] | ProcessorNumber | The index of the CPU executing this function. |
[in] | CpuInfo | A pointer to the REGISTER_CPU_FEATURE_INFORMATION structure for the CPU executing this function. |
[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(). |
[in] | State | If TRUE, then the MONITOR/MWAIT feature must be enabled. If FALSE, then the MONITOR/MWAIT feature must be disabled. |
RETURN_SUCCESS | MONITOR/MWAIT feature is initialized. |
Definition at line 57 of file MonitorMwait.c.
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.
[in] | ProcessorNumber | The index of the CPU executing this function. |
[in] | CpuInfo | A pointer to the REGISTER_CPU_FEATURE_INFORMATION structure for the CPU executing this function. |
[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(). |
TRUE | MONITOR/MWAIT feature is supported. |
FALSE | MONITOR/MWAIT feature is not supported. |
Definition at line 29 of file MonitorMwait.c.
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.
[in] | ProcessorNumber | The index of the CPU executing this function. |
[in] | CpuInfo | A pointer to the REGISTER_CPU_FEATURE_INFORMATION structure for the CPU executing this function. |
[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(). |
[in] | State | If TRUE, then the Pending Break feature must be enabled. If FALSE, then the Pending Break feature must be disabled. |
RETURN_SUCCESS | Pending Break feature is initialized. |
Definition at line 66 of file PendingBreak.c.
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.
[in] | ProcessorNumber | The index of the CPU executing this function. |
[in] | CpuInfo | A pointer to the REGISTER_CPU_FEATURE_INFORMATION structure for the CPU executing this function. |
[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(). |
TRUE | Pending Break feature is supported. |
FALSE | Pending Break feature is not supported. |
Definition at line 29 of file PendingBreak.c.
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.
[in] | ProcessorNumber | The index of the CPU executing this function. |
[in] | CpuInfo | A pointer to the REGISTER_CPU_FEATURE_INFORMATION structure for the CPU executing this function. |
[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(). |
[in] | State | If TRUE, then the Protected Processor Inventory Number feature must be enabled. If FALSE, then the Protected Processor Inventory Number feature must be disabled. |
RETURN_SUCCESS | Protected Processor Inventory Number feature is initialized. |
RETURN_DEVICE_ERROR | Device can't change state because it has been locked. |
Initializes Protected Processor Inventory Number feature to specific state.
[in] | ProcessorNumber | The index of the CPU executing this function. |
[in] | CpuInfo | A pointer to the REGISTER_CPU_FEATURE_INFORMATION structure for the CPU executing this function. |
[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(). |
[in] | State | If TRUE, then the Protected Processor Inventory Number feature must be enabled. If FALSE, then the Protected Processor Inventory Number feature must be disabled. |
RETURN_SUCCESS | Protected Processor Inventory Number feature is initialized. |
RETURN_DEVICE_ERROR | Device can't change state because it has been locked. |
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.
[in] | ProcessorNumber | The index of the CPU executing this function. |
[in] | CpuInfo | A pointer to the REGISTER_CPU_FEATURE_INFORMATION structure for the CPU executing this function. |
[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(). |
TRUE | Protected Processor Inventory Number feature is supported. |
FALSE | Protected Processor Inventory Number feature is not supported. |
Prepares for the data used by CPU feature detection and initialization.
[in] | NumberOfProcessors | The number of CPUs in the platform. |
Definition at line 71 of file ProcTrace.c.
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.
[in] | ProcessorNumber | The index of the CPU executing this function. |
[in] | CpuInfo | A pointer to the REGISTER_CPU_FEATURE_INFORMATION structure for the CPU executing this function. |
[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(). |
[in] | State | If TRUE, then the Processor Trace feature must be enabled. If FALSE, then the Processor Trace feature must be disabled. |
RETURN_SUCCESS | Intel 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.
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.
[in] | ProcessorNumber | The index of the CPU executing this function. |
[in] | CpuInfo | A pointer to the REGISTER_CPU_FEATURE_INFORMATION structure for the CPU executing this function. |
[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(). |
TRUE | Processor Trace feature is supported. |
FALSE | Processor Trace feature is not supported. |
Definition at line 109 of file ProcTrace.c.
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.
[in] | ProcessorNumber | The index of the CPU executing this function. |
[in] | CpuInfo | A pointer to the REGISTER_CPU_FEATURE_INFORMATION structure for the CPU executing this function. |
[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(). |
[in] | State | If TRUE, then SMX feature must be enabled. If FALSE, then SMX feature must be disabled. |
RETURN_SUCCESS | SMX feature is initialized. |
RETURN_UNSUPPORTED | VMX not initialized. |
Definition at line 216 of file FeatureControl.c.
BOOLEAN EFIAPI SmxSupport | ( | IN UINTN | ProcessorNumber, |
IN REGISTER_CPU_FEATURE_INFORMATION * | CpuInfo, | ||
IN VOID *ConfigData | OPTIONAL | ||
) |
Detects if SMX feature supported on current processor.
[in] | ProcessorNumber | The index of the CPU executing this function. |
[in] | CpuInfo | A pointer to the REGISTER_CPU_FEATURE_INFORMATION structure for the CPU executing this function. |
[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(). |
TRUE | SMX feature is supported. |
FALSE | SMX feature is not supported. |
Definition at line 187 of file FeatureControl.c.
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.
[in] | ProcessorNumber | The index of the CPU executing this function. |
[in] | CpuInfo | A pointer to the REGISTER_CPU_FEATURE_INFORMATION structure for the CPU executing this function. |
[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(). |
[in] | State | If TRUE, then the VMX feature must be enabled. If FALSE, then the VMX feature must be disabled. |
RETURN_SUCCESS | VMX feature is initialized. |
Definition at line 57 of file FeatureControl.c.
BOOLEAN EFIAPI VmxSupport | ( | IN UINTN | ProcessorNumber, |
IN REGISTER_CPU_FEATURE_INFORMATION * | CpuInfo, | ||
IN VOID *ConfigData | OPTIONAL | ||
) |
Detects if VMX feature supported on current processor.
[in] | ProcessorNumber | The index of the CPU executing this function. |
[in] | CpuInfo | A pointer to the REGISTER_CPU_FEATURE_INFORMATION structure for the CPU executing this function. |
[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(). |
TRUE | VMX feature is supported. |
FALSE | VMX feature is not supported. |
Definition at line 29 of file FeatureControl.c.
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.
[in] | ProcessorNumber | The index of the CPU executing this function. |
[in] | CpuInfo | A pointer to the REGISTER_CPU_FEATURE_INFORMATION structure for the CPU executing this function. |
[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(). |
[in] | State | If TRUE, then the X2Apci feature must be enabled. If FALSE, then the X2Apci feature must be disabled. |
RETURN_SUCCESS | X2Apci feature is initialized. |
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.
[in] | ProcessorNumber | The index of the CPU executing this function. |
[in] | CpuInfo | A pointer to the REGISTER_CPU_FEATURE_INFORMATION structure for the CPU executing this function. |
[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(). |
TRUE | X2Apci feature is supported. |
FALSE | X2Apci feature is not supported. |