summaryrefslogtreecommitdiff
path: root/Silicon/Intel/KabylakeSiliconPkg/Cpu/Include/ConfigBlock/CpuTestConfig.h
diff options
context:
space:
mode:
Diffstat (limited to 'Silicon/Intel/KabylakeSiliconPkg/Cpu/Include/ConfigBlock/CpuTestConfig.h')
-rw-r--r--Silicon/Intel/KabylakeSiliconPkg/Cpu/Include/ConfigBlock/CpuTestConfig.h122
1 files changed, 122 insertions, 0 deletions
diff --git a/Silicon/Intel/KabylakeSiliconPkg/Cpu/Include/ConfigBlock/CpuTestConfig.h b/Silicon/Intel/KabylakeSiliconPkg/Cpu/Include/ConfigBlock/CpuTestConfig.h
new file mode 100644
index 0000000000..2b1fa5b3a5
--- /dev/null
+++ b/Silicon/Intel/KabylakeSiliconPkg/Cpu/Include/ConfigBlock/CpuTestConfig.h
@@ -0,0 +1,122 @@
+/** @file
+ CPU Test Config Block.
+
+Copyright (c) 2017, Intel Corporation. All rights reserved.<BR>
+This program and the accompanying materials are licensed and made available under
+the terms and conditions of the BSD License that 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.
+
+**/
+#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.
+
+ <b>Revision 1</b>:
+ - Initial version.
+
+ <b>Revision 2</b>:
+ - 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; <b>1: Enable</b>.
+ /**
+ @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
+ - <b>1: Enable</b>
+ **/
+ 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; <b>1: Enable</b>.
+ UINT32 MlcSpatialPrefetcher : 1; ///< Enable or Disable MLC Spatial Prefetcher; 0: Disable; <b>1: Enable</b>.
+ UINT32 MonitorMwaitEnable : 1; ///< Enable or Disable Monitor /MWAIT instructions; 0: Disable; <b>1: Enable</b>.
+ UINT32 MachineCheckEnable : 1; ///< Enable or Disable initialization of machine check registers; 0: Disable; <b>1: Enable</b>.
+ UINT32 DebugInterfaceEnable : 1; ///< Enable or Disable processor debug features; <b>0: Disable</b>; 1: Enable.
+ UINT32 DebugInterfaceLockEnable : 1; ///< Lock or Unlock debug interface features; 0: Disable; <b>1: Enable</b>.
+ /**
+ AP Idle Manner of waiting - Manner of which APs are waiting to be tasked by MP Services
+ - 1: HALT loop
+ - <b>2: MWAIT loop</b>
+ - 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
+ - <b>2: MWAIT loop</b>
+ **/
+ UINT32 ApHandoffManner : 2;
+ /**
+ @deprecated since revision 2. Moved to CPU_CONFIG_LIB_PREMEM_CONFIG
+ Number of processor cores to enable.
+ - <b> 0: All cores</b>
+ - 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; <b>0: Disable</b>; 1: Enable.
+ UINT32 ProcTraceOutputScheme : 1; ///< Control on Processor Trace output scheme; <b>0: Single Range Output</b>; 1: ToPA Output.
+ UINT32 ProcTraceEnable : 1; ///< Enable or Disable Processor Trace feature; <b>0: Disable</b>; 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
+ - <b>255: Disable</b>
+ **/
+ UINT32 ProcTraceMemSize : 8;
+ UINT32 ThreeStrikeCounterDisable : 1; ///< Disable Three strike counter; <b>0: FALSE</b>; 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_