/** @file CPU Test Config Block. Copyright (c) 2019 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 4 extern EFI_GUID gCpuTestConfigGuid; #pragma pack (push,1) /** CPU Test Configuration Structure. Revision 1: - Initial version. Revision 2: - Fixed RsvdBits incorrect value. Revision 3: - Added CpuWakeUpTimer Revision 4: - Deprecate and move DebugInterfaceEnable to CPU_CONFIG. **/ typedef struct { CONFIG_BLOCK_HEADER Header; ///< Config Block Header 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; ///< @deprecated Enable or Disable processor debug features; 0: Disable; 1: Enable. UINT32 DebugInterfaceLockEnable : 1; ///< Lock or Unlock debug interface features; 0: Disable; 1: Enable. UINT32 ProcessorTraceOutputScheme : 1; ///< Control on Processor Trace output scheme; 0: Single Range Output; 1: ToPA Output. UINT32 ProcessorTraceEnable : 1; ///< Enable or Disable Processor Trace feature; 0: Disable; 1: Enable. 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 CpuWakeUpTimer : 1; ///< Enable or Disable long CPU wake up timer. 0: Disabled (8s); 1: Enabled (180s). UINT32 RsvdBits : 21; ///< Reserved for future use /** Base address of memory region allocated for Processor Trace. Processor Trace requires 2^N alignment and size in bytes per thread, from 4KB to 128MB. - NULL: Disable **/ EFI_PHYSICAL_ADDRESS ProcessorTraceMemBase; /** Length in bytes of memory region allocated for Processor Trace. Processor Trace requires 2^N alignment and size in bytes per thread, from 4KB to 128MB. - 0: Disable **/ UINT32 ProcessorTraceMemLength; } CPU_TEST_CONFIG; #pragma pack (pop) #endif // _CPU_TEST_CONFIG_H_