/** @file CPU Test Config Block. Copyright (c) 2017, Intel Corporation. All rights reserved.
SPDX-License-Identifier: BSD-2-Clause-Patent **/ #ifndef _CPU_TEST_CONFIG_H_ #define _CPU_TEST_CONFIG_H_ #define CPU_TEST_CONFIG_REVISION 2 extern EFI_GUID gCpuTestConfigGuid; #pragma pack (push,1) /** CPU Test Configuration Structure. Revision 1: - Initial version. Revision 2: - Deprecated and moved Hyperthreading to CPU_CONFIG_LIB_PREMEM_CONFIG - Deprecated and moved CpuRatioOverride to CPU_CONFIG_LIB_PREMEM_CONFIG - Deprecated and moved CpuRatio to CPU_CONFIG_LIB_PREMEM_CONFIG - Deprecated and moved ActiveCoreCount to CPU_CONFIG_LIB_PREMEM_CONFIG - Deprecated and moved JtagC10PowerGateDisable to CPU_CONFIG_LIB_PREMEM_CONFIG **/ typedef struct { CONFIG_BLOCK_HEADER Header; ///< Config Block Header UINT32 HyperThreading : 1; ///< Enable or Disable Hyper Threading; 0: Disable; 1: Enable. /** @deprecated since revision 2. Moved to CPU_CONFIG_LIB_PREMEM_CONFIG Enable or disable override of default max non-turbo ratio. If enabled, BIOS will take the value specified in CpuRatio policy and updates the max non-turbo ratio. See policy CpuRatio for more details. - 0: Disable - 1: Enable **/ UINT32 CpuRatioOverride : 1; ///< @deprecated since revision 2. Moved to CPU_CONFIG_LIB_PREMEM_CONFIG UINT32 MlcStreamerPrefetcher : 1; ///< Enable or Disable MLC Streamer Prefetcher; 0: Disable; 1: Enable. UINT32 MlcSpatialPrefetcher : 1; ///< Enable or Disable MLC Spatial Prefetcher; 0: Disable; 1: Enable. UINT32 MonitorMwaitEnable : 1; ///< Enable or Disable Monitor /MWAIT instructions; 0: Disable; 1: Enable. UINT32 MachineCheckEnable : 1; ///< Enable or Disable initialization of machine check registers; 0: Disable; 1: Enable. UINT32 DebugInterfaceEnable : 1; ///< Enable or Disable processor debug features; 0: Disable; 1: Enable. UINT32 DebugInterfaceLockEnable : 1; ///< Lock or Unlock debug interface features; 0: Disable; 1: Enable. /** AP Idle Manner of waiting - Manner of which APs are waiting to be tasked by MP Services - 1: HALT loop - 2: MWAIT loop - 3: Run loop **/ UINT32 ApIdleManner : 2; /** Settings for AP Handoff to OS - Type of loop AP is placed in before handing control to OS. - 1: HALT loop - 2: MWAIT loop **/ UINT32 ApHandoffManner : 2; /** @deprecated since revision 2. Moved to CPU_CONFIG_LIB_PREMEM_CONFIG Number of processor cores to enable. - 0: All cores - 1: 1 core - 2: 2 cores - 3: 3 cores **/ UINT32 ActiveCoreCount : 3; ///< @deprecated since revision 2. Moved to CPU_CONFIG_LIB_PREMEM_CONFIG UINT32 JtagC10PowerGateDisable : 1; ///< Power JTAG in C10 and deeper power states; 0: Disable; 1: Enable. UINT32 ProcTraceOutputScheme : 1; ///< Control on Processor Trace output scheme; 0: Single Range Output; 1: ToPA Output. UINT32 ProcTraceEnable : 1; ///< Enable or Disable Processor Trace feature; 0: Disable; 1: Enable. /** Memory region allocation for Processor Trace. Total memory required is equal to the requested value * 2 (for memory alignment) * number of active processor threads. Based on MEMORY_CONFIG_NO_CRC.PlatformMemorySize default, up to 2MB policy setting with up to 8 active threads is supported (32MB memory total). For larger size requests, MEMORY_CONFIG_NO_CRC.PlatformMemorySize needs to be increased. - 0: 4K - 1: 8K - 2: 16K - 3: 32K - 4: 64K - 5: 128K - 6: 256K - 7: 512K - 8: 1M - 9: 2M - 10: 4M - 11: 8M - 12: 16M - 13: 32M - 14: 64M - 15: 128M - 255: Disable **/ UINT32 ProcTraceMemSize : 8; UINT32 ThreeStrikeCounterDisable : 1; ///< Disable Three strike counter; 0: FALSE; 1: TRUE. /** This policy should be used to enable or disable Voltage Optimization feature. Recommended defaults: Enable - For Mobile SKUs(U/Y) Disable - Rest of all SKUs other than Mobile. **/ UINT32 VoltageOptimization : 1; UINT32 RsvdBits : 4; ///< Reserved for future use /** @deprecated since revision 2. Moved to CPU_CONFIG_LIB_PREMEM_CONFIG CpuRatio - When CpuRatioOverride is enabled, max non-turbo ratio (Flexible Ratio Boot) is set to CpuRatio. **/ UINT8 CpuRatio; UINT8 Rsvd[3]; ///< Reserved for future use } CPU_TEST_CONFIG; #pragma pack (pop) #endif // _CPU_TEST_CONFIG_H_