From: "Chiu, Chasel" <chasel.chiu@intel.com>
To: "Kubacki, Michael A" <michael.a.kubacki@intel.com>,
"devel@edk2.groups.io" <devel@edk2.groups.io>
Cc: "Chaganty, Rangasai V" <rangasai.v.chaganty@intel.com>,
"Desimone, Nathaniel L" <nathaniel.l.desimone@intel.com>,
"Gao, Liming" <liming.gao@intel.com>,
"Kinney, Michael D" <michael.d.kinney@intel.com>,
"Sinha, Ankit" <ankit.sinha@intel.com>
Subject: Re: [edk2-platforms][PATCH V1 01/37] CoffeelakeSiliconPkg: Add package and Include headers
Date: Sat, 17 Aug 2019 01:08:20 +0000 [thread overview]
Message-ID: <3C3EFB470A303B4AB093197B6777CCEC5046222A@PGSMSX111.gar.corp.intel.com> (raw)
In-Reply-To: <20190817001603.30632-2-michael.a.kubacki@intel.com>
Reviewed-by: Chasel Chiu <chasel.chiu@intel.com>
> -----Original Message-----
> From: Kubacki, Michael A
> Sent: Saturday, August 17, 2019 8:15 AM
> To: devel@edk2.groups.io
> Cc: Chaganty, Rangasai V <rangasai.v.chaganty@intel.com>; Chiu, Chasel
> <chasel.chiu@intel.com>; Desimone, Nathaniel L
> <nathaniel.l.desimone@intel.com>; Gao, Liming <liming.gao@intel.com>;
> Kinney, Michael D <michael.d.kinney@intel.com>; Sinha, Ankit
> <ankit.sinha@intel.com>
> Subject: [edk2-platforms][PATCH V1 01/37] CoffeelakeSiliconPkg: Add package
> and Include headers
>
> REF:https://bugzilla.tianocore.org/show_bug.cgi?id=2082
>
> Create the CoffeelakeSiliconPkg to provide an initial package for
> silicon initialization code for Coffee Lake (CFL) and Whiskey Lake
> (WHL) generation products.
>
> * Major areas of functionality are categorized into CPU, Management
> Engine (ME), Platform Controller Hub (PCH), and System Agent
> subdirectories.
> * Common libraries and headers are kept at the root of the package.
>
> Cc: Sai Chaganty <rangasai.v.chaganty@intel.com>
> Cc: Chasel Chiu <chasel.chiu@intel.com>
> Cc: Nate DeSimone <nathaniel.l.desimone@intel.com>
> Cc: Liming Gao <liming.gao@intel.com>
> Cc: Michael D Kinney <michael.d.kinney@intel.com>
> Cc: Ankit Sinha <ankit.sinha@intel.com>
> Signed-off-by: Michael Kubacki <michael.a.kubacki@intel.com>
> ---
> Silicon/Intel/CoffeelakeSiliconPkg/SiPkg.dec | 714
> ++++++++++++++++++++
> Silicon/Intel/CoffeelakeSiliconPkg/Include/ConfigBlock.h | 53
> ++
> Silicon/Intel/CoffeelakeSiliconPkg/Include/ConfigBlock/SiConfig.h |
> 89 +++
> Silicon/Intel/CoffeelakeSiliconPkg/Include/ConfigBlock/UsbConfig.h |
> 291 ++++++++
> Silicon/Intel/CoffeelakeSiliconPkg/Include/Library/AslUpdateLib.h |
> 157 +++++
> Silicon/Intel/CoffeelakeSiliconPkg/Include/Library/ConfigBlockLib.h |
> 64 ++
> Silicon/Intel/CoffeelakeSiliconPkg/Include/Library/MmPciLib.h | 28
> +
> Silicon/Intel/CoffeelakeSiliconPkg/Include/Library/PeiSiPolicyUpdateLib.h |
> 123 ++++
> Silicon/Intel/CoffeelakeSiliconPkg/Include/Library/SiConfigBlockLib.h |
> 58 ++
> Silicon/Intel/CoffeelakeSiliconPkg/Include/Library/SiPolicyLib.h | 110
> +++
> Silicon/Intel/CoffeelakeSiliconPkg/Include/Library/StallPpiLib.h | 22
> +
> Silicon/Intel/CoffeelakeSiliconPkg/Include/Library/UsbLib.h | 34
> +
> Silicon/Intel/CoffeelakeSiliconPkg/Include/PcieRegs.h | 319
> +++++++++
> Silicon/Intel/CoffeelakeSiliconPkg/Include/Ppi/SiPolicy.h | 29 +
> Silicon/Intel/CoffeelakeSiliconPkg/Include/Private/Library/PcieInitLib.h |
> 26 +
> Silicon/Intel/CoffeelakeSiliconPkg/Include/Private/Library/UsbInitLib.h |
> 71 ++
> Silicon/Intel/CoffeelakeSiliconPkg/Include/Protocol/SiPolicyProtocol.h |
> 60 ++
> Silicon/Intel/CoffeelakeSiliconPkg/Include/Register/RegsUsb.h | 55
> ++
> Silicon/Intel/CoffeelakeSiliconPkg/Include/SiConfigHob.h | 19 +
> Silicon/Intel/CoffeelakeSiliconPkg/Include/SiPolicyStruct.h | 65
> ++
> Silicon/Intel/CoffeelakeSiliconPkg/Include/TraceHubCommonConfig.h
> | 23 +
> 21 files changed, 2410 insertions(+)
>
> diff --git a/Silicon/Intel/CoffeelakeSiliconPkg/SiPkg.dec
> b/Silicon/Intel/CoffeelakeSiliconPkg/SiPkg.dec
> new file mode 100644
> index 0000000000..fa8c11e93d
> --- /dev/null
> +++ b/Silicon/Intel/CoffeelakeSiliconPkg/SiPkg.dec
> @@ -0,0 +1,714 @@
> +## @file
> +# Component description file for the Silicon Reference Code.
> +#
> +# Copyright (c) 2019 Intel Corporation. All rights reserved. <BR>
> +#
> +# SPDX-License-Identifier: BSD-2-Clause-Patent
> +#
> +##
> +
> +[Defines]
> +DEC_SPECIFICATION = 0x00010017
> +PACKAGE_NAME = SiPkg
> +PACKAGE_VERSION = 0.1
> +PACKAGE_GUID = F245E276-44A0-46b3-AEB5-9898BBCF008D
> +
> +[Includes]
> + Include
> + SampleCode/Include
> + SampleCode/MdeModulePkg/Include
> + SampleCode/IntelFrameworkPkg/Include
> + #
> + # SystemAgent
> + #
> + SystemAgent/Include
> + SystemAgent/MemoryInit/Include
> + SystemAgent/AcpiTables
> + #
> + # Cpu
> + #
> + Cpu/Include
> + #
> + # Me
> + #
> + Me/Include
> + #
> + # Pch
> + #
> + Pch/Include
> +
> +[Guids.common.Private]
> + #
> + # PCH
> + #
> + gPchDeviceTableHobGuid = { 0xb3e123d0, 0x7a1e, 0x4db4, { 0xaf, 0x66,
> 0xbe, 0xd4, 0x1e, 0x9c, 0x66, 0x38 }}
> + gPchConfigHobGuid = { 0x524ed3ca, 0xb250, 0x49f5, { 0x94, 0xd9,
> 0xa2, 0xba, 0xff, 0xc7, 0x0e, 0x14 }}
> + gGpioLibUnlockHobGuid = { 0xA7892E49, 0x0F9F, 0x4166, { 0xB8, 0xD6,
> 0x8A, 0x9B, 0xD9, 0x8B, 0x17, 0x38 }}
> + gSiScheduleResetHobGuid = { 0xEA0597FF, 0x8858, 0x41CA, { 0xBB, 0xC1,
> 0xFE, 0x18, 0xFC, 0xD2, 0x8E, 0x22 }}
> +
> +[Guids]
> +##
> +## MdeModulePkg
> +##
> +gEfiMemoryTypeInformationGuid = {0x4c19049f, 0x4137, 0x4dd3, {0x9c,
> 0x10, 0x8b, 0x97, 0xa8, 0x3f, 0xfd, 0xfa}}
> +gEfiCapsuleVendorGuid = {0x711c703f, 0xc285, 0x4b10, {0xa3, 0xb0, 0x36,
> 0xec, 0xbd, 0x3c, 0x8b, 0xe2}}
> +gEfiConsoleOutDeviceGuid = { 0xd3b36f2c, 0xd551, 0x11d4, { 0x9a, 0x46, 0x0,
> 0x90, 0x27, 0x3f, 0xc1, 0x4d}}
> +
> +##
> +## IntelFrameworkPkg
> +##
> +gEfiSmmPeiSmramMemoryReserveGuid = {0x6dadf1d1, 0xd4cc, 0x4910,
> {0xbb, 0x6e, 0x82, 0xb1, 0xfd, 0x80, 0xff, 0x3d}}
> +
> +##
> +## Common
> +##
> +## Include/ConfigBlock/SiConfig.h
> +gSiConfigGuid = {0x4ed6d282, 0x22f3, 0x4fe1, {0xa6, 0x61, 0x6, 0x1a, 0x97,
> 0x38, 0x59, 0xd8 }}
> +gSiPkgTokenSpaceGuid = {0x977c97c1, 0x47e1, 0x4b6b, {0x96, 0x69, 0x43,
> 0x66, 0x99, 0xcb, 0xe4, 0x5b}}
> +
> +## Include/SiConfigHob.h
> +gSiConfigHobGuid = {0xb3903068, 0x7482, 0x4424, {0xba, 0x4b, 0x40, 0x5f,
> 0x8f, 0xd7, 0x65, 0x4e}}
> +
> +##
> +## System Agent
> +##
> +gSaAcpiTableStorageGuid = {0x3c0ed5e2, 0x91ea, 0x4b94, { 0x82, 0xd, 0x9d,
> 0xaf, 0x9a, 0x3b, 0xb4, 0xa2}}
> +gSaDataHobGuid = {0xe07d0bda, 0xbf90, 0x46a9, { 0xb0, 0x0e, 0xb2, 0xc4,
> 0x4a, 0x0e, 0xd6, 0xd0}}
> +gSaConfigHobGuid = {0x762fa2e6, 0xea3b, 0x41c8, { 0x8c, 0x52, 0x63, 0x76,
> 0x6d, 0x70, 0x39, 0xe0}}
> +gSaPegHobGuid = {0x440ab2e5, 0xa3ea, 0x466f, { 0x84, 0x96, 0xdf, 0xb1,
> 0x3b, 0x75, 0x29, 0x95}}
> +gSgAcpiTableStorageGuid = {0x8de8964f, 0x2939, 0x4b49, { 0xa3, 0x48, 0xf6,
> 0xb2, 0xb2, 0xde, 0x4a, 0x42}}
> +gSaSsdtAcpiTableStorageGuid = {0xca89914d, 0x2317, 0x452e, { 0xb2, 0x45,
> 0x36, 0xc6, 0xfb, 0x77, 0xa9, 0xc6}}
> +gPegSsdtAcpiTableStorageGuid = {0xE05B8635, 0xE5C0, 0x4D88, { 0xB6,
> 0x29, 0x19, 0xD6, 0xA2, 0xC6, 0xE9, 0x2E}}
> +gSgAcpiTablePchStorageGuid = {0xe3164526, 0x690a, 0x4e0d, { 0xb0, 0x28,
> 0xae, 0xa1, 0x6f, 0xe2, 0xbc, 0xf3}}
> +gSaMiscPeiPreMemConfigGuid = {0x4a525577, 0x3469, 0x4f11, { 0x99, 0xcf,
> 0xfb, 0xcd, 0x5e, 0xf1, 0x84, 0xe4}}
> +gSaMiscPeiConfigGuid = {0x1def8e6, 0xe998, 0x4e27, { 0x89, 0x98, 0x9c,
> 0xfa, 0xb2, 0x92, 0xbc, 0x50}}
> +gSaPciePeiPreMemConfigGuid = { 0x81baf3c9, 0xf295, 0x4572, { 0x8b, 0x21,
> 0x79, 0x3f, 0xa3, 0x1b, 0xa5, 0xdb}}
> +gSaPciePeiConfigGuid = { 0xdaa929a9, 0x5ec9, 0x486a, { 0xb0, 0xf7, 0x82,
> 0x3a, 0x55, 0xc7, 0xb5, 0xb3}}
> +gGraphicsPeiPreMemConfigGuid = { 0x0319c56b, 0xc43a, 0x42f1, { 0x80,
> 0xbe, 0xca, 0x5b, 0xd1, 0xd5, 0xc9, 0x28}}
> +gGraphicsPeiConfigGuid = { 0x04249ac0, 0x0088, 0x439f, { 0xa7, 0x4e, 0xa7,
> 0x04, 0x2a, 0x06, 0x2f, 0x5d}}
> +gSwitchableGraphicsConfigGuid = { 0xc7956998, 0xc065, 0x46c4, { 0x8e,
> 0x2f, 0x58, 0x2b, 0x67, 0xeb, 0xbe, 0x2f}}
> +gCpuTraceHubConfigGuid = { 0xf2e17477, 0x93f3, 0x430d, { 0x9e, 0x08, 0x3c,
> 0xcc, 0x6e, 0x2f, 0x6c, 0x4b}}
> +gMemoryConfigGuid = { 0x26cf084c, 0xc9db, 0x41bb, { 0x92, 0xc6, 0xd1,
> 0x97, 0xb8, 0xa1, 0xe4, 0xbf}}
> +gMemoryConfigNoCrcGuid = { 0xc56c73d0, 0x1cdb, 0x4c0c, { 0xa9, 0x57,
> 0xea, 0x62, 0xa9, 0xe6, 0xf5, 0x0c}}
> +gIpuPreMemConfigGuid = { 0x830a222b, 0x3ff5, 0x432e, { 0x9d, 0xd5, 0x4e,
> 0xe3, 0xfc, 0xa2, 0xaa, 0xa2}}
> +gGnaConfigGuid = { 0x53e0ef18, 0xb8a8, 0x4795, { 0xa6, 0x6d, 0xe4, 0x77,
> 0x2c, 0xc3, 0xae, 0x82}}
> +gVtdConfigGuid = { 0x03e5cf63, 0xbebb, 0x4041, { 0xb7, 0xe7, 0xbf, 0x54,
> 0x61, 0x20, 0xf1, 0xc5}}
> +gGraphicsDxeConfigGuid = {0x34d93161, 0xf78e, 0x4915, {0xad, 0xc4, 0xdb,
> 0x67, 0x16, 0x42, 0x39, 0x24}}
> +gMiscDxeConfigGuid = {0x7ce5f5ef, 0x4ef1, 0x4f9f, {0x8e, 0x29, 0x5f, 0xf4,
> 0x5f, 0x2f, 0xd8, 0xaf}}
> +gPcieDxeConfigGuid = {0x1ed2d6f1, 0xa9d2, 0x476e, {0x8e, 0x74, 0xad,
> 0xd9, 0x5b, 0x5, 0x10, 0x82}}
> +gMemoryDxeConfigGuid = {0xa5c7dda8, 0x686b, 0x404f, {0x86, 0x40, 0xf8,
> 0x2, 0xd, 0x84, 0x4c, 0x94}}
> +gVbiosDxeConfigGuid = {0x8df0f30a, 0x8156, 0x4897, {0xa2, 0x18, 0x1f,
> 0xd3, 0x91, 0xbc, 0x46, 0x26}}
> +gSaOverclockingPreMemConfigGuid = { 0x09ecc29d, 0xdbbe, 0x49fb, { 0xa6,
> 0x49, 0x4b, 0xf6, 0x40, 0xe2, 0xeb, 0xd6}}
> +gFspReservedMemoryResourceHobTsegGuid = { 0xd038747c, 0xd00c,
> 0x4980, { 0xb3, 0x19, 0x49, 0x01, 0x99, 0xa4, 0x7d, 0x55}}
> +
> +## Include/Guid/AcpiS3Context.h
> +gEfiAcpiVariableGuid = {0xaf9ffd67, 0xec10, 0x488a, {0x9d, 0xfc, 0x6c, 0xbf,
> 0x5e, 0xe2, 0x2c, 0x2e}}
> +
> +## IntelFsp2Pkg/IntelFsp2Pkg.dec gSiMemoryS3DataGuid is the same as
> gFspNonVolatileStorageHobGuid
> +gSiMemoryS3DataGuid = { 0x721acf02, 0x4d77, 0x4c2a, { 0xb3, 0xdc, 0x27,
> 0x0b, 0x7b, 0xa9, 0xe4, 0xb0 } }
> +gSiMemoryInfoDataGuid = { 0x9b2071d4, 0xb054, 0x4e0c, { 0x8d, 0x09,
> 0x11, 0xcf, 0x8b, 0x9f, 0x03, 0x23 } }
> +gSiMemoryPlatformDataGuid = { 0x6210d62f, 0x418d, 0x4999, { 0xa2, 0x45,
> 0x22, 0x10, 0x0a, 0x5d, 0xea, 0x44 } }
> +
> +## Include/MrcRmtData.h
> +gEfiMemorySchemaGuid = { 0xCE3F6794, 0x4883, 0x492C, { 0x8D, 0xBA, 0x2F,
> 0xC0, 0x98, 0x44, 0x77, 0x10}}
> +gMrcSchemaListHobGuid = { 0x3047C2AC, 0x5E8E, 0x4C55, { 0xA1, 0xCB, 0xEA,
> 0xAD, 0x0A, 0x88, 0x86, 0x1B}}
> +
> +## Include/SsaCommonConfig.h
> +gSsaPostcodeHookGuid = {0xADF0A27B, 0x61A6, 0x4F18, {0x9E, 0xAC, 0x46,
> 0x87, 0xE7, 0x9E, 0x6F, 0xBB}}
> +gSsaBiosVariablesGuid = {0x43eeffe8, 0xa978, 0x41dc, {0x9d, 0xb6, 0x54, 0xc4,
> 0x27, 0xf2, 0x7e, 0x2a}}
> +gSsaBiosResultsGuid = {0x8f4e928, 0xf5f, 0x46d4, {0x84, 0x10, 0x47, 0x9f, 0xda,
> 0x27, 0x9d, 0xb6}}
> +gHobUsageDataGuid = {0xc764a821, 0xec41, 0x450d, { 0x9c, 0x99, 0x27, 0x20,
> 0xfc, 0x7c, 0xe1, 0xf6 }}
> +
> +##
> +## Cpu
> +##
> +gSmramCpuDataHeaderGuid = {0x5848fd2d, 0xd6af, 0x474b, {0x82, 0x75,
> 0x95, 0xdd, 0xe7, 0x0a, 0xe8, 0x23}}
> +gCpuAcpiTableStorageGuid = {0xc38fb0e2, 0x0c43, 0x49c9, {0xb5, 0x44,
> 0x9b, 0x17, 0xaa, 0x4d, 0xcb, 0xa3}}
> +gHtBistHobGuid = {0xbe644001, 0xe7d4, 0x48b1, {0xb0, 0x96, 0x8b, 0xa0,
> 0x47, 0xbc, 0x7a, 0xe7}}
> +gCpuInitDataHobGuid = {0x266e31cc, 0x13c5, 0x4807, {0xb9, 0xdc, 0x39,
> 0xa6, 0xba, 0x88, 0xff, 0x1a}}
> +gEpcBiosDataGuid = {0xc60aa7f6, 0xe8d6, 0x4956, {0x8b, 0xa1, 0xfe, 0x26,
> 0x29, 0x8f, 0x5e, 0x87}}
> +gCpuSecurityPreMemConfigGuid = {0xfd5c346, 0x8260, 0x4067, {0x94, 0x69,
> 0xcf, 0x91, 0x68, 0xa3, 0x42, 0x90}}
> +gCpuConfigLibPreMemConfigGuid = {0xfc1c0ec2, 0xc6b4, 0x4f05, {0xbb, 0x85,
> 0xc8, 0x0, 0x8d, 0x5b, 0x4a, 0xb7}}
> +gCpuSgxConfigGuid = {0xc30bc5ac, 0x828a, 0x45ae, {0x83, 0x1b, 0x8e, 0xb,
> 0x73, 0x9a, 0xb2, 0xf2}}
> +gCpuTestConfigGuid = {0xd4dba957, 0xd9c, 0x4af2, {0x9d, 0x40, 0x35, 0xa8,
> 0x44, 0xe4, 0x93, 0xad}}
> +gCpuConfigGuid = {0x48c3aac9, 0xd66c, 0x42e4, {0x9b, 0x1d, 0x39, 0x4, 0x5f,
> 0x46, 0x53, 0x41}}
> +gCpuOverclockingPreMemConfigGuid = {0x396223b6, 0x6088, 0x44e7, {0x99,
> 0xcb, 0xfa, 0x8b, 0x99, 0x3d, 0xed, 0x4c}}
> +gCpuPidTestConfigGuid = {0x2511095f, 0xd49e, 0x4537, {0xa6, 0x60, 0x88,
> 0x71, 0x31, 0xd1, 0x53, 0xda}}
> +gCpuPowerMgmtBasicConfigGuid = {0xa021e31d, 0x7c14, 0x47da, {0xb5, 0xec,
> 0xca, 0xbb, 0x4d, 0x76, 0xed, 0xc8}}
> +gCpuPowerMgmtCustomConfigGuid = {0x562fa1c8, 0x55ee, 0x4e2f, {0x91,
> 0xca, 0x8d, 0x84, 0x50, 0x3, 0x2f, 0xe}}
> +gCpuPowerMgmtTestConfigGuid = {0x5161ed3d, 0x90bf, 0x436f, {0xb8, 0x33,
> 0xd7, 0x17, 0x89, 0xb3, 0x48, 0xc1}}
> +
> +##
> +## Me
> +##
> +gMePeiPreMemConfigGuid = {0x67ed113b, 0xd4ab, 0x43f5, {0x9c, 0x3c,
> 0x35, 0x44, 0x15, 0xaa, 0x47, 0x5c}}
> +gMePeiConfigGuid = {0x9bad5628, 0x657b, 0x48e3, {0xb1, 0x11, 0xc3, 0xb9,
> 0xeb, 0xea, 0xee, 0x17}}
> +gMeEopDoneHobGuid = {0x247323af, 0xc8f1, 0x4b8c, {0x90, 0x87, 0xaa, 0x4b,
> 0xa7, 0xb7, 0x6d, 0x6a}}
> +gMePreMemPolicyHobGuid = {0xe6de74a5, 0x21b, 0x4f78, {0xa3, 0xcd, 0x34,
> 0xd6, 0x7e, 0xe4, 0x82, 0xbf}}
> +gMePolicyHobGuid = {0x0341cf17, 0xbc8f, 0x4a20, {0xac, 0x28, 0x6c, 0x3c,
> 0x32, 0x4c, 0xd4, 0x17}}
> +
> +##
> +## PCH
> +##
> +gEfiSmbusArpMapGuid = {0x707be83e, 0x0bf6, 0x40a5, {0xbe, 0x64, 0x34,
> 0xc0, 0x3a, 0xa0, 0xb8, 0xe2}}
> +gIrmtAcpiTableStorageGuid = {0x6684d675, 0xee06, 0x49b2, {0x87, 0x6f,
> 0x79, 0xc5, 0x8f, 0xdd, 0xa5, 0xb7}}
> +gPchGlobalResetGuid = { 0x9db31b4c, 0xf5ef, 0x48bb, { 0x94, 0x2b, 0x18,
> 0x1f, 0x7e, 0x3a, 0x3e, 0x40 }}
> +gI2c0MasterGuid = {0xa121a5db, 0xb0cb, 0x46ec, {0xa0, 0xcb, 0x27, 0xf8,
> 0xda, 0x72, 0xd4, 0x0e}}
> +gI2c1MasterGuid = {0x55e3d0f9, 0xc954, 0x422d, {0x9c, 0x4c, 0xcc, 0x46,
> 0x12, 0x7c, 0x5b, 0xa8}}
> +gI2c2MasterGuid = {0x9289aa40, 0xdf32, 0x474e, {0xb0, 0x3a, 0xc7, 0x7f,
> 0x76, 0xd3, 0x45, 0x21}}
> +gI2c3MasterGuid = {0xd8b2c17f, 0x4117, 0x4166, {0x90, 0x17, 0x01, 0x68,
> 0xb4, 0x81, 0xac, 0x18}}
> +gI2c4MasterGuid = {0x513d943d, 0x15d9, 0x4bd0, {0xb1, 0x41, 0x14, 0x50,
> 0x2b, 0xbf, 0xa9, 0xf2}}
> +gI2c5MasterGuid = {0x50df382a, 0xb6bf, 0x4435, {0xae, 0xe6, 0x21, 0xf4,
> 0x85, 0x7c, 0xa8, 0xb4}}
> +gChipsetInitHobGuid = {0x8c7ee32c, 0x0870, 0x4bfa, {0x84, 0x79, 0x5b, 0xa5,
> 0x67, 0xc4, 0xae, 0x5b}}
> +
> +gPchGeneralPreMemConfigGuid = {0xC65F62FA, 0x52B9, 0x4837, {0x86,
> 0xEB, 0x1A, 0xFB, 0xD4, 0xAD, 0xBB, 0x3E}}
> +gDciPreMemConfigGuid = {0xAB4AF366, 0x2250, 0x40C3, {0x92, 0xDB, 0x36,
> 0x61, 0xC6, 0x71, 0x3C, 0x5A}}
> +gWatchDogPreMemConfigGuid = {0xFBCE08CC, 0x60F2, 0x4BDF, {0xB7,
> 0x88, 0x09, 0xBB, 0x81, 0x65, 0x52, 0x2B}}
> +gTraceHubPreMemConfigGuid = {0xC26AC3F6, 0xDAD0, 0x4E91, {0xB6,
> 0xD6, 0xD8, 0x51, 0x6F, 0x8F, 0x9B, 0x7B}}
> +gPchTraceHubPreMemConfigGuid = {0x8456c11, 0xdb85, 0x4914, {0x8d,
> 0x1a, 0xe5, 0xac, 0x64, 0x37, 0xe8, 0x96}}
> +gPcieRpPreMemConfigGuid = {0x8377AB38, 0xF8B0, 0x476A, { 0x9C, 0xA1,
> 0x68, 0xEA, 0x78, 0x57, 0xD8, 0x2A}}
> +gHpetPreMemConfigGuid = {0x7C75C0F1, 0xA20F, 0x42EB, {0x83, 0xDE,
> 0xE8, 0x58, 0xAB, 0x81, 0xC5, 0xDC}}
> +gSmbusPreMemConfigGuid = {0x77A6E62C, 0x716B, 0x4386, {0x9E, 0x9C,
> 0x23, 0xA0, 0x2E, 0x13, 0x7B, 0x3A}}
> +gLpcPreMemConfigGuid = {0xA6E6032F, 0x1E58, 0x407E, {0x9A, 0xB8, 0xC6,
> 0x30, 0xC6, 0xC4, 0x11, 0x8E}}
> +gHsioPciePreMemConfigGuid = {0xE8FB0C12, 0x0DA1, 0x4A20, {0xB3, 0x36,
> 0xFB, 0x75, 0x93, 0x8C, 0xE0, 0x14}}
> +gHsioSataPreMemConfigGuid = {0x732260D0, 0xA5C1, 0x4119, {0xAA, 0x0C,
> 0x93, 0xDC, 0xAC, 0x67, 0x0A, 0x31}}
> +gHsioPreMemConfigGuid = {0xbc9e5787, 0x3ddb, 0x4916, {0x8c, 0xcc, 0x82,
> 0xb8, 0x9, 0x43, 0xe2, 0xf0}} #deprecated
> +
> +gPchGeneralConfigGuid = {0x6ED94C8C, 0x25F7, 0x4686, {0xB2, 0x46, 0xCA,
> 0x4D, 0xE2, 0x95, 0x4B, 0x5D}}
> +gPcieRpConfigGuid = {0x0A53B507, 0x988B, 0x475C, {0xBF, 0x76, 0x33, 0xDE,
> 0x10, 0x6D, 0x94, 0x84}}
> +gSataConfigGuid = {0xF5F87B4F, 0xCC3C, 0x408D, {0x89, 0xE3, 0x61, 0xC5,
> 0x9C, 0x54, 0x07, 0xC4}}
> +gIoApicConfigGuid = {0x2873D0F1, 0x00F6, 0x40AB, {0xAC, 0x36, 0x9A, 0x68,
> 0xBA, 0x87, 0x3E, 0x6C}}
> +gCio2ConfigGuid = {0xFBC4C192, 0x789D, 0x4038, {0x90, 0xE1, 0x5E, 0x6D,
> 0xFD, 0x52, 0xAF, 0x8A}}
> +gDmiConfigGuid = {0xB3A61210, 0x1CD3, 0x4797, {0x8E, 0xE6, 0xD3, 0x42,
> 0x9C, 0x4F, 0x17, 0xBD}}
> +gFlashProtectionConfigGuid = {0xD0F71512, 0x9E32, 0x4CC9, {0xA5, 0xA3,
> 0xAD, 0x67, 0x9A, 0x06, 0x67, 0xB8}}
> +gHdAudioPreMemConfigGuid = {0xD38F1E2B, 0x21B3, 0x43D1, {0x9F, 0xA8,
> 0xA5, 0xE1, 0x78, 0x73, 0x1E, 0x88}}
> +gHdAudioConfigGuid = {0x7EB3CE7E, 0x82E0, 0x4CD7, {0xBD, 0xE5, 0xB2,
> 0xBF, 0x4E, 0x91, 0xC3, 0x4C}}
> +gHdAudioDxeConfigGuid = {0x22EFC2DE, 0x66EB, 0x412D, {0x97, 0x17, 0xE7,
> 0x7A, 0xA1, 0x4E, 0x87, 0x76}}
> +gInterruptConfigGuid = {0x09A2B815, 0xBE29, 0x45EF, {0xBF, 0xBF, 0x58,
> 0xEA, 0xAC, 0x5E, 0x29, 0x78}}
> +gIshPreMemConfigGuid = {0x7C24E649, 0xC1F0, 0x4CF9, {0x87, 0x96, 0xE7,
> 0xA0, 0xEE, 0x34, 0x43, 0xF8}}
> +gIshConfigGuid = {0x433AE2AA, 0xC5A6, 0x46ED, {0x94, 0x19, 0x1E, 0x5D,
> 0xB8, 0x1C, 0x57, 0x40}}
> +gLanConfigGuid = {0x4B2DE99E, 0x7517, 0x4D04, {0x8C, 0x02, 0xF1, 0x1A,
> 0x59, 0x2B, 0x14, 0x2F}}
> +gLockDownConfigGuid = {0x8A838E0A, 0xA639, 0x46F0, {0xA9, 0xCE, 0x70,
> 0xC4, 0x85, 0xFB, 0xA8, 0x0D}}
> +gP2sbConfigGuid = {0x2474DCB8, 0x4BB4, 0x49DA, {0x87, 0x83, 0x7C, 0xD3,
> 0xD3, 0x85, 0xFF, 0x07}}
> +gPmConfigGuid = {0x93826157, 0xDC85, 0x4E34, {0xAE, 0xD9, 0x6E, 0xA1,
> 0x0D, 0xF9, 0xE3, 0xA7}}
> +gPort61ConfigGuid = {0x59913475, 0x1960, 0x4099, {0x80, 0xEC, 0xAF, 0xC7,
> 0xCF, 0x5F, 0x9F, 0xAC}}
> +gScsConfigGuid = {0xF4DE6D52, 0xB5C9, 0x48C0, {0xA0, 0x4A, 0x68, 0x54,
> 0x20, 0x94, 0x05, 0xD0}}
> +gSerialIoConfigGuid = {0x6CC06EBF, 0x0D34, 0x4340, {0xBC, 0x16, 0xDA,
> 0x09, 0xE5, 0x78, 0x3A, 0xDB}}
> +gSerialIrqConfigGuid = {0x251701E7, 0xE266, 0x4623, {0x99, 0x68, 0x73,
> 0x8C, 0xD2, 0x23, 0x10, 0x96}}
> +gSpiConfigGuid = {0x150360EF, 0x99BE, 0x4E43, {0x94, 0xBB, 0xBD, 0x40,
> 0x26, 0xCA, 0x34, 0x57}}
> +gEspiConfigGuid = {0x60FBF3B8, 0x96D4, 0x4187, {0x84, 0x9E, 0xAA, 0xF7,
> 0x5C, 0x4B, 0xE1, 0xE3}}
> +gThermalConfigGuid = {0x4416506D, 0x1197, 0x4722, {0xA5, 0xB4, 0x46,
> 0x11, 0xF9, 0x23, 0x9E, 0xAE}}
> +gUsbConfigGuid = {0xB2DA9CCD, 0x6A8C, 0x4BB6, {0xB3, 0xE6, 0xCD, 0xFB,
> 0xB7, 0x66, 0x8B, 0xDE}}
> +gPchPcieStorageDetectHobGuid = {0xC682F3F4, 0x2F46, 0x495E, {0x98, 0xAA,
> 0x43, 0x14, 0x4B, 0xA5, 0xA4, 0x85}}
> +gCnviConfigGuid = {0xE53EBEF7, 0x103D, 0x4A70, {0x9B, 0x6A, 0x73, 0xEE,
> 0x5F, 0x4C, 0x8D, 0xF5}}
> +gHsioConfigGuid = {0xE53EBEE7, 0x103D, 0x4A71, {0x9B, 0x6A, 0x74, 0xEE,
> 0x5F, 0x4C, 0x8D, 0xF5}}
> +gPchRstHobGuid = {0x4ECA680C, 0x660D, 0x48F8, {0xAA, 0xD8, 0x94, 0xD6,
> 0x56, 0x10, 0xF9, 0x86}}
> +gPchInfoHobGuid = {0x99FD5E18, 0xE262, 0x4E6A, {0x82, 0x66, 0x77, 0xD0,
> 0x36, 0x5F, 0xD6, 0x3E}}
> +gGpioDxeConfigGuid = {0x06985984, 0xAFA3, 0x429C, {0x80, 0xCD, 0x69,
> 0x43, 0xF3, 0x38, 0x31, 0x4D}}
> +
> +##
> +## SecurityPkg
> +##
> +## GUID used to "Tcg2PhysicalPresence" variable and
> "Tcg2PhysicalPresenceFlags" variable for TPM2 request and response.
> +# Include/Guid/Tcg2PhysicalPresenceData.h
> +gEfiTcg2PhysicalPresenceGuid = { 0xaeb9c5c1, 0x94f1, 0x4d02, { 0xbf,
> 0xd9, 0x46, 0x2, 0xdb, 0x2d, 0x3c, 0x54 }}
> +gTpmDeviceInstanceTpm20PttGuid = {0x72cd3a7b, 0xfea5, 0x4f5e,
> {0x91, 0x65, 0x4d, 0xd1, 0x21, 0x87, 0xbb, 0x13}}
> +gTpmDeviceInstanceTpm20PttPtpGuid = {0x93d66f66, 0x55da, 0x4f03,
> {0x9b, 0x5f, 0x32, 0xcf, 0x9e, 0x54, 0x3b, 0x3a}}
> +gEfiTrEEPhysicalPresenceGuid = {0xf24643c2, 0xc622, 0x494e, {0x8a,
> 0x0d, 0x46, 0x32, 0x57, 0x9c, 0x2d, 0x5b}}
> +gTcoWdtHobGuid = { 0x3e405418, 0x0d8c, 0x4f1a, { 0xb0,
> 0x55, 0xbe, 0xf9, 0x08, 0x41, 0x46, 0x8d }}
> +
> +##
> +## Pre-Memory Performance
> +##
> +gPerfPchPrePolicyGuid = {0x3112356F, 0xCC77, 0x4E82, {0x86, 0xD5, 0x3E,
> 0x25, 0xEE, 0x81, 0x92, 0xA4}}
> +gPerfSiValidateGuid = {0x681F96E6, 0xF9CF, 0x464D, {0x97, 0x9A, 0xB1,
> 0x11, 0x33, 0xDE, 0x37, 0xA9}}
> +gPerfPchValidateGuid = {0xD0FF37D6, 0xA569, 0x4058, {0xB3, 0xDA, 0x29,
> 0x0B, 0x38, 0xC5, 0x32, 0x25}}
> +gPerfAmtValidateGuid = {0x9E949422, 0x4A7A, 0x4E41, {0xB0, 0xAB, 0x3C,
> 0x0D, 0x88, 0x0A, 0x00, 0xFF}}
> +gPerfCpuValidateGuid = {0xB760CFCC, 0xDEEF, 0x4C7E, {0x99, 0x5B, 0xED,
> 0xFE, 0xF2, 0x23, 0xB2, 0x09}}
> +gPerfMeValidateGuid = {0x8CF7A498, 0x588D, 0x4D39, {0xBD, 0xAC, 0x51,
> 0x0C, 0x31, 0xAF, 0x45, 0xD0}}
> +gPerfSaValidateGuid = {0xA73B382B, 0x62D4, 0x4A19, {0xBB, 0xF9, 0x09,
> 0x3E, 0xC5, 0xA5, 0x93, 0x11}}
> +gPerfHeciPreMemGuid = {0xD815D922, 0x4994, 0x40B3, {0x97, 0xCC,
> 0x07, 0xF3, 0x7D, 0x42, 0xE7, 0x97}}
> +gPerfPchPreMemGuid = {0xBB73E2B1, 0xB9FD, 0x4A80, {0xB8, 0x1A,
> 0x52, 0x39, 0xE9, 0x4D, 0x06, 0x2E}}
> +gPerfCpuPreMemGuid = {0xAC5FCBC6, 0x084D, 0x445D, {0xB3, 0xF3,
> 0xCA, 0x16, 0xDE, 0xE9, 0xBB, 0x47}}
> +gPerfMePreMemGuid = {0x6051338E, 0x0FFA, 0x40F7, {0xAF, 0xEF, 0xAB,
> 0x86, 0x7A, 0x38, 0xCC, 0xF3}}
> +gPerfAmtPreMemGuid = {0xDB732D50, 0x9BB8, 0x489A, {0xA1, 0xD1,
> 0xDD, 0xD2, 0x16, 0x1D, 0x72, 0xB8}}
> +gPerfAmtPostMemGuid = {0x0329D610, 0x4269, 0xD28F, {0x61, 0xBF,
> 0xB9, 0xA2, 0xD9, 0xFA, 0x96, 0x93}}
> +gPerfSaPreMemGuid = {0x76F18BDA, 0x2195, 0x4FB6, {0x9A, 0x94, 0x0E,
> 0x0B, 0xAC, 0xDE, 0xEC, 0xAB}}
> +gPerfEvlGuid = {0x8221518B, 0xAC19, 0x4E32, {0xAB, 0x5F, 0x00,
> 0x47, 0x0A, 0x50, 0x69, 0x40}}
> +gPerfMemGuid = {0x2B57B316, 0x5CF7, 0x4847, {0xB0, 0x76, 0x6B,
> 0x5D, 0x23, 0xC3, 0xAA, 0x3E}}
> +
> +##
> +## Post-Memory Performance
> +##
> +gPerfPchPostMemGuid = {0x70B67A99, 0x5556, 0x4315, {0xB3, 0x05,
> 0xD5, 0xDC, 0x4A, 0x35, 0x63, 0x70}}
> +gPerfSaPostMemGuid = {0x9FF0CE92, 0x883F, 0x43DC, {0x8A, 0x07, 0xE0,
> 0xCB, 0x6D, 0x56, 0x7D, 0xE0}}
> +gPerfS3CpuInitPostMemGuid = {0x976262C2, 0xD202, 0x4D12, {0x82, 0xAD,
> 0xF4, 0xA9, 0x8F, 0x9B, 0x96, 0x01}}
> +gPerfSaSecLockPostMemGuid = {0x272AC110, 0x0B60, 0x4D07, {0xA5, 0x58,
> 0x6D, 0x73, 0xE2, 0x43, 0x85, 0x95}}
> +gPerfCpuStrapPostMemGuid = {0x8EF4372B, 0x68F0, 0x4957, {0xBC, 0x4D,
> 0x7E, 0x5C, 0xFE, 0xDA, 0xB6, 0x3E}}
> +gPerfMpPostMemGuid = {0xA59BAC5B, 0xC6A4, 0x4AEB, {0x84, 0x32,
> 0x7A, 0x8B, 0x6B, 0x68, 0x5F, 0x37}}
> +gPerfCpuPostMemGuid = {0xE2FE5ED3, 0x1417, 0x451A, {0x95, 0xC9,
> 0xD0, 0xB2, 0xB9, 0x7B, 0xE0, 0x54}}
> +gPerfSaResetPostMemGuid = {0xBE152BEE, 0xFD19, 0x4274, {0xA8, 0xBA,
> 0xFB, 0x31, 0x42, 0xB5, 0xB5, 0xC3}}
> +gPerfCpuPowerMgmtGuid = {0x9ED307D6, 0x4AEB, 0x44A9, {0x9B, 0x11,
> 0xD8, 0x21, 0x84, 0x9A, 0xCB, 0xF7}}
> +gPerfMePostMemGuid = {0x2CC8626D, 0x3387, 0x4817, {0xAB, 0xF6,
> 0x86, 0x9A, 0xF5, 0xF0, 0x51, 0xAA}}
> +gPerfHdaPostMemGuid = {0xB31883B7, 0x5A05, 0x4040, {0x40, 0x80,
> 0x66, 0x8D, 0x29, 0x13, 0xD7, 0x84}}
> +
> +[Protocols.common.Private]
> + #
> + # SA
> + #
> + gSaIotrapSmiProtocolGuid = { 0x1861e089, 0xcaa3, 0x473e, { 0x84,
> 0x32, 0xdc, 0x1f, 0x94, 0xc6, 0xc1, 0xa6 }}
> +
> + #
> + # CPU
> + #
> + gPchPcieIoTrapProtocolGuid = { 0xd66a1cf, 0x79ad, 0x494b, { 0x97,
> 0x8b, 0xb2, 0x59, 0x81, 0x68, 0x93, 0x34 }}
> +
> +[Protocols]
> +##
> +## IntelFrameworkPkg
> +##
> +gEfiLegacyBiosProtocolGuid = {0xdb9a1e3d, 0x45cb, 0x4abb, {0x85, 0x3b,
> 0xe5, 0x38, 0x7f, 0xdb, 0x2e, 0x2d}}
> +gEfiLegacyInterruptProtocolGuid = {0x31ce593d, 0x108a, 0x485d, {0xad,
> 0xb2, 0x78, 0xf2, 0x1f, 0x29, 0x66, 0xbe}}
> +gEfiDataHubProtocolGuid = {0xae80d021, 0x618e, 0x11d4, {0xbc, 0xd7,
> 0x00, 0x80, 0xc7, 0x3c, 0x88, 0x81}}
> +
> +##
> +## MdeModulePkg
> +##
> +gEfiSmmVariableProtocolGuid = {0xed32d533, 0x99e6, 0x4209, {0x9c, 0xc0,
> 0x2d, 0x72, 0xcd, 0xd9, 0x98, 0xa7}}
> +
> +##
> +## SystemAgent
> +##
> +gBdatAccessGuid = {0x9477482c, 0x8717, 0x4725, {0x98, 0x28,
> 0x7b, 0xd8, 0xc9, 0xa3, 0x75, 0x6a}}
> +gIgdOpRegionProtocolGuid = {0x9e67aecf, 0x4fbb, 0x4c84, {0x99, 0xa5,
> 0x10, 0x73, 0x40, 0x7, 0x6d, 0xb4}}
> +gMemInfoProtocolGuid = {0xd4d2f201, 0x50e8, 0x4d45, {0x8e, 0x5,
> 0xfd, 0x49, 0xa8, 0x2a, 0x15, 0x69}}
> +gSaPolicyProtocolGuid = {0xc6aa1f27, 0x5597, 0x4802, {0x9f, 0x63,
> 0xd6, 0x28, 0x36, 0x59, 0x86, 0x35}}
> +gSaNvsAreaProtocolGuid = {0x149a10a5, 0x9d06, 0x4c6b, {0xbe, 0x44,
> 0x08, 0x92, 0xce, 0x20, 0x61, 0xac}}
> +gGopPolicyProtocolGuid = {0xec2e931b, 0x3281, 0x48a5, {0x81, 0x07,
> 0xdf, 0x8a, 0x8b, 0xed, 0x3c, 0x5d}}
> +gGopComponentName2ProtocolGuid = {0x651b7ebd, 0xce13, 0x41d0,
> {0x82, 0xe5, 0xa0, 0x63, 0xab, 0xbe, 0x9b, 0xb6}}
> +gGopOverrideProtocolGuid = {0x4a89a16e, 0x67b8, 0x4429, {0x8c,
> 0x47, 0x43, 0x67, 0x90, 0xf2, 0xf2, 0x69}}
> +
> +##
> +## AcpiTables
> +##
> +gEfiGlobalNvsAreaProtocolGuid = {0x074e1e48, 0x8132, 0x47a1, {0x8c,
> 0x2c, 0x3f, 0x14, 0xad, 0x9a, 0x66, 0xdc}}
> +
> +##
> +## Cpu
> +##
> +gCpuInfoProtocolGuid = {0xe223cf65, 0xf6ce, 0x4122, {0xb3, 0xaf, 0x4b,
> 0xd1, 0x8a, 0xff, 0x40, 0xa1}}
> +gCpuNvsAreaProtocolGuid = {0xb9cf3f43, 0xbe3e, 0x4e45, {0xa0, 0xbe,
> 0x1a, 0x4, 0x89, 0xdf, 0x1a, 0xc9}}
> +gDxeCpuPolicyProtocolGuid = {0x8282b977, 0x22f9, 0x4134, {0x99, 0x43,
> 0x7b, 0xcc, 0x5f, 0x40, 0x33, 0x52}}
> +
> +##
> +## Me
> +##
> +gDxeMePolicyGuid = {0xa0b5dc52, 0x4f34, 0x3990, {0xd4, 0x91,
> 0x10, 0x8b, 0xe8, 0xba, 0x75, 0x42}}
> +
> +##
> +## PCH
> +##
> +gPchSpiProtocolGuid = {0xc7d289, 0x1347, 0x4de0, {0xbf, 0x42, 0xe, 0x26,
> 0x9d, 0xe, 0xf3, 0x4a}}
> +gWdtProtocolGuid = {0xb42b8d12, 0x2acb, 0x499a, {0xa9, 0x20, 0xdd, 0x5b,
> 0xe6, 0xcf, 0x09, 0xb1}}
> +gPchSerialIoUartDebugInfoProtocolGuid = {0x2fd2b1bd, 0x0387, 0x4ec6,
> {0x94, 0x1f, 0xf1, 0x4b, 0x7f, 0x1c, 0x94, 0xb6}}
> +gEfiSmmSmbusProtocolGuid = {0x72e40094, 0x2ee1, 0x497a, {0x8f, 0x33,
> 0x4c, 0x93, 0x4a, 0x9e, 0x9c, 0x0c}}
> +gPchSmmSpiProtocolGuid = {0x56521f06, 0xa62, 0x4822, {0x99, 0x63, 0xdf,
> 0x1, 0x9d, 0x72, 0xc7, 0xe1}}
> +gPchSmmIoTrapControlGuid = {0x514d2afd, 0x2096, 0x4283, {0x9d, 0xa6,
> 0x70, 0x0c, 0xd2, 0x7d, 0xc7, 0xa5}}
> +gPchTcoSmiDispatchProtocolGuid = {0x9e71d609, 0x6d24, 0x47fd, {0xb5,
> 0x72, 0x61, 0x40, 0xf8, 0xd9, 0xc2, 0xa4}}
> +gPchPcieSmiDispatchProtocolGuid = {0x3e7d2b56, 0x3f47, 0x42aa, {0x8f,
> 0x6b, 0x22, 0xf5, 0x19, 0x81, 0x8d, 0xab}}
> +gPchAcpiSmiDispatchProtocolGuid = {0xd52bb262, 0xf022, 0x49ec, {0x86,
> 0xd2, 0x7a, 0x29, 0x3a, 0x7a, 0x05, 0x4b}}
> +gPchSmiDispatchProtocolGuid = {0xE6A81BBF, 0x873D, 0x47FD, {0xB6, 0xBE,
> 0x61, 0xB3, 0xE5, 0x72, 0x09, 0x93}}
> +gPchResetCallbackProtocolGuid = {0x3a3300ab, 0xc929, 0x487d, {0xab,
> 0x34, 0x15, 0x9b, 0xc1, 0x35, 0x62, 0xc0}}
> +gPchNvsAreaProtocolGuid = {0x2e058b2b, 0xedc1, 0x4431, {0x87, 0xd9,
> 0xc6, 0xc4, 0xea, 0x10, 0x2b, 0xe3}}
> +gPchEmmcTuningProtocolGuid = {0x10fe7e3b, 0xdbe5, 0x4cfa, {0x90, 0x25,
> 0x40, 0x02, 0xcf, 0xdd, 0xbb, 0x89}}
> +gPchEspiSmiDispatchProtocolGuid = {0xB3C14FF3, 0xBAE8, 0x456C, {0x86,
> 0x31, 0x27, 0xFE, 0x0C, 0xEB, 0x34, 0x0C}}
> +gPchSmmPeriodicTimerControlGuid = {0x6906E93B, 0x603B, 0x4A0F, {0x86,
> 0x92, 0x83, 0x20, 0x04, 0xAA, 0xF2, 0xDB}}
> +gIoTrapExDispatchProtocolGuid = {0x5B48E913, 0x707B, 0x4F9D, {0xAF,
> 0x2E, 0xEE, 0x03, 0x5B, 0xCE, 0x39, 0x5D}}
> +gPchPolicyProtocolGuid = {0x543d5c93, 0x6a28, 0x4513, {0x85, 0x9a, 0x82,
> 0xa7, 0xb9, 0x12, 0xcb, 0xbe}}
> +gPchSraProtocolGuid = {0x7AE12E27, 0x5087, 0x46C8, {0xBF, 0xF0, 0x83, 0x9C,
> 0x53, 0x7B, 0x25, 0xEB}}
> +
> +##
> +## Hsti
> +##
> +## HstiSiliconDxe Driver Entry Point
> +gHstiProtocolGuid = { 0x1b05de41, 0xc93b, 0x4bb4, { 0xad, 0x47, 0x2a, 0x78,
> 0xac, 0xf, 0xc9, 0xe4 }}
> +## Handler to gather and publish HSTI results on ReadyToBootEvent
> +gHstiPublishCompleteProtocolGuid = {0x0f500be6, 0xece4, 0x4ed8, { 0x90,
> 0x81, 0x9a, 0xa9, 0xa5, 0x23, 0xfb, 0x7b}}
> +gEfiAdapterInformationProtocolGuid = { 0xE5DD1403, 0xD622, 0xC24E, {0x84,
> 0x88, 0xC7, 0x1B, 0x17, 0xF5, 0xE8, 0x02 }}
> +
> +##
> +## Silicon Policy
> +##
> +## Include/Protocol/SiPolicyProtocol.h
> +gDxeSiPolicyProtocolGuid = { 0xeca27516, 0x306c, 0x4e28, { 0x8c, 0x94, 0x4e,
> 0x52, 0x10, 0x96, 0x69, 0x5e }}
> +
> +[Ppis.common.Private]
> +
> +[Ppis]
> +##
> +## MdeModulePkg
> +##
> +gPeiCapsulePpiGuid = {0x3acf33ee, 0xd892, 0x40f4, {0xa2, 0xfc, 0x38, 0x54,
> 0xd2, 0xe1, 0x32, 0x3d}}
> +gPeiSmmAccessPpiGuid = {0x268f33a9, 0xcccd, 0x48be, {0x88, 0x17, 0x86,
> 0x05, 0x3a, 0xc3, 0x2e, 0xd6}}
> +gPeiSmmControlPpiGuid = {0x61c68702, 0x4d7e, 0x4f43, {0x8d, 0xef, 0xa7,
> 0x43, 0x05, 0xce, 0x74, 0xc5}}
> +
> +##
> +## SecurityPkg
> +##
> +gPeiTpmInitializationDonePpiGuid = {0xa030d115, 0x54dd, 0x447b, { 0x90,
> 0x64, 0xf2, 0x6, 0x88, 0x3d, 0x7c, 0xcc}}
> +
> +##
> +## Common
> +##
> +## Include/Ppi/SiPolicy.h
> +gSiPolicyPpiGuid = {0xaebffa01, 0x7edc, 0x49ff, {0x8d, 0x88, 0xcb, 0x84,
> 0x8c, 0x5e, 0x86, 0x70}}
> +
> +## Include/Ppi/SiPolicy.h
> +gSiPreMemPolicyPpiGuid = {0xc133fe57, 0x17c7, 0x4b09, {0x8b, 0x3c, 0x97,
> 0xc1, 0x89, 0xd0, 0xab, 0x8d}}
> +
> +##
> +## SystemAgent
> +##
> +gSsaBiosCallBacksPpiGuid = {0x99b56126, 0xe16c, 0x4d9b, {0xbb, 0x71,
> 0xaa, 0x35, 0x46, 0x1a, 0x70, 0x2f}}
> +gSsaBiosServicesPpiGuid = {0x55750d10, 0x6d3d, 0x4bf5, {0x89, 0xd8, 0xe3,
> 0x5e, 0xf0, 0xb0, 0x90, 0xf4}}
> +gEnablePeiGraphicsPpiGuid = {0x8e3bb474, 0x545, 0x4902, {0x86, 0xb0,
> 0x6c, 0xb5, 0xe2, 0x64, 0xb4, 0xa5}}
> +
> +##
> +## Cpu
> +##
> +gPeiCachePpiGuid = {0x09be4bc2, 0x790e, 0x4dea, {0x8b, 0xdc, 0x38, 0x05,
> 0x16, 0x98, 0x39, 0x44}}
> +
> +##
> +## Me
> +##
> +gMeDidSentPpiGuid = {0x45dc3106, 0xef67, 0x4c71, {0xb0, 0xf0, 0x97, 0x15,
> 0x9c, 0x7d, 0xbb, 0x7c}}
> +
> +##
> +## PCH
> +##
> +gWdtPpiGuid = {0xf38d1338, 0xaf7a, 0x4fb6, {0x91, 0xdb, 0x1a, 0x9c, 0x21,
> 0x83, 0x57, 0x0d}}
> +gPchSpiPpiGuid = {0xdade7ce3, 0x6971, 0x4b75, {0x82, 0x5e, 0xe, 0xe0,
> 0xeb, 0x17, 0x72, 0x2d}}
> +gPeiSmbusPolicyPpiGuid = {0x63b6e435, 0x32bc, 0x49c6, {0x81, 0xbd, 0xb7,
> 0xa1, 0xa0, 0xfe, 0x1a, 0x6c}}
> +gPchResetCallbackPpiGuid = {0x17865dc0, 0x0b8b, 0x4da8, {0x8b, 0x42,
> 0x7c, 0x46, 0xb8, 0x5c, 0xca, 0x4d}}
> +
> +[LibraryClasses]
> +##
> +## Common
> +##
> +AslUpdateLib|Include/Library/AslUpdateLib.h
> +SiPolicyLib|Include/Library/SiPolicyLib.h
> +UsbLib|Include/Library/UsbLib.h
> +UsbInitLib|Include/Private/Library/UsbInitLib.h
> +
> +##
> +## CPU
> +##
> +CpuMailboxLib|Cpu/Include/Library/CpuMailboxLib.h
> +CpuPlatformLib|Cpu/Include/Library/CpuPlatformLib.h
> +CpuPolicyLib|Cpu/Include/Library/CpuPolicyLib.h
> +
> +##
> +## Me
> +##
> +PeiMePolicyLib|Me/Include/Library/PeiMePolicyLib.h
> +
> +##
> +## Pch
> +##
> +GpioLib|Pch/Include/Library/GpioLib.h
> +GpioLib|Pch/Include/Library/GpioNativeLib.h
> +PchCycleDecodingLib|Pch/Include/Library/PchCycleDecodingLib.h
> +PchEspiLib|Pch/Include/Library/PchEspiLib.h
> +PchGbeLib|Pch/Include/Library/PchGbeLib.h
> +GbeMdiLib|Pch/Include/Library/GbeMdiLib.h
> +PchInfoLib|Pch/Include/Library/PchInfoLib.h
> +PchP2sbLib|Pch/Include/Library/PchP2sbLib.h
> +PchPcieRpLib|Pch/Include/Library/PchPcieRpLib.h
> +PchPcrLib|Pch/Include/Library/PchPcrLib.h
> +PchPmcLib|Pch/Include/Library/PchPmcLib.h
> +PchPolicyLib|Pch/Include/Library/PchPolicyLib.h
> +PchSbiAccessLib|Pch/Include/Library/PchSbiAccessLib.h
> +PchSerialIoLib|Pch/Include/Library/PchSerialIoLib.h
> +PchSerialIoUartLib|Pch/Include/Library/PchSerialIoUartLib.h
> +SecPchLib|Pch/Include/Library/SecPchLib.h
> +PchTraceHubLib|Pch/Include/Private/Library/PchTraceHubLib.h
> +PchSmmControlLib|Pch/IncludePrivate/Library/PchSmmControlLib.h
> +PchWdtCommonLib|Pch/Include/Library/PchWdtCommonLib.h
> +OcWdtLib|Pch/Include/Library/OcWdtLib.h
> +PchResetLib|Pch/Include/Library/PchResetLib.h
> +DxePchPolicyLib|Pch/Include/Library/DxePchPolicyLib.h
> +GpioNameBufferLib|Pch/IncludePrivate/Library/GpioNameBufferLib.h
> +
> +##
> +## Sa
> +##
> +DxeSaPolicyLib|SystemAgent/Include/Library/DxeSaPolicyLib.h
> +PeiSaPolicyLib|SystemAgent/Include/Library/PeiSaPolicyLib.h
> +SaPlatformLib|SystemAgent/Include/Library/SaPlatformLib.h
> +
> +##
> +## Memory
> +##
> +
> +[PcdsFixedAtBuild]
> +## From MdeModulePkg.dec
> +## Progress Code for S3 Suspend end.
> +## PROGRESS_CODE_S3_SUSPEND_END = (EFI_SOFTWARE_SMM_DRIVER |
> (EFI_OEM_SPECIFIC | 0x00000001)) = 0x03078001
> +gSiPkgTokenSpaceGuid.PcdProgressCodeS3SuspendEnd|0x03078001|UINT3
> 2|0x30001033
> +
> +##
> +## PcdNemCodeCacheBase is usally the same as PEI FV Base address,
> +## FLASH_BASE+FLASH_REGION_FV_RECOVERY_OFFSET from
> PlatformPkg.fdf.
> +##
> +## Restriction:
> +## 1) PcdNemCodeCacheBase - (PcdTemporaryRamBase +
> PcdTemporaryRamSize) >= 4K
> +## 2) PcdTemporaryRamBase >= 4G - 64M
> +##
> +gSiPkgTokenSpaceGuid.PcdNemCodeCacheBase|0xFFF80000|UINT32|0x200
> 00009
> +
> +##
> +## NemCodeCacheSize is usally the same as PEI FV Size,
> +## FLASH_REGION_FV_RECOVERY_SIZE from PlatformPkg.fdf.
> +##
> +## Restriction:
> +## 1) PcdNemTotalCacheSize = NemCodeCacheSize + PcdTemporaryRamSize
> +## <= Maximun CPU NEM total size (Code + Data)
> +## = LLC size - 0.5M
> +## 2) PcdTemporaryRamSize <= Maximum CPU NEM data size
> +## = MLC size
> +## NOTE: The size restriction may be changed in next generation processor.
> +## Please refer to Processor BWG for detail.
> +##
> +gSiPkgTokenSpaceGuid.PcdBiosAreaBaseAddress|0xFF800000|UINT32|0x10
> 000001
> +gSiPkgTokenSpaceGuid.PcdBiosSize|0x00800000|UINT32|0x10000002
> +gSiPkgTokenSpaceGuid.PcdTemporaryRamBase|0xfef00000|UINT32|0x0001
> 0028
> +gSiPkgTokenSpaceGuid.PcdTemporaryRamSize|0x2000|UINT32|0x00010029
> +gSiPkgTokenSpaceGuid.PcdFlashMicrocodeFvBase|0xFFE60000|UINT32|0x3
> 0000004
> +gSiPkgTokenSpaceGuid.PcdFlashMicrocodeFvSize|0x000A0000|UINT32|0x30
> 000005
> +gSiPkgTokenSpaceGuid.PcdFlashMicrocodeFvOffset|0x00660000|UINT32|0x
> 30000006
> +
> +##
> +## PcdEfiGcdAllocateType is using for EFI_GCD_ALLOCATE_TYPE selection
> +## value of the struct
> +## 0x00 EfiGcdAllocateAnySearchBottomUp
> +## 0x01 EfiGcdAllocateMaxAddressSearchBottomUp
> +## 0x03 EfiGcdAllocateAnySearchTopDown
> +## 0x04 EfiGcdAllocateMaxAddressSearchTopDown
> +##
> +## below value should not using in this situation
> +## 0x05 EfiGcdMaxAllocateType : design for max value of struct
> +## 0x02 EfiGcdAllocateAddress : design for speccification address allocate
> +##
> +gSiPkgTokenSpaceGuid.PcdEfiGcdAllocateType|0x01|UINT8|0x40000000
> +
> +gSiPkgTokenSpaceGuid.PcdSmmbaseSwSmi|0x55|UINT8|0x0010005
> +gSiPkgTokenSpaceGuid.PcdHwpSmi|0x27|UINT8|0x40000001
> +gSiPkgTokenSpaceGuid.PcdItbmSmi|0x29|UINT8|0x40000002
> +
> +gSiPkgTokenSpaceGuid.PcdAbove4GBMmioBase|0x0000004000000000|UIN
> T64|0x40000003
> +gSiPkgTokenSpaceGuid.PcdAbove4GBMmioSize|0x0000004000000000|UINT
> 64|0x40000004
> +
> +[PcdsDynamic, PcdsPatchableInModule]
> +## From MdeModulePkg.dec
> +## Default OEM ID for ACPI table creation, its length must be 0x6 bytes to
> follow ACPI specification.
> +gSiPkgTokenSpaceGuid.PcdAcpiDefaultOemId|"INTEL "|VOID*|0x30001034
> +## Default OEM Table ID for ACPI table creation, it is "EDK2 ".
> +gSiPkgTokenSpaceGuid.PcdAcpiDefaultOemTableId|0x20202020324B4445|U
> INT64|0x30001035
> +## Default OEM Revision for ACPI table creation.
> +gSiPkgTokenSpaceGuid.PcdAcpiDefaultOemRevision|0x00000002|UINT32|0
> x30001036
> +## Default Creator ID for ACPI table creation.
> +gSiPkgTokenSpaceGuid.PcdAcpiDefaultCreatorId|0x20202020|UINT32|0x30
> 001037
> +## Default Creator Revision for ACPI table creation.
> +gSiPkgTokenSpaceGuid.PcdAcpiDefaultCreatorRevision|0x01000013|UINT32
> |0x30001038
> +
> +[PcdsFixedAtBuild, PcdsPatchableInModule]
> +## Maximun number of performance log entries during PEI phase.
> +gSiPkgTokenSpaceGuid.PcdMaxPeiPerformanceLogEntries|40|UINT8|0x0001
> 002f
> +## This value is used to set the base address of MCH
> +gSiPkgTokenSpaceGuid.PcdMchBaseAddress|0xFED10000|UINT64|0x000100
> 30
> +## This value is used to set the base address of PCH devices
> +gSiPkgTokenSpaceGuid.PcdSmbusBaseAddress|0x0000EFA0|UINT16|0x0001
> 0031
> +gSiPkgTokenSpaceGuid.PcdTcoBaseAddress|0x0400|UINT16|0x00010034
> +gSiPkgTokenSpaceGuid.PcdAcpiBaseAddress|0x1800|UINT16|0x00010035
> +
> +## 32KB window
> +gSiPkgTokenSpaceGuid.PcdMchMmioSize|0x8000|UINT32|0x50000000
> +
> +## Stack size in the temporary RAM.
> +## 0 means half of TemporaryRamSize.
> +gSiPkgTokenSpaceGuid.PcdPeiTemporaryRamStackSize|0|UINT32|0x000100
> 36
> +##
> +## PcdFviSmbiosType determines the SMBIOS OEM type (0x80 to 0xFF)
> defined in SMBIOS,
> +## values 0-0x7F will be treated as disable FVI reporting.
> +## FVI structure uses it as SMBIOS OEM type to provide version information.
> +##
> +gSiPkgTokenSpaceGuid.PcdFviSmbiosType|0xDD|UINT8|0x00010037
> +gSiPkgTokenSpaceGuid.PcdSaPciPrint|FALSE|BOOLEAN|0x00010039
> +##
> +## SMBIOS defaults
> +##
> +gSiPkgTokenSpaceGuid.PcdSmbiosDefaultSocketDesignation|"U3E1"|VOID*|
> 0x0001003a
> +gSiPkgTokenSpaceGuid.PcdSmbiosDefaultSerialNumber|"To Be Filled By
> O.E.M."|VOID*|0x0001003b
> +gSiPkgTokenSpaceGuid.PcdSmbiosDefaultAssetTag|"To Be Filled By
> O.E.M."|VOID*|0x0001003c
> +gSiPkgTokenSpaceGuid.PcdSmbiosDefaultPartNumber|"To Be Filled By
> O.E.M."|VOID*|0x0001003d
> +
> +##
> +## Allocate 56 KB [0x2000..0xFFFF] of I/O space for Pci Devices
> +## If PcdPciReservedMemLimit =0 Pci Reserved default MMIO Limit is
> 0xE0000000 else use PcdPciReservedMemLimit .
> +##
> +gSiPkgTokenSpaceGuid.PcdPciReservedIobase |0x2000
> |UINT16|0x00010041
> +gSiPkgTokenSpaceGuid.PcdPciReservedIoLimit |0xFFFF
> |UINT16|0x00010042
> +gSiPkgTokenSpaceGuid.PcdPciReservedMemLimit |0x0000
> |UINT32|0x00010043
> +
> +##
> +## Default 8MB TSEG
> +##
> +gSiPkgTokenSpaceGuid.PcdTsegSize|0x800000|UINT32|0x00010046
> +##
> +## gSiPkgTokenSpaceGuid.PcdFwStsSmbiosType determines the SMBIOS OEM
> type (0x80 to 0xFF) defined
> +## in SMBIOS, values 0-0x7F will be treated as disable FWSTS SMBIOS
> reporting.
> +## FWSTS structure uses it as SMBIOS OEM type to provide FWSTS
> information.
> +##
> +gSiPkgTokenSpaceGuid.PcdFwStsSmbiosType|0xDB|UINT8|0x00010047
> +
> +##
> +## Maximum Address the AP Wakeup Buffer can start.
> +##
> +gSiPkgTokenSpaceGuid.PcdCpuApWakeupBufferMaxAddr|0x58000|UINT32|
> 0x00010048
> +
> +##
> +## Silicon Reference Code versions
> +##
> +
> +##Major:To represent code generation
> +gSiPkgTokenSpaceGuid.PcdSiliconInitVersionMajor
> |0x07|UINT8|0x00010049
> +
> +##Revision:Weekly build number
> +gSiPkgTokenSpaceGuid.PcdSiliconInitVersionRevision|0x57|UINT8|0x000100
> 51
> +
> +##Build[7:4]:Daily build number.
> +##Build[3:0]:Patch build number.
> +gSiPkgTokenSpaceGuid.PcdSiliconInitVersionBuild
> |0x40|UINT8|0x00010052
> +
> +
> +##
> +## Temp MEM IO resource
> +##
> +gSiPkgTokenSpaceGuid.PcdSiliconInitTempPciBusMin |2 |UINT8
> |0x00010053
> +gSiPkgTokenSpaceGuid.PcdSiliconInitTempPciBusMax |10 |UINT8
> |0x00010054
> +gSiPkgTokenSpaceGuid.PcdSiliconInitTempMemBaseAddr
> |0xFE600000|UINT32|0x00010055
> +gSiPkgTokenSpaceGuid.PcdSiliconInitTempMemSize
> |0x00200000|UINT32|0x00010056
> +
> +##
> +## This PCD specifies the base address of the HPET timer.
> +## The acceptable values are 0xFED00000, 0xFED01000, 0xFED02000, and
> 0xFED03000
> +##
> +gSiPkgTokenSpaceGuid.PcdHpetBaseAddress
> |0xFED00000|UINT32|0x00010057
> +gSiPkgTokenSpaceGuid.PcdSiHpetBaseAddress
> |0xFED00000|UINT32|0x00010060
> +##
> +## This PCD specifies the base address of the IO APIC.
> +## The acceptable values are 0xFECxx000.
> +##
> +#gSiPkgTokenSpaceGuid.PcdIoApicBaseAddress
> |0xFEC00000|UINT32|0x00010058
> +##
> +## Regbar Base Address
> +##
> +gSiPkgTokenSpaceGuid.PcdRegBarBaseAddress|0xFC000000|UINT32|0x0001
> 0059
> +
> +## Null-terminated string of the Version of Physical Presence interface
> supported by platform.
> +# @Prompt Version of Physical Presence interface supported by platform.
> +gSiPkgTokenSpaceGuid.PcdTcgPhysicalPresenceInterfaceVer|"1.3"|VOID*|0x
> 00000008
> +
> +[PcdsFixedAtBuild, PcdsPatchableInModule, PcdsDynamic, PcdsDynamicEx]
> +##
> +## SerialIo Uart Configuration
> +##
> +gSiPkgTokenSpaceGuid.PcdSerialIoUartDebugEnable |0 |UINT8
> |0x00100001 # 0:Disable, 1:Enable and Initialize, 2:Enable without Initializing
> +gSiPkgTokenSpaceGuid.PcdSerialIoUartNumber |2 |UINT8
> |0x00100002
> +gSiPkgTokenSpaceGuid.PcdSerialIoUartInputClock
> |1843200|UINT32|0x00100003
> +gSiPkgTokenSpaceGuid.PcdSerialIoUart0PinMuxing |0 |UINT8
> |0x00100009 # 0: default pins, 1: pins muxed with CNV_BRI/RGI
> +##
> +## PCI Express MMIO region length
> +## Valid settings: 0x10000000/256MB, 0x8000000/128MB, 0x4000000/64MB
> +##
> +gSiPkgTokenSpaceGuid.PcdPciExpressRegionLength|0x10000000|UINT32|0x
> 0010004
> +
> +## Indidates if SMM Save State saved in MSRs.
> +# if enabled, SMM Save State will use the MSRs instead of the
> memory.<BR><BR>
> +# TRUE - SMM Save State will use the MSRs.<BR>
> +# FALSE - SMM Save State will use the memory.<BR>
> +# @Prompt SMM Save State uses MSRs.
> +gSiPkgTokenSpaceGuid.PcdCpuSmmMsrSaveStateEnable|FALSE|BOOLEAN|0
> x20000001
> +[PcdsDynamic]
> +
> +## Indidates if SMM Delay feature is supported.<BR><BR>
> +# TRUE - SMM Delay feature is supported.<BR>
> +# FALSE - SMM Delay feature is not supported.<BR>
> +# @Prompt SMM Delay feature.
> +gSiPkgTokenSpaceGuid.PcdCpuSmmUseDelayIndication|TRUE|BOOLEAN|0x
> 0010009
> +
> +## Indidates if SMM Block feature is supported.<BR><BR>
> +# TRUE - SMM Block feature is supported.<BR>
> +# FALSE - SMM Block feature is not supported.<BR>
> +# @Prompt SMM Block feature.
> +gSiPkgTokenSpaceGuid.PcdCpuSmmUseBlockIndication|TRUE|BOOLEAN|0x
> 001000A
> +
> +## Indidates if SMM Enable/Disable feature is supported.<BR><BR>
> +# TRUE - SMM Enable/Disable feature is supported.<BR>
> +# FALSE - SMM Enable/Disable feature is not supported.<BR>
> +# @Prompt SMM Enable/Disable feature.
> +gSiPkgTokenSpaceGuid.PcdCpuSmmUseSmmEnableIndication|TRUE|BOOLE
> AN|0x001000B
> +
> +## Indidates if SMM PROT MODE feature is supported.<BR><BR>
> +# TRUE - SMM PROT MODE feature is supported.<BR>
> +# FALSE - SMM PROT MODE feature is not supported.<BR>
> +# @Prompt SMM PROT MODE feature.
> +gSiPkgTokenSpaceGuid.PcdCpuSmmProtectedModeEnable|TRUE|BOOLEAN
> |0x001000C
> +
> +## Indidates if SMM Code Access Check feature is supported.<BR><BR>
> +# TRUE - SMM Code Access Check feature is supported.<BR>
> +# FALSE - SMM Code Access Check feature is not supported.<BR>
> +# @Prompt SMM Code Access Check feature.
> +gSiPkgTokenSpaceGuid.PcdCpuSmmCodeAccessCheckEnable|TRUE|BOOLEA
> N|0x001000D
> +
> +[PcdsFeatureFlag]
> +##
> +## Those PCDs are used to control build process.
> +##
> +gSiPkgTokenSpaceGuid.PcdTraceHubEnable
> |FALSE|BOOLEAN|0xF0000001
> +gSiPkgTokenSpaceGuid.PcdSmmVariableEnable
> |FALSE|BOOLEAN|0xF0000002
> +gSiPkgTokenSpaceGuid.PcdAtaEnable
> |FALSE|BOOLEAN|0xF0000004
> +gSiPkgTokenSpaceGuid.PcdSiCsmEnable
> |FALSE|BOOLEAN|0xF0000005
> +gSiPkgTokenSpaceGuid.PcdUseHpetTimer |TRUE
> |BOOLEAN|0xF0000006
> +gSiPkgTokenSpaceGuid.PcdSgEnable |TRUE
> |BOOLEAN|0xF0000008
> +gSiPkgTokenSpaceGuid.PcdAcpiEnable |TRUE
> |BOOLEAN|0xF0000009
> +gSiPkgTokenSpaceGuid.PcdSourceDebugEnable
> |FALSE|BOOLEAN|0xF000000B
> +gSiPkgTokenSpaceGuid.PcdPpmEnable |TRUE
> |BOOLEAN|0xF000000C
> +gSiPkgTokenSpaceGuid.PcdIntegratedTouchEnable
> |FALSE|BOOLEAN|0xF000000F
> +gSiPkgTokenSpaceGuid.PcdPttEnable
> |FALSE|BOOLEAN|0xF0000011
> +gSiPkgTokenSpaceGuid.PcdJhiEnable
> |FALSE|BOOLEAN|0xF0000012
> +gSiPkgTokenSpaceGuid.PcdSmbiosEnable |TRUE
> |BOOLEAN|0xF0000014
> +gSiPkgTokenSpaceGuid.PcdS3Enable |TRUE
> |BOOLEAN|0xF0000015
> +gSiPkgTokenSpaceGuid.PcdOverclockEnable
> |FALSE|BOOLEAN|0xF0000016
> +gSiPkgTokenSpaceGuid.PcdCpuPowerOnConfigEnable
> |FALSE|BOOLEAN|0xF0000017
> +gSiPkgTokenSpaceGuid.PcdIgdEnable |TRUE
> |BOOLEAN|0xF000001A
> +gSiPkgTokenSpaceGuid.PcdPegEnable |TRUE
> |BOOLEAN|0xF000001B
> +gSiPkgTokenSpaceGuid.PcdSaDmiEnable |TRUE
> |BOOLEAN|0xF000001C
> +gSiPkgTokenSpaceGuid.PcdIpuEnable |TRUE
> |BOOLEAN|0xF000001D
> +gSiPkgTokenSpaceGuid.PcdGnaEnable |TRUE
> |BOOLEAN|0xF000001E
> +gSiPkgTokenSpaceGuid.PcdSaOcEnable |TRUE
> |BOOLEAN|0xF000001F
> +gSiPkgTokenSpaceGuid.PcdVtdEnable |TRUE
> |BOOLEAN|0xF0000020
> +gSiPkgTokenSpaceGuid.PcdBdatEnable
> |FALSE|BOOLEAN|0xF0000023
> +gSiPkgTokenSpaceGuid.PcdOptimizeCompilerEnable |TRUE
> |BOOLEAN|0xF0000024
> +gSiPkgTokenSpaceGuid.PcdPeiDisplayEnable |TRUE
> |BOOLEAN|0xF0000025
> +gSiPkgTokenSpaceGuid.PcdCflCpuEnable
> |FALSE|BOOLEAN|0xF0000027
> +gSiPkgTokenSpaceGuid.PcdOcWdtEnable
> |FALSE|BOOLEAN|0xF0000029
> +gSiPkgTokenSpaceGuid.PcdMinTreeEnable
> |FALSE|BOOLEAN|0xF000002A # To separate modules used in mininal source
> tree and advanced features
> +gSiPkgTokenSpaceGuid.PcdSerialIoUartEnable
> |FALSE|BOOLEAN|0xF0000033
> +gSiPkgTokenSpaceGuid.PcdSiCatalogDebugEnable
> |FALSE|BOOLEAN|0xF0000034
> +
> +gSiPkgTokenSpaceGuid.PcdEdk2MasterEnable
> |FALSE|BOOLEAN|0xF0000035
> +gSiPkgTokenSpaceGuid.PcdPpamEnable |TRUE
> |BOOLEAN|0xF0000036
> +
> +#This PCD is used to enable WDT for debug purposes in OverClocking.
> +gSiPkgTokenSpaceGuid.PcdOcEnableWdtforDebug
> |FALSE|BOOLEAN|0xF0000037
> diff --git a/Silicon/Intel/CoffeelakeSiliconPkg/Include/ConfigBlock.h
> b/Silicon/Intel/CoffeelakeSiliconPkg/Include/ConfigBlock.h
> new file mode 100644
> index 0000000000..d0e3d94418
> --- /dev/null
> +++ b/Silicon/Intel/CoffeelakeSiliconPkg/Include/ConfigBlock.h
> @@ -0,0 +1,53 @@
> +/** @file
> + Header file for Config Block Lib implementation
> +
> + Copyright (c) 2019 Intel Corporation. All rights reserved. <BR>
> +
> + SPDX-License-Identifier: BSD-2-Clause-Patent
> +**/
> +
> +#ifndef _CONFIG_BLOCK_H_
> +#define _CONFIG_BLOCK_H_
> +
> +#include <Uefi/UefiBaseType.h>
> +#include <Uefi/UefiMultiPhase.h>
> +#include <Pi/PiBootMode.h>
> +#include <Pi/PiHob.h>
> +
> +#pragma pack (push,1)
> +
> +///
> +/// Config Block Header
> +///
> +typedef struct _CONFIG_BLOCK_HEADER {
> + EFI_HOB_GUID_TYPE GuidHob; ///< Offset 0-23 GUID
> extension HOB header
> + UINT8 Revision; ///< Offset 24 Revision of this
> config block
> + UINT8 Attributes; ///< Offset 25 The main revision
> for config block
> + UINT8 Reserved[2]; ///< Offset 26-27 Reserved for
> future use
> +} CONFIG_BLOCK_HEADER;
> +
> +///
> +/// Config Block
> +///
> +typedef struct _CONFIG_BLOCK {
> + CONFIG_BLOCK_HEADER Header; ///< Offset 0-27 Header
> of config block
> + //
> + // Config Block Data
> + //
> +} CONFIG_BLOCK;
> +
> +///
> +/// Config Block Table Header
> +///
> +typedef struct _CONFIG_BLOCK_TABLE_STRUCT {
> + CONFIG_BLOCK_HEADER Header; ///< Offset 0-27 GUID
> number for main entry of config block
> + UINT8 Rsvd0[2]; ///< Offset 28-29 Reserved for
> future use
> + UINT16 NumberOfBlocks; ///< Offset 30-31 Number of
> config blocks (N)
> + UINT32 AvailableSize; ///< Offset 32-35 Current config
> block table size
> +///
> +/// Individual Config Block Structures are added here in memory as part of
> AddConfigBlock()
> +///
> +} CONFIG_BLOCK_TABLE_HEADER;
> +#pragma pack (pop)
> +
> +#endif // _CONFIG_BLOCK_H_
> diff --git a/Silicon/Intel/CoffeelakeSiliconPkg/Include/ConfigBlock/SiConfig.h
> b/Silicon/Intel/CoffeelakeSiliconPkg/Include/ConfigBlock/SiConfig.h
> new file mode 100644
> index 0000000000..27b5a9440e
> --- /dev/null
> +++ b/Silicon/Intel/CoffeelakeSiliconPkg/Include/ConfigBlock/SiConfig.h
> @@ -0,0 +1,89 @@
> +/** @file
> + Si Config Block
> +
> + Copyright (c) 2019 Intel Corporation. All rights reserved. <BR>
> +
> + SPDX-License-Identifier: BSD-2-Clause-Patent
> +**/
> +
> +#ifndef _SI_CONFIG_H_
> +#define _SI_CONFIG_H_
> +
> +#define SI_CONFIG_REVISION 3
> +
> +extern EFI_GUID gSiConfigGuid;
> +
> +
> +#pragma pack (push,1)
> +
> +/**
> + The Silicon Policy allows the platform code to publish a set of configuration
> + information that the RC drivers will use to configure the silicon hardware.
> +
> + <b>Revision 1</b>:
> + - Initial version.
> + <b>Revision 2</b>:
> + - Added TraceHubMemBase
> + <b>Revision 3</b>
> + - Deprecated SkipPostBootSai
> +**/
> +typedef struct {
> + CONFIG_BLOCK_HEADER Header; ///< Offset 0 - 27 Config Block Header
> + //
> + // Platform specific common policies that used by several silicon
> components.
> + //
> + UINT32 CsmFlag : 1; ///< Offset 44 BIT0: CSM status flag.
> + /**
> + @deprecated since revision 3
> + **/
> + UINT32 SkipPostBootSai : 1;
> + UINT32 RsvdBits : 30; ///< Reserved
> + UINT32 *SsidTablePtr; // Offset 48
> + UINT16 NumberOfSsidTableEntry; // Offset 52
> + UINT16 Reserved; // Offset 54
> + /**
> + If Trace Hub is enabled and trace to memory is desired, Platform code or
> BootLoader needs to allocate trace hub memory
> + as reserved, and save allocated memory base to TraceHubMemBase to
> ensure Trace Hub memory is configured properly.
> + To get total trace hub memory size please refer to
> TraceHubCalculateTotalBufferSize ()
> +
> + Noted: If EDKII memory service is used to allocate memory, it will require
> double memory size to support size-aligned memory allocation,
> + so Platform code or FSP Wrapper code should ensure enough memory
> available for size-aligned TraceHub memory allocation.
> + **/
> + UINT32 TraceHubMemBase; // Offset 58
> +} SI_CONFIG;
> +
> +#pragma pack (pop)
> +
> +#define DEFAULT_SSVID 0x8086
> +#define DEFAULT_SSDID 0x7270
> +#define MAX_DEVICE_COUNT 70
> +
> +///
> +/// Subsystem Vendor ID / Subsystem ID
> +///
> +typedef struct {
> + UINT16 SubSystemVendorId;
> + UINT16 SubSystemId;
> +} SVID_SID_VALUE;
> +
> +//
> +// Below is to match PCI_SEGMENT_LIB_ADDRESS () which can directly send to
> PciSegmentRead/Write functions.
> +//
> +typedef struct {
> + union {
> + struct {
> + UINT64 Register:12;
> + UINT64 Function:3;
> + UINT64 Device:5;
> + UINT64 Bus:8;
> + UINT64 Reserved1:4;
> + UINT64 Segment:16;
> + UINT64 Reserved2:16;
> + } Bits;
> + UINT64 SegBusDevFuncRegister;
> + } Address;
> + SVID_SID_VALUE SvidSidValue;
> + UINT32 Reserved;
> +} SVID_SID_INIT_ENTRY;
> +
> +#endif // _SI_CONFIG_H_
> diff --git
> a/Silicon/Intel/CoffeelakeSiliconPkg/Include/ConfigBlock/UsbConfig.h
> b/Silicon/Intel/CoffeelakeSiliconPkg/Include/ConfigBlock/UsbConfig.h
> new file mode 100644
> index 0000000000..8b51e2d47a
> --- /dev/null
> +++ b/Silicon/Intel/CoffeelakeSiliconPkg/Include/ConfigBlock/UsbConfig.h
> @@ -0,0 +1,291 @@
> +/** @file
> + Common USB policy shared between PCH and CPU
> + Contains general features settings for xHCI and xDCI
> +
> + Copyright (c) 2019 Intel Corporation. All rights reserved. <BR>
> +
> + SPDX-License-Identifier: BSD-2-Clause-Patent
> +**/
> +
> +#ifndef _USB_CONFIG_H_
> +#define _USB_CONFIG_H_
> +
> +#define USB_CONFIG_REVISION 3
> +extern EFI_GUID gUsbConfigGuid;
> +
> +#define MAX_USB2_PORTS 16
> +#define MAX_USB3_PORTS 10
> +
> +#pragma pack (push,1)
> +
> +#define PCH_USB_OC_PINS_MAX 8 ///< Maximal possible number of USB
> Over Current pins
> +
> +///
> +/// Overcurrent pins, the values match the setting of EDS, please refer to EDS
> for more details
> +///
> +typedef enum {
> + UsbOverCurrentPin0 = 0,
> + UsbOverCurrentPin1,
> + UsbOverCurrentPin2,
> + UsbOverCurrentPin3,
> + UsbOverCurrentPin4,
> + UsbOverCurrentPin5,
> + UsbOverCurrentPin6,
> + UsbOverCurrentPin7,
> + UsbOverCurrentPinMax,
> + UsbOverCurrentPinSkip = 0xFF
> +} USB_OVERCURRENT_PIN;
> +
> +/**
> + This structure configures per USB2 AFE settings.
> + It allows to setup the port electrical parameters.
> +**/
> +typedef struct {
> +/** Per Port HS Preemphasis Bias (PERPORTPETXISET)
> + 000b - 0mV
> + 001b - 11.25mV
> + 010b - 16.9mV
> + 011b - 28.15mV
> + 100b - 28.15mV
> + 101b - 39.35mV
> + 110b - 45mV
> + 111b - 56.3mV
> +**/
> + UINT8 Petxiset;
> +/** Per Port HS Transmitter Bias (PERPORTTXISET)
> + 000b - 0mV
> + 001b - 11.25mV
> + 010b - 16.9mV
> + 011b - 28.15mV
> + 100b - 28.15mV
> + 101b - 39.35mV
> + 110b - 45mV
> + 111b - 56.3mV
> +**/
> + UINT8 Txiset;
> +/**
> + Per Port HS Transmitter Emphasis (IUSBTXEMPHASISEN)
> + 00b - Emphasis OFF
> + 01b - De-emphasis ON
> + 10b - Pre-emphasis ON
> + 11b - Pre-emphasis & De-emphasis ON
> +**/
> + UINT8 Predeemp;
> +/**
> + Per Port Half Bit Pre-emphasis (PERPORTTXPEHALF)
> + 1b - half-bit pre-emphasis
> + 0b - full-bit pre-emphasis
> +**/
> + UINT8 Pehalfbit;
> +} USB20_AFE;
> +
> +/**
> + This structure configures per USB2 port physical settings.
> + It allows to setup the port location and port length, and configures the port
> strength accordingly.
> +**/
> +typedef struct {
> + /**
> + These members describe the specific over current pin number of USB 2.0
> Port N.
> + It is SW's responsibility to ensure that a given port's bit map is set only for
> + one OC pin Description. USB2 and USB3 on the same combo Port must use
> the same
> + OC pin (see: USB_OVERCURRENT_PIN).
> + **/
> + UINT32 OverCurrentPin : 8;
> + UINT32 Enable : 1; ///< 0: Disable; <b>1: Enable</b>.
> + UINT32 RsvdBits0 : 23; ///< Reserved bits
> + /**
> + Changing this policy values from default ones may require disabling USB2
> PHY Sus Well Power Gating
> + through Usb2PhySusPgEnable on PCH-LP
> + **/
> + USB20_AFE Afe; ///< USB2 AFE settings
> +} USB20_PORT_CONFIG;
> +
> +/**
> + This structure describes whether the USB3 Port N is enabled by platform
> modules.
> +**/
> +typedef struct {
> + /**
> + These members describe the specific over current pin number of USB 3.x
> Port N.
> + It is SW's responsibility to ensure that a given port's bit map is set only for
> + one OC pin Description. USB2 and USB3 on the same combo Port must use
> the same
> + OC pin (see: USB_OVERCURRENT_PIN).
> + **/
> + UINT32 OverCurrentPin : 8;
> +
> + /**
> + USB 3.0 TX Output Downscale Amplitude Adjustment (orate01margin)
> + HSIO_TX_DWORD8[21:16]
> + <b>Default = 00h</b>
> + **/
> + UINT32 HsioTxDownscaleAmp : 8;
> + /**
> + USB 3.0 TX Output -3.5dB De-Emphasis Adjustment Setting
> (ow2tapgen2deemph3p5)
> + HSIO_TX_DWORD5[21:16]
> + <b>Default = 29h</b> (approximately -3.5dB De-Emphasis)
> + **/
> + UINT32 HsioTxDeEmph : 8;
> +
> + UINT32 Enable : 1; ///< 0: Disable; <b>1: Enable</b>.
> + UINT32 HsioTxDeEmphEnable : 1; ///< Enable the write to USB 3.0 TX
> Output -3.5dB De-Emphasis Adjustment, <b>0: Disable</b>; 1: Enable.
> + UINT32 HsioTxDownscaleAmpEnable : 1; ///< Enable the write to USB 3.0
> TX Output Downscale Amplitude Adjustment, <b>0: Disable</b>; 1: Enable.
> + UINT32 RsvdBits0 : 5; ///< Reserved bits
> +} USB30_PORT_CONFIG;
> +
> +/**
> + The XDCI_CONFIG block describes the configurations
> + of the xDCI Usb Device controller.
> +**/
> +typedef struct {
> + /**
> + This member describes whether or not the xDCI controller should be
> enabled.
> + 0: Disable; <b>1: Enable</b>.
> + **/
> + UINT32 Enable : 1;
> + UINT32 RsvdBits0 : 31; ///< Reserved bits
> +} XDCI_CONFIG;
> +
> +//
> +// Below defines are for proper UPD construction and values syncing between
> UPD and policy
> +//
> +#define B_XHCI_HSIO_CTRL_ADAPT_OFFSET_CFG_EN BIT0 ///< Enable
> the write to Signed Magnatude number added to the CTLE code bit
> +#define B_XHCI_HSIO_FILTER_SELECT_N_EN BIT1 ///< Enable the
> write to LFPS filter select for n
> +#define B_XHCI_HSIO_FILTER_SELECT_P_EN BIT2 ///< Enable the
> write to LFPS filter select for p
> +#define B_XHCI_HSIO_LFPS_CFG_PULLUP_DWN_RES_EN BIT3 ///< Enable
> the write to olfpscfgpullupdwnres
> +#define N_XHCI_UPD_HSIO_CTRL_ADAPT_OFFSET_CFG 3
> +#define N_XHCI_UPD_HSIO_LFPS_CFG_PULLUP_DWN_RES 0
> +#define N_XHCI_UPD_HSIO_FILTER_SELECT_P 0
> +#define N_XHCI_UPD_HSIO_FILTER_SELECT_N 4
> +
> +typedef struct {
> + /**
> + Signed Magnatude number added to the CTLE
> code.(ctle_adapt_offset_cfg_4_0)
> + HSIO_RX_DWORD25 [20:16]
> + Ex: -1 -- 1_0001. +1: 0_0001
> + <b>Default = 0h</b>
> + **/
> + UINT32 HsioCtrlAdaptOffsetCfg : 5;
> + /**
> + LFPS filter select for n (filter_sel_n_2_0)
> + HSIO_RX_DWORD51 [29:27]
> + 0h:1.6ns
> + 1h:2.4ns
> + 2h:3.2ns
> + 3h:4.0ns
> + 4h:4.8ns
> + 5h:5.6ns
> + 6h:6.4ns
> + <b>Default = 0h</b>
> + **/
> + UINT32 HsioFilterSelN : 3;
> + /**
> + LFPS filter select for p (filter_sel_p_2_0)
> + HSIO_RX_DWORD51 [26:24]
> + 0h:1.6ns
> + 1h:2.4ns
> + 2h:3.2ns
> + 3h:4.0ns
> + 4h:4.8ns
> + 5h:5.6ns
> + 6h:6.4ns
> + <b>Default = 0h</b>
> + **/
> + UINT32 HsioFilterSelP : 3;
> + /**
> + Controls the input offset (olfpscfgpullupdwnres_sus_usb_2_0)
> + HSIO_RX_DWORD51 [2:0]
> + 000 Prohibited
> + 001 45K
> + 010 Prohibited
> + 011 31K
> + 100 36K
> + 101 36K
> + 110 36K
> + 111 36K
> + <b>Default = 3h</b>
> + **/
> + UINT32 HsioOlfpsCfgPullUpDwnRes : 3;
> +
> + UINT32 HsioCtrlAdaptOffsetCfgEnable : 1; ///< Enable the write to
> Signed Magnatude number added to the CTLE code, <b>0: Disable</b>; 1:
> Enable.
> + UINT32 HsioFilterSelNEnable : 1; ///< Enable the write to LFPS
> filter select for n, <b>0: Disable</b>; 1: Enable.
> + UINT32 HsioFilterSelPEnable : 1; ///< Enable the write to LFPS
> filter select for p, <b>0: Disable</b>; 1: Enable.
> + UINT32 HsioOlfpsCfgPullUpDwnResEnable : 1; ///< Enable the write to
> olfpscfgpullupdwnres, <b>0: Disable</b>; 1: Enable.
> + UINT32 RsvdBits0 : 14; ///< Reserved bits
> +} USB30_HSIO_RX_CONFIG;
> +
> +
> +/**
> + This member describes the expected configuration of the USB controller,
> + Platform modules may need to refer Setup options, schematic, BIOS
> specification to update this field.
> + The Usb20OverCurrentPins and Usb30OverCurrentPins field must be
> updated by referring the schematic.
> +
> + <b>Revision 1</b>:
> + - Initial version.
> + <b>Revision 2</b>:
> + - Added Usb2PhySusPgEnable - for enabling/disabling USB2 PHY SUS Well
> Power Gating
> + <b>Revision 3</b>:
> + Added HSIO Rx tuning policy options structure USB30_HSIO_RX_CONFIG
> +**/
> +typedef struct {
> + CONFIG_BLOCK_HEADER Header; ///< Config Block Header
> + /**
> + This policy setting controls state of Compliance Mode enabling.
> + Compliance Mode can be enabled for testing through this option but
> defualt setting is Disabled.
> + <b>0:Disable</b>, 1: Enable
> + **/
> + UINT32 EnableComplianceMode : 1;
> + /**
> + This policy option when set will make BIOS program Port Disable Override
> register during PEI phase.
> + When disabled BIOS will not program the PDO during PEI phase and leave
> PDO register unlocked for later programming.
> + If this is disabled, platform code MUST set it before booting into OS.
> + <b>1: Enable</b>, 0: Disable
> + **/
> + UINT32 PdoProgramming : 1;
> + /**
> + This option allows for control whether USB should program the
> Overcurrent Pins mapping into xHCI.
> + Disabling this feature will disable overcurrent detection functionality.
> + Overcurrent Pin mapping data is contained in respective port structures
> (i.e. USB30_PORT_CONFIG) in OverCurrentPin field.
> + By default this Overcurrent functionality should be enabled and disabled
> only for OBS debug usage.
> + <b>1: Will program USB OC pin mapping in respective xHCI controller
> registers</b>
> + 0: Will clear OC pin mapping allow for OBS usage of OC pins
> + **/
> + UINT32 OverCurrentEnable : 1;
> + /**
> + <b>(Test)</b>
> + If this policy option is enabled then BIOS will program OCCFDONE bit in
> xHCI meaning that OC mapping data will be
> + consumed by xHCI and OC mapping registers will be locked. OverCurrent
> mapping data is taken from respective port data
> + structure from OverCurrentPin field.
> + If EnableOverCurrent policy is enabled this also should be enabled,
> otherwise xHCI won't consume OC mapping data.
> + <b>1: Program OCCFDONE bit and make xHCI consume OverCurrent
> mapping data</b>
> + 0: Do not program OCCFDONE bit making it possible to use OBS debug on
> OC pins.
> + **/
> + UINT32 XhciOcLock : 1;
> + /**
> + <b>(Test)</b>
> + This policy option enables USB2 PHY SUS Well Power Gating functionality.
> + Please note this is ignored on PCH H
> + <b>0: disable USB2 PHY SUS Well Power Gating</b>
> + 1: enable USB2 PHY SUS Well Power Gating
> + **/
> + UINT32 Usb2PhySusPgEnable : 1;
> + UINT32 RsvdBits0 : 27; ///< Reserved bits
> + /**
> + These members describe whether the USB2 Port N of PCH is enabled by
> platform modules.
> + **/
> + USB20_PORT_CONFIG PortUsb20[MAX_USB2_PORTS];
> + /**
> + These members describe whether the USB3 Port N of PCH is enabled by
> platform modules.
> + **/
> + USB30_PORT_CONFIG PortUsb30[MAX_USB3_PORTS];
> + /**
> + This member describes whether or not the xDCI controller should be
> enabled.
> + **/
> + XDCI_CONFIG XdciConfig;
> + /**
> + This member describes policy options for RX signal tuning in ModPHY
> + **/
> + USB30_HSIO_RX_CONFIG PortUsb30HsioRx[MAX_USB3_PORTS];
> +} USB_CONFIG;
> +
> +#pragma pack (pop)
> +
> +#endif // _USB_CONFIG_H_
> diff --git a/Silicon/Intel/CoffeelakeSiliconPkg/Include/Library/AslUpdateLib.h
> b/Silicon/Intel/CoffeelakeSiliconPkg/Include/Library/AslUpdateLib.h
> new file mode 100644
> index 0000000000..39baa6c03a
> --- /dev/null
> +++ b/Silicon/Intel/CoffeelakeSiliconPkg/Include/Library/AslUpdateLib.h
> @@ -0,0 +1,157 @@
> +/** @file
> + ASL dynamic update library definitions.
> + This library provides dymanic update to various ASL structures.
> + There may be different libraries for different environments (PEI, BS, RT,
> SMM).
> + Make sure you meet the requirements for the library (protocol
> dependencies, use
> + restrictions, etc).
> +
> + Copyright (c) 2019 Intel Corporation. All rights reserved. <BR>
> +
> + SPDX-License-Identifier: BSD-2-Clause-Patent
> +**/
> +
> +#ifndef _ASL_UPDATE_LIB_H_
> +#define _ASL_UPDATE_LIB_H_
> +
> +//
> +// Include files
> +//
> +#include <IndustryStandard/Acpi.h>
> +#include <Protocol/AcpiTable.h>
> +#include <Protocol/AcpiSystemDescriptionTable.h>
> +
> +//
> +// AML parsing definitions
> +//
> +#define AML_RESRC_TEMP_END_TAG 0x0079
> +
> +//
> +// ASL PSS package structure layout
> +//
> +#pragma pack (1)
> +typedef struct {
> + UINT8 NameOp; // 12h ;First opcode is a NameOp.
> + UINT8 PackageLead; // 20h ;First opcode is a NameOp.
> + UINT8 NumEntries; // 06h ;First opcode is a NameOp.
> + UINT8 DwordPrefix1; // 0Ch
> + UINT32 CoreFrequency; // 00h
> + UINT8 DwordPrefix2; // 0Ch
> + UINT32 Power; // 00h
> + UINT8 DwordPrefix3; // 0Ch
> + UINT32 TransLatency; // 00h
> + UINT8 DwordPrefix4; // 0Ch
> + UINT32 BmLatency; // 00h
> + UINT8 DwordPrefix5; // 0Ch
> + UINT32 Control; // 00h
> + UINT8 DwordPrefix6; // 0Ch
> + UINT32 Status; // 00h
> +} PSS_PACKAGE_LAYOUT;
> +#pragma pack()
> +
> +/**
> + Initialize the ASL update library state.
> + This must be called prior to invoking other library functions.
> +
> +
> + @retval EFI_SUCCESS The function completed successfully.
> +**/
> +EFI_STATUS
> +InitializeAslUpdateLib (
> + VOID
> + );
> +
> +/**
> + This procedure will update immediate value assigned to a Name
> +
> + @param[in] AslSignature The signature of Operation Region that
> we want to update.
> + @param[in] Buffer source of data to be written over original
> aml
> + @param[in] Length length of data to be overwritten
> +
> + @retval EFI_SUCCESS The function completed successfully.
> +**/
> +EFI_STATUS
> +UpdateNameAslCode(
> + IN UINT32 AslSignature,
> + IN VOID *Buffer,
> + IN UINTN Length
> + );
> +
> +/**
> + This procedure will update the name of ASL Method
> +
> + @param[in] AslSignature - The signature of Operation Region that we
> want to update.
> + @param[in] Buffer - source of data to be written over original aml
> + @param[in] Length - length of data to be overwritten
> +
> + @retval EFI_SUCCESS - The function completed successfully.
> + @retval EFI_NOT_FOUND - Failed to locate AcpiTable.
> +**/
> +EFI_STATUS
> +UpdateMethodAslCode (
> + IN UINT32 AslSignature,
> + IN VOID *Buffer,
> + IN UINTN Length
> + );
> +
> +/**
> + This function uses the ACPI support protocol to locate an ACPI table using
> the .
> + It is really only useful for finding tables that only have a single instance,
> + e.g. FADT, FACS, MADT, etc. It is not good for locating SSDT, etc.
> + Matches are determined by finding the table with ACPI table that has
> + a matching signature and version.
> +
> + @param[in] Signature Pointer to an ASCII string containing the
> Signature to match
> + @param[in, out] Table Updated with a pointer to the table
> + @param[in, out] Handle AcpiSupport protocol table handle for
> the table found
> + @param[in, out] Version On input, the version of the table
> desired,
> + on output, the versions the table belongs to
> + @see AcpiSupport protocol for details
> +
> + @retval EFI_SUCCESS The function completed successfully.
> +**/
> +EFI_STATUS
> +LocateAcpiTableBySignature (
> + IN UINT32 Signature,
> + IN OUT EFI_ACPI_DESCRIPTION_HEADER **Table,
> + IN OUT UINTN *Handle
> + );
> +
> +/**
> + This function uses the ACPI support protocol to locate an ACPI SSDT table.
> + The table is located by searching for a matching OEM Table ID field.
> + Partial match searches are supported via the TableIdSize parameter.
> +
> + @param[in] TableId Pointer to an ASCII string containing the
> OEM Table ID from the ACPI table header
> + @param[in] TableIdSize Length of the TableId to match. Table ID
> are 8 bytes long, this function
> + will consider it a match if the first TableIdSize
> bytes match
> + @param[in, out] Table Updated with a pointer to the table
> + @param[in, out] Handle AcpiSupport protocol table handle for
> the table found
> + @param[in, out] Version See AcpiSupport protocol, GetAcpiTable
> function for use
> +
> + @retval EFI_SUCCESS The function completed successfully.
> +**/
> +EFI_STATUS
> +LocateAcpiTableByOemTableId (
> + IN UINT8 *TableId,
> + IN UINT8 TableIdSize,
> + IN OUT EFI_ACPI_DESCRIPTION_HEADER **Table,
> + IN OUT UINTN *Handle
> + );
> +
> +/**
> + This function calculates and updates an UINT8 checksum.
> +
> + @param[in] Buffer Pointer to buffer to checksum
> + @param[in] Size Number of bytes to checksum
> + @param[in] ChecksumOffset Offset to place the checksum result in
> +
> + @retval EFI_SUCCESS The function completed successfully.
> +**/
> +EFI_STATUS
> +AcpiChecksum (
> + IN VOID *Buffer,
> + IN UINTN Size,
> + IN UINTN ChecksumOffset
> + );
> +
> +#endif
> diff --git
> a/Silicon/Intel/CoffeelakeSiliconPkg/Include/Library/ConfigBlockLib.h
> b/Silicon/Intel/CoffeelakeSiliconPkg/Include/Library/ConfigBlockLib.h
> new file mode 100644
> index 0000000000..9a3bf373a6
> --- /dev/null
> +++ b/Silicon/Intel/CoffeelakeSiliconPkg/Include/Library/ConfigBlockLib.h
> @@ -0,0 +1,64 @@
> +/** @file
> + Header file for Config Block Lib implementation
> +
> + Copyright (c) 2019 Intel Corporation. All rights reserved. <BR>
> +
> + SPDX-License-Identifier: BSD-2-Clause-Patent
> +**/
> +
> +#ifndef _CONFIG_BLOCK_LIB_H_
> +#define _CONFIG_BLOCK_LIB_H_
> +
> +/**
> + Create config block table
> +
> + @param[in] TotalSize - Max size to be allocated for the
> Config Block Table
> + @param[out] ConfigBlockTableAddress - On return, points to a
> pointer to the beginning of Config Block Table Address
> +
> + @retval EFI_INVALID_PARAMETER - Invalid Parameter
> + @retval EFI_OUT_OF_RESOURCES - Out of resources
> + @retval EFI_SUCCESS - Successfully created Config Block Table at
> ConfigBlockTableAddress
> +**/
> +EFI_STATUS
> +EFIAPI
> +CreateConfigBlockTable (
> + IN UINT16 TotalSize,
> + OUT VOID **ConfigBlockTableAddress
> + );
> +
> +/**
> + Add config block into config block table structure
> +
> + @param[in] ConfigBlockTableAddress - A pointer to the beginning of
> Config Block Table Address
> + @param[out] ConfigBlockAddress - On return, points to a pointer
> to the beginning of Config Block Address
> +
> + @retval EFI_OUT_OF_RESOURCES - Config Block Table is full and cannot add
> new Config Block or
> + Config Block Offset Table is full and cannot add new
> Config Block.
> + @retval EFI_SUCCESS - Successfully added Config Block
> +**/
> +EFI_STATUS
> +EFIAPI
> +AddConfigBlock (
> + IN VOID *ConfigBlockTableAddress,
> + OUT VOID **ConfigBlockAddress
> + );
> +
> +/**
> + Retrieve a specific Config Block data by GUID
> +
> + @param[in] ConfigBlockTableAddress - A pointer to the beginning
> of Config Block Table Address
> + @param[in] ConfigBlockGuid - A pointer to the GUID uses to
> search specific Config Block
> + @param[out] ConfigBlockAddress - On return, points to a
> pointer to the beginning of Config Block Address
> +
> + @retval EFI_NOT_FOUND - Could not find the Config Block
> + @retval EFI_SUCCESS - Config Block found and return
> +**/
> +EFI_STATUS
> +EFIAPI
> +GetConfigBlock (
> + IN VOID *ConfigBlockTableAddress,
> + IN EFI_GUID *ConfigBlockGuid,
> + OUT VOID **ConfigBlockAddress
> + );
> +
> +#endif // _CONFIG_BLOCK_LIB_H_
> diff --git a/Silicon/Intel/CoffeelakeSiliconPkg/Include/Library/MmPciLib.h
> b/Silicon/Intel/CoffeelakeSiliconPkg/Include/Library/MmPciLib.h
> new file mode 100644
> index 0000000000..858f8ac5e6
> --- /dev/null
> +++ b/Silicon/Intel/CoffeelakeSiliconPkg/Include/Library/MmPciLib.h
> @@ -0,0 +1,28 @@
> +/** @file
> + Get Pci Express address library implementation.
> +
> + Copyright (c) 2019 Intel Corporation. All rights reserved. <BR>
> +
> + SPDX-License-Identifier: BSD-2-Clause-Patent
> +**/
> +
> +#ifndef _MM_PCI_LIB_H_
> +#define _MM_PCI_LIB_H_
> +
> +/**
> + This procedure will get PCIE address
> +
> + @param[in] Bus Pci Bus Number
> + @param[in] Device Pci Device Number
> + @param[in] Function Pci Function Number
> +
> + @retval PCIE address
> +**/
> +UINTN
> +MmPciBase (
> + IN UINT32 Bus,
> + IN UINT32 Device,
> + IN UINT32 Function
> +);
> +
> +#endif // _PEI_DXE_SMM_MM_PCI_LIB_H_
> diff --git
> a/Silicon/Intel/CoffeelakeSiliconPkg/Include/Library/PeiSiPolicyUpdateLib.h
> b/Silicon/Intel/CoffeelakeSiliconPkg/Include/Library/PeiSiPolicyUpdateLib.h
> new file mode 100644
> index 0000000000..c6eb70f6e2
> --- /dev/null
> +++
> b/Silicon/Intel/CoffeelakeSiliconPkg/Include/Library/PeiSiPolicyUpdateLib.h
> @@ -0,0 +1,123 @@
> +/** @file
> + Header file for PEI SiPolicyUpdate Library.
> +
> + Copyright (c) 2019 Intel Corporation. All rights reserved. <BR>
> +
> + SPDX-License-Identifier: BSD-2-Clause-Patent
> +**/
> +
> +#ifndef _PEI_SI_POLICY_UPDATE_LIB_H_
> +#define _PEI_SI_POLICY_UPDATE_LIB_H_
> +
> +#include <Ppi/SiPolicy.h>
> +
> +/**
> + This function performs Silicon PEI Policy initialization.
> +
> + @param[in, out] SiPolicy The Silicon Policy PPI instance
> +
> + @retval EFI_SUCCESS The function completed successfully
> +**/
> +EFI_STATUS
> +EFIAPI
> +UpdatePeiSiPolicy (
> + IN OUT SI_POLICY_PPI *SiPolicy
> + );
> +
> +/**
> + This function performs CPU PEI Policy initialization in Post-memory.
> +
> + @param[in, out] SiPolicyPpi The SI Policy PPI instance
> +
> + @retval EFI_SUCCESS The PPI is installed and initialized.
> + @retval EFI ERRORS The PPI is not successfully installed.
> + @retval EFI_OUT_OF_RESOURCES Do not have enough resources to
> initialize the driver
> +**/
> +EFI_STATUS
> +EFIAPI
> +UpdatePeiCpuPolicy (
> + IN OUT SI_POLICY_PPI *SiPolicyPpi
> + );
> +
> +/**
> + This function performs SI PEI Policy initialization.
> +
> + @param[in, out] SiPolicyPpi The SA Policy PPI instance
> +
> + @retval EFI_SUCCESS The PPI is installed and initialized.
> +**/
> +EFI_STATUS
> +EFIAPI
> +UpdatePeiSaPolicy (
> + IN OUT SI_POLICY_PPI *SiPolicyPpi
> + );
> +
> +
> +/**
> +This function performs SA PEI Policy initialization for PreMem.
> +
> +@param[in, out] SiPreMemPolicyPpi The SI PreMem Policy PPI instance
> +
> +@retval EFI_SUCCESS Update complete.
> +**/
> +EFI_STATUS
> +EFIAPI
> +UpdatePeiSaPolicyPreMem (
> +IN OUT SI_PREMEM_POLICY_PPI *SiPreMemPolicyPpi
> +);
> +
> +/**
> + This function performs PCH PEI Policy initialization.
> +
> + @param[in, out] SiPolicy The SI Policy PPI instance
> +
> + @retval EFI_SUCCESS The PPI is installed and initialized.
> + @retval EFI ERRORS The PPI is not successfully installed.
> + @retval EFI_OUT_OF_RESOURCES Do not have enough resources to
> initialize the driver
> +**/
> +EFI_STATUS
> +EFIAPI
> +UpdatePeiPchPolicy (
> + IN OUT SI_POLICY_PPI *SiPolicy
> + );
> +
> +/**
> + This function performs PCH PEI Policy initialization.
> +
> + @param[in, out] SiPreMemPolicy The SI PreMem Policy PPI instance
> +
> + @retval EFI_SUCCESS The PPI is installed and initialized.
> + @retval EFI ERRORS The PPI is not successfully installed.
> + @retval EFI_OUT_OF_RESOURCES Do not have enough resources to
> initialize the driver
> +**/
> +EFI_STATUS
> +EFIAPI
> +UpdatePeiPchPolicyPreMem (
> + IN OUT SI_PREMEM_POLICY_PPI *SiPreMemPolicy
> + );
> +
> +/**
> + Update the ME Policy Library
> +
> + @param[in, out] SiPolicy The SI Policy PPI instance
> +
> + @retval EFI_SUCCESS Update complete.
> +**/
> +EFI_STATUS
> +UpdatePeiMePolicy (
> + IN OUT SI_POLICY_PPI *SiPolicy
> + );
> +
> +/**
> + Update the ME Policy Library
> +
> + @param[in, out] SiPreMemPolicy The SI PreMem Policy PPI instance
> +
> + @retval EFI_SUCCESS Update complete.
> +**/
> +EFI_STATUS
> +UpdatePeiMePolicyPreMem (
> + IN OUT SI_PREMEM_POLICY_PPI *SiPreMemPolicy
> + );
> +
> +#endif
> diff --git
> a/Silicon/Intel/CoffeelakeSiliconPkg/Include/Library/SiConfigBlockLib.h
> b/Silicon/Intel/CoffeelakeSiliconPkg/Include/Library/SiConfigBlockLib.h
> new file mode 100644
> index 0000000000..fd8582b981
> --- /dev/null
> +++ b/Silicon/Intel/CoffeelakeSiliconPkg/Include/Library/SiConfigBlockLib.h
> @@ -0,0 +1,58 @@
> +/** @file
> + Prototype of the SiConfigBlockLib library.
> +
> + Copyright (c) 2019 Intel Corporation. All rights reserved. <BR>
> +
> + SPDX-License-Identifier: BSD-2-Clause-Patent
> +**/
> +
> +#ifndef _SI_CONFIG_BLOCK_LIB_H_
> +#define _SI_CONFIG_BLOCK_LIB_H_
> +
> +
> +typedef
> +VOID
> +(*LOAD_DEFAULT_FUNCTION) (
> + IN VOID *ConfigBlockPointer
> + );
> +
> +typedef struct {
> + EFI_GUID *Guid;
> + UINT16 Size;
> + UINT8 Revision;
> + LOAD_DEFAULT_FUNCTION LoadDefault;
> +} COMPONENT_BLOCK_ENTRY;
> +
> +/**
> + GetComponentConfigBlockTotalSize get config block table total size.
> +
> + @param[in] ComponentBlocks Component blocks array
> + @param[in] TotalBlockCount Number of blocks
> +
> + @retval Size of config block table
> +**/
> +UINT16
> +EFIAPI
> +GetComponentConfigBlockTotalSize (
> + IN COMPONENT_BLOCK_ENTRY *ComponentBlocks,
> + IN UINT16 TotalBlockCount
> + );
> +
> +/**
> + AddComponentConfigBlocks add all config blocks.
> +
> + @param[in] ConfigBlockTableAddress The pointer to add config blocks
> + @param[in] ComponentBlocks Config blocks array
> + @param[in] TotalBlockCount Number of blocks
> +
> + @retval EFI_SUCCESS The policy default is initialized.
> + @retval EFI_OUT_OF_RESOURCES Insufficient resources to create
> buffer
> +**/
> +EFI_STATUS
> +EFIAPI
> +AddComponentConfigBlocks (
> + IN VOID *ConfigBlockTableAddress,
> + IN COMPONENT_BLOCK_ENTRY *ComponentBlocks,
> + IN UINT16 TotalBlockCount
> + );
> +#endif // _SI_CONFIG_BLOCK_LIB_H_
> diff --git a/Silicon/Intel/CoffeelakeSiliconPkg/Include/Library/SiPolicyLib.h
> b/Silicon/Intel/CoffeelakeSiliconPkg/Include/Library/SiPolicyLib.h
> new file mode 100644
> index 0000000000..5633e2892c
> --- /dev/null
> +++ b/Silicon/Intel/CoffeelakeSiliconPkg/Include/Library/SiPolicyLib.h
> @@ -0,0 +1,110 @@
> +/** @file
> + Prototype of the SiPolicyLib library.
> +
> + Copyright (c) 2019 Intel Corporation. All rights reserved. <BR>
> +
> + SPDX-License-Identifier: BSD-2-Clause-Patent
> +**/
> +
> +#ifndef _SI_POLICY_LIB_H_
> +#define _SI_POLICY_LIB_H_
> +
> +#include <Ppi/SiPolicy.h>
> +
> +/**
> + Print whole SI_PREMEM_POLICY_PPI and serial out.
> +
> + @param[in] SiPreMemPolicyPpi The RC PREMEM Policy PPI instance
> +**/
> +VOID
> +EFIAPI
> +SiPreMemPrintPolicyPpi (
> + IN SI_PREMEM_POLICY_PPI *SiPreMemPolicyPpi
> + );
> +
> +/**
> + Print whole SI_POLICY_PPI and serial out.
> +
> + @param[in] SiPolicyPpi The RC Policy PPI instance
> +**/
> +VOID
> +EFIAPI
> +SiPrintPolicyPpi (
> + IN SI_POLICY_PPI *SiPolicyPpi
> + );
> +
> +/**
> + SiCreatePreMemConfigBlocks creates the config blocksg of Silicon Policy.
> + It allocates and zero out buffer, and fills in the Intel default settings.
> +
> + @param[out] SiPreMemPolicyPpi The pointer to get Silicon PREMEM
> Policy PPI instance
> +
> + @retval EFI_SUCCESS The policy default is initialized.
> + @retval EFI_OUT_OF_RESOURCES Insufficient resources to create buffer
> +**/
> +EFI_STATUS
> +EFIAPI
> +SiCreatePreMemConfigBlocks (
> + OUT SI_PREMEM_POLICY_PPI **SiPreMemPolicyPpi
> + );
> +
> +/**
> + SiCreateConfigBlocks creates the config blocksg of Silicon Policy.
> + It allocates and zero out buffer, and fills in the Intel default settings.
> +
> + @param[out] SiPolicyPpi The pointer to get Silicon Policy PPI instance
> +
> + @retval EFI_SUCCESS The policy default is initialized.
> + @retval EFI_OUT_OF_RESOURCES Insufficient resources to create buffer
> +**/
> +EFI_STATUS
> +EFIAPI
> +SiCreateConfigBlocks (
> + OUT SI_POLICY_PPI **SiPolicyPpi
> + );
> +
> +/**
> + SiPreMemInstallPolicyPpi installs SiPreMemPolicyPpi.
> + While installed, RC assumes the Policy is ready and finalized. So please
> update and override
> + any setting before calling this function.
> +
> + @param[in] SiPreMemPolicyPpi The pointer to Silicon PREMEM Policy PPI
> instance
> +
> + @retval EFI_SUCCESS The policy is installed.
> + @retval EFI_OUT_OF_RESOURCES Insufficient resources to create buffer
> +**/
> +EFI_STATUS
> +EFIAPI
> +SiPreMemInstallPolicyPpi (
> + IN SI_PREMEM_POLICY_PPI *SiPreMemPolicyPpi
> + );
> +
> +/**
> + SiInstallPolicyPpi installs SiPolicyPpi.
> + While installed, RC assumes the Policy is ready and finalized. So please
> update and override
> + any setting before calling this function.
> +
> + @param[in] SiPolicyPpi The pointer to Silicon Policy PPI instance
> +
> + @retval EFI_SUCCESS The policy is installed.
> + @retval EFI_OUT_OF_RESOURCES Insufficient resources to create buffer
> +**/
> +EFI_STATUS
> +EFIAPI
> +SiInstallPolicyPpi (
> + IN SI_POLICY_PPI *SiPolicyPpi
> + );
> +
> +/**
> + Print out all silicon policy information.
> +
> + @param[in] SiPolicyPpi The pointer to Silicon Policy PPI instance
> +
> + @retval none
> +**/
> +VOID
> +DumpSiPolicy (
> + IN SI_POLICY_PPI *SiPolicyPpi
> + );
> +
> +#endif // _SI_PREMEM_POLICY_LIB_H_
> diff --git a/Silicon/Intel/CoffeelakeSiliconPkg/Include/Library/StallPpiLib.h
> b/Silicon/Intel/CoffeelakeSiliconPkg/Include/Library/StallPpiLib.h
> new file mode 100644
> index 0000000000..cab5342c54
> --- /dev/null
> +++ b/Silicon/Intel/CoffeelakeSiliconPkg/Include/Library/StallPpiLib.h
> @@ -0,0 +1,22 @@
> +/** @file
> + Header file for a library to install StallPpi.
> +
> + Copyright (c) 2019 Intel Corporation. All rights reserved. <BR>
> +
> + SPDX-License-Identifier: BSD-2-Clause-Patent
> +**/
> +
> +#ifndef _STALL_PPI_LIB_H_
> +#define _STALL_PPI_LIB_H_
> +
> +/**
> + This function is to install StallPpi
> +
> + @retval EFI_SUCCESS if Ppi is installed successfully.
> +**/
> +EFI_STATUS
> +EFIAPI
> +InstallStallPpi(
> + VOID
> + );
> +#endif //_STALL_PPI_LIB_H_
> diff --git a/Silicon/Intel/CoffeelakeSiliconPkg/Include/Library/UsbLib.h
> b/Silicon/Intel/CoffeelakeSiliconPkg/Include/Library/UsbLib.h
> new file mode 100644
> index 0000000000..a7cd305c62
> --- /dev/null
> +++ b/Silicon/Intel/CoffeelakeSiliconPkg/Include/Library/UsbLib.h
> @@ -0,0 +1,34 @@
> +/** @file
> + Header file of available functions in general USB Library
> +
> + Copyright (c) 2019 Intel Corporation. All rights reserved. <BR>
> +
> + SPDX-License-Identifier: BSD-2-Clause-Patent
> +**/
> +
> +#ifndef _USB_LIB_H_
> +#define _USB_LIB_H_
> +
> +#include <Uefi/UefiBaseType.h>
> +
> +/*
> + Disables requested ports through Port Disable Override register
> programming
> +
> + @param[in] XhciMmioBase xHCI Memory BAR0 address
> + @param[in] Usb2DisabledPorts Disabled ports bitmask with a bit for
> each USB2 port
> + i.e. BIT0 is Port 0, BIT1 is Port 1 etc
> + @param[in] Usb3DisabledPorts Disabled ports bitmask with a bit for
> each USB3 port
> + i.e. BIT0 is Port 0, BIT1 is Port 1 etc
> +
> + @retval EFI_SUCCESS Programming ended successfully and no
> errors occured
> + EFI_ACCESS_DENIED Port Disable Override register was locked
> and write
> + didn't go through. Platform may require restart to
> unlock.
> +*/
> +EFI_STATUS
> +UsbDisablePorts (
> + IN UINTN XhciMmioBase,
> + IN UINT32 Usb2DisabledPorts,
> + IN UINT32 Usb3DisabledPorts
> + );
> +
> +#endif // _USB_LIB_H
> diff --git a/Silicon/Intel/CoffeelakeSiliconPkg/Include/PcieRegs.h
> b/Silicon/Intel/CoffeelakeSiliconPkg/Include/PcieRegs.h
> new file mode 100644
> index 0000000000..86bed53c6f
> --- /dev/null
> +++ b/Silicon/Intel/CoffeelakeSiliconPkg/Include/PcieRegs.h
> @@ -0,0 +1,319 @@
> +/** @file
> + Register names for PCIE standard register
> +
> + Conventions:
> +
> + - Prefixes:
> + Definitions beginning with "R_" are registers
> + Definitions beginning with "B_" are bits within registers
> + Definitions beginning with "V_" are meaningful values within the bits
> + Definitions beginning with "S_" are register sizes
> + Definitions beginning with "N_" are the bit position
> +
> + Copyright (c) 2019 Intel Corporation. All rights reserved. <BR>
> +
> + SPDX-License-Identifier: BSD-2-Clause-Patent
> +**/
> +
> +#ifndef _PCIE_REGS_H_
> +#define _PCIE_REGS_H_
> +
> +#include <IndustryStandard/Pci30.h>
> +
> +//
> +// PCI type 0 Header
> +//
> +#define R_PCI_PI_OFFSET 0x09
> +#define R_PCI_SCC_OFFSET 0x0A
> +#define R_PCI_BCC_OFFSET 0x0B
> +
> +//
> +// PCI type 1 Header
> +//
> +#define R_PCI_BRIDGE_BNUM 0x18 ///< Bus Number
> Register
> +#define B_PCI_BRIDGE_BNUM_SBBN 0x00FF0000 ///<
> Subordinate Bus Number
> +#define B_PCI_BRIDGE_BNUM_SCBN 0x0000FF00 ///<
> Secondary Bus Number
> +#define B_PCI_BRIDGE_BNUM_PBN 0x000000FF ///< Primary
> Bus Number
> +#define B_PCI_BRIDGE_BNUM_SBBN_SCBN
> (B_PCI_BRIDGE_BNUM_SBBN | B_PCI_BRIDGE_BNUM_SCBN)
> +
> +#define R_PCI_BRIDGE_IOBL 0x1C ///< I/O Base and Limit
> Register
> +
> +#define R_PCI_BRIDGE_MBL 0x20 ///< Memory Base and
> Limit Register
> +#define B_PCI_BRIDGE_MBL_ML 0xFFF00000 ///< Memory
> Limit
> +#define B_PCI_BRIDGE_MBL_MB 0x0000FFF0 ///< Memory
> Base
> +
> +#define R_PCI_BRIDGE_PMBL 0x24 ///< Prefetchable
> Memory Base and Limit Register
> +#define B_PCI_BRIDGE_PMBL_PML 0xFFF00000 ///<
> Prefetchable Memory Limit
> +#define B_PCI_BRIDGE_PMBL_I64L 0x000F0000 ///< 64-bit
> Indicator
> +#define B_PCI_BRIDGE_PMBL_PMB 0x0000FFF0 ///<
> Prefetchable Memory Base
> +#define B_PCI_BRIDGE_PMBL_I64B 0x0000000F ///< 64-bit
> Indicator
> +
> +#define R_PCI_BRIDGE_PMBU32 0x28 ///< Prefetchable
> Memory Base Upper 32-Bit Register
> +#define B_PCI_BRIDGE_PMBU32 0xFFFFFFFF
> +
> +#define R_PCI_BRIDGE_PMLU32 0x2C ///< Prefetchable
> Memory Limit Upper 32-Bit Register
> +#define B_PCI_BRIDGE_PMLU32 0xFFFFFFFF
> +
> +//
> +// PCIE capabilities register
> +//
> +#define R_PCIE_CAP_ID_OFFSET 0x00 ///< Capability ID
> +#define R_PCIE_CAP_NEXT_PRT_OFFSET 0x01 ///< Next Capability
> Capability ID Pointer
> +
> +//
> +// PCI Express Capability List Register (CAPID:10h)
> +//
> +#define R_PCIE_XCAP_OFFSET 0x02 ///< PCI Express
> Capabilities Register (Offset 02h)
> +#define S_PCIE_XCAP 2
> +#define B_PCIE_XCAP_SI BIT8 ///< Slot Implemented
> +#define B_PCIE_XCAP_DT (BIT7 | BIT6 | BIT5 | BIT4) ///<
> Device/Port Type
> +#define N_PCIE_XCAP_DT 4
> +
> +#define R_PCIE_DCAP_OFFSET 0x04 ///< Device Capabilities
> Register (Offset 04h)
> +#define S_PCIE_DCAP 4
> +#define B_PCIE_DCAP_RBER BIT15 ///< Role-Based Error
> Reporting
> +#define B_PCIE_DCAP_E1AL (BIT11 | BIT10 | BIT9) ///<
> Endpoint L1 Acceptable Latency
> +#define N_PCIE_DCAP_E1AL 9
> +#define B_PCIE_DCAP_E0AL (BIT8 | BIT7 | BIT6) ///<
> Endpoint L0s Acceptable Latency
> +#define N_PCIE_DCAP_E0AL 6
> +#define B_PCIE_DCAP_MPS (BIT2 | BIT1 | BIT0) ///<
> Max_Payload_Size Supported
> +
> +#define R_PCIE_DCTL_OFFSET 0x08 ///< Device Control
> Register (Offset 08h)
> +#define B_PCIE_DCTL_MPS (BIT7 | BIT6 | BIT5) ///<
> Max_Payload_Size
> +#define N_PCIE_DCTL_MPS 5
> +#define B_PCIE_DCTL_URE BIT3 ///< Unsupported
> Request Reporting Enable
> +#define B_PCIE_DCTL_FEE BIT2 ///< Fatal Error Reporting
> Enable
> +#define B_PCIE_DCTL_NFE BIT1 ///< Non-Fatal Error
> Reporting Enable
> +#define B_PCIE_DCTL_CEE BIT0 ///< Correctable Error
> Reporting Enable
> +
> +#define R_PCIE_DSTS_OFFSET 0x0A ///< Device Status
> Register (Offset 0Ah)
> +#define B_PCIE_DSTS_TDP BIT5 ///< Transactions Pending
> +#define B_PCIE_DSTS_APD BIT4 ///< AUX Power Detected
> +#define B_PCIE_DSTS_URD BIT3 ///< Unsupported
> Request Detected
> +#define B_PCIE_DSTS_FED BIT2 ///< Fatal Error Detected
> +#define B_PCIE_DSTS_NFED BIT1 ///< Non-Fatal Error
> Detected
> +#define B_PCIE_DSTS_CED BIT0 ///< Correctable Error
> Detected
> +
> +#define R_PCIE_LCAP_OFFSET 0x0C ///< Link Capabilities
> Register (Offset 0Ch)
> +#define B_PCIE_LCAP_ASPMOC BIT22 ///< ASPM Optionality
> Compliance
> +#define B_PCIE_LCAP_CPM BIT18 ///< Clock Power
> Management
> +#define B_PCIE_LCAP_EL1 (BIT17 | BIT16 | BIT15) ///< L1
> Exit Latency
> +#define N_PCIE_LCAP_EL1 15
> +#define B_PCIE_LCAP_EL0 (BIT14 | BIT13 | BIT12) ///< L0s
> Exit Latency
> +#define N_PCIE_LCAP_EL0 12
> +#define B_PCIE_LCAP_APMS (BIT11 | BIT10) ///< Active
> State Power Management (ASPM) Support
> +#define B_PCIE_LCAP_APMS_L0S BIT10
> +#define B_PCIE_LCAP_APMS_L1 BIT11
> +#define N_PCIE_LCAP_APMS 10
> +#define B_PCIE_LCAP_MLW 0x000003F0 ///< Maximum
> Link Width
> +#define N_PCIE_LCAP_MLW 4
> +#define B_PCIE_LCAP_MLS (BIT3 | BIT2 | BIT1 | BIT0) ///<
> Max Link Speed
> +#define V_PCIE_LCAP_MLS_GEN3 3
> +
> +#define R_PCIE_LCTL_OFFSET 0x10 ///< Link Control
> Register (Offset 10h)
> +#define B_PCIE_LCTL_ECPM BIT8 ///< Enable Clock Power
> Management
> +#define B_PCIE_LCTL_ES BIT7 ///< Extended Synch
> +#define B_PCIE_LCTL_CCC BIT6 ///< Common Clock
> Configuration
> +#define B_PCIE_LCTL_RL BIT5 ///< Retrain Link
> +#define B_PCIE_LCTL_LD BIT4 ///< Link Disable
> +#define B_PCIE_LCTL_ASPM (BIT1 | BIT0) ///< Active State
> Power Management (ASPM) Control
> +#define V_PCIE_LCTL_ASPM_L0S 1
> +#define V_PCIE_LCTL_ASPM_L1 2
> +#define V_PCIE_LCTL_ASPM_L0S_L1 3
> +
> +#define R_PCIE_LSTS_OFFSET 0x12 ///< Link Status Register
> (Offset 12h)
> +#define B_PCIE_LSTS_LA BIT13 ///< Data Link Layer Link
> Active
> +#define B_PCIE_LSTS_SCC BIT12 ///< Slot Clock
> Configuration
> +#define B_PCIE_LSTS_LT BIT11 ///< Link Training
> +#define B_PCIE_LSTS_NLW 0x03F0 ///< Negotiated Link
> Width
> +#define N_PCIE_LSTS_NLW 4
> +#define V_PCIE_LSTS_NLW_1 0x0010
> +#define V_PCIE_LSTS_NLW_2 0x0020
> +#define V_PCIE_LSTS_NLW_4 0x0040
> +#define B_PCIE_LSTS_CLS 0x000F ///< Current Link Speed
> +#define V_PCIE_LSTS_CLS_GEN1 1
> +#define V_PCIE_LSTS_CLS_GEN2 2
> +#define V_PCIE_LSTS_CLS_GEN3 3
> +
> +#define R_PCIE_SLCAP_OFFSET 0x14 ///< Slot Capabilities
> Register (Offset 14h)
> +#define S_PCIE_SLCAP 4
> +#define B_PCIE_SLCAP_PSN 0xFFF80000 ///< Physical Slot
> Number
> +#define B_PCIE_SLCAP_SLS 0x00018000 ///< Slot Power
> Limit Scale
> +#define B_PCIE_SLCAP_SLV 0x00007F80 ///< Slot Power
> Limit Value
> +#define B_PCIE_SLCAP_HPC BIT6 ///< Hot-Plug Capable
> +#define B_PCIE_SLCAP_HPS BIT5 ///< Hot-Plug Surprise
> +
> +#define R_PCIE_SLCTL_OFFSET 0x18 ///< Slot Control
> Register (Offset 18h)
> +#define S_PCIE_SLCTL 2
> +#define B_PCIE_SLCTL_HPE BIT5 ///< Hot Plug Interrupt
> Enable
> +#define B_PCIE_SLCTL_PDE BIT3 ///< Presence Detect
> Changed Enable
> +
> +#define R_PCIE_SLSTS_OFFSET 0x1A ///< Slot Status Register
> (Offset 1Ah)
> +#define S_PCIE_SLSTS 2
> +#define B_PCIE_SLSTS_PDS BIT6 ///< Presence Detect State
> +#define B_PCIE_SLSTS_PDC BIT3 ///< Presence Detect
> Changed
> +
> +#define R_PCIE_RCTL_OFFSET 0x1C ///< Root Control
> Register (Offset 1Ch)
> +#define S_PCIE_RCTL 2
> +#define B_PCIE_RCTL_PIE BIT3 ///< PME Interrupt Enable
> +#define B_PCIE_RCTL_SFE BIT2 ///< System Error on Fatal
> Error Enable
> +#define B_PCIE_RCTL_SNE BIT1 ///< System Error on
> Non-Fatal Error Enable
> +#define B_PCIE_RCTL_SCE BIT0 ///< System Error on
> Correctable Error Enable
> +
> +#define R_PCIE_RSTS_OFFSET 0x20 ///< Root Status Register
> (Offset 20h)
> +#define S_PCIE_RSTS 4
> +
> +#define R_PCIE_DCAP2_OFFSET 0x24 ///< Device Capabilities
> 2 Register (Offset 24h)
> +#define B_PCIE_DCAP2_OBFFS (BIT19 | BIT18) ///< OBFF
> Supported
> +#define B_PCIE_DCAP2_LTRMS BIT11 ///< LTR Mechanism
> Supported
> +
> +#define R_PCIE_DCTL2_OFFSET 0x28 ///< Device Control 2
> Register (Offset 28h)
> +#define B_PCIE_DCTL2_OBFFEN (BIT14 | BIT13) ///< OBFF
> Enable
> +#define N_PCIE_DCTL2_OBFFEN 13
> +#define V_PCIE_DCTL2_OBFFEN_DIS 0 ///< Disabled
> +#define V_PCIE_DCTL2_OBFFEN_WAKE 3 ///< Enabled using
> WAKE# signaling
> +#define B_PCIE_DCTL2_LTREN BIT10 ///< LTR Mechanism
> Enable
> +#define B_PCIE_DCTL2_CTD BIT4 ///< Completion Timeout
> Disable
> +#define B_PCIE_DCTL2_CTV (BIT3 | BIT2 | BIT1 | BIT0) ///<
> Completion Timeout Value
> +#define V_PCIE_DCTL2_CTV_DEFAULT 0x0
> +#define V_PCIE_DCTL2_CTV_40MS_50MS 0x5
> +#define V_PCIE_DCTL2_CTV_160MS_170MS 0x6
> +#define V_PCIE_DCTL2_CTV_400MS_500MS 0x9
> +#define V_PCIE_DCTL2_CTV_1P6S_1P7S 0xA
> +
> +#define R_PCIE_LCTL2_OFFSET 0x30 ///< Link Control 2
> Register (Offset 30h)
> +#define B_PCIE_LCTL2_SD BIT6 ///< Selectable
> de-emphasis (0 = -6dB, 1 = -3.5dB)
> +#define B_PCIE_LCTL2_TLS (BIT3 | BIT2 | BIT1 | BIT0) ///<
> Target Link Speed
> +#define V_PCIE_LCTL2_TLS_GEN1 1
> +#define V_PCIE_LCTL2_TLS_GEN2 2
> +#define V_PCIE_LCTL2_TLS_GEN3 3
> +
> +#define R_PCIE_LSTS2_OFFSET 0x32 ///< Link Status 2
> Register (Offset 32h)
> +#define B_PCIE_LSTS2_LER BIT5 ///< Link Equalization
> Request
> +#define B_PCIE_LSTS2_EQP3S BIT4 ///< Equalization Phase 3
> Successful
> +#define B_PCIE_LSTS2_EQP2S BIT3 ///< Equalization Phase 2
> Successful
> +#define B_PCIE_LSTS2_EQP1S BIT2 ///< Equalization Phase 1
> Successful
> +#define B_PCIE_LSTS2_EC BIT1 ///< Equalization
> Complete
> +#define B_PCIE_LSTS2_CDL BIT0 ///< Current De-emphasis
> Level
> +
> +//
> +// PCI Power Management Capability (CAPID:01h)
> +//
> +#define R_PCIE_PMC_OFFSET 0x02 ///< Power
> Management Capabilities Register
> +#define S_PCIE_PMC 2
> +#define B_PCIE_PMC_PMES (BIT15 | BIT14 | BIT13 | BIT12
> | BIT11) ///< PME Support
> +#define B_PCIE_PMC_PMEC BIT3 ///< PME Clock
> +
> +#define R_PCIE_PMCS_OFFST 0x04 ///< Power
> Management Status/Control Register
> +#define S_PCIE_PMCS 4
> +#define B_PCIE_PMCS_BPCE BIT23 ///< Bus Power/Clock
> Control Enable
> +#define B_PCIE_PMCS_B23S BIT22 ///< B2/B3 Support
> +#define B_PCIE_PMCS_PMES BIT15 ///< PME_Status
> +#define B_PCIE_PMCS_PMEE BIT8 ///< PME Enable
> +#define B_PCIE_PMCS_NSR BIT3 ///< No Soft Reset
> +#define B_PCIE_PMCS_PS (BIT1 | BIT0) ///< Power State
> +#define V_PCIE_PMCS_PS_D0 0
> +#define V_PCIE_PMCS_PS_D3H 3
> +
> +//
> +// PCIE Extension Capability Register
> +//
> +#define B_PCIE_EXCAP_NCO 0xFFF00000 ///< Next
> Capability Offset
> +#define N_PCIE_EXCAP_NCO 20
> +#define V_PCIE_EXCAP_NCO_LISTEND 0
> +#define B_PCIE_EXCAP_CV 0x000F0000 ///< Capability
> Version
> +#define N_PCIE_EXCAP_CV 16
> +#define B_PCIE_EXCAP_CID 0x0000FFFF ///< Capability ID
> +
> +//
> +// Advanced Error Reporting Capability (CAPID:0001h)
> +//
> +#define V_PCIE_EX_AEC_CID 0x0001 ///< Capability ID
> +#define R_PCIE_EX_UEM_OFFSET 0x08 ///< Uncorrectable
> Error Mask Register
> +#define B_PCIE_EX_UEM_CT BIT14 ///< Completion
> Timeout Mask
> +#define B_PCIE_EX_UEM_UC BIT16 ///< Unexpected
> Completion
> +
> +//
> +// ACS Extended Capability (CAPID:000Dh)
> +//
> +#define V_PCIE_EX_ACS_CID 0x000D ///< Capability ID
> +#define R_PCIE_EX_ACSCAPR_OFFSET 0x04 ///< ACS Capability
> Register
> +//#define R_PCIE_EX_ACSCTLR_OFFSET 0x08 ///< ACS Control
> Register (NOTE: register size in PCIE spce is not match the PCH register size)
> +
> +
> +//
> +// Latency Tolerance Reporting Extended Capability Registers (CAPID:0018h)
> +//
> +#define R_PCH_PCIE_LTRECH_CID 0x0018
> +#define R_PCH_PCIE_LTRECH_MSLR_OFFSET 0x04
> +#define N_PCH_PCIE_LTRECH_MSLR_VALUE 0
> +#define N_PCH_PCIE_LTRECH_MSLR_SCALE 10
> +#define R_PCH_PCIE_LTRECH_MNSLR_OFFSET 0x06
> +#define N_PCH_PCIE_LTRECH_MNSLR_VALUE 0
> +#define N_PCH_PCIE_LTRECH_MNSLR_SCALE 10
> +//
> +// Secondary PCI Express Extended Capability Header (CAPID:0019h)
> +//
> +#define V_PCIE_EX_SPE_CID 0x0019 ///< Capability ID
> +#define R_PCIE_EX_LCTL3_OFFSET 0x04 ///< Link Control 3
> Register
> +#define B_PCIE_EX_LCTL3_PE BIT0 ///< Perform
> Equalization
> +#define R_PCIE_EX_LES_OFFSET 0x08 ///< Lane Error Status
> +#define R_PCIE_EX_L01EC_OFFSET 0x0C ///< Lane 0 and Lan 1
> Equalization Control Register (Offset 0Ch)
> +#define B_PCIE_EX_L01EC_UPL1TP 0x0F000000 ///< Upstream
> Port Lane 1 Transmitter Preset
> +#define N_PCIE_EX_L01EC_UPL1TP 24
> +#define B_PCIE_EX_L01EC_DPL1TP 0x000F0000 ///<
> Downstream Port Lane 1 Transmitter Preset
> +#define N_PCIE_EX_L01EC_DPL1TP 16
> +#define B_PCIE_EX_L01EC_UPL0TP 0x00000F00 ///< Upstream
> Port Transmitter Preset
> +#define N_PCIE_EX_L01EC_UPL0TP 8
> +#define B_PCIE_EX_L01EC_DPL0TP 0x0000000F ///<
> Downstream Port Transmitter Preset
> +#define N_PCIE_EX_L01EC_DPL0TP 0
> +
> +#define R_PCIE_EX_L23EC_OFFSET 0x10 ///< Lane 2 and Lane 3
> Equalization Control Register (Offset 10h)
> +#define B_PCIE_EX_L23EC_UPL3TP 0x0F000000 ///< Upstream
> Port Lane 3 Transmitter Preset
> +#define N_PCIE_EX_L23EC_UPL3TP 24
> +#define B_PCIE_EX_L23EC_DPL3TP 0x000F0000 ///<
> Downstream Port Lane 3 Transmitter Preset
> +#define N_PCIE_EX_L23EC_DPL3TP 16
> +#define B_PCIE_EX_L23EC_UPL2TP 0x00000F00 ///< Upstream
> Port Lane 2 Transmitter Preset
> +#define N_PCIE_EX_L23EC_UPL2TP 8
> +#define B_PCIE_EX_L23EC_DPL2TP 0x0000000F ///<
> Downstream Port Lane 2 Transmitter Preset
> +#define N_PCIE_EX_L23EC_DPL2TP 0
> +
> +
> +//
> +// L1 Sub-States Extended Capability Register (CAPID:001Eh)
> +//
> +#define V_PCIE_EX_L1S_CID 0x001E ///< Capability ID
> +#define R_PCIE_EX_L1SCAP_OFFSET 0x04 ///< L1 Sub-States
> Capabilities
> +#define B_PCIE_EX_L1SCAP_PTV 0x00F80000 //< Port
> Tpower_on value
> +#define N_PCIE_EX_L1SCAP_PTV 19
> +#define B_PCIE_EX_L1SCAP_PTPOS 0x00030000 //< Port
> Tpower_on scale
> +#define N_PCIE_EX_L1SCAP_PTPOS 16
> +#define B_PCIE_EX_L1SCAP_CMRT 0x0000FF00 //< Common
> Mode Restore time
> +#define N_PCIE_EX_L1SCAP_CMRT 8
> +#define V_PCIE_EX_L1SCAP_PTPOS_2us 0
> +#define V_PCIE_EX_L1SCAP_PTPOS_10us 1
> +#define V_PCIE_EX_L1SCAP_PTPOS_100us 2
> +#define B_PCIE_EX_L1SCAP_L1PSS BIT4 ///< L1 PM substates
> supported
> +#define B_PCIE_EX_L1SCAP_AL1SS BIT3 ///< ASPM L1.1
> supported
> +#define B_PCIE_EX_L1SCAP_AL12S BIT2 ///< ASPM L1.2
> supported
> +#define B_PCIE_EX_L1SCAP_PPL11S BIT1 ///< PCI-PM L1.1
> supported
> +#define B_PCIE_EX_L1SCAP_PPL12S BIT0 ///< PCI-PM L1.2
> supported
> +#define R_PCIE_EX_L1SCTL1_OFFSET 0x08 ///< L1 Sub-States
> Control 1
> +#define N_PCIE_EX_L1SCTL1_L12LTRTLSV 29
> +#define N_PCIE_EX_L1SCTL1_L12LTRTLV 16
> +#define R_PCIE_EX_L1SCTL2_OFFSET 0x0C ///< L1 Sub-States
> Control 2
> +#define N_PCIE_EX_L1SCTL2_POWT 3
> +
> +//
> +// Base Address Offset
> +//
> +#define R_BASE_ADDRESS_OFFSET_0 0x0010 ///< Base Address
> Register 0
> +#define R_BASE_ADDRESS_OFFSET_1 0x0014 ///< Base Address
> Register 1
> +#define R_BASE_ADDRESS_OFFSET_2 0x0018 ///< Base Address
> Register 2
> +#define R_BASE_ADDRESS_OFFSET_3 0x001C ///< Base Address
> Register 3
> +#define R_BASE_ADDRESS_OFFSET_4 0x0020 ///< Base Address
> Register 4
> +#define R_BASE_ADDRESS_OFFSET_5 0x0024 ///< Base Address
> Register 5
> +#define B_PCI_BAR_MEMORY_TYPE_MASK (BIT1 | BIT2)
> +#define B_PCI_BAR_MEMORY_TYPE_64 BIT2
> +
> +#endif
> diff --git a/Silicon/Intel/CoffeelakeSiliconPkg/Include/Ppi/SiPolicy.h
> b/Silicon/Intel/CoffeelakeSiliconPkg/Include/Ppi/SiPolicy.h
> new file mode 100644
> index 0000000000..ac270e24fb
> --- /dev/null
> +++ b/Silicon/Intel/CoffeelakeSiliconPkg/Include/Ppi/SiPolicy.h
> @@ -0,0 +1,29 @@
> +/** @file
> + Silicon Policy PPI is used for specifying platform
> + related Intel silicon information and policy setting.
> + This PPI is consumed by the silicon PEI modules and carried
> + over to silicon DXE modules.
> +
> + Copyright (c) 2019 Intel Corporation. All rights reserved. <BR>
> +
> + SPDX-License-Identifier: BSD-2-Clause-Patent
> +**/
> +
> +#ifndef _SI_POLICY_PPI_H_
> +#define _SI_POLICY_PPI_H_
> +
> +#include <SiPolicyStruct.h>
> +#include <PchAccess.h>
> +#include <PchPolicyCommon.h>
> +#include <PchPreMemPolicyCommon.h>
> +#include <SaPolicyCommon.h>
> +#include <CpuPolicyCommon.h>
> +
> +extern EFI_GUID gSiPreMemPolicyPpiGuid;
> +extern EFI_GUID gSiPolicyPpiGuid;
> +
> +typedef struct _SI_PREMEM_POLICY_STRUCT SI_PREMEM_POLICY_PPI;
> +typedef struct _SI_POLICY_STRUCT SI_POLICY_PPI;
> +
> +#endif // _SI_POLICY_PPI_H_
> +
> diff --git
> a/Silicon/Intel/CoffeelakeSiliconPkg/Include/Private/Library/PcieInitLib.h
> b/Silicon/Intel/CoffeelakeSiliconPkg/Include/Private/Library/PcieInitLib.h
> new file mode 100644
> index 0000000000..fe676f8519
> --- /dev/null
> +++ b/Silicon/Intel/CoffeelakeSiliconPkg/Include/Private/Library/PcieInitLib.h
> @@ -0,0 +1,26 @@
> +/** @file
> + PCIe Initialization Library header file
> +
> + Copyright (c) 2019 Intel Corporation. All rights reserved. <BR>
> +
> + SPDX-License-Identifier: BSD-2-Clause-Patent
> +**/
> +
> +#ifndef _PCIE_INIT_LIB_H_
> +#define _PCIE_INIT_LIB_H_
> +
> +#include <Uefi/UefiBaseType.h>
> +#include <Library/DebugLib.h>
> +#include <Library/BaseLib.h>
> +#include <Library/BaseMemoryLib.h>
> +#include <Library/PostCodeLib.h>
> +#include <Library/HobLib.h>
> +#include <Library/IoLib.h>
> +#include <Library/TimerLib.h>
> +#include <Library/PeiServicesLib.h>
> +#include <IndustryStandard/Pci30.h>
> +#include <Library/PciSegmentLib.h>
> +#include <Library/GpioLib.h>
> +#include <SaRegs.h>
> +
> +#endif
> diff --git
> a/Silicon/Intel/CoffeelakeSiliconPkg/Include/Private/Library/UsbInitLib.h
> b/Silicon/Intel/CoffeelakeSiliconPkg/Include/Private/Library/UsbInitLib.h
> new file mode 100644
> index 0000000000..f05cf0fdea
> --- /dev/null
> +++ b/Silicon/Intel/CoffeelakeSiliconPkg/Include/Private/Library/UsbInitLib.h
> @@ -0,0 +1,71 @@
> +/** @file
> + Header file for USB initialization library.
> +
> + Copyright (c) 2019 Intel Corporation. All rights reserved. <BR>
> +
> + SPDX-License-Identifier: BSD-2-Clause-Patent
> +**/
> +
> +#ifndef _USB_INIT_LIB_H_
> +#define _USB_INIT_LIB_H_
> +
> +#include <Ppi/SiPolicy.h>
> +
> +/**
> + Common entry point for PCH and CPU xDCI controller
> +
> + @param[in] UsbConfig The USB_CONFIG policy instance
> + @param[in] XdciPciMmBase xDCI PCI config space address
> +**/
> +VOID
> +XdciConfigure (
> + IN USB_CONFIG *UsbConfig,
> + IN UINT64 XhciPciMmBase
> + );
> +
> +/**
> + Common entry point for PCH and CPU xHCI controller
> +
> + @param[in] UsbConfig The USB_CONFIG policy instance
> + @param[in] XhciPciMmBase xHCI PCI config space address
> +**/
> +VOID
> +XhciConfigure (
> + IN USB_CONFIG *UsbConfig,
> + IN UINT64 XhciPciMmBase
> + );
> +
> +/**
> + Configure xHCI after initialization
> +
> + @param[in] UsbConfig The USB_CONFIG policy instance
> + @param[in] XhciPciMmBase XHCI PCI CFG Base Address
> +**/
> +VOID
> +XhciConfigureAfterInit (
> + IN USB_CONFIG *UsbConfig,
> + IN UINT64 XhciPciMmBase
> + );
> +
> +/**
> + Locks xHCI configuration by setting the proper lock bits in controller
> +
> + @param[in] UsbConfig The USB_CONFIG policy instance
> + @param[in] XhciPciBase xHCI PCI config space address
> +**/
> +VOID
> +XhciLockConfiguration (
> + IN USB_CONFIG *UsbConfig,
> + IN UINT64 XhciPciBase
> + );
> +
> +/**
> + Tune the USB 2.0 high-speed signals quality.
> +
> + @param[in] UsbConfig The USB_CONFIG policy instance
> +**/
> +VOID
> +Usb2AfeProgramming (
> + IN USB_CONFIG *UsbConfig
> + );
> +#endif // _USB_INIT_LIB_H_
> diff --git
> a/Silicon/Intel/CoffeelakeSiliconPkg/Include/Protocol/SiPolicyProtocol.h
> b/Silicon/Intel/CoffeelakeSiliconPkg/Include/Protocol/SiPolicyProtocol.h
> new file mode 100644
> index 0000000000..671e94b3bc
> --- /dev/null
> +++ b/Silicon/Intel/CoffeelakeSiliconPkg/Include/Protocol/SiPolicyProtocol.h
> @@ -0,0 +1,60 @@
> +/** @file
> + Protocol used for specifying platform related Silicon information and policy
> setting.
> +
> + Copyright (c) 2019 Intel Corporation. All rights reserved. <BR>
> +
> + SPDX-License-Identifier: BSD-2-Clause-Patent
> +**/
> +
> +#ifndef _SI_POLICY_PROTOCOL_H_
> +#define _SI_POLICY_PROTOCOL_H_
> +
> +#include <IndustryStandard/Hsti.h>
> +
> +//
> +// DXE_SI_POLICY_PROTOCOL revisions
> +//
> +#define DXE_SI_POLICY_PROTOCOL_REVISION 2
> +
> +extern EFI_GUID gDxeSiPolicyProtocolGuid;
> +
> +#pragma pack (push,1)
> +
> +/**
> + The protocol allows the platform code to publish a set of configuration
> information that the
> + Silicon drivers will use to configure the processor in the DXE phase.
> + This Policy Protocol needs to be initialized for Silicon configuration.
> + @note The Protocol has to be published before processor DXE drivers are
> dispatched.
> +**/
> +typedef struct {
> + /**
> + This member specifies the revision of the Si Policy protocol. This field is used
> to indicate backward
> + compatible changes to the protocol. Any such changes to this protocol will
> result in an update in the revision number.
> +
> + <b>Revision 1</b>:
> + - Initial version
> + <b>Revision 2</b>:
> + - Added SmbiosOemTypeFirmwareVersionInfo to determines the SMBIOS
> OEM type
> + **/
> + UINT8 Revision;
> + /**
> + SmbiosOemTypeFirmwareVersionInfo determines the SMBIOS OEM type
> (0x80 to 0xFF) defined in SMBIOS,
> + values 0-0x7F will be treated as disable FVI reporting.
> + FVI structure uses it as SMBIOS OEM type to provide version information.
> + **/
> + UINT8 SmbiosOemTypeFirmwareVersionInfo;
> + UINT8 ReservedByte[6]; ///< Reserved bytes, align to
> multiple 8.
> + /**
> + This member describes a pointer to Hsti results from previous boot. In
> order to mitigate the large performance cost
> + of performing all of the platform security tests on each boot, we can save
> the results across boots and retrieve
> + and point this policy to them prior to the launch of HstiSiliconDxe. Logic
> should be implemented to not populate this
> + upon major platform changes (i.e changes to setup option or platform
> hw)to ensure that results accurately reflect the
> + configuration of the platform.
> + **/
> + ADAPTER_INFO_PLATFORM_SECURITY *Hsti; ///< This is a pointer to Hsti
> results from previous boot
> + UINTN HstiSize; ///< Size of results, if setting Hsti policy to
> point to previous results
> +} DXE_SI_POLICY_PROTOCOL;
> +
> +#pragma pack (pop)
> +
> +#endif
> diff --git a/Silicon/Intel/CoffeelakeSiliconPkg/Include/Register/RegsUsb.h
> b/Silicon/Intel/CoffeelakeSiliconPkg/Include/Register/RegsUsb.h
> new file mode 100644
> index 0000000000..58a185c8fd
> --- /dev/null
> +++ b/Silicon/Intel/CoffeelakeSiliconPkg/Include/Register/RegsUsb.h
> @@ -0,0 +1,55 @@
> +/** @file
> + Register names for USB Host and device controller
> +
> + Conventions:
> +
> + - Register definition format:
> +
> Prefix_[GenerationName]_[ComponentName]_SubsystemName_RegisterSpa
> ce_RegisterName
> + - Prefix:
> + Definitions beginning with "R_" are registers
> + Definitions beginning with "B_" are bits within registers
> + Definitions beginning with "V_" are meaningful values within the bits
> + Definitions beginning with "S_" are register size
> + Definitions beginning with "N_" are the bit position
> + - [GenerationName]:
> + Three letter acronym of the generation is used .
> + Register name without GenerationName applies to all generations.
> + - [ComponentName]:
> + This field indicates the component name that the register belongs to (e.g.
> PCH, SA etc.)
> + Register name without ComponentName applies to all components.
> + Register that is specific to -H denoted by "_PCH_H_" in component name.
> + Register that is specific to -LP denoted by "_PCH_LP_" in component name.
> + - SubsystemName:
> + This field indicates the subsystem name of the component that the
> register belongs to
> + (e.g. PCIE, USB, SATA, GPIO, PMC etc.).
> + - RegisterSpace:
> + MEM - MMIO space register of subsystem.
> + IO - IO space register of subsystem.
> + PCR - Private configuration register of subsystem.
> + CFG - PCI configuration space register of subsystem.
> + - RegisterName:
> + Full register name.
> +
> + Copyright (c) 2019 Intel Corporation. All rights reserved. <BR>
> +
> + SPDX-License-Identifier: BSD-2-Clause-Patent
> +**/
> +
> +#ifndef _REGS_USB_H_
> +#define _REGS_USB_H_
> +
> +//
> +// USB3 (XHCI) related definitions
> +// @todo: Add CPU PCI defs for xHCI
> +//
> +#define PCI_BUS_NUMBER_PCH_XHCI 0
> +#define PCI_DEVICE_NUMBER_PCH_XHCI 20
> +#define PCI_FUNCTION_NUMBER_PCH_XHCI 0
> +
> +//
> +// xDCI (OTG) USB Device Controller
> +//
> +#define PCI_DEVICE_NUMBER_PCH_XDCI 20
> +#define PCI_FUNCTION_NUMBER_PCH_XDCI 1
> +#endif // _REGS_USB_H_
> +
> diff --git a/Silicon/Intel/CoffeelakeSiliconPkg/Include/SiConfigHob.h
> b/Silicon/Intel/CoffeelakeSiliconPkg/Include/SiConfigHob.h
> new file mode 100644
> index 0000000000..b5aeccbe5d
> --- /dev/null
> +++ b/Silicon/Intel/CoffeelakeSiliconPkg/Include/SiConfigHob.h
> @@ -0,0 +1,19 @@
> +/** @file
> + Silicon Config HOB is used for gathering platform
> + related Intel silicon information and config setting.
> +
> + Copyright (c) 2019 Intel Corporation. All rights reserved. <BR>
> +
> + SPDX-License-Identifier: BSD-2-Clause-Patent
> +**/
> +
> +#ifndef _SI_CONFIG_HOB_H_
> +#define _SI_CONFIG_HOB_H_
> +
> +#include <SiPolicyStruct.h>
> +
> +extern EFI_GUID gSiConfigHobGuid;
> +
> +// Rename SI_CONFIG_HOB into SI_CONFIG_HOB_DATA for it does not follow
> HOB structure.
> +typedef CONST SI_CONFIG SI_CONFIG_HOB_DATA;
> +#endif
> diff --git a/Silicon/Intel/CoffeelakeSiliconPkg/Include/SiPolicyStruct.h
> b/Silicon/Intel/CoffeelakeSiliconPkg/Include/SiPolicyStruct.h
> new file mode 100644
> index 0000000000..da16aad257
> --- /dev/null
> +++ b/Silicon/Intel/CoffeelakeSiliconPkg/Include/SiPolicyStruct.h
> @@ -0,0 +1,65 @@
> +/** @file
> + Intel reference code configuration policies.
> +
> + Copyright (c) 2019 Intel Corporation. All rights reserved. <BR>
> +
> + SPDX-License-Identifier: BSD-2-Clause-Patent
> +**/
> +
> +#ifndef _SI_POLICY_STRUCT_H_
> +#define _SI_POLICY_STRUCT_H_
> +
> +#include <ConfigBlock.h>
> +#include <ConfigBlock/SiConfig.h>
> +
> +/**
> + Silicon Policy revision number
> + Any change to this structure will result in an update in the revision number
> +
> + This member specifies the revision of the Silicon Policy. This field is used to
> indicate change
> + to the policy structure.
> +
> + <b>Revision 1</b>:
> + - Initial version.
> +**/
> +#define SI_POLICY_REVISION 1
> +
> +/**
> + Silicon pre-memory Policy revision number
> + Any change to this structure will result in an update in the revision number
> +
> + <b>Revision 1</b>:
> + - Initial version.
> +**/
> +#define SI_PREMEM_POLICY_REVISION 1
> +
> +
> +/**
> + SI Policy PPI in Pre-Mem\n
> + All SI config block change history will be listed here\n\n
> +
> + - <b>Revision 1</b>:
> + - Initial version.\n
> +**/
> +struct _SI_PREMEM_POLICY_STRUCT {
> + CONFIG_BLOCK_TABLE_HEADER TableHeader;
> +/*
> + Individual Config Block Structures are added here in memory as part of
> AddConfigBlock()
> +*/
> +};
> +
> +/**
> + SI Policy PPI\n
> + All SI config block change history will be listed here\n\n
> +
> + - <b>Revision 1</b>:
> + - Initial version.\n
> +**/
> +struct _SI_POLICY_STRUCT {
> + CONFIG_BLOCK_TABLE_HEADER TableHeader;
> +/*
> + Individual Config Block Structures are added here in memory as part of
> AddConfigBlock()
> +*/
> +};
> +
> +#endif
> diff --git
> a/Silicon/Intel/CoffeelakeSiliconPkg/Include/TraceHubCommonConfig.h
> b/Silicon/Intel/CoffeelakeSiliconPkg/Include/TraceHubCommonConfig.h
> new file mode 100644
> index 0000000000..7e056a25af
> --- /dev/null
> +++ b/Silicon/Intel/CoffeelakeSiliconPkg/Include/TraceHubCommonConfig.h
> @@ -0,0 +1,23 @@
> +/** @file
> + Common configurations for CPU and PCH trace hub
> +
> + Copyright (c) 2019 Intel Corporation. All rights reserved. <BR>
> +
> + SPDX-License-Identifier: BSD-2-Clause-Patent
> +**/
> +
> +#ifndef _TRACE_HUB_COMMON_CONFIG_H_
> +#define _TRACE_HUB_COMMON_CONFIG_H_
> +
> +///
> +/// The TRACE_HUB_ENABLE_MODE describes the desired TraceHub mode of
> operation
> +///
> +typedef enum {
> + TraceHubModeDisabled = 0, ///< TraceHub Disabled
> + TraceHubModeTargetDebugger = 1, ///< TraceHub Target Debugger
> mode, debug on target device itself, config to PCI mode
> + TraceHubModeHostDebugger = 2, ///< TraceHub Host Debugger
> mode, debugged by host with cable attached, config to ACPI mode
> + TraceHubModeMax
> +} TRACE_HUB_ENABLE_MODE;
> +
> +
> +#endif
> --
> 2.16.2.windows.1
next prev parent reply other threads:[~2019-08-17 1:08 UTC|newest]
Thread overview: 121+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-08-17 0:15 [edk2-platforms][PATCH V1 00/37] Coffee Lake and Whiskey Lake support Kubacki, Michael A
2019-08-17 0:15 ` [edk2-platforms][PATCH V1 01/37] CoffeelakeSiliconPkg: Add package and Include headers Kubacki, Michael A
2019-08-17 0:51 ` Nate DeSimone
2019-08-17 1:08 ` Chiu, Chasel [this message]
2019-08-17 1:18 ` Chaganty, Rangasai V
2019-08-17 0:15 ` [edk2-platforms][PATCH V1 02/37] CoffeelakeSiliconPkg/Cpu: Add " Kubacki, Michael A
2019-08-17 0:51 ` Nate DeSimone
2019-08-17 1:08 ` Chiu, Chasel
2019-08-17 6:58 ` Chaganty, Rangasai V
2019-08-17 0:15 ` [edk2-platforms][PATCH V1 03/37] CoffeelakeSiliconPkg/Me: " Kubacki, Michael A
2019-08-17 0:51 ` Nate DeSimone
2019-08-17 1:08 ` Chiu, Chasel
2019-08-17 7:04 ` Chaganty, Rangasai V
2019-08-17 0:15 ` [edk2-platforms][PATCH V1 04/37] CoffeelakeSiliconPkg/Pch: Add include headers Kubacki, Michael A
2019-08-17 0:51 ` Nate DeSimone
2019-08-17 1:08 ` Chiu, Chasel
2019-08-17 0:15 ` [edk2-platforms][PATCH V1 05/37] CoffeelakeSiliconPkg/Pch: Add ConfigBlock headers Kubacki, Michael A
2019-08-17 0:51 ` Nate DeSimone
2019-08-17 1:09 ` Chiu, Chasel
2019-08-17 0:15 ` [edk2-platforms][PATCH V1 06/37] CoffeelakeSiliconPkg/Pch: Add Library include headers Kubacki, Michael A
2019-08-17 0:51 ` Nate DeSimone
2019-08-17 1:09 ` Chiu, Chasel
2019-08-17 0:15 ` [edk2-platforms][PATCH V1 07/37] CoffeelakeSiliconPkg/Pch: Add PPI and Protocol " Kubacki, Michael A
2019-08-17 0:51 ` Nate DeSimone
2019-08-17 1:09 ` Chiu, Chasel
2019-08-17 0:15 ` [edk2-platforms][PATCH V1 08/37] CoffeelakeSiliconPkg/Pch: Add Register " Kubacki, Michael A
2019-08-17 0:51 ` Nate DeSimone
2019-08-17 1:09 ` Chiu, Chasel
2019-08-17 0:15 ` [edk2-platforms][PATCH V1 09/37] CoffeelakeSiliconPkg/Pch: Add Private " Kubacki, Michael A
2019-08-17 0:51 ` Nate DeSimone
2019-08-17 1:12 ` Chiu, Chasel
2019-08-17 0:15 ` [edk2-platforms][PATCH V1 10/37] CoffeelakeSiliconPkg/Pch: Add Private/Library " Kubacki, Michael A
2019-08-17 0:52 ` Nate DeSimone
2019-08-17 1:09 ` Chiu, Chasel
2019-08-17 0:15 ` [edk2-platforms][PATCH V1 11/37] CoffeelakeSiliconPkg/Pch: Add Private/Protocol " Kubacki, Michael A
2019-08-17 0:51 ` Nate DeSimone
2019-08-17 1:10 ` Chiu, Chasel
2019-08-17 0:15 ` [edk2-platforms][PATCH V1 12/37] CoffeelakeSiliconPkg/SampleCode: Add Include headers Kubacki, Michael A
2019-08-17 0:52 ` Nate DeSimone
2019-08-17 1:12 ` Chiu, Chasel
2019-08-17 0:15 ` [edk2-platforms][PATCH V1 13/37] CoffeelakeSiliconPkg/SystemAgent: " Kubacki, Michael A
2019-08-17 0:52 ` Nate DeSimone
2019-08-17 1:12 ` Chiu, Chasel
2019-08-17 0:15 ` [edk2-platforms][PATCH V1 14/37] CoffeelakeSiliconPkg: Add package common library instances Kubacki, Michael A
2019-08-17 0:52 ` Nate DeSimone
2019-08-17 1:12 ` Chiu, Chasel
2019-08-17 0:15 ` [edk2-platforms][PATCH V1 15/37] CoffeelakeSiliconPkg/Cpu: Add " Kubacki, Michael A
2019-08-17 0:52 ` Nate DeSimone
2019-08-17 1:15 ` Chiu, Chasel
2019-08-17 0:15 ` [edk2-platforms][PATCH V1 16/37] CoffeelakeSiliconPkg/Me: " Kubacki, Michael A
2019-08-17 0:52 ` Nate DeSimone
2019-08-17 1:12 ` Chiu, Chasel
2019-08-17 0:15 ` [edk2-platforms][PATCH V1 17/37] CoffeelakeSiliconPkg/Pch: Add Base " Kubacki, Michael A
2019-08-17 0:52 ` Nate DeSimone
2019-08-17 1:13 ` Chiu, Chasel
2019-08-17 0:15 ` [edk2-platforms][PATCH V1 18/37] CoffeelakeSiliconPkg/Pch: Add DXE " Kubacki, Michael A
2019-08-17 0:52 ` Nate DeSimone
2019-08-17 1:13 ` Chiu, Chasel
2019-08-17 0:15 ` [edk2-platforms][PATCH V1 19/37] CoffeelakeSiliconPkg/Pch: Add PEI " Kubacki, Michael A
2019-08-17 0:52 ` Nate DeSimone
2019-08-17 1:13 ` Chiu, Chasel
2019-08-17 0:15 ` [edk2-platforms][PATCH V1 20/37] CoffeelakeSiliconPkg/Pch: Add SMM " Kubacki, Michael A
2019-08-17 0:53 ` Nate DeSimone
2019-08-17 1:16 ` Chiu, Chasel
2019-08-17 0:15 ` [edk2-platforms][PATCH V1 21/37] CoffeelakeSiliconPkg/Pch: Add Base " Kubacki, Michael A
2019-08-17 0:52 ` Nate DeSimone
2019-08-17 1:13 ` Chiu, Chasel
2019-08-17 0:15 ` [edk2-platforms][PATCH V1 22/37] CoffeelakeSiliconPkg/Pch: Add DXE private " Kubacki, Michael A
2019-08-17 0:52 ` Nate DeSimone
2019-08-17 1:13 ` Chiu, Chasel
2019-08-17 0:15 ` [edk2-platforms][PATCH V1 23/37] CoffeelakeSiliconPkg/Pch: Add PEI " Kubacki, Michael A
2019-08-17 0:53 ` Nate DeSimone
2019-08-17 1:14 ` Chiu, Chasel
2019-08-17 0:15 ` [edk2-platforms][PATCH V1 24/37] CoffeelakeSiliconPkg/Pch: Add SMM " Kubacki, Michael A
2019-08-17 0:53 ` Nate DeSimone
2019-08-17 1:14 ` Chiu, Chasel
2019-08-17 0:15 ` [edk2-platforms][PATCH V1 25/37] CoffeelakeSiliconPkg/SystemAgent: Add " Kubacki, Michael A
2019-08-17 0:53 ` Nate DeSimone
2019-08-17 1:14 ` Chiu, Chasel
2019-08-17 0:15 ` [edk2-platforms][PATCH V1 26/37] CoffeelakeSiliconPkg/Pch: Add modules Kubacki, Michael A
2019-08-17 0:53 ` Nate DeSimone
2019-08-17 1:14 ` Chiu, Chasel
2019-08-17 0:15 ` [edk2-platforms][PATCH V1 27/37] CoffeelakeSiliconPkg/Pch: Add PchSmiDispatcher Kubacki, Michael A
2019-08-17 0:53 ` Nate DeSimone
2019-08-17 1:15 ` Chiu, Chasel
2019-08-17 0:15 ` [edk2-platforms][PATCH V1 28/37] CoffeelakeSiliconPkg/SystemAgent: Add modules Kubacki, Michael A
2019-08-17 0:53 ` Nate DeSimone
2019-08-17 1:15 ` Chiu, Chasel
2019-08-17 0:15 ` [edk2-platforms][PATCH V1 29/37] CoffeelakeSiliconPkg: Add package DSC files Kubacki, Michael A
2019-08-17 0:53 ` Nate DeSimone
2019-08-17 1:14 ` Chiu, Chasel
2019-08-17 0:15 ` [edk2-platforms][PATCH V1 30/37] Maintainers.txt: Add CoffeelakeSiliconPkg maintainers Kubacki, Michael A
2019-08-17 0:53 ` Nate DeSimone
2019-08-17 1:15 ` Chiu, Chasel
2019-08-17 0:15 ` [edk2-platforms][PATCH V1 31/37] WhiskeylakeOpenBoardPkg: Add package and headers Kubacki, Michael A
2019-08-17 0:54 ` Nate DeSimone
2019-08-17 1:16 ` Chiu, Chasel
2019-08-19 18:09 ` Sinha, Ankit
2019-08-17 0:15 ` [edk2-platforms][PATCH V1 32/37] WhiskeylakeOpenBoardPkg/WhiskeylakeURvp: Add headers Kubacki, Michael A
2019-08-17 0:54 ` Nate DeSimone
2019-08-17 1:16 ` Chiu, Chasel
2019-08-17 0:15 ` [edk2-platforms][PATCH V1 33/37] WhiskeylakeOpenBoardPkg: Add library instances Kubacki, Michael A
2019-08-17 0:54 ` Nate DeSimone
2019-08-17 1:16 ` Chiu, Chasel
2019-08-17 0:16 ` [edk2-platforms][PATCH V1 34/37] WhiskeylakeOpenBoardPkg/WhiskeylakeURvp: " Kubacki, Michael A
2019-08-17 0:54 ` Nate DeSimone
2019-08-17 1:17 ` Chiu, Chasel
2019-08-17 20:08 ` Chaganty, Rangasai V
2019-08-17 0:16 ` [edk2-platforms][PATCH V1 35/37] WhiskeylakeOpenBoardPkg: Add modules Kubacki, Michael A
2019-08-17 0:54 ` Nate DeSimone
2019-08-17 1:17 ` Chiu, Chasel
2019-08-17 7:50 ` Chaganty, Rangasai V
2019-08-17 0:16 ` [edk2-platforms][PATCH V1 36/37] WhiskeylakeOpenBoardPkg/WhiskeylakeURvp: Add DSC and build files Kubacki, Michael A
2019-08-17 0:54 ` Nate DeSimone
2019-08-17 1:16 ` Chiu, Chasel
2019-08-17 20:11 ` Chaganty, Rangasai V
2019-08-17 0:16 ` [edk2-platforms][PATCH V1 37/37] Add WhiskeylakeOpenBoardPkg to global build config and documentation Kubacki, Michael A
2019-08-17 0:54 ` Nate DeSimone
2019-08-17 1:17 ` Chiu, Chasel
2019-08-17 20:00 ` Chaganty, Rangasai V
2019-08-19 18:14 ` [edk2-platforms][PATCH V1 00/37] Coffee Lake and Whiskey Lake support Sinha, Ankit
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=3C3EFB470A303B4AB093197B6777CCEC5046222A@PGSMSX111.gar.corp.intel.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