From: "Nate DeSimone" <nathaniel.l.desimone@intel.com>
To: "Luo, Heng" <heng.luo@intel.com>,
"devel@edk2.groups.io" <devel@edk2.groups.io>
Cc: "Chaganty, Rangasai V" <rangasai.v.chaganty@intel.com>
Subject: Re: [PATCH 04/40] TigerlakeSiliconPkg/Cpu: Add Include headers
Date: Thu, 4 Feb 2021 03:53:07 +0000 [thread overview]
Message-ID: <BN6PR1101MB214774158FDC9A786E07AF9BCDB39@BN6PR1101MB2147.namprd11.prod.outlook.com> (raw)
In-Reply-To: <20210201013657.1833-4-heng.luo@intel.com>
Reviewed-by: Nate DeSimone <nathaniel.l.desimone@intel.com>
> -----Original Message-----
> From: Luo, Heng <heng.luo@intel.com>
> Sent: Sunday, January 31, 2021 5:36 PM
> To: devel@edk2.groups.io
> Cc: Chaganty, Rangasai V <rangasai.v.chaganty@intel.com>; Desimone,
> Nathaniel L <nathaniel.l.desimone@intel.com>
> Subject: [PATCH 04/40] TigerlakeSiliconPkg/Cpu: Add Include headers
>
> REF: https://bugzilla.tianocore.org/show_bug.cgi?id=3171
>
> Adds header files common to CPU modules.
>
> Cc: Sai Chaganty <rangasai.v.chaganty@intel.com>
> Cc: Nate DeSimone <nathaniel.l.desimone@intel.com>
> Signed-off-by: Heng Luo <heng.luo@intel.com>
> ---
> Silicon/Intel/TigerlakeSiliconPkg/Cpu/Include/ConfigBlock/CpuConfig.h
> | 83
> ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
> +++++++++++++++++++++++++
>
> Silicon/Intel/TigerlakeSiliconPkg/Cpu/Include/ConfigBlock/CpuConfigLibPre
> MemConfig.h | 148
> ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
> ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
> ++++++++++++++++++++++++++++++++
>
> Silicon/Intel/TigerlakeSiliconPkg/Cpu/Include/ConfigBlock/CpuPidTestConfig.
> h | 52
> ++++++++++++++++++++++++++++++++++++++++++++++++++++
>
> Silicon/Intel/TigerlakeSiliconPkg/Cpu/Include/ConfigBlock/CpuPowerMgmtB
> asicConfig.h | 226
> ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
> ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
> ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
> ++++++++++++++++++++++++++++++++++++++++++++++++++++
>
> Silicon/Intel/TigerlakeSiliconPkg/Cpu/Include/ConfigBlock/CpuPowerMgmtC
> ustomConfig.h | 76
> ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
> ++++++++++++++++++
>
> Silicon/Intel/TigerlakeSiliconPkg/Cpu/Include/ConfigBlock/CpuPowerMgmtP
> sysConfig.h | 36 ++++++++++++++++++++++++++++++++++++
>
> Silicon/Intel/TigerlakeSiliconPkg/Cpu/Include/ConfigBlock/CpuPowerMgmtT
> estConfig.h | 150
> ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
> ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
> ++++++++++++++++++++++++++++++++++
>
> Silicon/Intel/TigerlakeSiliconPkg/Cpu/Include/ConfigBlock/CpuSecurityPreM
> emConfig.h | 63
> ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
> +++++
> Silicon/Intel/TigerlakeSiliconPkg/Cpu/Include/ConfigBlock/CpuTestConfig.h
> | 51 +++++++++++++++++++++++++++++++++++++++++++++++++++
> Silicon/Intel/TigerlakeSiliconPkg/Cpu/Include/CpuAccess.h |
> 12 ++++++++++++
> Silicon/Intel/TigerlakeSiliconPkg/Cpu/Include/CpuDataStruct.h |
> 21 +++++++++++++++++++++
> Silicon/Intel/TigerlakeSiliconPkg/Cpu/Include/CpuPolicyCommon.h
> | 23 +++++++++++++++++++++++
> Silicon/Intel/TigerlakeSiliconPkg/Cpu/Include/Register/CommonMsr.h
> | 18 ++++++++++++++++++
> 13 files changed, 959 insertions(+)
>
> diff --git
> a/Silicon/Intel/TigerlakeSiliconPkg/Cpu/Include/ConfigBlock/CpuConfig.h
> b/Silicon/Intel/TigerlakeSiliconPkg/Cpu/Include/ConfigBlock/CpuConfig.h
> new file mode 100644
> index 0000000000..d837500a38
> --- /dev/null
> +++
> b/Silicon/Intel/TigerlakeSiliconPkg/Cpu/Include/ConfigBlock/CpuConfig.h
> @@ -0,0 +1,83 @@
> +/** @file
>
> + CPU Config Block.
>
> +
>
> + Copyright (c) 2021, Intel Corporation. All rights reserved.<BR>
>
> + SPDX-License-Identifier: BSD-2-Clause-Patent
>
> +**/
>
> +#ifndef _CPU_CONFIG_H_
>
> +#define _CPU_CONFIG_H_
>
> +
>
> +#define CPU_CONFIG_REVISION 3
>
> +
>
> +extern EFI_GUID gCpuConfigGuid;
>
> +
>
> +#pragma pack (push,1)
>
> +
>
> +/**
>
> + CPU Configuration Structure.
>
> +
>
> + <b>Revision 1</b>:
>
> + - Initial version.
>
> + <b>Revision 2</b>:
>
> + - Add SmbiosType4MaxSpeedOverride.
>
> + <b>Revision 3</b>:
>
> + - Add AvxDisable & Avx3Disable.
>
> +**/
>
> +typedef struct {
>
> + CONFIG_BLOCK_HEADER Header; ///< Config Block Header
>
> + UINT32 MicrocodePatchRegionSize;
>
> + EFI_PHYSICAL_ADDRESS MicrocodePatchAddress; ///< Pointer to
> microcode patch that is suitable for this processor.
>
> + /**
>
> + Enable or Disable Advanced Encryption Standard (AES) feature.
>
> + For some countries, this should be disabled for legal reasons.
>
> + - 0: Disable
>
> + - <b>1: Enable</b>
>
> + **/
>
> + UINT32 AesEnable : 1;
>
> + /**
>
> + Enable or Disable Trusted Execution Technology (TXT) feature.
>
> + - 0: Disable
>
> + - <b>1: Enable</b>
>
> + **/
>
> + UINT32 TxtEnable : 1;
>
> + UINT32 SkipMpInit : 1; ///< For Fsp only, Silicon Initialization
> will skip MP Initialization (including BSP) if enabled. For non-FSP, this should
> always be 0.
>
> + /**
>
> + Enable or Disable or Auto for PPIN Support to view Protected Processor
> Inventory Number.
>
> + - <b>0: Disable</b>
>
> + - 1: Enable
>
> + - 2: Auto : Feature is based on End Of Manufacturing (EOM) flag. If EOM
> is set, it is disabled.
>
> + **/
>
> + UINT32 PpinSupport : 2;
>
> + /**
>
> + Enable or Disable #AC machine check on split lock.
>
> + - <b>0: Disable</b>
>
> + - 1: Enable
>
> + **/
>
> + UINT32 AcSplitLock : 1;
>
> + /**
>
> + Enable or Disable Avx.
>
> + - 1: Disable
>
> + - <b> 0: Enable</b>
>
> + **/
>
> + UINT32 AvxDisable : 1;
>
> + /**
>
> + Enable or Disable Avx3.
>
> + - 1: Disable
>
> + - <b> 0: Enable</b>
>
> + **/
>
> + UINT32 Avx3Disable : 1;
>
> + UINT32 RsvdBits : 24; ///< Reserved for future use
>
> + /**
>
> + Provide the option for platform to override the MaxSpeed field of Smbios
> Type 4.
>
> + Value 4000 means 4000MHz.
>
> + If this value is not zero, it dominates the field.
>
> + If this value is zero, CPU RC will update the field according to the max
> radio.
>
> + <b>default is 0.</b>
>
> + **/
>
> + UINT16 SmbiosType4MaxSpeedOverride;
>
> + UINT8 Reserved0[2]; ///< Reserved for future use
>
> +} CPU_CONFIG;
>
> +
>
> +#pragma pack (pop)
>
> +
>
> +#endif // _CPU_CONFIG_H_
>
> diff --git
> a/Silicon/Intel/TigerlakeSiliconPkg/Cpu/Include/ConfigBlock/CpuConfigLibPr
> eMemConfig.h
> b/Silicon/Intel/TigerlakeSiliconPkg/Cpu/Include/ConfigBlock/CpuConfigLibPr
> eMemConfig.h
> new file mode 100644
> index 0000000000..bf3f436ddd
> --- /dev/null
> +++
> b/Silicon/Intel/TigerlakeSiliconPkg/Cpu/Include/ConfigBlock/CpuConfigLibPr
> eMemConfig.h
> @@ -0,0 +1,148 @@
> +/** @file
>
> + CPU Security PreMemory Config Block.
>
> +
>
> + Copyright (c) 2021, Intel Corporation. All rights reserved.<BR>
>
> + SPDX-License-Identifier: BSD-2-Clause-Patent
>
> +**/
>
> +#ifndef _CPU_CONFIG_LIB_PREMEM_CONFIG_H_
>
> +#define _CPU_CONFIG_LIB_PREMEM_CONFIG_H_
>
> +
>
> +#define CPU_CONFIG_LIB_PREMEM_CONFIG_REVISION 6
>
> +
>
> +extern EFI_GUID gCpuConfigLibPreMemConfigGuid;
>
> +
>
> +#define BOOT_FREQUENCY_MAX_BATTERY_PERF 0
>
> +#define BOOT_FREQUENCY_MAX_NON_TURBO_PERF 1
>
> +#define BOOT_FREQUENCY_TURBO_PERF 2
>
> +
>
> +#pragma pack (push,1)
>
> +
>
> +/**
>
> + CPU Config Library PreMemory Configuration Structure.
>
> +
>
> + <b>Revision 1</b>:
>
> + - Initial version.
>
> + <b>Revision 2</b>:
>
> + - Expand the supported number of processor cores (ActiveCoreCount1).
>
> + <b>Revision 3</b>:
>
> + - Added PECI Sx and C10 Reset.
>
> + <b>Revision 4</b>:
>
> + - Added ActiveSmallCoreCount.
>
> + <b>Revision 5</b>:
>
> + - Added CrashLogGprs
>
> + <b>Revision 6</b>:
>
> + - Added ConfigTdpLevel
>
> +**/
>
> +typedef struct {
>
> + CONFIG_BLOCK_HEADER Header; ///< Config Block Header
>
> + UINT32 HyperThreading : 1; ///< Enable or Disable Hyper Threading;
> 0: Disable; <b>1: Enable</b>.
>
> + /**
>
> + Sets the boot frequency starting from reset vector.
>
> + - 0: Maximum battery performance.
>
> + - 1: Maximum non-turbo performance
>
> + -<b>2: Turbo performance</b>.
>
> + @note If Turbo is selected BIOS will start in max non-turbo mode and
> switch to Turbo mode.
>
> + **/
>
> + UINT32 BootFrequency : 2;
>
> + /**
>
> + Number of processor cores to enable.
>
> + - <b> 0: All cores</b>
>
> + - 1: 1 core
>
> + - 2: 2 cores
>
> + - 3: 3 cores
>
> + **/
>
> + UINT32 ActiveCoreCount : 3; ///< @deprecated due to core active
> number limitaion.
>
> + UINT32 JtagC10PowerGateDisable : 1; ///< False: JTAG is power gated in
> C10 state. True: keeps the JTAG power up during C10 and deeper power
> states for debug purpose. <b>0: False<\b>; 1: True.
>
> + UINT32 BistOnReset : 1; ///< <b>(Test)</b> Enable or Disable BIST
> on Reset; <b>0: Disable</b>; 1: Enable.
>
> + /**
>
> + Enable or Disable Virtual Machine Extensions (VMX) feature.
>
> + - 0: Disable
>
> + - <b>1: Enable</b>
>
> + **/
>
> + UINT32 VmxEnable : 1;
>
> + /**
>
> + Processor Early Power On Configuration FCLK setting.
>
> + - <b>0: 800 MHz (ULT/ULX)</b>.
>
> + - <b>1: 1 GHz (DT/Halo)</b>. Not supported on ULT/ULX.
>
> + - 2: 400 MHz.
>
> + - 3: Reserved.
>
> + **/
>
> + UINT32 FClkFrequency : 2;
>
> + /**
>
> + Enable or Disable CrashLog feature
>
> + - 0: Disable
>
> + - <b>1: Enable</b>
>
> + **/
>
> + UINT32 CrashLogEnable : 1;
>
> +
>
> + /**
>
> + Enable or Disable Total Memory Encryption (TME) feature.
>
> + - <b>0: Disable</b>
>
> + - 1: Enable
>
> + **/
>
> + UINT32 TmeEnable : 1;
>
> +
>
> + UINT32 DebugInterfaceEnable : 2; ///< Enable or Disable processor
> debug features; 0: Disable; 1: Enable; <b>2: No Change</b>.
>
> + UINT32 DebugInterfaceLockEnable : 1; ///< Lock or Unlock debug
> interface features; 0: Disable; <b>1: Enable</b>.
>
> +
>
> + /**
>
> + Number of big cores in processor to enable. And support up to 16 cores.
>
> + - <b> 0: All cores</b>
>
> + - 1: 1 core
>
> + - 2: 2 cores
>
> + - 3: 3 cores
>
> + **/
>
> + UINT32 ActiveCoreCount1 : 4;
>
> +
>
> + /**
>
> + Enables a mailbox command to resolve rare PECI related Sx issues.
>
> + @note This should only be used on systems that observe PECI Sx issues.
>
> + - <b>0: Disable</b>
>
> + - 1: Enable
>
> + **/
>
> + UINT32 PeciSxReset : 1;
>
> +
>
> + /**
>
> + Enables the mailbox command to resolve PECI reset issues during Pkg-C10
> exit.
>
> + If Enabled, BIOS will send the CPU message to disable peci reset on C10
> exit.
>
> + The default value is <b>1: Enable</b> for CML, and <b>0: Disable</b> for
> all other CPU's
>
> + - 0: Disable
>
> + - 1: Enable
>
> + **/
>
> + UINT32 PeciC10Reset : 1;
>
> +
>
> + /**
>
> + Number of small cores in processor to enable. And support the enabling
> of up to 63 cores.
>
> + - <b> 0: All cores</b>
>
> + - 1: 1 core
>
> + - 2: 2 cores
>
> + - 3: 3 cores
>
> + **/
>
> + UINT32 ActiveSmallCoreCount : 6;
>
> +
>
> + /**
>
> + Enable or Disable CrashLog GPRs dump
>
> + - <b>0: Disable</b>
>
> + - 1: Gprs Enabled, Smm Gprs Enabled
>
> + 2: Gprs Enabled, Smm Gprs Disabled
>
> + **/
>
> + UINT32 CrashLogGprs : 2;
>
> +
>
> + UINT32 RsvdBits : 2;
>
> +
>
> + /**
>
> + CpuRatio - Max non-turbo ratio (Flexible Ratio Boot) is set to CpuRatio.
> <b>0: Disabled</b> If disabled, doesn't override max-non turbo ratio.
>
> + **/
>
> + UINT8 CpuRatio;
>
> + /**
>
> + Configuration for boot TDP selection; <b>0: TDP Nominal</b>; 1: TDP
> Down; 2: TDP Up.
>
> + **/
>
> + UINT8 ConfigTdpLevel;
>
> + UINT8 Reserved[2]; ///< Reserved for alignment
>
> + UINT32 ElixirSpringsPatchAddr; ///< Address of Elixir Springs Patch(es)
>
> + UINT32 ElixirSpringsPatchSize; ///< Elixir Springs Patch(es) Size.
>
> +} CPU_CONFIG_LIB_PREMEM_CONFIG;
>
> +
>
> +#pragma pack (pop)
>
> +
>
> +#endif // _CPU_CONFIG_LIB_PREMEM_CONFIG_H_
>
> diff --git
> a/Silicon/Intel/TigerlakeSiliconPkg/Cpu/Include/ConfigBlock/CpuPidTestConf
> ig.h
> b/Silicon/Intel/TigerlakeSiliconPkg/Cpu/Include/ConfigBlock/CpuPidTestConf
> ig.h
> new file mode 100644
> index 0000000000..4fcb92cb27
> --- /dev/null
> +++
> b/Silicon/Intel/TigerlakeSiliconPkg/Cpu/Include/ConfigBlock/CpuPidTestConf
> ig.h
> @@ -0,0 +1,52 @@
> +/** @file
>
> + CPU PID Config Block.
>
> +
>
> + Copyright (c) 2021, Intel Corporation. All rights reserved.<BR>
>
> + SPDX-License-Identifier: BSD-2-Clause-Patent
>
> +**/
>
> +#ifndef _CPU_PID_TEST_CONFIG_H_
>
> +#define _CPU_PID_TEST_CONFIG_H_
>
> +
>
> +#define CPU_PID_TEST_CONFIG_REVISION 1
>
> +
>
> +extern EFI_GUID gCpuPidTestConfigGuid;
>
> +
>
> +#pragma pack (push,1)
>
> +
>
> +/**
>
> + PID Tuning Configuration Structure.
>
> + Domain is mapped to Kp = 0, Ki = 1, Kd = 2.
>
> +
>
> + <b>Revision 1</b>:
>
> + - Initial version.
>
> +**/
>
> +typedef struct {
>
> + CONFIG_BLOCK_HEADER Header; ///< Config Block Header
>
> + UINT16 Ratl[3]; ///< RATL setting, in 1/256 units. Range is 0
> - 65280
>
> + UINT16 VrTdcVr0[3]; ///< VR Thermal Design Current for
> VR0. In 1/256 units. Range is 0 - 65280
>
> + UINT16 VrTdcVr1[3]; ///< VR Thermal Design Current for
> VR1. In 1/256 units. Range is 0 - 65280
>
> + UINT16 VrTdcVr2[3]; ///< VR Thermal Design Current for
> VR2. In 1/256 units. Range is 0 - 65280
>
> + UINT16 VrTdcVr3[3]; ///< VR Thermal Design Current for
> VR3. In 1/256 units. Range is 0 - 65280
>
> + UINT16 PbmPsysPl1Msr[3]; ///< Power Budget Management
> Psys PL1 MSR. In 1/256 units. Range is 0 - 65280
>
> + UINT16 PbmPsysPl1MmioPcs[3]; ///< Power Budget
> Management Psys PL1 MMIO/PCS. In 1/256 units. Range is 0 - 65280
>
> + UINT16 PbmPsysPl2Msr[3]; ///< Power Budget Management
> Psys PL2 MSR. In 1/256 units. Range is 0 - 65280
>
> + UINT16 PbmPsysPl2MmioPcs[3]; ///< Power Budget
> Management Psys PL2 MMIO/PCS. In 1/256 units. Range is 0 - 65280
>
> + UINT16 PbmPkgPl1Msr[3]; ///< Power Budget Management
> Package PL1 MSR. In 1/256 units. Range is 0 - 65280
>
> + UINT16 PbmPkgPl1MmioPcs[3]; ///< Power Budget
> Management Package PL1 MMIO/PCS. In 1/256 units. Range is 0 - 65280
>
> + UINT16 PbmPkgPl2Msr[3]; ///< Power Budget Management
> Package PL2 MSR. In 1/256 units. Range is 0 - 65280
>
> + UINT16 PbmPkgPl2MmioPcs[3]; ///< Power Budget
> Management Package PL2 MMIO/PCS. In 1/256 units. Range is 0 - 65280
>
> + UINT16 DdrPl1Msr[3]; ///< DDR PL1 MSR. In 1/256 units.
> Range is 0 - 65280
>
> + UINT16 DdrPl1MmioPcs[3]; ///< DDR PL1 MMIO/PCS. In 1/256
> units. Range is 0 - 65280
>
> + UINT16 DdrPl2Msr[3]; ///< DDR PL2 MSR. In 1/256 units.
> Range is 0 - 65280
>
> + UINT16 DdrPl2MmioPcs[3]; ///< DDR PL2 MMIO/PCS. In 1/256
> units. Range is 0 - 65280
>
> + /**
>
> + Enable or Disable PID Tuning programming flow.
>
> + If disabled, all other policies in this config block are ignored.
>
> + **/
>
> + UINT8 PidTuning;
>
> + UINT8 Rsvd; ///< Reserved for DWORD alignment.
>
> +} CPU_PID_TEST_CONFIG;
>
> +
>
> +#pragma pack (pop)
>
> +
>
> +#endif // _CPU_PID_TEST_CONFIG_H_
>
> diff --git
> a/Silicon/Intel/TigerlakeSiliconPkg/Cpu/Include/ConfigBlock/CpuPowerMgm
> tBasicConfig.h
> b/Silicon/Intel/TigerlakeSiliconPkg/Cpu/Include/ConfigBlock/CpuPowerMgm
> tBasicConfig.h
> new file mode 100644
> index 0000000000..0255d49bdf
> --- /dev/null
> +++
> b/Silicon/Intel/TigerlakeSiliconPkg/Cpu/Include/ConfigBlock/CpuPowerMgm
> tBasicConfig.h
> @@ -0,0 +1,226 @@
> +/** @file
>
> + CPU Power Management Basic Config Block.
>
> +
>
> + Copyright (c) 2021, Intel Corporation. All rights reserved.<BR>
>
> + SPDX-License-Identifier: BSD-2-Clause-Patent
>
> +**/
>
> +#ifndef _CPU_POWER_MGMT_BASIC_CONFIG_H_
>
> +#define _CPU_POWER_MGMT_BASIC_CONFIG_H_
>
> +
>
> +#define CPU_POWER_MGMT_BASIC_CONFIG_REVISION 5
>
> +
>
> +extern EFI_GUID gCpuPowerMgmtBasicConfigGuid;
>
> +
>
> +#pragma pack (push,1)
>
> +
>
> +/**
>
> + CPU Power Management Basic Configuration Structure.
>
> +
>
> + <b>Revision 1</b>:
>
> + - Initial version.
>
> + <b>Revision 2</b>:
>
> + - Changed EnableItbm default to be disable
>
> + - Deprecated EnableItbmDriver due to Platform doesn't have ITBMT OS
> driver
>
> + <b>Revision 3</b>:
>
> + - Add ApplyConfigTdp for TDP initialization settings based on non-cTDP or
> cTDP
>
> + <b>Revision 4</b>:
>
> + - Add Hwp Lock support
>
> + <b>Revision 5</b>:
>
> + - Add VccInDemotionOverride and VccInDemotionMs
>
> +**/
>
> +typedef struct {
>
> + CONFIG_BLOCK_HEADER Header; ///< Config Block Header
>
> + /**
>
> + Sets the boot frequency starting from reset vector.
>
> + - 0: Maximum battery performance.
>
> + - 1: Maximum non-turbo performance.
>
> + - <b>2: Turbo performance.</b>
>
> + @note If Turbo is selected BIOS will start in max non-turbo mode and
> switch to Turbo mode.
>
> + **/
>
> + UINT32 BootFrequency : 2; //@deprecated
>
> + UINT32 SkipSetBootPState : 1; ///< Choose whether to skip
> SetBootPState function for all APs; <b>0: Do not skip</b>; 1: Skip.
>
> + /**
>
> + Enable or Disable Intel Speed Shift Technology.
>
> + Enabling allows for processor control of P-state transitions.
>
> + 0: Disable; <b>1: Enable;</b> Bit 1 is ignored.
>
> + @note Currently this feature is recommended to be enabled only on
> win10
>
> + **/
>
> + UINT32 Hwp : 2;
>
> + /**
>
> + Hardware Duty Cycle Control configuration. 0: Disabled; <b>1: Enabled</b>
> 2-3:Reserved
>
> + HDC enables the processor to autonomously force components to enter
> into an idle state to lower effective frequency.
>
> + This allows for increased package level C6 residency.
>
> + @note Currently this feature is recommended to be enabled only on
> win10
>
> + **/
>
> + UINT32 HdcControl : 2;
>
> + UINT32 PowerLimit2 : 1; ///< Enable or Disable short duration
> Power Limit (PL2). 0: Disable; <b>1: Enable</b>
>
> + UINT32 TurboPowerLimitLock : 1; ///< MSR 0x610[63] and
> 0x618[63]: Locks all Turbo power limit settings to read-only; <b>0:
> Disable</b>; 1: Enable (Lock).
>
> + UINT32 PowerLimit3DutyCycle : 8; ///< Package PL3 Duty Cycle.
> Specifies the PL3 duty cycle percentage, Range 0-100. <b>Default: 0</b>.
>
> + UINT32 PowerLimit3Lock : 1; ///< Package PL3 MSR 615h lock;
> <b>0: Disable</b>; 1: Enable (Lock).
>
> + UINT32 PowerLimit4Lock : 1; ///< Package PL4 MSR 601h lock;
> <b>0: Disable</b>; 1: Enable (Lock).
>
> + /**
>
> + Tcc Offset Clamp for Runtime Average Temperature Limit (RATL) allows
> CPU to throttle below P1.
>
> + For Y SKU, the recommended default for this policy is <b>1: Enabled</b>,
> which indicates throttling below P1 is allowed.
>
> + For all other SKUs the recommended default are <b>0: Disabled</b>.
>
> + **/
>
> + UINT32 TccOffsetClamp : 1;
>
> + UINT32 TccOffsetLock : 1; ///< Tcc Offset Lock for Runtime
> Average Temperature Limit (RATL) to lock temperature target MSR 1A2h; 0:
> Disabled; <b>1: Enabled (Lock)</b>.
>
> + UINT32 TurboMode : 1; ///< Enable or Disable Turbo Mode.
> Disable; <b>1: Enable</b>
>
> + UINT32 HwpInterruptControl : 1; ///< Set HW P-State Interrupts
> Enabled for MISC_PWR_MGMT MSR 0x1AA[7]; <b>0: Disable</b>; 1:
> Enable.
>
> + UINT32 ApplyConfigTdp : 1; ///< Switch TDP applied setting
> based on non-cTDP or TDP; 0: non-cTDP; <b>1: cTDP</b>.
>
> + UINT32 HwpLock : 1; ///< HWP Lock in MISC PWR MGMT
> MSR 1AAh; <b>0: Disable</b>; 1: Enable (Lock).
>
> + UINT32 VccInDemotionOverride : 1; ///< Enable VccIn Demotion
> Override configuration. <b>0: Disable</b>; 1: Enable.
>
> + UINT32 RsvdBits : 6; ///< Reserved for future use.
>
> +
>
> + /**
>
> + 1-Core Ratio Limit: LFM to Fused 1-Core Ratio Limit. For overclocking parts:
> LFM to Fused 1-Core Ratio Limit + OC Bins.
>
> + Note: OC Bins = 7 means fully unlocked, so range is LFM to 83.
>
> + - This 1-Core Ratio Limit Must be greater than or equal to 2-Core Ratio
> Limit, 3-Core Ratio Limit, 4-Core Ratio Limit.
>
> + **/
>
> + UINT8 OneCoreRatioLimit;
>
> + /**
>
> + 2-Core Ratio Limit: LFM to Fused 2-Core Ratio Limit, For overclocking part:
> LFM to Fused 2-Core Ratio Limit + OC Bins.
>
> + Note: OC Bins = 7 means fully unlocked, so range is LFM to 83.
>
> + - This 2-Core Ratio Limit Must be Less than or equal to 1-Core Ratio Limit.
>
> + **/
>
> + UINT8 TwoCoreRatioLimit;
>
> + /**
>
> + 3-Core Ratio Limit: LFM to Fused 3-Core Ratio Limit, For overclocking part:
> LFM to Fused 3-Core Ratio Limit + OC Bins.
>
> + Note: OC Bins = 7 means fully unlocked, so range is LFM to 83.
>
> + - This 3-Core Ratio Limit Must be Less than or equal to 1-Core Ratio Limit.
>
> + **/
>
> + UINT8 ThreeCoreRatioLimit;
>
> + /**
>
> + 4-Core Ratio Limit: LFM to Fused 4-Core Ratio Limit, For overclocking part:
> LFM to Fused 4-Core Ratio Limit + OC Bins.
>
> + Note: OC Bins = 7 means fully unlocked, so range is LFM to 83.
>
> + - This 4-Core Ratio Limit Must be Less than or equal to 1-Core Ratio Limit.
>
> + **/
>
> + UINT8 FourCoreRatioLimit;
>
> + /**
>
> + 5-Core Ratio Limit: LFM to Fused 5-Core Ratio Limit, For overclocking part:
> LFM to Fused 5-Core Ratio Limit + OC Bins.
>
> + Note: OC Bins = 7 means fully unlocked, so range is LFM to 83.
>
> + - This 5-Core Ratio Limit Must be Less than or equal to 1-Core Ratio Limit.
>
> + **/
>
> + UINT8 FiveCoreRatioLimit;
>
> + /**
>
> + 6-Core Ratio Limit: LFM to Fused 6-Core Ratio Limit, For overclocking part:
> LFM to Fused 6-Core Ratio Limit + OC Bins.
>
> + Note: OC Bins = 7 means fully unlocked, so range is LFM to 83.
>
> + - This 6-Core Ratio Limit Must be Less than or equal to 1-Core Ratio Limit.
>
> + **/
>
> + UINT8 SixCoreRatioLimit;
>
> + /**
>
> + 7-Core Ratio Limit: LFM to Fused 7-Core Ratio Limit, For overclocking part:
> LFM to Fused 7-Core Ratio Limit + OC Bins.
>
> + Note: OC Bins = 7 means fully unlocked, so range is LFM to 83.
>
> + - This 7-Core Ratio Limit Must be Less than or equal to 1-Core Ratio Limit.
>
> + **/
>
> + UINT8 SevenCoreRatioLimit;
>
> + /**
>
> + 8-Core Ratio Limit: LFM to Fused 8-Core Ratio Limit, For overclocking part:
> LFM to Fused 8-Core Ratio Limit + OC Bins.
>
> + Note: OC Bins = 7 means fully unlocked, so range is LFM to 83.
>
> + - This 8-Core Ratio Limit Must be Less than or equal to 1-Core Ratio Limit.
>
> + **/
>
> + UINT8 EightCoreRatioLimit;
>
> + /**
>
> + TCC Activation Offset. Offset from factory set TCC activation temperature
> at which the Thermal Control Circuit must be activated.
>
> + TCC will be activated at (TCC Activation Temperature - TCC Activation
> Offset), in degrees Celcius.
>
> + For Y SKU, the recommended default for this policy is <b>10</b>
>
> + For all other SKUs the recommended default are <b>0</b>, causing TCC to
> activate at TCC Activation temperature.
>
> + @note The policy is recommended for validation purpose only.
>
> + **/
>
> + UINT8 TccActivationOffset;
>
> + /**
>
> + Intel Turbo Boost Max Technology 3.0
>
> + Enabling it on processors with OS support will allow OS to exploit the
> diversity in max turbo frequency of the cores.
>
> + <b>0: Disable</b>; 1: Enable;
>
> + **/
>
> + UINT8 EnableItbm : 1;
>
> + /**
>
> + @deprecated: Platform doesn't have Intel Turbo Boost Max Technology
> 3.0 Driver
>
> + Enabling it will load the driver upon ACPI device with HID = INT3510.
>
> + <b> 0: Disable;</b> 1: Enable;
>
> + **/
>
> + UINT8 EnableItbmDriver : 1;
>
> + /**
>
> + Per Core P State OS control mode
>
> + Disabling will set PCU_MISC_CONFIG (Command 0x06) Bit 31 = 1. When
> set, the highest core request is used for all other core requests.
>
> + 0: Disable;<b> 1: Enable;</b>
>
> + **/
>
> + UINT8 EnablePerCorePState : 1;
>
> + /**
>
> + HwP Autonomous Per Core P State
>
> + Disabling will set Bit 30 = 1, command 0x11. When set, autonomous will
> request the same value
>
> + for all cores all the time.
>
> + 0: Disable;<b> 1: Enable;</b>
>
> + **/
>
> + UINT8 EnableHwpAutoPerCorePstate : 1;
>
> + /**
>
> + HwP Autonomous EPP grouping.
>
> + Disabling will set Bit 29 = 1, command 0x11. When set, autonomous will not
> necesarrily request the same value
>
> + for all cores with same EPP.
>
> + Enabling will clean Bit 29 = 0, command 0x11. Autonomous will request
> same values for all cores with same EPP.
>
> + 0: Disable;<b> 1: Enable;</b>
>
> + **/
>
> + UINT8 EnableHwpAutoEppGrouping : 1;
>
> + /**
>
> + EPB override over PECI
>
> + Enable by sending pcode command 0x2b , subcommand 0x3 to 1.
>
> + This will allow OOB EPB PECI override control.
>
> + <b>0: Disable;</b> 1: Enable;
>
> + **/
>
> + UINT8 EnableEpbPeciOverride : 1;
>
> + /**
>
> + Support for Fast MSR for IA32_HWP_REQUEST.
>
> + On systems with HwP enabled, if this feature is available as indicated by
> MSR 0x65F[0] = 1,
>
> + set MSR 0x657[0] = 1.
>
> + 0: Disable; <b> 1: Enable;</b>
>
> + **/
>
> + UINT8 EnableFastMsrHwpReq : 1;
>
> + UINT8 ReservedBits1 : 1; ///< Reserved for future use.
>
> + UINT8 MinRingRatioLimit; ///< Minimum Ring Ratio Limit. Range
> from 0 to Max Turbo Ratio. 0 = AUTO/HW Default
>
> + UINT8 MaxRingRatioLimit; ///< Maximum Ring Ratio Limit.
> Range from 0 to Max Turbo Ratio. 0 = AUTO/HW Default
>
> + /**
>
> + Package Long duration turbo mode power limit (PL1).
>
> + Default is the TDP power limit of processor. Units are based on
> POWER_MGMT_CONFIG.CustomPowerUnit.
>
> + **/
>
> + UINT16 PowerLimit1;
>
> + /**
>
> + Package Short duration turbo mode power limit (PL2). Allows for short
> excursions above TDP power limit.
>
> + Default = 1.25 * TDP Power Limit. Units are based on
> POWER_MGMT_CONFIG.CustomPowerUnit.
>
> + **/
>
> + UINT16 PowerLimit2Power;
>
> + /**
>
> + Package PL3 power limit. PL3 is the CPU Peak Power Occurences Limit.
>
> + <b>Default: 0</b>. Range 0-65535. Units are based on
> POWER_MGMT_CONFIG.CustomPowerUnit.
>
> + **/
>
> + UINT16 PowerLimit3;
>
> + /**
>
> + Package PL4 power limit. PL4 is a Preemptive CPU Package Peak Power
> Limit, it will never be exceeded.
>
> + Power is premptively lowered before limit is reached. <b>Default: 0</b>.
> Range 0-65535.
>
> + Units are based on POWER_MGMT_CONFIG.CustomPowerUnit.
>
> + **/
>
> + UINT16 PowerLimit4;
>
> + /**
>
> + Package Long duration turbo mode power limit (PL1) time window in
> seconds.
>
> + Used in calculating the average power over time.
>
> + Mobile: <b> 28s</b>
>
> + Desktop: <b> 8s</b>
>
> + Range: 0 - 128s
>
> + **/
>
> + UINT32 PowerLimit1Time;
>
> + UINT32 PowerLimit3Time; ///< Package PL3 time window.
> Range from 3ms to 64ms.
>
> + /**
>
> + Tcc Offset Time Window can range from 5ms to 448000ms for Runtime
> Average Temperature Limit (RATL).
>
> + For Y SKU, the recommended default for this policy is <b>5000: 5
> seconds</b>, For all other SKUs the recommended default are <b>0:
> Disabled</b>
>
> + **/
>
> + UINT32 TccOffsetTimeWindowForRatl;
>
> + /**
>
> + Customize the VccIn Demotion in ms accordingly. Values used by OEM
> expected to be in lower end of 1-30 ms range.
>
> + Value 1 means 1ms, value 2 means 2ms, and so on. Value 0 will disable
> VccIn Demotion knob.
>
> + <b> It's 30ms by silicon default</b>.
>
> + **/
>
> + UINT32 VccInDemotionMs;
>
> +} CPU_POWER_MGMT_BASIC_CONFIG;
>
> +
>
> +#pragma pack (pop)
>
> +
>
> +#endif // _CPU_POWER_MGMT_BASIC_CONFIG_H_
>
> diff --git
> a/Silicon/Intel/TigerlakeSiliconPkg/Cpu/Include/ConfigBlock/CpuPowerMgm
> tCustomConfig.h
> b/Silicon/Intel/TigerlakeSiliconPkg/Cpu/Include/ConfigBlock/CpuPowerMgm
> tCustomConfig.h
> new file mode 100644
> index 0000000000..e1a5bcc684
> --- /dev/null
> +++
> b/Silicon/Intel/TigerlakeSiliconPkg/Cpu/Include/ConfigBlock/CpuPowerMgm
> tCustomConfig.h
> @@ -0,0 +1,76 @@
> +/** @file
>
> + CPU Power Managment Custom Config Block.
>
> +
>
> + Copyright (c) 2021, Intel Corporation. All rights reserved.<BR>
>
> + SPDX-License-Identifier: BSD-2-Clause-Patent
>
> +**/
>
> +#ifndef _CPU_POWER_MGMT_CUSTOM_CONFIG_H_
>
> +#define _CPU_POWER_MGMT_CUSTOM_CONFIG_H_
>
> +
>
> +#define CPU_POWER_MGMT_CUSTOM_CONFIG_REVISION 1
>
> +
>
> +extern EFI_GUID gCpuPowerMgmtCustomConfigGuid;
>
> +
>
> +#pragma pack (push,1)
>
> +
>
> +///
>
> +/// Defines the maximum number of custom ratio states supported.
>
> +///
>
> +#define MAX_CUSTOM_RATIO_TABLE_ENTRIES 40
>
> +#define MAX_16_CUSTOM_RATIO_TABLE_ENTRIES 16
>
> +
>
> +///
>
> +/// Defines the maximum number of custom ConfigTdp entries supported.
>
> +/// @warning: Changing this define would cause DWORD alignment issues
> in policy structures.
>
> +///
>
> +#define MAX_CUSTOM_CTDP_ENTRIES 3
>
> +
>
> +///
>
> +/// This structure is used to describe the custom processor ratio table
> desired by the platform.
>
> +///
>
> +typedef struct {
>
> + UINT8 MaxRatio; ///< The maximum ratio of the
> custom ratio table.
>
> + UINT8 NumberOfEntries; ///< The number of custom
> ratio state entries, ranges from 2 to 40 for a valid custom ratio table.
>
> + UINT8 Rsvd0[2]; ///< Reserved for DWORD
> alignment.
>
> + UINT32 Cpuid; ///< The CPU ID for which this custom
> ratio table applies.
>
> + UINT8 StateRatio[MAX_CUSTOM_RATIO_TABLE_ENTRIES]; ///< The
> processor ratios in the custom ratio table.
>
> + ///
>
> + /// If there are more than 16 total entries in the StateRatio table, then use
> these 16 entries to fill max 16 table.
>
> + /// @note If NumberOfEntries is 16 or less, or the first entry of this table is
> 0, then this table is ignored,
>
> + /// and up to the top 16 values from the StateRatio table is used instead.
>
> + ///
>
> + UINT8 StateRatioMax16[MAX_16_CUSTOM_RATIO_TABLE_ENTRIES];
>
> +#if ((MAX_CUSTOM_RATIO_TABLE_ENTRIES +
> MAX_16_CUSTOM_RATIO_TABLE_ENTRIES) % 4)
>
> + UINT8 Rsvd1[4 - ((MAX_CUSTOM_RATIO_TABLE_ENTRIES +
> MAX_16_CUSTOM_RATIO_TABLE_ENTRIES) % 4)]; ///< If needed, add
> padding for dword alignment.
>
> +#endif
>
> +} PPM_CUSTOM_RATIO_TABLE;
>
> +
>
> +///
>
> +/// PPM Custom ConfigTdp Settings
>
> +///
>
> +typedef struct _PPM_CUSTOM_CTDP_TABLE {
>
> + UINT32 CustomPowerLimit1Time : 8; ///< Short term Power Limit
> time window value for custom cTDP level.
>
> + UINT32 CustomTurboActivationRatio : 8; ///< Turbo Activation Ratio
> for custom cTDP level.
>
> + UINT32 RsvdBits : 16; ///< Bits reserved for DWORD
> alignment.
>
> + UINT16 CustomPowerLimit1; ///< Short term Power Limit
> value for custom cTDP level. Units are based on
> POWER_MGMT_CONFIG.CustomPowerUnit.
>
> + UINT16 CustomPowerLimit2; ///< Long term Power Limit value
> for custom cTDP level. Units are based on
> POWER_MGMT_CONFIG.CustomPowerUnit.
>
> +} PPM_CUSTOM_CTDP_TABLE;
>
> +
>
> +/**
>
> + CPU Power Management Custom Configuration Structure.
>
> +
>
> + <b>Revision 1</b>:
>
> + - Initial version.
>
> +**/
>
> +typedef struct {
>
> + CONFIG_BLOCK_HEADER Header; ///< Config
> Block Header
>
> + PPM_CUSTOM_RATIO_TABLE CustomRatioTable; ///<
> Custom Processor Ratio Table Instance
>
> + PPM_CUSTOM_CTDP_TABLE
> CustomConfigTdpTable[MAX_CUSTOM_CTDP_ENTRIES]; ///< Custom
> ConfigTdp Settings Instance
>
> + UINT32 ConfigTdpLock : 1; ///< Lock the
> ConfigTdp mode settings from runtime changes; <b>0: Disable</b>; 1:
> Enable.
>
> + UINT32 ConfigTdpBios : 1; ///< Configure
> whether to load Configurable TDP SSDT; <b>0: Disable</b>; 1: Enable.
>
> + UINT32 RsvdBits : 30; ///< Reserved for future
> use
>
> +} CPU_POWER_MGMT_CUSTOM_CONFIG;
>
> +
>
> +#pragma pack (pop)
>
> +
>
> +#endif // _CPU_POWER_MGMT_CUSTOM_CONFIG_H_
>
> diff --git
> a/Silicon/Intel/TigerlakeSiliconPkg/Cpu/Include/ConfigBlock/CpuPowerMgm
> tPsysConfig.h
> b/Silicon/Intel/TigerlakeSiliconPkg/Cpu/Include/ConfigBlock/CpuPowerMgm
> tPsysConfig.h
> new file mode 100644
> index 0000000000..f1ceb8f43b
> --- /dev/null
> +++
> b/Silicon/Intel/TigerlakeSiliconPkg/Cpu/Include/ConfigBlock/CpuPowerMgm
> tPsysConfig.h
> @@ -0,0 +1,36 @@
> +/** @file
>
> + CPU Power Management Psys(Platform) Config Block.
>
> +
>
> + Copyright (c) 2021, Intel Corporation. All rights reserved.<BR>
>
> + SPDX-License-Identifier: BSD-2-Clause-Patent
>
> +**/
>
> +#ifndef _CPU_POWER_MGMT_PSYS_CONFIG_H_
>
> +#define _CPU_POWER_MGMT_PSYS_CONFIG_H_
>
> +
>
> +#define CPU_POWER_MGMT_PSYS_CONFIG_REVISION 1
>
> +
>
> +extern EFI_GUID gCpuPowerMgmtPsysConfigGuid;
>
> +
>
> +#pragma pack (push,1)
>
> +
>
> +/**
>
> + CPU Power Management Psys(Platform) Configuration Structure.
>
> +
>
> + <b>Revision 1</b>:
>
> + - Initial version.
>
> +**/
>
> +typedef struct {
>
> + CONFIG_BLOCK_HEADER Header; ///< Config Block Header
>
> + UINT32 PsysPowerLimit1 : 1; ///< MSR 0x65C[15]: PL1 Enable
> activates the PL1 value to limit average platform power
>
> + UINT32 PsysPowerLimit1Time : 8; ///< MSR 0x65C[23:17]: PL1
> timewindow in seconds.
>
> + UINT32 PsysPowerLimit2 : 1; ///< MSR 0x65C[47]: PL2 Enable
> activates the PL2 value to limit average platform power
>
> + UINT32 RsvdBits : 22; ///< Reserved for future use.
>
> + UINT16 PsysPowerLimit1Power; ///< MSR 0x65C[14:0]: Platform
> PL1 power. Units are based on POWER_MGMT_CONFIG.CustomPowerUnit.
>
> + UINT16 PsysPowerLimit2Power; ///< MSR 0x65C[46:32]]:
> Platform PL2 power. Units are based on
> POWER_MGMT_CONFIG.CustomPowerUnit.
>
> + UINT16 PsysPmax; ///< PCODE MMIO Mailbox: Platform
> Power Pmax. <b>0 - Auto</b> Specified in 1/8 Watt increments. 0-1024
> Watts. Value of 800 = 100W.
>
> + UINT8 Rsvd[2]; ///< Reserved for future use and config
> block alignment
>
> +} CPU_POWER_MGMT_PSYS_CONFIG;
>
> +
>
> +#pragma pack (pop)
>
> +
>
> +#endif // _CPU_POWER_MGMT_PSYS_CONFIG_H_
>
> diff --git
> a/Silicon/Intel/TigerlakeSiliconPkg/Cpu/Include/ConfigBlock/CpuPowerMgm
> tTestConfig.h
> b/Silicon/Intel/TigerlakeSiliconPkg/Cpu/Include/ConfigBlock/CpuPowerMgm
> tTestConfig.h
> new file mode 100644
> index 0000000000..bd641f27c5
> --- /dev/null
> +++
> b/Silicon/Intel/TigerlakeSiliconPkg/Cpu/Include/ConfigBlock/CpuPowerMgm
> tTestConfig.h
> @@ -0,0 +1,150 @@
> +/** @file
>
> + CPU Power Management Test Config Block.
>
> +
>
> + Copyright (c) 2021, Intel Corporation. All rights reserved.<BR>
>
> + SPDX-License-Identifier: BSD-2-Clause-Patent
>
> +**/
>
> +#ifndef _CPU_POWER_MGMT_TEST_CONFIG_H_
>
> +#define _CPU_POWER_MGMT_TEST_CONFIG_H_
>
> +
>
> +#define CPU_POWER_MGMT_TEST_CONFIG_REVISION 4
>
> +
>
> +extern EFI_GUID gCpuPowerMgmtTestConfigGuid;
>
> +
>
> +#pragma pack (push,1)
>
> +
>
> +///
>
> +/// PPM Package C State Limit
>
> +///
>
> +typedef enum {
>
> + PkgC0C1 = 0,
>
> + PkgC2,
>
> + PkgC3,
>
> + PkgC6,
>
> + PkgC7,
>
> + PkgC7s,
>
> + PkgC8,
>
> + PkgC9,
>
> + PkgC10,
>
> + PkgCMax,
>
> + PkgCpuDefault = 254,
>
> + PkgAuto = 255
>
> +} MAX_PKG_C_STATE;
>
> +
>
> +///
>
> +/// PPM Package C State Time Limit
>
> +///
>
> +typedef enum {
>
> + TimeUnit1ns = 0,
>
> + TimeUnit32ns,
>
> + TimeUnit1024ns,
>
> + TimeUnit32768ns,
>
> + TimeUnit1048576ns,
>
> + TimeUnit33554432ns,
>
> + TimeUnitMax
>
> +} C_STATE_TIME_UNIT;
>
> +
>
> +///
>
> +/// Custom Power Units. User can choose to enter in watts or 125 milliwatt
> increments.
>
> +///
>
> +typedef enum {
>
> + PowerUnitWatts = 0, ///< in Watts.
>
> + PowerUnit125MilliWatts, ///< in 125 milliwatt increments. Example: 90
> power units times 125 mW equals 11.250 W.
>
> + PowerUnitMax
>
> +} CUSTOM_POWER_UNIT;
>
> +
>
> +///
>
> +/// PPM Interrupt Redirection Mode Selection
>
> +///
>
> +typedef enum {
>
> + PpmIrmFixedPriority = 0,
>
> + PpmIrmRoundRobin,
>
> + PpmIrmHashVector,
>
> + PpmIrmReserved1,
>
> + PpmIrmReserved2,
>
> + PpmIrmReserved3,
>
> + PpmIrmReserved4,
>
> + PpmIrmNoChange
>
> +} PPM_IRM_SETTING;
>
> +
>
> +/**
>
> + CPU Power Management Test Configuration Structure.
>
> +
>
> + <b>Revision 1</b>:
>
> + - Initial version.
>
> + <b>Revision 2</b>:
>
> + - Add CstateLatencyControl0TimeUnit for WHL only
>
> + - Add CstateLatencyControl0Irtl for WHL only
>
> + <b>Revision 3</b>:
>
> + - Change C State LatencyContol to Auto as default.
>
> + <b>Revision 4</b>:
>
> + - Deprecate ConfigTdpLevel. Move to premem.
>
> +**/
>
> +typedef struct {
>
> + CONFIG_BLOCK_HEADER Header; ///< Offset 0-27 Config Block
> Header
>
> + UINT32 Eist : 1; ///< Offset 28-31 Enable or Disable Intel
> SpeedStep Technology. 0: Disable; <b>1: Enable</b>
>
> + UINT32 EnergyEfficientPState : 1; ///< Enable or Disable
> Energy Efficient P-state will be applied in Turbo mode. Disable; <b>1:
> Enable</b>
>
> + UINT32 EnergyEfficientTurbo : 1; ///< Enable or Disable
> Energy Efficient Turbo, will be applied in Turbo mode. Disable; <b>1:
> Enable</b>
>
> + UINT32 TStates : 1; ///< Enable or Disable T states;
> <b>0: Disable</b>; 1: Enable.
>
> + UINT32 BiProcHot : 1; ///< Enable or Disable Bi-
> Directional PROCHOT#; 0: Disable; <b>1: Enable</b>.
>
> + UINT32 DisableProcHotOut : 1; ///< Enable or Disable
> PROCHOT# signal being driven externally; 0: Disable; <b>1: Enable</b>.
>
> + UINT32 ProcHotResponse : 1; ///< Enable or Disable
> PROCHOT# Response; <b>0: Disable</b>; 1: Enable.
>
> + UINT32 DisableVrThermalAlert : 1; ///< Enable or Disable VR
> Thermal Alert; <b>0: Disable</b>; 1: Enable.
>
> + UINT32 EnableAllThermalFunctions : 1; ///< Enable or Disable
> Thermal Reporting through ACPI tables; 0: Disable; <b>1: Enable</b>.
>
> + UINT32 ThermalMonitor : 1; ///< Enable or Disable
> Thermal Monitor; 0: Disable; <b>1: Enable</b>.
>
> + UINT32 Cx : 1; ///< Enable or Disable CPU power
> states (C-states). 0: Disable; <b>1: Enable</b>
>
> + UINT32 PmgCstCfgCtrlLock : 1; ///< If enabled, sets MSR
> 0xE2[15]; 0: Disable; <b>1: Enable</b>.
>
> + UINT32 C1e : 1; ///< Enable or Disable Enhanced C-
> states. 0: Disable; <b>1: Enable</b>
>
> + UINT32 C1AutoDemotion : 1; ///< Enable or Disable C6/C7
> auto demotion to C1. 0: Disabled; <b>1: C1 Auto demotion</b>
>
> + UINT32 C1UnDemotion : 1; ///< Enable or Disable
> C1UnDemotion. 0: Disabled; <b>1: C1 Auto undemotion</b>
>
> + UINT32 C3AutoDemotion : 1; ///< [CoffeeLake Only]
> Enable or Disable C6/C7 auto demotion to C3 0: Disabled; <b>1: C3 Auto
> demotion</b>
>
> + UINT32 C3UnDemotion : 1; ///< [CoffeeLake Only]
> Enable or Disable C3UnDemotion. 0: Disabled; <b>1: C3 Auto
> undemotion</b>
>
> + UINT32 PkgCStateDemotion : 1; ///< Enable or Disable
> Package Cstate Demotion. Disable; <b>1: Enable</b> [WhiskeyLake]
> <b>Disable</b>; 1: Enable
>
> + UINT32 PkgCStateUnDemotion : 1; ///< Enable or Disable
> Package Cstate UnDemotion. Disable; <b>1: Enable</b> [WhiskeyLake]
> <b>Disable</b>; 1: Enable
>
> + UINT32 CStatePreWake : 1; ///< Enable or Disable
> CState-Pre wake. Disable; <b>1: Enable</b>
>
> + UINT32 TimedMwait : 1; ///< Enable or Disable
> TimedMwait Support. <b>Disable</b>; 1: Enable
>
> + UINT32 CstCfgCtrIoMwaitRedirection : 1; ///< Enable or Disable
> IO to MWAIT redirection; <b>0: Disable</b>; 1: Enable.
>
> + UINT32 ProcHotLock : 1; ///< If enabled, sets MSR
> 0x1FC[23]; <b>0: Disable</b>; 1: Enable.
>
> + UINT32 RaceToHalt : 1; ///< Enable or Disable Race To
> Halt feature; 0: Disable; <b>1: Enable </b>. RTH will dynamically increase CPU
> frequency in order to enter pkg C-State faster to reduce overall power. (RTH
> is controlled through MSR 1FC bit 20)
>
> + UINT32 ConfigTdpLevel : 8; ///< @deprecated. Move to
> premem phase.
>
> + UINT16 CstateLatencyControl1Irtl; ///< Offset 32-33 Interrupt
> Response Time Limit of LatencyContol1 MSR 0x60B[9:0].<b>0 is Auto</b>.
>
> + UINT16 CstateLatencyControl2Irtl; ///< Offset 34-35 Interrupt
> Response Time Limit of LatencyContol2 MSR 0x60C[9:0].<b>0 is Auto</b>.
>
> + UINT16 CstateLatencyControl3Irtl; ///< Offset 36-37 Interrupt
> Response Time Limit of LatencyContol3 MSR 0x633[9:0].<b>0 is Auto</b>.
>
> + UINT16 CstateLatencyControl4Irtl; ///< Offset 38-39 Interrupt
> Response Time Limit of LatencyContol4 MSR 0x634[9:0].<b>0 is Auto</b>.
>
> + UINT16 CstateLatencyControl5Irtl; ///< Offset 40-41 Interrupt
> Response Time Limit of LatencyContol5 MSR 0x635[9:0].<b>0 is Auto</b>.
>
> + // Due to the removal of CstateLatencyControl0Irtl, PkgCStateLimit is not
> aligned to 32-bit address.
>
> + UINT8 Rsvd1[2]; ///< Offset 42-43 Reserved for config
> block alignment.
>
> + MAX_PKG_C_STATE PkgCStateLimit; ///< Offset 44 This field is
> used to set the Max Pkg Cstate. Default set to Auto which limits the Max Pkg
> Cstate to deep C-state.
>
> + /**
>
> + @todo: The following enums have to be replaced with policies.
>
> + **/
>
> + C_STATE_TIME_UNIT Reserved; ///< Offset 45 Reserved for
> config block alignment.
>
> + C_STATE_TIME_UNIT CstateLatencyControl1TimeUnit; ///< Offset 46
> TimeUnit for Latency Control1 MSR 0x60B[12:10]; <b>2: 1024ns</b>.
>
> + C_STATE_TIME_UNIT CstateLatencyControl2TimeUnit; ///< Offset 47
> TimeUnit for Latency Control2 MSR 0x60C[12:10]; <b>2: 1024ns</b>.
>
> + C_STATE_TIME_UNIT CstateLatencyControl3TimeUnit; ///< Offset 48
> TimeUnit for Latency Control3 MSR 0x633[12:10]; <b>2: 1024ns</b>.
>
> + C_STATE_TIME_UNIT CstateLatencyControl4TimeUnit; ///< Offset 49
> TimeUnit for Latency Control4 MSR 0x634[12:10]; <b>2: 1024ns</b>.
>
> + C_STATE_TIME_UNIT CstateLatencyControl5TimeUnit; ///< Offset 50
> TimeUnit for Latency Control5 MSR 0x635[12:10]; <b>2: 1024ns</b>.
>
> + /**
>
> + Offset 51 Default power unit in watts or in 125 milliwatt increments.
>
> + - 0: PowerUnitWatts.
>
> + - <b>1: PowerUnit125MilliWatts</b>.
>
> + **/
>
> + CUSTOM_POWER_UNIT CustomPowerUnit;
>
> + /**
>
> + Offset 52 Interrupt Redirection Mode Select.
>
> + - 0: Fixed priority. //Default under CNL.
>
> + - 1: Round robin.
>
> + - 2: Hash vector.
>
> + - 4: PAIR with fixed priority. //Default under KBL, not available under CNL.
>
> + - 5: PAIR with round robin. //Not available under CNL.
>
> + - 6: PAIR with hash vector. //Not available under CNL.
>
> + - 7: No change.
>
> + **/
>
> + PPM_IRM_SETTING PpmIrmSetting;
>
> + // Move the padding to previous offset to align the structure at 32-bit
> address.
>
> + UINT8 Rsvd[4]; ///< Offset 53-56 Reserved for future use
> and config block alignment
>
> +} CPU_POWER_MGMT_TEST_CONFIG;
>
> +
>
> +#pragma pack (pop)
>
> +
>
> +#endif // _CPU_POWER_MGMT_TEST_CONFIG_H_
>
> diff --git
> a/Silicon/Intel/TigerlakeSiliconPkg/Cpu/Include/ConfigBlock/CpuSecurityPre
> MemConfig.h
> b/Silicon/Intel/TigerlakeSiliconPkg/Cpu/Include/ConfigBlock/CpuSecurityPre
> MemConfig.h
> new file mode 100644
> index 0000000000..24614fe497
> --- /dev/null
> +++
> b/Silicon/Intel/TigerlakeSiliconPkg/Cpu/Include/ConfigBlock/CpuSecurityPre
> MemConfig.h
> @@ -0,0 +1,63 @@
> +/** @file
>
> + CPU Security PreMemory Config Block.
>
> +
>
> + Copyright (c) 2021, Intel Corporation. All rights reserved.<BR>
>
> + SPDX-License-Identifier: BSD-2-Clause-Patent
>
> +**/
>
> +#ifndef _CPU_SECURITY_PREMEM_CONFIG_H_
>
> +#define _CPU_SECURITY_PREMEM_CONFIG_H_
>
> +
>
> +#define CPU_SECURITY_PREMEM_CONFIG_REVISION 1
>
> +
>
> +extern EFI_GUID gCpuSecurityPreMemConfigGuid;
>
> +
>
> +#pragma pack (push,1)
>
> +
>
> +/**
>
> + CPU Security PreMemory Configuration Structure.
>
> +
>
> + <b>Revision 1</b>:
>
> + - Initial version.
>
> +**/
>
> +typedef struct {
>
> + CONFIG_BLOCK_HEADER Header; ///< Config Block Header
>
> + UINT32 PrmrrSize; ///< PRMRR Size.<b>Software Control:
> 0x0</b> 32MB: 0x2000000, 64MB: 0x4000000, 128 MB: 0x8000000, 256 MB:
> 0x10000000, 512 MB: 0x20000000
>
> + UINT16 BiosSize; ///< Flash information for BIOS Guard:
> BIOS Size in KB.
>
> + UINT8 Reserved[2]; ///< Reserved for future use
>
> +/**
>
> + Enable or Disable BIOS Guard; 0: Disable; <b>1: Enable</b>.
>
> + - This is an optional feature and can be opted out.
>
> + - If this policy is set to Disabled, the policies in the BIOS_GUARD_CONFIG
> will be ignored.
>
> + - If PeiBiosGuardLibNull is used, this policy will have no effect.
>
> +**/
>
> + UINT32 BiosGuard : 1;
>
> + UINT32 BiosGuardToolsInterface : 1; ///< BIOS Guard Tools
> Interface; <b>0: Disable</b>, 1:Enable
>
> +/**
>
> + Enable or Disable Software Guard Extensions; <b>0: Disable</b>; 1:
> Enable.
>
> + - This is an optional feature and can be opted out.
>
> + - If this policy is set to Disabled, the policies in the CPU_SGX_CONFIG will
> be ignored.
>
> + - If BaseSoftwareGuardLibNull is used, this policy will have no effect.
>
> +**/
>
> + UINT32 EnableSgx : 1;
>
> +/**
>
> + Enable or Disable Trusted Execution Technology; <b>0: Disable</b>; 1:
> Enable.
>
> + - This is an optional feature and can be opted out.
>
> + - If this policy is set to Disabled, the policies in the
> CPU_TXT_PREMEM_CONFIG will be ignored.
>
> + - If PeiTxtLibNull is used, this policy will have no effect.
>
> +**/
>
> + UINT32 Txt : 1;
>
> + UINT32 SkipStopPbet : 1; ///< <b>(Test)</b> Skip Stop PBET
> Timer; <b>0: Disable</b>; 1: Enable.
>
> + ///
>
> + /// <b>(Test)</b> This policy indicates whether or not BIOS should allocate
> PRMRR memory for C6DRAM power gating feature.
>
> + /// - 0: Don't allocate any PRMRR memory for C6DRAM power gating
> feature.
>
> + /// - <b>1: Allocate PRMRR memory for C6DRAM power gating
> feature</b>.
>
> + ///
>
> + UINT32 EnableC6Dram : 1;
>
> + UINT32 ResetAux : 1; ///< <b>(Test)</b> Reset Auxiliary
> content, <b>0: Disabled</b>, 1: Enabled
>
> + UINT32 TxtAcheckRequest : 1; ///< <b>(Test)</b>
> AcheckRequest <b>0: Disabled</b>, 1: Enabled. When Enabled, it will call
> Acheck regardless of crashcode value
>
> + UINT32 RsvdBits : 24; ///< Reserved for future use
>
> +} CPU_SECURITY_PREMEM_CONFIG;
>
> +
>
> +#pragma pack (pop)
>
> +
>
> +#endif // _CPU_SECURITY_CONFIG_H_
>
> diff --git
> a/Silicon/Intel/TigerlakeSiliconPkg/Cpu/Include/ConfigBlock/CpuTestConfig.
> h
> b/Silicon/Intel/TigerlakeSiliconPkg/Cpu/Include/ConfigBlock/CpuTestConfig.
> h
> new file mode 100644
> index 0000000000..ee946290e0
> --- /dev/null
> +++
> b/Silicon/Intel/TigerlakeSiliconPkg/Cpu/Include/ConfigBlock/CpuTestConfig.
> h
> @@ -0,0 +1,51 @@
> +/** @file
>
> + CPU Test Config Block.
>
> +
>
> + Copyright (c) 2021, Intel Corporation. All rights reserved.<BR>
>
> + 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.
>
> +
>
> + <b>Revision 1</b>:
>
> + - Initial version.
>
> + <b>Revision 2</b>:
>
> + - Removed Voltage Optimization feature.
>
> +**/
>
> +typedef struct {
>
> + CONFIG_BLOCK_HEADER Header; ///< Config Block Header
>
> + 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 ProcessorTraceOutputScheme : 1; ///< Control on
> Processor Trace output scheme; <b>0: Single Range Output</b>; 1: ToPA
> Output.
>
> + UINT32 ProcessorTraceEnable : 1; ///< Enable or Disable
> Processor Trace feature; <b>0: Disable</b>; 1: Enable.
>
> + UINT32 ThreeStrikeCounterDisable : 1; ///< Disable Three
> strike counter; <b>0: FALSE</b>; 1: TRUE.
>
> + UINT32 RsvdBits : 25; ///< 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.
>
> + - <b>NULL: Disable</b>
>
> + **/
>
> + 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.
>
> + - <b>0: Disable</b>
>
> + **/
>
> + UINT32 ProcessorTraceMemLength;
>
> + UINT8 Reserved0[4];
>
> +} CPU_TEST_CONFIG;
>
> +
>
> +#pragma pack (pop)
>
> +
>
> +#endif // _CPU_TEST_CONFIG_H_
>
> diff --git a/Silicon/Intel/TigerlakeSiliconPkg/Cpu/Include/CpuAccess.h
> b/Silicon/Intel/TigerlakeSiliconPkg/Cpu/Include/CpuAccess.h
> new file mode 100644
> index 0000000000..5d5e4df071
> --- /dev/null
> +++ b/Silicon/Intel/TigerlakeSiliconPkg/Cpu/Include/CpuAccess.h
> @@ -0,0 +1,12 @@
> +/** @file
>
> + Macros to simplify and abstract the interface to CPU configuration.
>
> +
>
> + Copyright (c) 2021, Intel Corporation. All rights reserved.<BR>
>
> + SPDX-License-Identifier: BSD-2-Clause-Patent
>
> +**/
>
> +#ifndef _CPUACCESS_H_
>
> +#define _CPUACCESS_H_
>
> +
>
> +#include "CpuDataStruct.h"
>
> +
>
> +#endif
>
> diff --git a/Silicon/Intel/TigerlakeSiliconPkg/Cpu/Include/CpuDataStruct.h
> b/Silicon/Intel/TigerlakeSiliconPkg/Cpu/Include/CpuDataStruct.h
> new file mode 100644
> index 0000000000..ba9a840e54
> --- /dev/null
> +++ b/Silicon/Intel/TigerlakeSiliconPkg/Cpu/Include/CpuDataStruct.h
> @@ -0,0 +1,21 @@
> +/** @file
>
> + This file declares various data structures used in CPU reference code.
>
> +
>
> + Copyright (c) 2021, Intel Corporation. All rights reserved.<BR>
>
> + SPDX-License-Identifier: BSD-2-Clause-Patent
>
> +**/
>
> +
>
> +#ifndef _CPU_DATA_STRUCT_H
>
> +#define _CPU_DATA_STRUCT_H
>
> +
>
> +///
>
> +/// Structure to hold the return value of AsmCpuid instruction
>
> +///
>
> +typedef struct {
>
> + UINT32 RegEax; ///< Value of EAX.
>
> + UINT32 RegEbx; ///< Value of EBX.
>
> + UINT32 RegEcx; ///< Value of ECX.
>
> + UINT32 RegEdx; ///< Value of EDX.
>
> +} EFI_CPUID_REGISTER;
>
> +
>
> +#endif
>
> diff --git
> a/Silicon/Intel/TigerlakeSiliconPkg/Cpu/Include/CpuPolicyCommon.h
> b/Silicon/Intel/TigerlakeSiliconPkg/Cpu/Include/CpuPolicyCommon.h
> new file mode 100644
> index 0000000000..1178f68d0c
> --- /dev/null
> +++ b/Silicon/Intel/TigerlakeSiliconPkg/Cpu/Include/CpuPolicyCommon.h
> @@ -0,0 +1,23 @@
> +/** @file
>
> + CPU Policy Structure definition which will contain several config blocks
> during runtime.
>
> +
>
> + Copyright (c) 2021, Intel Corporation. All rights reserved.<BR>
>
> + SPDX-License-Identifier: BSD-2-Clause-Patent
>
> +**/
>
> +#ifndef _CPU_POLICY_COMMON_H_
>
> +#define _CPU_POLICY_COMMON_H_
>
> +
>
> +#include <ConfigBlock.h>
>
> +#include <ConfigBlock/CpuConfig.h>
>
> +#include <ConfigBlock/CpuPidTestConfig.h>
>
> +#include <ConfigBlock/CpuPowerMgmtBasicConfig.h>
>
> +#include <ConfigBlock/CpuPowerMgmtCustomConfig.h>
>
> +#include <ConfigBlock/CpuPowerMgmtPsysConfig.h>
>
> +#include <ConfigBlock/CpuPowerMgmtTestConfig.h>
>
> +#include <ConfigBlock/VoltageRegulator/CpuPowerMgmtVrConfig.h>
>
> +#include <ConfigBlock/CpuTestConfig.h>
>
> +#include <ConfigBlock/CpuSecurityPreMemConfig.h>
>
> +#include <ConfigBlock/CpuConfigLibPreMemConfig.h>
>
> +#include <OverclockingConfig.h>
>
> +
>
> +#endif // _CPU_POLICY_COMMON_H_
>
> diff --git
> a/Silicon/Intel/TigerlakeSiliconPkg/Cpu/Include/Register/CommonMsr.h
> b/Silicon/Intel/TigerlakeSiliconPkg/Cpu/Include/Register/CommonMsr.h
> new file mode 100644
> index 0000000000..a2cd1db1d6
> --- /dev/null
> +++ b/Silicon/Intel/TigerlakeSiliconPkg/Cpu/Include/Register/CommonMsr.h
> @@ -0,0 +1,18 @@
> +
>
> +/** @file
>
> + CommonMsr.h
>
> +
>
> + Copyright (c) 2021, Intel Corporation. All rights reserved.<BR>
>
> + SPDX-License-Identifier: BSD-2-Clause-Patent
>
> +**/
>
> +
>
> +#ifndef _COMMONMSR_h
>
> +#define _COMMONMSR_h
>
> +#include <Base.h>
>
> +
>
> +/**
>
> + Special Chipset Usage MSR
>
> +**/
>
> +#define MSR_SPCL_CHIPSET_USAGE 0x000001FE
>
> +
>
> +#endif /* _COMMONMSR_h */
>
> --
> 2.24.0.windows.2
next prev parent reply other threads:[~2021-02-04 3:54 UTC|newest]
Thread overview: 81+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-02-01 1:36 [PATCH 01/40] TigerlakeSiliconPkg: Add package and Include/ConfigBlock headers Heng Luo
2021-02-01 1:36 ` [PATCH 02/40] TigerlakeSiliconPkg/Include: Add Library, PPI and Protocol include headers Heng Luo
2021-02-04 3:51 ` Nate DeSimone
2021-02-01 1:36 ` [PATCH 03/40] TigerlakeSiliconPkg/Include: Add Pins, Register and other " Heng Luo
2021-02-04 3:52 ` Nate DeSimone
2021-02-01 1:36 ` [PATCH 04/40] TigerlakeSiliconPkg/Cpu: Add Include headers Heng Luo
2021-02-04 3:53 ` Nate DeSimone [this message]
2021-02-01 1:36 ` [PATCH 05/40] TigerlakeSiliconPkg/Pch: Add include headers Heng Luo
2021-02-04 3:53 ` Nate DeSimone
2021-02-01 1:36 ` [PATCH 06/40] TigerlakeSiliconPkg/Pch: Add IncludePrivate headers Heng Luo
2021-02-04 3:53 ` Nate DeSimone
2021-02-01 1:36 ` [PATCH 07/40] TigerlakeSiliconPkg/SystemAgent: Add include headers Heng Luo
2021-02-04 3:53 ` Nate DeSimone
2021-02-01 1:36 ` [PATCH 08/40] TigerlakeSiliconPkg/SystemAgent: Add IncludePrivate headers Heng Luo
2021-02-04 3:53 ` Nate DeSimone
2021-02-01 1:36 ` [PATCH 09/40] TigerlakeSiliconPkg/Fru: Add TglCpu/Include headers Heng Luo
2021-02-04 3:53 ` Nate DeSimone
2021-02-01 1:36 ` [PATCH 10/40] TigerlakeSiliconPkg/Fru: Add TglCpu/IncludePrivate headers Heng Luo
2021-02-04 3:53 ` Nate DeSimone
2021-02-01 1:36 ` [PATCH 11/40] TigerlakeSiliconPkg/Fru: Add TglPch/Include headers Heng Luo
2021-02-04 3:53 ` Nate DeSimone
2021-02-01 1:36 ` [PATCH 12/40] TigerlakeSiliconPkg/Fru: Add TglPch/IncludePrivate headers Heng Luo
2021-02-04 3:53 ` Nate DeSimone
2021-02-01 1:36 ` [PATCH 13/40] TigerlakeSiliconPkg/IpBlock: Add Cnvi component Heng Luo
2021-02-04 3:53 ` Nate DeSimone
2021-02-01 1:36 ` [PATCH 14/40] TigerlakeSiliconPkg/IpBlock: Add CpuPcieRp component Heng Luo
2021-02-04 3:53 ` Nate DeSimone
2021-02-01 1:36 ` [PATCH 15/40] TigerlakeSiliconPkg/IpBlock: Add Espi component Heng Luo
2021-02-04 3:54 ` Nate DeSimone
2021-02-01 1:36 ` [PATCH 16/40] TigerlakeSiliconPkg/IpBlock: Add Gbe component Heng Luo
2021-02-04 3:54 ` Nate DeSimone
2021-02-01 1:36 ` [PATCH 17/40] TigerlakeSiliconPkg/IpBlock: Add Gpio component Heng Luo
2021-02-04 3:54 ` Nate DeSimone
2021-02-01 1:36 ` [PATCH 18/40] TigerlakeSiliconPkg/IpBlock: Add Graphics component Heng Luo
2021-02-04 3:54 ` Nate DeSimone
2021-02-01 1:36 ` [PATCH 19/40] TigerlakeSiliconPkg/IpBlock: Add Hda component Heng Luo
2021-02-04 3:54 ` Nate DeSimone
2021-02-01 1:36 ` [PATCH 20/40] TigerlakeSiliconPkg/IpBlock: Add HostBridge component Heng Luo
2021-02-04 3:54 ` Nate DeSimone
2021-02-01 1:36 ` [PATCH 21/40] TigerlakeSiliconPkg/IpBlock: Add P2sb component Heng Luo
2021-02-04 3:54 ` Nate DeSimone
2021-02-01 1:36 ` [PATCH 22/40] TigerlakeSiliconPkg/IpBlock: Add PchDmi component Heng Luo
2021-02-04 3:54 ` Nate DeSimone
2021-02-01 1:36 ` [PATCH 23/40] TigerlakeSiliconPkg/IpBlock: Add PcieRp component Heng Luo
2021-02-04 3:55 ` Nate DeSimone
2021-02-01 1:36 ` [PATCH 24/40] TigerlakeSiliconPkg/IpBlock: Add Pmc component Heng Luo
2021-02-04 3:56 ` Nate DeSimone
2021-02-01 1:36 ` [PATCH 25/40] TigerlakeSiliconPkg/IpBlock: Add Psf component Heng Luo
2021-02-04 3:56 ` Nate DeSimone
2021-02-01 1:36 ` [PATCH 26/40] TigerlakeSiliconPkg/IpBlock: Add Sata component Heng Luo
2021-02-04 3:56 ` Nate DeSimone
2021-02-01 1:36 ` [PATCH 27/40] TigerlakeSiliconPkg/IpBlock: Add SerialIo component Heng Luo
2021-02-04 3:56 ` Nate DeSimone
2021-02-01 1:36 ` [PATCH 28/40] TigerlakeSiliconPkg/IpBlock: Add Smbus component Heng Luo
2021-02-04 3:56 ` Nate DeSimone
2021-02-01 1:36 ` [PATCH 29/40] TigerlakeSiliconPkg/IpBlock: Add Spi component Heng Luo
2021-02-04 3:56 ` Nate DeSimone
2021-02-01 1:36 ` [PATCH 30/40] TigerlakeSiliconPkg/IpBlock: Add Vtd component Heng Luo
2021-02-04 3:56 ` Nate DeSimone
2021-02-01 1:36 ` [PATCH 31/40] TigerlakeSiliconPkg/Library: Add package common library instances Heng Luo
2021-02-04 3:56 ` Nate DeSimone
2021-02-01 1:36 ` [PATCH 32/40] TigerlakeSiliconPkg/Pch: Add Pch " Heng Luo
2021-02-04 3:56 ` Nate DeSimone
2021-02-01 1:36 ` [PATCH 33/40] TigerlakeSiliconPkg/Pch: Add Pch private " Heng Luo
2021-02-04 3:56 ` Nate DeSimone
2021-02-01 1:36 ` [PATCH 34/40] TigerlakeSiliconPkg/SystemAgent: Add Acpi Tables and " Heng Luo
2021-02-04 3:56 ` Nate DeSimone
2021-02-01 1:36 ` [PATCH 35/40] TigerlakeSiliconPkg/Fru/TglCpu: Add CpuPcieRp and Vtd " Heng Luo
2021-02-04 3:56 ` Nate DeSimone
2021-02-01 1:36 ` [PATCH 36/40] TigerlakeSiliconPkg/Pch: Add Pch modules Heng Luo
2021-02-04 3:56 ` Nate DeSimone
2021-02-01 1:36 ` [PATCH 37/40] TigerlakeSiliconPkg/SystemAgent: Add SystemAgent modules Heng Luo
2021-02-04 3:56 ` Nate DeSimone
2021-02-01 1:36 ` [PATCH 38/40] TigerlakeSiliconPkg/Fru: Add Fru DSC files Heng Luo
2021-02-04 3:56 ` Nate DeSimone
2021-02-01 1:36 ` [PATCH 39/40] TigerlakeSiliconPkg: Add package " Heng Luo
2021-02-04 3:56 ` Nate DeSimone
2021-02-01 1:36 ` [PATCH 40/40] Maintainers.txt: Add TigerlakeSiliconPkg maintainers Heng Luo
2021-02-04 3:51 ` Nate DeSimone
2021-02-04 8:24 ` Heng Luo
2021-02-04 3:51 ` [PATCH 01/40] TigerlakeSiliconPkg: Add package and Include/ConfigBlock headers Nate DeSimone
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-list from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=BN6PR1101MB214774158FDC9A786E07AF9BCDB39@BN6PR1101MB2147.namprd11.prod.outlook.com \
--to=devel@edk2.groups.io \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox