/** @file Data format for Universal Data Structure @copyright Copyright 1999 - 2021 Intel Corporation.
SPDX-License-Identifier: BSD-2-Clause-Patent **/ #ifndef __SOCKET_PROCESSORCORE_CONFIGURATION_DATA_H__ #define __SOCKET_PROCESSORCORE_CONFIGURATION_DATA_H__ #include extern EFI_GUID gEfiSocketProcessorCoreVarGuid; #define SOCKET_PROCESSORCORE_CONFIGURATION_NAME L"SocketProcessorCoreConfig" #pragma pack(1) typedef struct { UINT8 CpuidMaxValue; UINT8 ProcessorHyperThreadingDisable; // Hyper Threading [ALL] UINT8 ProcessorVmxEnable; // Enabling VMX UINT8 ProcessorSmxEnable; // Enabling SMX (TXT LT) UINT8 ProcessorLtsxEnable; // Enabling TXT (TXT LT-SX) UINT8 ThreeStrikeTimer; // Disable 3strike timer UINT8 FastStringEnable; // Fast String UINT8 MachineCheckEnable; // Machine Check UINT8 MlcStreamerPrefetcherEnable; // Hardware Prefetch UINT8 MlcSpatialPrefetcherEnable; // Adjacent Cache Line Prefetch UINT8 DCUStreamerPrefetcherEnable; // DCU Streamer Prefetcher UINT8 DCUIPPrefetcherEnable; // DCU IP Prefetcher UINT8 DCUModeSelection; // DCU Mode Selection UINT8 ProcessorX2apic; // Enable Processor XAPIC UINT8 BspSelection; // Select BSP UINT8 IedTraceSize; // IED trace size UINT8 TsegSize; // TSEG size UINT8 AllowMixedPowerOnCpuRatio; // Allow Mixed PowerOn CpuRatio UINT8 CheckCpuBist; // check and disable BIST faile core or ignore UINT8 CoreFailover; // Enable spare core(s) in place of core(s) that fail BIST UINT64 ReservedS192; UINT8 ProcessorFlexibleRatio; // Non-Turbo Mode Processor Core Ratio Multiplier UINT8 ProcessorFlexibleRatioOverrideEnable; // Non-Turbo Mode Processor Core Ratio Multiplier Enable UINT8 ForcePhysicalModeEnable; // Force physical destionation mode UINT8 LlcPrefetchEnable; // LLC Prefetch UINT8 CpuMtoIWa; // MtoI Workaround; UINT8 ProcessorVirtualWireMode; UINT8 ProcessorMsrLockControl; // MSR Lock Bit Control UINT8 ProcessorMsrPkgCstConfigControlLock; // MSR PKG_CST_CONFIG_CONTROL lock UINT8 DebugInterface; // IA32_DEBUG_INTERFACE_MSR UINT8 AesEnable; UINT8 PpinControl; // PPIN Control MSR UINT8 LockChipset; // Lock Chipset UINT8 BiosAcmErrorReset; // Disable LT-SX and reset system when BIOS ACM error occurs UINT8 AcmType; // 0x80 = debug signed ACM; 0x40 = NPW production signed ACM; 0x00 = PW production signed ACM // SecurityPolicy Stalagmite #include UINT8 SkipStopPbet; // Skip StopPbet UINT64 CoreDisableMask[MAX_SOCKET]; // one for each CPU socket // IOT/OCLA configs #ifndef OCLA_TOR_ENTRY_MAX #define OCLA_TOR_ENTRY_MIN 0 #define OCLA_TOR_ENTRY_MAX 0x11 // 15 or 17 depending on Isoch on/off #define OCLA_TOR_ENTRY_DEFAULT 1 #define OCLA_WAY_MIN 0 #define OCLA_WAY_MAX 8 // max 8 LLC ways out of 11 can be reserved for OCLA #define OCLA_WAY_DEFAULT 1 #endif UINT8 IotEn[MAX_SOCKET]; UINT8 OclaMaxTorEntry[MAX_SOCKET]; UINT8 OclaMinWay[MAX_SOCKET]; UINT32 IioLlcWaysMask; // MSR CBO_SLICE0_CR_IIO_LLC_WAYS bitmask. UINT32 ExpandedIioLlcWaysMask; // MSR INGRESS_SPARE[10:0] bitmask. - Only Bits[10:0] are used UINT32 RemoteWaysMask; // MSR INGRESS_SPARE[26:16] bitmask. - Only Bits[10:0] are used UINT8 PCIeDownStreamPECIWrite; // // SMM Blocked and SMM Delayed // UINT8 SmmBlockedDelayed; // // eSMM Save State Mode // UINT8 eSmmSaveState; UINT8 PeciInTrustControlBit; //On Setup UINT8 PeciAgtLegacyTrustBit; UINT8 PeciAgtSmbusTrustBit; UINT8 PeciAgtIeTrustBit; UINT8 PeciAgtGenericTrustBit; UINT8 PeciAgtEspiTrustBit; UINT8 Poison; UINT8 Viral; UINT8 EVMode; UINT8 SmbusErrorRecovery; UINT8 CpuL1NextPagePrefetcherDisable; UINT8 CpuPaLimit; UINT8 RdtCatOpportunisticTuning; UINT8 CpuDbpEnable; // Enable/Disable DBP-F UINT8 GlobalPsmiEnable; UINT8 PsmiTrace[MAX_SOCKET]; UINT8 PsmiHandlerSize[MAX_SOCKET]; UINT8 PsmiTraceRegion0[MAX_SOCKET]; UINT8 PsmiTraceBufferSizeRegion0[MAX_SOCKET]; UINT8 PsmiTraceMemTypeRegion0[MAX_SOCKET]; UINT8 PsmiTraceRegion1[MAX_SOCKET]; UINT8 PsmiTraceBufferSizeRegion1[MAX_SOCKET]; UINT8 PsmiTraceMemTypeRegion1[MAX_SOCKET]; UINT8 PsmiTraceRegion2[MAX_SOCKET]; UINT8 PsmiTraceBufferSizeRegion2[MAX_SOCKET]; UINT8 PsmiTraceMemTypeRegion2[MAX_SOCKET]; UINT8 PsmiTraceRegion3[MAX_SOCKET]; UINT8 PsmiTraceBufferSizeRegion3[MAX_SOCKET]; UINT8 PsmiTraceMemTypeRegion3[MAX_SOCKET]; UINT8 PsmiTraceRegion4[MAX_SOCKET]; UINT8 PsmiTraceBufferSizeRegion4[MAX_SOCKET]; UINT8 PsmiTraceMemTypeRegion4[MAX_SOCKET]; UINT8 L2RfoPrefetchDisable; // L2 RFO Prefetch UINT8 AmpPrefetchEnable; UINT8 TscResetEnable; UINT8 AcExceptionOnSplitLockEnable; // FuSa (SAF) Start UINT8 SafSupport; UINT8 EnableSaf; // FuSa (SAF) End UINT8 CFRS3mEnable; UINT8 CFRS3mManualCommit; UINT8 CFRPucodeEnable; UINT8 CFRPucodeManualCommit; UINT8 CpuCrashLogGprs; } SOCKET_PROCESSORCORE_CONFIGURATION; #pragma pack() #endif