From nobody Thu Dec 18 22:26:39 2025 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of groups.io designates 66.175.222.12 as permitted sender) client-ip=66.175.222.12; envelope-from=bounce+27952+49993+1787277+3901457@groups.io; helo=web01.groups.io; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zoho.com: domain of groups.io designates 66.175.222.12 as permitted sender) smtp.mailfrom=bounce+27952+49993+1787277+3901457@groups.io; dmarc=fail(p=none dis=none) header.from=intel.com ARC-Seal: i=1; a=rsa-sha256; t=1572993575; cv=none; d=zoho.com; s=zohoarc; b=WNDzknS7sllFfMh47LEgdY42yvLBADjxBZDIuZ1UKZmPLt0P4yAadmFgAc8x0K0+7raLalDVHphoeEkN4B+5nrhjQEtws9uywNO8M+cj2HIHcxj5Xsm16wCihqXCUgHPZ3rfPbcw6oTzwsSzMAm3U5x5cUhU4XxKrisp747ovKg= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zoho.com; s=zohoarc; t=1572993575; h=Cc:Date:From:In-Reply-To:List-Id:List-Unsubscribe:Message-ID:Reply-To:References:Sender:Subject:To; bh=ChYz2Z6iNBLgNwy+C0eNGHnHlUkra6RsBBEEJkYU/lc=; b=iv7a+AFTjnxTTezXuYCGtXXDAlM9sjpLZuzR1qGTPBG7Xadwm0PGXrVG6FjQ+J/5iPQassYAytNyCxfuFL+EBdYMBL2Hv6yWcGHkgcx3WpEM4aaCyHcStovlXQadt1dIFbMMh6kOf4tKmWDFOrmKFBo/QUnS7Ainoi8KynZ/ZZU= ARC-Authentication-Results: i=1; mx.zoho.com; dkim=pass; spf=pass (zoho.com: domain of groups.io designates 66.175.222.12 as permitted sender) smtp.mailfrom=bounce+27952+49993+1787277+3901457@groups.io; dmarc=fail header.from= (p=none dis=none) header.from= Received: from web01.groups.io (web01.groups.io [66.175.222.12]) by mx.zohomail.com with SMTPS id 1572993575773979.4755998786577; Tue, 5 Nov 2019 14:39:35 -0800 (PST) Return-Path: X-Received: by 127.0.0.2 with SMTP id XOb0YY1788612xkFmAtB0vyh; Tue, 05 Nov 2019 14:39:34 -0800 X-Received: from mga14.intel.com (mga14.intel.com [192.55.52.115]) by mx.groups.io with SMTP id smtpd.web09.1008.1572993571283582970 for ; Tue, 05 Nov 2019 14:39:31 -0800 X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False X-Received: from orsmga005.jf.intel.com ([10.7.209.41]) by fmsmga103.fm.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 05 Nov 2019 14:39:11 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.68,271,1569308400"; d="scan'208";a="376851499" X-Received: from makuback-desk1.amr.corp.intel.com ([10.7.159.162]) by orsmga005.jf.intel.com with ESMTP; 05 Nov 2019 14:39:10 -0800 From: "Kubacki, Michael A" To: devel@edk2.groups.io Cc: Daocheng Bu , Nate DeSimone , Thad Gillispie , Isaac Oram Subject: [edk2-devel] [edk2-non-osi][PATCH V1 09/10] Intel/PurleySiliconBinPkg: Remove RELEASE FvLateSilicon Date: Tue, 5 Nov 2019 14:38:23 -0800 Message-Id: <20191105223824.38312-10-michael.a.kubacki@intel.com> In-Reply-To: <20191105223824.38312-1-michael.a.kubacki@intel.com> References: <20191105223824.38312-1-michael.a.kubacki@intel.com> Precedence: Bulk List-Unsubscribe: Sender: devel@edk2.groups.io List-Id: Mailing-List: list devel@edk2.groups.io; contact devel+owner@edk2.groups.io Reply-To: devel@edk2.groups.io,michael.a.kubacki@intel.com X-Gm-Message-State: tN6jnuMExP1qkzFogDdlLC64x1787277AA= DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=groups.io; q=dns/txt; s=20140610; t=1572993574; bh=K+3OX+7LTLTPXwscp9XF9WJf6mUbF8+Yz49QTbphqRE=; h=Cc:Date:From:Reply-To:Subject:To; b=AmgXXIXaJ6yaGakxSTXRBih5gahdvyRjZ18WEoaLWLvB82AYwWzke1BbZPDoRsi0hg7 9cXUObraDIJFRIZVqq2gXQSQh/401I0dXhJ3b81/KwdatM3i5T+eFTsOdC4grTD7+reez F3d2LEYLiNwRvCwKZBxQA+zPs3HShKDhVS4= X-ZohoMail-DKIM: pass (identity @groups.io) Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" REF:https://bugzilla.tianocore.org/show_bug.cgi?id=3D2322 Removes the FvLateSilicon firmware volume binary since the Purley platform firmware code is no longer maintained in edk2-platforms. Cc: Daocheng Bu Cc: Nate DeSimone Cc: Thad Gillispie Cc: Isaac Oram Signed-off-by: Michael Kubacki --- Silicon/Intel/PurleySiliconBinPkg/FvLateSilicon/RELEASE/FvLateSilicon.inf = | 3822 -------------------- Silicon/Intel/PurleySiliconBinPkg/FvLateSilicon/RELEASE/FVLATESILICON.Fv = | Bin 429688 -> 0 bytes Silicon/Intel/PurleySiliconBinPkg/FvLateSilicon/RELEASE/FVLATESILICON.Fv.t= xt | 17 - 3 files changed, 3839 deletions(-) diff --git a/Silicon/Intel/PurleySiliconBinPkg/FvLateSilicon/RELEASE/FvLate= Silicon.inf b/Silicon/Intel/PurleySiliconBinPkg/FvLateSilicon/RELEASE/FvLat= eSilicon.inf deleted file mode 100644 index 6aa407a..0000000 --- a/Silicon/Intel/PurleySiliconBinPkg/FvLateSilicon/RELEASE/FvLateSilicon= .inf +++ /dev/null @@ -1,3822 +0,0 @@ -### @file -# -# Copyright (c) 2018, Intel Corporation. All rights reserved.
-# -# This program and the accompanying materials are licensed and made availa= ble under -# the terms and conditions of the BSD License which accompanies this distr= ibution. -# The full text of the license may be found at -# http://opensource.org/licenses/bsd-license.php -# -# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, -# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMP= LIED. -# -### - -[Defines] - INF_VERSION =3D 0x00010017 - BASE_NAME =3D FvLateSilicon - FILE_GUID =3D 5EB4D9EE-0296-4353-83AB-076AA655EAEC - MODULE_TYPE =3D DXE_DRIVER - VERSION_STRING =3D 1.0 - -[Binaries] - FV|FVLATESILICON.Fv - -# # -# # This file contains 'Framework Code' and is licensed as such -# # under the terms of your license agreement with Intel or your -# # vendor. This file may not be modified, except as allowed by -# # additional terms of your license agreement. -# # -# # -# ## @file -# # -# # Register Access Protocol installation for Runtime -# # -# # Copyright (c) 2011 - 2014, Intel Corporation. All rights reserved.
-# # This software and associated documentation (if any) is furnished -# # under a license and may only be used or copied in accordance -# # with the terms of the license. Except as permitted by such -# # license, no part of this software or documentation may be -# # reproduced, stored in a retrieval system, or transmitted in any -# # form or by any means without the express written consent of -# # Intel Corporation. -# # -# ## -#=20 -# # DO NOT EDIT -# # FILE auto-generated -#=20 -# [Defines] -# INF_VERSION =3D 0x00010017 -# BASE_NAME =3D RegAccessDxe -# FILE_GUID =3D 56D60EE4-5CCF-485C-BBBB-FEDAE2B24146 -# MODULE_TYPE =3D DXE_RUNTIME_DRIVER -# VERSION_STRING =3D 1.0 -# ENTRY_POINT =3D UsraDxeInit -#=20 -[Packages.X64] - MdePkg/MdePkg.dec - PurleyRcPkg/RcPkg.dec - PurleySktPkg/SocketPkg.dec - -# [Binaries.X64] -# PE32|RegAccessDxe.efi -# DXE_DEPEX|RegAccessDxe.depex -# DISPOSABLE|RegAccessDxe.pdb -#=20 -[PatchPcd.X64] - gEfiMdePkgTokenSpaceGuid.PcdPciExpressBaseAddress|0x0000000080000000|0x1= ccc # 0x1C10+0xbc - - -# [Protocols.X64] -# gUsraProtocolGuid -#=20 -# ## SOMETIMES_CONSUMES -# gPcdProtocolGuid -#=20 -# ## CONSUMES -# gEfiPcdProtocolGuid -#=20 -# ## SOMETIMES_CONSUMES -# gGetPcdInfoProtocolGuid -#=20 -# ## SOMETIMES_CONSUMES -# gEfiGetPcdInfoProtocolGuid -#=20 -# ## SOMETIMES_CONSUMES -# gEfiDevicePathProtocolGuid -#=20 -# ## UNDEFINED -# gEfiDebugPortProtocolGuid -#=20 -# ## SOMETIMES_CONSUMES -# gEfiLoadedImageProtocolGuid -#=20 -# ## SOMETIMES_PRODUCES -# gEfiDriverBindingProtocolGuid -#=20 -# ## SOMETIMES_CONSUMES -# gEfiSimpleTextOutProtocolGuid -#=20 -# ## SOMETIMES_CONSUMES -# gEfiGraphicsOutputProtocolGuid -#=20 -# ## SOMETIMES_CONSUMES -# gEfiHiiFontProtocolGuid -#=20 -# ## SOMETIMES_CONSUMES # Consumes if gEfiGraphicsOutputProtocolGuid uni= nstalled -# gEfiUgaDrawProtocolGuid -#=20 -# ## SOMETIMES_PRODUCES # User chooses to produce it -# gEfiComponentNameProtocolGuid -#=20 -# ## SOMETIMES_PRODUCES # User chooses to produce it -# gEfiComponentName2ProtocolGuid -#=20 -# ## SOMETIMES_PRODUCES # User chooses to produce it -# gEfiDriverConfigurationProtocolGuid -#=20 -# ## SOMETIMES_PRODUCES # User chooses to produce it -# gEfiDriverConfiguration2ProtocolGuid -#=20 -# ## SOMETIMES_PRODUCES # User chooses to produce it -# gEfiDriverDiagnosticsProtocolGuid -#=20 -# ## SOMETIMES_PRODUCES # User chooses to produce it -# gEfiDriverDiagnostics2ProtocolGuid -#=20 -# gEfiIioUdsProtocolGuid -#=20 -#=20 -# [Ppis.X64] -#=20 -# [Guids.X64] -# gEfiCpRcPkgTokenSpaceGuid -#=20 -# ## SOMETIMES_CONSUMES ## GUID -# gEfiVTUTF8Guid -#=20 -# ## SOMETIMES_CONSUMES ## GUID -# gEfiVT100Guid -#=20 -# ## SOMETIMES_CONSUMES ## GUID -# gEfiVT100PlusGuid -#=20 -# ## SOMETIMES_CONSUMES ## GUID -# gEfiPcAnsiGuid -#=20 -# ## SOMETIMES_CONSUMES ## GUID -# gEfiUartDevicePathGuid -#=20 -# ## SOMETIMES_CONSUMES ## GUID -# gEfiSasDevicePathGuid -#=20 -# ## SOMETIMES_CONSUMES ## GUID -# gEfiVirtualDiskGuid -#=20 -# ## SOMETIMES_CONSUMES ## GUID -# gEfiVirtualCdGuid -#=20 -# ## SOMETIMES_CONSUMES ## GUID -# gEfiPersistentVirtualDiskGuid -#=20 -# ## SOMETIMES_CONSUMES ## GUID -# gEfiPersistentVirtualCdGuid -#=20 -# ## SOMETIMES_CONSUMES ## Event -# gEfiEventReadyToBootGuid -#=20 -# ## SOMETIMES_CONSUMES ## Event -# gEfiEventLegacyBootGuid -#=20 -# ## SOMETIMES_CONSUMES ## Variable -# gEfiGlobalVariableGuid -#=20 -# ## CONSUMES ## SystemTable -# gEfiHobListGuid -#=20 -#=20 -[PcdEx.X64] - gEfiCpRcPkgTokenSpaceGuid.PcdPcieMmcfgTablePtr - - -# [LibraryClasses.X64] -# ## @LIB_INSTANCES -# # MdePkg/Library/BaseMemoryLibRepStr/BaseMemoryLibRepStr.inf -# # MdePkg/Library/BaseDebugLibNull/BaseDebugLibNull.inf -# # MdePkg/Library/DxePcdLib/DxePcdLib.inf -# # MdePkg/Library/BaseLib/BaseLib.inf -# # MdePkg/Library/UefiBootServicesTableLib/UefiBootServicesTableLib.inf -# # MdePkg/Library/UefiMemoryAllocationLib/UefiMemoryAllocationLib.inf -# # MdePkg/Library/BasePrintLib/BasePrintLib.inf -# # MdePkg/Library/UefiDevicePathLib/UefiDevicePathLib.inf -# # MdePkg/Library/UefiRuntimeServicesTableLib/UefiRuntimeServicesTableLi= b.inf -# # MdePkg/Library/UefiDriverEntryPoint/UefiDriverEntryPoint.inf -# # MdePkg/Library/UefiLib/UefiLib.inf -# # PurleyRcPkg/Library/UsraRegisterFilterLibNull/UsraRegisterFilterLibNu= ll.inf -# # PurleyRcPkg/Library/USRATraceLibNull/USRATraceLibNull.inf -# # MdePkg/Library/BaseIoLibIntrinsic/BaseIoLibIntrinsic.inf -# # PurleyRcPkg/Library/PcieAddressLib/PcieAddressLib.inf -# # PurleySktPkg/Library/CsrToPcieLib/CsrToPcieDxeLib.inf -# # MdePkg/Library/BaseS3BootScriptLibNull/BaseS3BootScriptLibNull.inf -# # MdePkg/Library/DxeHobLib/DxeHobLib.inf -# # PurleyRcPkg/Library/UsraAccessLib/UsraAccessLib.inf -#=20 -# [Depex.X64] -# # (TRUE) AND (gEfiPcdProtocolGuid) AND (gEfiPcdProtocolGuid) AND (gEfiP= cdProtocolGuid) AND (gEfiPcdProtocolGuid) AND (gEfiBdsArchProtocolGuid AND = gEfiCpuArchProtocolGuid AND gEfiMetronomeArchProtocolGuid AND gEfiMonotonic= CounterArchProtocolGuid AND gEfiRealTimeClockArchProtocolGuid AND gEfiReset= ArchProtocolGuid AND gEfiRuntimeArchProtocolGuid AND gEfiSecurityArchProtoc= olGuid AND gEfiTimerArchProtocolGuid AND gEfiVariableWriteArchProtocolGuid = AND gEfiVariableArchProtocolGuid AND gEfiWatchdogTimerArchProtocolGuid) AND= (gEfiIioUdsProtocolGuid) -#=20 -#=20 -#=20 -#=20 -#=20 -# [BuildOptions.X64] -# ## @AsBuilt -# ## MSFT:RELEASE_VS2015x86_X64_OPTROM_FLAGS =3D -e -# ## MSFT:RELEASE_VS2015x86_X64_VFR_FLAGS =3D -n -# ## MSFT:RELEASE_VS2015x86_X64_PP_FLAGS =3D /nologo /E /TC /FIAutoGen.h= -D CRB_FLAG -D TRAD_FLAG=3D1 $(ULT_BUILD_OPTION) -D PCH_SERVER_BIOS_FLAG= =3D1 -D SUS_WELL_RESTORE=3D1 -D SERVER_BIOS_FLAG=3D1 -D PCH_SPT -D PURLEY_F= LAG $(SPARING_SCRATCHPAD_OPTION) $(TRACE_HUB_DEBUG_BUILD_OPTIONS) $(TRACE_H= UB_INIT_BUILD_OPTIONS) -D MAX_SOCKET=3D2 -D EFI_PCI_IOV_SUPPORT -D WHEA_SUP= PORT -D SKX_HOST -D CLX_HOST -D MDEPKG_NDEBUG -D SILENT_MODE -# ## MSFT:RELEASE_VS2015x86_X64_SYMRENAME_FLAGS =3D Symbol renaming not = needed for -# ## MSFT:RELEASE_VS2015x86_X64_GENFW_FLAGS =3D=20 -# ## MSFT:RELEASE_VS2015x86_X64_SLINK_FLAGS =3D /NOLOGO /LTCG -# ## MSFT:RELEASE_VS2015x86_X64_ASLDLINK_FLAGS =3D /NODEFAULTLIB /ENTRY:= ReferenceAcpiTable /SUBSYSTEM:CONSOLE -# ## MSFT:RELEASE_VS2015x86_X64_ASM_FLAGS =3D /nologo /c /WX /W3 /Cx /Zd= /Zi -# ## MSFT:RELEASE_VS2015x86_X64_ASL_FLAGS =3D=20 -# ## MSFT:RELEASE_VS2015x86_X64_CC_FLAGS =3D /nologo /c /WX /GS- /W4 /Gs= 32768 /D UNICODE /O1b2s /GL /Gy /FIAutoGen.h /EHs-c- /GR- /GF /Gw -D CRB_FL= AG -D TRAD_FLAG=3D1 $(ULT_BUILD_OPTION) -D PCH_SERVER_BIOS_FLAG=3D1 -D SUS_= WELL_RESTORE=3D1 -D SERVER_BIOS_FLAG=3D1 -D PCH_SPT -D PURLEY_FLAG $(SPARIN= G_SCRATCHPAD_OPTION) $(TRACE_HUB_DEBUG_BUILD_OPTIONS) $(TRACE_HUB_INIT_BUIL= D_OPTIONS) -D MAX_SOCKET=3D2 -D EFI_PCI_IOV_SUPPORT -D WHEA_SUPPORT -D SKX_= HOST -D CLX_HOST -D MDEPKG_NDEBUG -D SILENT_MODE /Zi /Gm -# ## MSFT:RELEASE_VS2015x86_X64_NASMB_FLAGS =3D -f bin -# ## MSFT:RELEASE_VS2015x86_X64_VFRPP_FLAGS =3D /nologo /E /TC /DVFRCOMP= ILE /FI$(MODULE_NAME)StrDefs.h -D CRB_FLAG -D TRAD_FLAG=3D1 $(ULT_BUILD_OPT= ION) -D PCH_SERVER_BIOS_FLAG=3D1 -D SUS_WELL_RESTORE=3D1 -D SERVER_BIOS_FLA= G=3D1 -D PCH_SPT -D PURLEY_FLAG $(SPARING_SCRATCHPAD_OPTION) $(TRACE_HUB_DE= BUG_BUILD_OPTIONS) $(TRACE_HUB_INIT_BUILD_OPTIONS) -D MAX_SOCKET=3D2 -D EFI= _PCI_IOV_SUPPORT -D WHEA_SUPPORT -D SKX_HOST -D CLX_HOST -D MDEPKG_NDEBUG -= D SILENT_MODE -# ## MSFT:RELEASE_VS2015x86_X64_ASLCC_FLAGS =3D /nologo /c /FIAutoGen.h = /TC /Dmain=3DReferenceAcpiTable -D CRB_FLAG -D TRAD_FLAG=3D1 $(ULT_BUILD_OP= TION) -D PCH_SERVER_BIOS_FLAG=3D1 -D SUS_WELL_RESTORE=3D1 -D SERVER_BIOS_FL= AG=3D1 -D PCH_SPT -D PURLEY_FLAG $(SPARING_SCRATCHPAD_OPTION) $(TRACE_HUB_D= EBUG_BUILD_OPTIONS) $(TRACE_HUB_INIT_BUILD_OPTIONS) -D MAX_SOCKET=3D2 -D EF= I_PCI_IOV_SUPPORT -D WHEA_SUPPORT -D SKX_HOST -D CLX_HOST -D MDEPKG_NDEBUG = -D SILENT_MODE -# ## MSFT:RELEASE_VS2015x86_X64_APP_FLAGS =3D /nologo /E /TC -D CRB_FLAG= -D TRAD_FLAG=3D1 $(ULT_BUILD_OPTION) -D PCH_SERVER_BIOS_FLAG=3D1 -D SUS_WE= LL_RESTORE=3D1 -D SERVER_BIOS_FLAG=3D1 -D PCH_SPT -D PURLEY_FLAG $(SPARING_= SCRATCHPAD_OPTION) $(TRACE_HUB_DEBUG_BUILD_OPTIONS) $(TRACE_HUB_INIT_BUILD_= OPTIONS) -D MAX_SOCKET=3D2 -D EFI_PCI_IOV_SUPPORT -D WHEA_SUPPORT -D SKX_HO= ST -D CLX_HOST -D MDEPKG_NDEBUG -D SILENT_MODE -# ## MSFT:RELEASE_VS2015x86_X64_DLINK2_FLAGS =3D=20 -# ## MSFT:RELEASE_VS2015x86_X64_DLINK_FLAGS =3D /NOLOGO /NODEFAULTLIB /I= GNORE:4001 /IGNORE:4254 /OPT:REF /OPT:ICF=3D10 /MAP /ALIGN:32 /SECTION:.xda= ta,D /SECTION:.pdata,D /Machine:X64 /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT) = /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /MERGE:.rdat= a=3D.data /DEBUG /ALIGN:4096 -# ## MSFT:RELEASE_VS2015x86_X64_ASLPP_FLAGS =3D /nologo /E /C /FIAutoGen= .h -D CRB_FLAG -D TRAD_FLAG=3D1 $(ULT_BUILD_OPTION) -D PCH_SERVER_BIOS_FLAG= =3D1 -D SUS_WELL_RESTORE=3D1 -D SERVER_BIOS_FLAG=3D1 -D PCH_SPT -D PURLEY_F= LAG $(SPARING_SCRATCHPAD_OPTION) $(TRACE_HUB_DEBUG_BUILD_OPTIONS) $(TRACE_H= UB_INIT_BUILD_OPTIONS) -D MAX_SOCKET=3D2 -D EFI_PCI_IOV_SUPPORT -D WHEA_SUP= PORT -D SKX_HOST -D CLX_HOST -D MDEPKG_NDEBUG -D SILENT_MODE -# ## MSFT:RELEASE_VS2015x86_X64_OBJCOPY_FLAGS =3D objcopy not needed for -# ## MSFT:RELEASE_VS2015x86_X64_MAKE_FLAGS =3D /nologo -# ## MSFT:RELEASE_VS2015x86_X64_ASMLINK_FLAGS =3D /nologo /tiny -# ## MSFT:RELEASE_VS2015x86_X64_NASM_FLAGS =3D -Ox -f win64 -# # -# # This file contains 'Framework Code' and is licensed as such -# # under the terms of your license agreement with Intel or your -# # vendor. This file may not be modified, except as allowed by -# # additional terms of your license agreement. -# # -# # -# ## @file -# # -# # Register Access Protocol installation for SMM -# # -# # Copyright (c) 2011 - 2015, Intel Corporation. All rights reserved.
-# # This software and associated documentation (if any) is furnished -# # under a license and may only be used or copied in accordance -# # with the terms of the license. Except as permitted by such -# # license, no part of this software or documentation may be -# # reproduced, stored in a retrieval system, or transmitted in any -# # form or by any means without the express written consent of -# # Intel Corporation. -# # -# ## -# ## -#=20 -# # DO NOT EDIT -# # FILE auto-generated -#=20 -# [Defines] -# INF_VERSION =3D 0x00010017 -# BASE_NAME =3D RegAccessSMM -# FILE_GUID =3D D96A2393-8790-4BAA-9CEB-42533F016EE9 -# MODULE_TYPE =3D DXE_SMM_DRIVER -# VERSION_STRING =3D 1.0 -# PI_SPECIFICATION_VERSION =3D 0x0001000A -# ENTRY_POINT =3D UsraSmmInit -#=20 -[Packages.X64] - MdePkg/MdePkg.dec - PurleyRcPkg/RcPkg.dec - PurleySktPkg/SocketPkg.dec - -# [Binaries.X64] -# PE32|RegAccessSMM.efi -# SMM_DEPEX|RegAccessSMM.depex -# DISPOSABLE|RegAccessSMM.pdb -#=20 -[PatchPcd.X64] - gEfiMdePkgTokenSpaceGuid.PcdPciExpressBaseAddress|0x0000000080000000|0x4= d68 # 0x2010+0x2d58 - - -# [Protocols.X64] -# gUsraProtocolGuid -#=20 -# ## CONSUMES -# gEfiSmmBase2ProtocolGuid -#=20 -# ## SOMETIMES_CONSUMES -# gPcdProtocolGuid -#=20 -# ## CONSUMES -# gEfiPcdProtocolGuid -#=20 -# ## SOMETIMES_CONSUMES -# gGetPcdInfoProtocolGuid -#=20 -# ## SOMETIMES_CONSUMES -# gEfiGetPcdInfoProtocolGuid -#=20 -# ## CONSUMES -# gEfiSmmAccess2ProtocolGuid -#=20 -# ## SOMETIMES_CONSUMES -# gEfiDevicePathProtocolGuid -#=20 -# ## UNDEFINED -# gEfiDebugPortProtocolGuid -#=20 -# ## SOMETIMES_CONSUMES -# gEfiLoadedImageProtocolGuid -#=20 -# ## SOMETIMES_PRODUCES -# gEfiDriverBindingProtocolGuid -#=20 -# ## SOMETIMES_CONSUMES -# gEfiSimpleTextOutProtocolGuid -#=20 -# ## SOMETIMES_CONSUMES -# gEfiGraphicsOutputProtocolGuid -#=20 -# ## SOMETIMES_CONSUMES -# gEfiHiiFontProtocolGuid -#=20 -# ## SOMETIMES_CONSUMES # Consumes if gEfiGraphicsOutputProtocolGuid uni= nstalled -# gEfiUgaDrawProtocolGuid -#=20 -# ## SOMETIMES_PRODUCES # User chooses to produce it -# gEfiComponentNameProtocolGuid -#=20 -# ## SOMETIMES_PRODUCES # User chooses to produce it -# gEfiComponentName2ProtocolGuid -#=20 -# ## SOMETIMES_PRODUCES # User chooses to produce it -# gEfiDriverConfigurationProtocolGuid -#=20 -# ## SOMETIMES_PRODUCES # User chooses to produce it -# gEfiDriverConfiguration2ProtocolGuid -#=20 -# ## SOMETIMES_PRODUCES # User chooses to produce it -# gEfiDriverDiagnosticsProtocolGuid -#=20 -# ## SOMETIMES_PRODUCES # User chooses to produce it -# gEfiDriverDiagnostics2ProtocolGuid -#=20 -# gEfiIioUdsProtocolGuid -#=20 -#=20 -# [Ppis.X64] -#=20 -# [Guids.X64] -# gEfiCpRcPkgTokenSpaceGuid -#=20 -# ## SOMETIMES_CONSUMES ## GUID -# gEfiVTUTF8Guid -#=20 -# ## SOMETIMES_CONSUMES ## GUID -# gEfiVT100Guid -#=20 -# ## SOMETIMES_CONSUMES ## GUID -# gEfiVT100PlusGuid -#=20 -# ## SOMETIMES_CONSUMES ## GUID -# gEfiPcAnsiGuid -#=20 -# ## SOMETIMES_CONSUMES ## GUID -# gEfiUartDevicePathGuid -#=20 -# ## SOMETIMES_CONSUMES ## GUID -# gEfiSasDevicePathGuid -#=20 -# ## SOMETIMES_CONSUMES ## GUID -# gEfiVirtualDiskGuid -#=20 -# ## SOMETIMES_CONSUMES ## GUID -# gEfiVirtualCdGuid -#=20 -# ## SOMETIMES_CONSUMES ## GUID -# gEfiPersistentVirtualDiskGuid -#=20 -# ## SOMETIMES_CONSUMES ## GUID -# gEfiPersistentVirtualCdGuid -#=20 -# ## SOMETIMES_CONSUMES ## Event -# gEfiEventReadyToBootGuid -#=20 -# ## SOMETIMES_CONSUMES ## Event -# gEfiEventLegacyBootGuid -#=20 -# ## SOMETIMES_CONSUMES ## Variable -# gEfiGlobalVariableGuid -#=20 -# ## CONSUMES ## SystemTable -# gEfiHobListGuid -#=20 -#=20 -[PcdEx.X64] - gEfiCpRcPkgTokenSpaceGuid.PcdPcieMmcfgTablePtr - - -# [LibraryClasses.X64] -# ## @LIB_INSTANCES -# # MdePkg/Library/BaseDebugLibNull/BaseDebugLibNull.inf -# # MdePkg/Library/BaseMemoryLibRepStr/BaseMemoryLibRepStr.inf -# # MdePkg/Library/DxePcdLib/DxePcdLib.inf -# # MdePkg/Library/BaseLib/BaseLib.inf -# # MdePkg/Library/UefiBootServicesTableLib/UefiBootServicesTableLib.inf -# # MdePkg/Library/SmmServicesTableLib/SmmServicesTableLib.inf -# # MdePkg/Library/SmmMemoryAllocationLib/SmmMemoryAllocationLib.inf -# # MdePkg/Library/BasePrintLib/BasePrintLib.inf -# # MdePkg/Library/UefiRuntimeServicesTableLib/UefiRuntimeServicesTableLi= b.inf -# # MdePkg/Library/UefiDevicePathLib/UefiDevicePathLib.inf -# # MdePkg/Library/UefiDriverEntryPoint/UefiDriverEntryPoint.inf -# # MdePkg/Library/UefiLib/UefiLib.inf -# # PurleyRcPkg/Library/UsraRegisterFilterLibNull/UsraRegisterFilterLibNu= ll.inf -# # PurleyRcPkg/Library/USRATraceLibNull/USRATraceLibNull.inf -# # MdePkg/Library/BaseIoLibIntrinsic/BaseIoLibIntrinsic.inf -# # PurleyRcPkg/Library/PcieAddressLib/PcieAddressLib.inf -# # PurleySktPkg/Library/CsrToPcieLib/CsrToPcieDxeLib.inf -# # MdePkg/Library/BaseS3BootScriptLibNull/BaseS3BootScriptLibNull.inf -# # MdePkg/Library/DxeHobLib/DxeHobLib.inf -# # PurleyRcPkg/Library/UsraAccessLib/UsraAccessLib.inf -# # PurleySktPkg/Library/UsraQuiesceLib/UsraQuiesceLib.inf -#=20 -# [Depex.X64] -# # (gEfiSmmBase2ProtocolGuid) AND (gEfiPcdProtocolGuid) AND (gEfiPcdProt= ocolGuid) AND (gEfiPcdProtocolGuid) AND (gEfiPcdProtocolGuid) AND (gEfiSmmB= ase2ProtocolGuid) AND (gEfiSmmAccess2ProtocolGuid) AND (gEfiBdsArchProtocol= Guid AND gEfiCpuArchProtocolGuid AND gEfiMetronomeArchProtocolGuid AND gEfi= MonotonicCounterArchProtocolGuid AND gEfiRealTimeClockArchProtocolGuid AND = gEfiResetArchProtocolGuid AND gEfiRuntimeArchProtocolGuid AND gEfiSecurityA= rchProtocolGuid AND gEfiTimerArchProtocolGuid AND gEfiVariableWriteArchProt= ocolGuid AND gEfiVariableArchProtocolGuid AND gEfiWatchdogTimerArchProtocol= Guid) AND (gEfiIioUdsProtocolGuid) -#=20 -#=20 -#=20 -#=20 -#=20 -# [BuildOptions.X64] -# ## @AsBuilt -# ## MSFT:RELEASE_VS2015x86_X64_OPTROM_FLAGS =3D -e -# ## MSFT:RELEASE_VS2015x86_X64_VFR_FLAGS =3D -n -# ## MSFT:RELEASE_VS2015x86_X64_PP_FLAGS =3D /nologo /E /TC /FIAutoGen.h= -D CRB_FLAG -D TRAD_FLAG=3D1 $(ULT_BUILD_OPTION) -D PCH_SERVER_BIOS_FLAG= =3D1 -D SUS_WELL_RESTORE=3D1 -D SERVER_BIOS_FLAG=3D1 -D PCH_SPT -D PURLEY_F= LAG $(SPARING_SCRATCHPAD_OPTION) $(TRACE_HUB_DEBUG_BUILD_OPTIONS) $(TRACE_H= UB_INIT_BUILD_OPTIONS) -D MAX_SOCKET=3D2 -D EFI_PCI_IOV_SUPPORT -D WHEA_SUP= PORT -D SKX_HOST -D CLX_HOST -D MDEPKG_NDEBUG -D SILENT_MODE -# ## MSFT:RELEASE_VS2015x86_X64_SYMRENAME_FLAGS =3D Symbol renaming not = needed for -# ## MSFT:RELEASE_VS2015x86_X64_GENFW_FLAGS =3D=20 -# ## MSFT:RELEASE_VS2015x86_X64_SLINK_FLAGS =3D /NOLOGO /LTCG -# ## MSFT:RELEASE_VS2015x86_X64_ASLDLINK_FLAGS =3D /NODEFAULTLIB /ENTRY:= ReferenceAcpiTable /SUBSYSTEM:CONSOLE -# ## MSFT:RELEASE_VS2015x86_X64_ASM_FLAGS =3D /nologo /c /WX /W3 /Cx /Zd= /Zi -# ## MSFT:RELEASE_VS2015x86_X64_ASL_FLAGS =3D=20 -# ## MSFT:RELEASE_VS2015x86_X64_CC_FLAGS =3D /nologo /c /WX /GS- /W4 /Gs= 32768 /D UNICODE /O1b2s /GL /Gy /FIAutoGen.h /EHs-c- /GR- /GF /Gw -D CRB_FL= AG -D TRAD_FLAG=3D1 $(ULT_BUILD_OPTION) -D PCH_SERVER_BIOS_FLAG=3D1 -D SUS_= WELL_RESTORE=3D1 -D SERVER_BIOS_FLAG=3D1 -D PCH_SPT -D PURLEY_FLAG $(SPARIN= G_SCRATCHPAD_OPTION) $(TRACE_HUB_DEBUG_BUILD_OPTIONS) $(TRACE_HUB_INIT_BUIL= D_OPTIONS) -D MAX_SOCKET=3D2 -D EFI_PCI_IOV_SUPPORT -D WHEA_SUPPORT -D SKX_= HOST -D CLX_HOST -D MDEPKG_NDEBUG -D SILENT_MODE /Zi /Gm -# ## MSFT:RELEASE_VS2015x86_X64_NASMB_FLAGS =3D -f bin -# ## MSFT:RELEASE_VS2015x86_X64_VFRPP_FLAGS =3D /nologo /E /TC /DVFRCOMP= ILE /FI$(MODULE_NAME)StrDefs.h -D CRB_FLAG -D TRAD_FLAG=3D1 $(ULT_BUILD_OPT= ION) -D PCH_SERVER_BIOS_FLAG=3D1 -D SUS_WELL_RESTORE=3D1 -D SERVER_BIOS_FLA= G=3D1 -D PCH_SPT -D PURLEY_FLAG $(SPARING_SCRATCHPAD_OPTION) $(TRACE_HUB_DE= BUG_BUILD_OPTIONS) $(TRACE_HUB_INIT_BUILD_OPTIONS) -D MAX_SOCKET=3D2 -D EFI= _PCI_IOV_SUPPORT -D WHEA_SUPPORT -D SKX_HOST -D CLX_HOST -D MDEPKG_NDEBUG -= D SILENT_MODE -# ## MSFT:RELEASE_VS2015x86_X64_ASLCC_FLAGS =3D /nologo /c /FIAutoGen.h = /TC /Dmain=3DReferenceAcpiTable -D CRB_FLAG -D TRAD_FLAG=3D1 $(ULT_BUILD_OP= TION) -D PCH_SERVER_BIOS_FLAG=3D1 -D SUS_WELL_RESTORE=3D1 -D SERVER_BIOS_FL= AG=3D1 -D PCH_SPT -D PURLEY_FLAG $(SPARING_SCRATCHPAD_OPTION) $(TRACE_HUB_D= EBUG_BUILD_OPTIONS) $(TRACE_HUB_INIT_BUILD_OPTIONS) -D MAX_SOCKET=3D2 -D EF= I_PCI_IOV_SUPPORT -D WHEA_SUPPORT -D SKX_HOST -D CLX_HOST -D MDEPKG_NDEBUG = -D SILENT_MODE -# ## MSFT:RELEASE_VS2015x86_X64_APP_FLAGS =3D /nologo /E /TC -D CRB_FLAG= -D TRAD_FLAG=3D1 $(ULT_BUILD_OPTION) -D PCH_SERVER_BIOS_FLAG=3D1 -D SUS_WE= LL_RESTORE=3D1 -D SERVER_BIOS_FLAG=3D1 -D PCH_SPT -D PURLEY_FLAG $(SPARING_= SCRATCHPAD_OPTION) $(TRACE_HUB_DEBUG_BUILD_OPTIONS) $(TRACE_HUB_INIT_BUILD_= OPTIONS) -D MAX_SOCKET=3D2 -D EFI_PCI_IOV_SUPPORT -D WHEA_SUPPORT -D SKX_HO= ST -D CLX_HOST -D MDEPKG_NDEBUG -D SILENT_MODE -# ## MSFT:RELEASE_VS2015x86_X64_DLINK2_FLAGS =3D=20 -# ## MSFT:RELEASE_VS2015x86_X64_DLINK_FLAGS =3D /NOLOGO /NODEFAULTLIB /I= GNORE:4001 /IGNORE:4254 /OPT:REF /OPT:ICF=3D10 /MAP /ALIGN:32 /SECTION:.xda= ta,D /SECTION:.pdata,D /Machine:X64 /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT) = /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /MERGE:.rdat= a=3D.data /DEBUG /ALIGN:4096 -# ## MSFT:RELEASE_VS2015x86_X64_ASLPP_FLAGS =3D /nologo /E /C /FIAutoGen= .h -D CRB_FLAG -D TRAD_FLAG=3D1 $(ULT_BUILD_OPTION) -D PCH_SERVER_BIOS_FLAG= =3D1 -D SUS_WELL_RESTORE=3D1 -D SERVER_BIOS_FLAG=3D1 -D PCH_SPT -D PURLEY_F= LAG $(SPARING_SCRATCHPAD_OPTION) $(TRACE_HUB_DEBUG_BUILD_OPTIONS) $(TRACE_H= UB_INIT_BUILD_OPTIONS) -D MAX_SOCKET=3D2 -D EFI_PCI_IOV_SUPPORT -D WHEA_SUP= PORT -D SKX_HOST -D CLX_HOST -D MDEPKG_NDEBUG -D SILENT_MODE -# ## MSFT:RELEASE_VS2015x86_X64_OBJCOPY_FLAGS =3D objcopy not needed for -# ## MSFT:RELEASE_VS2015x86_X64_MAKE_FLAGS =3D /nologo -# ## MSFT:RELEASE_VS2015x86_X64_ASMLINK_FLAGS =3D /nologo /tiny -# ## MSFT:RELEASE_VS2015x86_X64_NASM_FLAGS =3D -Ox -f win64 -# # -# # This file contains an 'Intel Peripheral Driver' and is -# # licensed for Intel CPUs and chipsets under the terms of your -# # license agreement with Intel or your vendor. This file may -# # be modified by the user, subject to additional terms of the -# # license agreement -# # -# ## @file -# # The DXE driver produces CPU Architecture Protocol defined in the PI sp= ecification. -# # -# # This driver does some CPU specific initliazations for the BSP, install= s CPU Architecture Protocol, -# # and refreshes the GCD memory space attributes to be consistent with pl= atform hardware status. -# # -# # Copyright (c) 2006 - 2014, Intel Corporation. All rights reserved.
-# # -# # This software and associated documentation (if any) is furnished -# # under a license and may only be used or copied in accordance -# # with the terms of the license. Except as permitted by such -# # license, no part of this software or documentation may be -# # reproduced, stored in a retrieval system, or transmitted in any -# # form or by any means without the express written consent of -# # Intel Corporation. -# # -# # -# ## -#=20 -# # DO NOT EDIT -# # FILE auto-generated -#=20 -# [Defines] -# INF_VERSION =3D 0x00010017 -# BASE_NAME =3D CpuArchDxe -# FILE_GUID =3D 62D171CB-78CD-4480-8678-C6A2A797A8DE -# MODULE_TYPE =3D DXE_DRIVER -# VERSION_STRING =3D 1.0 -# ENTRY_POINT =3D InitializeCpu -# MODULE_UNI_FILE =3D CpuArchDxe.uni -#=20 -[Packages.X64] - MdePkg/MdePkg.dec - MdeModulePkg/MdeModulePkg.dec - PurleySktPkg/Override/IA32FamilyCpuPkg/IA32FamilyCpuPkg.dec - -# [Binaries.X64] -# PE32|CpuArchDxe.efi -# DXE_DEPEX|CpuArchDxe.depex -# DISPOSABLE|CpuArchDxe.pdb -#=20 -[PatchPcd.X64] - -# [Protocols.X64] -# ## SOMETIMES_CONSUMES -# gEfiMpServiceProtocolGuid -#=20 -# ## PRODUCES -# gEfiCpuArchProtocolGuid -#=20 -# ## SOMETIMES_CONSUMES -# gPcdProtocolGuid -#=20 -# ## CONSUMES -# gEfiPcdProtocolGuid -#=20 -# ## SOMETIMES_CONSUMES -# gGetPcdInfoProtocolGuid -#=20 -# ## SOMETIMES_CONSUMES -# gEfiGetPcdInfoProtocolGuid -#=20 -# ## SOMETIMES_CONSUMES -# gEfiDevicePathProtocolGuid -#=20 -# ## UNDEFINED -# gEfiDebugPortProtocolGuid -#=20 -# ## SOMETIMES_PRODUCES -# gEfiDriverBindingProtocolGuid -#=20 -# ## SOMETIMES_CONSUMES -# gEfiSimpleTextOutProtocolGuid -#=20 -# ## SOMETIMES_CONSUMES -# gEfiGraphicsOutputProtocolGuid -#=20 -# ## SOMETIMES_CONSUMES -# gEfiHiiFontProtocolGuid -#=20 -# ## SOMETIMES_CONSUMES # Consumes if gEfiGraphicsOutputProtocolGuid uni= nstalled -# gEfiUgaDrawProtocolGuid -#=20 -# ## SOMETIMES_PRODUCES # User chooses to produce it -# gEfiComponentNameProtocolGuid -#=20 -# ## SOMETIMES_PRODUCES # User chooses to produce it -# gEfiComponentName2ProtocolGuid -#=20 -# ## SOMETIMES_PRODUCES # User chooses to produce it -# gEfiDriverConfigurationProtocolGuid -#=20 -# ## SOMETIMES_PRODUCES # User chooses to produce it -# gEfiDriverConfiguration2ProtocolGuid -#=20 -# ## SOMETIMES_PRODUCES # User chooses to produce it -# gEfiDriverDiagnosticsProtocolGuid -#=20 -# ## SOMETIMES_PRODUCES # User chooses to produce it -# gEfiDriverDiagnostics2ProtocolGuid -#=20 -# ## SOMETIMES_CONSUMES -# gEfiLoadedImageProtocolGuid -#=20 -# ## CONSUMES -# gEfiStatusCodeRuntimeProtocolGuid -#=20 -#=20 -# [Ppis.X64] -#=20 -# [Guids.X64] -# ## SOMETIMES_CONSUMES ## SystemTable -# gEfiVectorHandoffTableGuid -#=20 -# gEfiCpuTokenSpaceGuid -#=20 -# ## SOMETIMES_CONSUMES ## GUID -# gEfiVTUTF8Guid -#=20 -# ## SOMETIMES_CONSUMES ## GUID -# gEfiVT100Guid -#=20 -# ## SOMETIMES_CONSUMES ## GUID -# gEfiVT100PlusGuid -#=20 -# ## SOMETIMES_CONSUMES ## GUID -# gEfiPcAnsiGuid -#=20 -# ## SOMETIMES_CONSUMES ## GUID -# gEfiUartDevicePathGuid -#=20 -# ## SOMETIMES_CONSUMES ## GUID -# gEfiSasDevicePathGuid -#=20 -# ## SOMETIMES_CONSUMES ## GUID -# gEfiVirtualDiskGuid -#=20 -# ## SOMETIMES_CONSUMES ## GUID -# gEfiVirtualCdGuid -#=20 -# ## SOMETIMES_CONSUMES ## GUID -# gEfiPersistentVirtualDiskGuid -#=20 -# ## SOMETIMES_CONSUMES ## GUID -# gEfiPersistentVirtualCdGuid -#=20 -# ## SOMETIMES_CONSUMES ## Event -# gEfiEventReadyToBootGuid -#=20 -# ## SOMETIMES_CONSUMES ## Event -# gEfiEventLegacyBootGuid -#=20 -# ## SOMETIMES_CONSUMES ## Variable -# gEfiGlobalVariableGuid -#=20 -# ## CONSUMES ## SystemTable -# gEfiHobListGuid -#=20 -# ## CONSUMES ## SystemTable -# gEfiDxeServicesTableGuid -#=20 -# ## SOMETIMES_CONSUMES ## UNDEFINED -# gEfiStatusCodeSpecificDataGuid -#=20 -# ## SOMETIMES_CONSUMES ## UNDEFINED -# gEfiStatusCodeDataTypeDebugGuid -#=20 -#=20 -[PcdEx.X64] - ## CONSUMES - gEfiCpuTokenSpaceGuid.PcdCpuPageTableAddress - - ## PRODUCES - gEfiCpuTokenSpaceGuid.PcdCpuMtrrTableAddress - - -# [LibraryClasses.X64] -# ## @LIB_INSTANCES -# # MdePkg/Library/BaseLib/BaseLib.inf -# # MdePkg/Library/BaseDebugLibNull/BaseDebugLibNull.inf -# # MdePkg/Library/BaseMemoryLibRepStr/BaseMemoryLibRepStr.inf -# # MdePkg/Library/DxePcdLib/DxePcdLib.inf -# # MdePkg/Library/UefiBootServicesTableLib/UefiBootServicesTableLib.inf -# # MdePkg/Library/BasePrintLib/BasePrintLib.inf -# # MdePkg/Library/UefiMemoryAllocationLib/UefiMemoryAllocationLib.inf -# # MdePkg/Library/UefiRuntimeServicesTableLib/UefiRuntimeServicesTableLi= b.inf -# # MdePkg/Library/UefiDevicePathLib/UefiDevicePathLib.inf -# # MdePkg/Library/BaseIoLibIntrinsic/BaseIoLibIntrinsic.inf -# # MdePkg/Library/UefiLib/UefiLib.inf -# # MdePkg/Library/BasePciCf8Lib/BasePciCf8Lib.inf -# # MdePkg/Library/DxeHobLib/DxeHobLib.inf -# # MdePkg/Library/BasePciLibCf8/BasePciLibCf8.inf -# # PcAtChipsetPkg/Library/AcpiTimerLib/DxeAcpiTimerLib.inf -# # PurleyOpenBoardPkg/BoardMtOlympus/Library/BasePlatformHookLib/BasePla= tformHookLib.inf -# # MdePkg/Library/BaseCpuLib/BaseCpuLib.inf -# # MdePkg/Library/BasePeCoffGetEntryPointLib/BasePeCoffGetEntryPointLib.= inf -# # MdePkg/Library/BaseSynchronizationLib/BaseSynchronizationLib.inf -# # MdeModulePkg/Library/BaseSerialPortLib16550/BaseSerialPortLib16550.inf -# # UefiCpuPkg/Library/BaseXApicX2ApicLib/BaseXApicX2ApicLib.inf -# # UefiCpuPkg/Library/MtrrLib/MtrrLib.inf -# # MdePkg/Library/DxeServicesTableLib/DxeServicesTableLib.inf -# # MdePkg/Library/UefiDriverEntryPoint/UefiDriverEntryPoint.inf -# # MdeModulePkg/Library/DxeReportStatusCodeLib/DxeReportStatusCodeLib.inf -# # UefiCpuPkg/Library/BaseUefiCpuLib/BaseUefiCpuLib.inf -# # UefiCpuPkg/Library/CpuExceptionHandlerLib/DxeCpuExceptionHandlerLib.i= nf -#=20 -# [Depex.X64] -# # (TRUE) AND (gEfiPcdProtocolGuid) AND (gEfiPcdProtocolGuid) AND (gEfiP= cdProtocolGuid) AND (gEfiPcdProtocolGuid) AND (gEfiBdsArchProtocolGuid AND = gEfiCpuArchProtocolGuid AND gEfiMetronomeArchProtocolGuid AND gEfiMonotonic= CounterArchProtocolGuid AND gEfiRealTimeClockArchProtocolGuid AND gEfiReset= ArchProtocolGuid AND gEfiRuntimeArchProtocolGuid AND gEfiSecurityArchProtoc= olGuid AND gEfiTimerArchProtocolGuid AND gEfiVariableWriteArchProtocolGuid = AND gEfiVariableArchProtocolGuid AND gEfiWatchdogTimerArchProtocolGuid) -#=20 -# [UserExtensions.TianoCore."ExtraFiles"] -# CpuArchDxeExtra.uni -#=20 -#=20 -#=20 -# # -# # The following information is for reference only and not required by th= e build tools. -# # -# # VALID_ARCHITECTURES =3D IA32 X64 -# # -# # Create Event Guid C Name: Event Type: EVENT_TYPE_PERIODIC_TIMER -# # -# # HOB Guid C Name: gEfiHtBistHobGuid Hob Type: GUID_EXTENSION -# # -#=20 -# [BuildOptions.X64] -# ## @AsBuilt -# ## MSFT:RELEASE_VS2015x86_X64_OPTROM_FLAGS =3D -e -# ## MSFT:RELEASE_VS2015x86_X64_VFR_FLAGS =3D -n -# ## MSFT:RELEASE_VS2015x86_X64_PP_FLAGS =3D /nologo /E /TC /FIAutoGen.h= -D CRB_FLAG -D TRAD_FLAG=3D1 $(ULT_BUILD_OPTION) -D PCH_SERVER_BIOS_FLAG= =3D1 -D SUS_WELL_RESTORE=3D1 -D SERVER_BIOS_FLAG=3D1 -D PCH_SPT -D PURLEY_F= LAG $(SPARING_SCRATCHPAD_OPTION) $(TRACE_HUB_DEBUG_BUILD_OPTIONS) $(TRACE_H= UB_INIT_BUILD_OPTIONS) -D MAX_SOCKET=3D2 -D EFI_PCI_IOV_SUPPORT -D WHEA_SUP= PORT -D SKX_HOST -D CLX_HOST -D MDEPKG_NDEBUG -D SILENT_MODE -# ## MSFT:RELEASE_VS2015x86_X64_SYMRENAME_FLAGS =3D Symbol renaming not = needed for -# ## MSFT:RELEASE_VS2015x86_X64_GENFW_FLAGS =3D=20 -# ## MSFT:RELEASE_VS2015x86_X64_SLINK_FLAGS =3D /NOLOGO /LTCG -# ## MSFT:RELEASE_VS2015x86_X64_ASLDLINK_FLAGS =3D /NODEFAULTLIB /ENTRY:= ReferenceAcpiTable /SUBSYSTEM:CONSOLE -# ## MSFT:RELEASE_VS2015x86_X64_ASM_FLAGS =3D /nologo /c /WX /W3 /Cx /Zd= /Zi -# ## MSFT:RELEASE_VS2015x86_X64_ASL_FLAGS =3D=20 -# ## MSFT:RELEASE_VS2015x86_X64_CC_FLAGS =3D /nologo /c /WX /GS- /W4 /Gs= 32768 /D UNICODE /O1b2s /GL /Gy /FIAutoGen.h /EHs-c- /GR- /GF /Gw -D CRB_FL= AG -D TRAD_FLAG=3D1 $(ULT_BUILD_OPTION) -D PCH_SERVER_BIOS_FLAG=3D1 -D SUS_= WELL_RESTORE=3D1 -D SERVER_BIOS_FLAG=3D1 -D PCH_SPT -D PURLEY_FLAG $(SPARIN= G_SCRATCHPAD_OPTION) $(TRACE_HUB_DEBUG_BUILD_OPTIONS) $(TRACE_HUB_INIT_BUIL= D_OPTIONS) -D MAX_SOCKET=3D2 -D EFI_PCI_IOV_SUPPORT -D WHEA_SUPPORT -D SKX_= HOST -D CLX_HOST -D MDEPKG_NDEBUG -D SILENT_MODE /Zi /Gm /Od -# ## MSFT:RELEASE_VS2015x86_X64_NASMB_FLAGS =3D -f bin -# ## MSFT:RELEASE_VS2015x86_X64_VFRPP_FLAGS =3D /nologo /E /TC /DVFRCOMP= ILE /FI$(MODULE_NAME)StrDefs.h -D CRB_FLAG -D TRAD_FLAG=3D1 $(ULT_BUILD_OPT= ION) -D PCH_SERVER_BIOS_FLAG=3D1 -D SUS_WELL_RESTORE=3D1 -D SERVER_BIOS_FLA= G=3D1 -D PCH_SPT -D PURLEY_FLAG $(SPARING_SCRATCHPAD_OPTION) $(TRACE_HUB_DE= BUG_BUILD_OPTIONS) $(TRACE_HUB_INIT_BUILD_OPTIONS) -D MAX_SOCKET=3D2 -D EFI= _PCI_IOV_SUPPORT -D WHEA_SUPPORT -D SKX_HOST -D CLX_HOST -D MDEPKG_NDEBUG -= D SILENT_MODE -# ## MSFT:RELEASE_VS2015x86_X64_ASLCC_FLAGS =3D /nologo /c /FIAutoGen.h = /TC /Dmain=3DReferenceAcpiTable -D CRB_FLAG -D TRAD_FLAG=3D1 $(ULT_BUILD_OP= TION) -D PCH_SERVER_BIOS_FLAG=3D1 -D SUS_WELL_RESTORE=3D1 -D SERVER_BIOS_FL= AG=3D1 -D PCH_SPT -D PURLEY_FLAG $(SPARING_SCRATCHPAD_OPTION) $(TRACE_HUB_D= EBUG_BUILD_OPTIONS) $(TRACE_HUB_INIT_BUILD_OPTIONS) -D MAX_SOCKET=3D2 -D EF= I_PCI_IOV_SUPPORT -D WHEA_SUPPORT -D SKX_HOST -D CLX_HOST -D MDEPKG_NDEBUG = -D SILENT_MODE -# ## MSFT:RELEASE_VS2015x86_X64_APP_FLAGS =3D /nologo /E /TC -D CRB_FLAG= -D TRAD_FLAG=3D1 $(ULT_BUILD_OPTION) -D PCH_SERVER_BIOS_FLAG=3D1 -D SUS_WE= LL_RESTORE=3D1 -D SERVER_BIOS_FLAG=3D1 -D PCH_SPT -D PURLEY_FLAG $(SPARING_= SCRATCHPAD_OPTION) $(TRACE_HUB_DEBUG_BUILD_OPTIONS) $(TRACE_HUB_INIT_BUILD_= OPTIONS) -D MAX_SOCKET=3D2 -D EFI_PCI_IOV_SUPPORT -D WHEA_SUPPORT -D SKX_HO= ST -D CLX_HOST -D MDEPKG_NDEBUG -D SILENT_MODE -# ## MSFT:RELEASE_VS2015x86_X64_DLINK2_FLAGS =3D=20 -# ## MSFT:RELEASE_VS2015x86_X64_DLINK_FLAGS =3D /NOLOGO /NODEFAULTLIB /I= GNORE:4001 /IGNORE:4254 /OPT:REF /OPT:ICF=3D10 /MAP /ALIGN:32 /SECTION:.xda= ta,D /SECTION:.pdata,D /Machine:X64 /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT) = /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /MERGE:.rdat= a=3D.data /DEBUG -# ## MSFT:RELEASE_VS2015x86_X64_ASLPP_FLAGS =3D /nologo /E /C /FIAutoGen= .h -D CRB_FLAG -D TRAD_FLAG=3D1 $(ULT_BUILD_OPTION) -D PCH_SERVER_BIOS_FLAG= =3D1 -D SUS_WELL_RESTORE=3D1 -D SERVER_BIOS_FLAG=3D1 -D PCH_SPT -D PURLEY_F= LAG $(SPARING_SCRATCHPAD_OPTION) $(TRACE_HUB_DEBUG_BUILD_OPTIONS) $(TRACE_H= UB_INIT_BUILD_OPTIONS) -D MAX_SOCKET=3D2 -D EFI_PCI_IOV_SUPPORT -D WHEA_SUP= PORT -D SKX_HOST -D CLX_HOST -D MDEPKG_NDEBUG -D SILENT_MODE -# ## MSFT:RELEASE_VS2015x86_X64_OBJCOPY_FLAGS =3D objcopy not needed for -# ## MSFT:RELEASE_VS2015x86_X64_MAKE_FLAGS =3D /nologo -# ## MSFT:RELEASE_VS2015x86_X64_ASMLINK_FLAGS =3D /nologo /tiny -# ## MSFT:RELEASE_VS2015x86_X64_NASM_FLAGS =3D -Ox -f win64 -# # -# # This file contains an 'Intel Peripheral Driver' and is -# # licensed for Intel CPUs and chipsets under the terms of your -# # license agreement with Intel or your vendor. This file may -# # be modified by the user, subject to additional terms of the -# # license agreement -# # -# ## @file -# # CPU MP DXE Driver. -# # -# # This DXE Driver does processor initialization, configures multi-proces= sor environment, -# # and installs MP Services Protocol. -# # -# # Copyright (c) 2006 - 2016, Intel Corporation. All rights reserved.
-# # -# # This software and associated documentation (if any) is furnished -# # under a license and may only be used or copied in accordance -# # with the terms of the license. Except as permitted by such -# # license, no part of this software or documentation may be -# # reproduced, stored in a retrieval system, or transmitted in any -# # form or by any means without the express written consent of -# # Intel Corporation. -# # -# # -# ## -#=20 -# # DO NOT EDIT -# # FILE auto-generated -#=20 -# [Defines] -# INF_VERSION =3D 0x00010017 -# BASE_NAME =3D CpuMpDxe -# FILE_GUID =3D 40BEAB40-CECE-4909-B133-20A413AE19E9 -# MODULE_TYPE =3D DXE_DRIVER -# VERSION_STRING =3D 1.0 -# ENTRY_POINT =3D MultiProcessorInitialize -# MODULE_UNI_FILE =3D CpuMpDxe.uni -#=20 -[Packages.X64] - MdePkg/MdePkg.dec - MdeModulePkg/MdeModulePkg.dec - UefiCpuPkg/UefiCpuPkg.dec - PurleySktPkg/Override/IA32FamilyCpuPkg/IA32FamilyCpuPkg.dec - PurleySktPkg/SocketPkg.dec - -# [Binaries.X64] -# PE32|CpuMpDxe.efi -# DXE_DEPEX|CpuMpDxe.depex -# DISPOSABLE|CpuMpDxe.pdb -#=20 -[PatchPcd.X64] - -# [Protocols.X64] -# ## PRODUCES -# gEfiMpServiceProtocolGuid -#=20 -# ## CONSUMES -# gEfiCpuArchProtocolGuid -#=20 -# ## SOMETIMES_CONSUMES -# gEfiGenericMemTestProtocolGuid -#=20 -# ## NOTIFY -# ## SOMETIMES_CONSUMES -# ## NOTIFY -# gEfiSmmConfigurationProtocolGuid -#=20 -# ## CONSUMES -# gEfiTimerArchProtocolGuid -#=20 -# ## NOTIFY -# ## CONSUMES -# gEfiDxeSmmReadyToLockProtocolGuid -#=20 -# # -# # PURLEY_OVERRIDE_BEGIN -# # -# gEfiIioUdsProtocolGuid -#=20 -# # PROTOCOL ALWAYS_CONSUMED -# gEfiCpuCsrAccessGuid -#=20 -# ## SOMETIMES_CONSUMES -# gPcdProtocolGuid -#=20 -# ## CONSUMES -# gEfiPcdProtocolGuid -#=20 -# ## SOMETIMES_CONSUMES -# gGetPcdInfoProtocolGuid -#=20 -# ## SOMETIMES_CONSUMES -# gEfiGetPcdInfoProtocolGuid -#=20 -# ## SOMETIMES_CONSUMES -# ## SOMETIMES_CONSUMES -# gEfiDevicePathProtocolGuid -#=20 -# ## UNDEFINED -# gEfiDebugPortProtocolGuid -#=20 -# ## SOMETIMES_PRODUCES -# gEfiDriverBindingProtocolGuid -#=20 -# ## SOMETIMES_CONSUMES -# gEfiSimpleTextOutProtocolGuid -#=20 -# ## SOMETIMES_CONSUMES -# gEfiGraphicsOutputProtocolGuid -#=20 -# ## SOMETIMES_CONSUMES -# ## SOMETIMES_CONSUMES -# gEfiHiiFontProtocolGuid -#=20 -# ## SOMETIMES_CONSUMES # Consumes if gEfiGraphicsOutputProtocolGuid uni= nstalled -# gEfiUgaDrawProtocolGuid -#=20 -# ## SOMETIMES_PRODUCES # User chooses to produce it -# gEfiComponentNameProtocolGuid -#=20 -# ## SOMETIMES_PRODUCES # User chooses to produce it -# gEfiComponentName2ProtocolGuid -#=20 -# ## SOMETIMES_PRODUCES # User chooses to produce it -# gEfiDriverConfigurationProtocolGuid -#=20 -# ## SOMETIMES_PRODUCES # User chooses to produce it -# gEfiDriverConfiguration2ProtocolGuid -#=20 -# ## SOMETIMES_PRODUCES # User chooses to produce it -# gEfiDriverDiagnosticsProtocolGuid -#=20 -# ## SOMETIMES_PRODUCES # User chooses to produce it -# gEfiDriverDiagnostics2ProtocolGuid -#=20 -# ## CONSUMES -# gEfiHiiStringProtocolGuid -#=20 -# ## SOMETIMES_CONSUMES -# gEfiHiiImageProtocolGuid -#=20 -# ## CONSUMES -# gEfiHiiDatabaseProtocolGuid -#=20 -# ## CONSUMES -# gEfiHiiConfigRoutingProtocolGuid -#=20 -# ## SOMETIMES_CONSUMES -# gEfiLoadedImageProtocolGuid -#=20 -# ## CONSUMES -# gEfiStatusCodeRuntimeProtocolGuid -#=20 -# ## SOMETIMES_CONSUMES -# gEfiFormBrowser2ProtocolGuid -#=20 -#=20 -# [Ppis.X64] -# ## UNDEFINED # HOB -# gEfiSecPlatformInformation2PpiGuid -#=20 -# ## UNDEFINED # HOB -# gEfiSecPlatformInformationPpiGuid -#=20 -#=20 -# [Guids.X64] -# ## CONSUMES ## HOB -# gEfiHtBistHobGuid -#=20 -# ## CONSUMES ## Event -# gEfiEventExitBootServicesGuid -#=20 -# ## CONSUMES ## Event -# gIdleLoopEventGuid -#=20 -# ## CONSUMES ## TokenSpaceGuid -# gEfiCpuTokenSpaceGuid -#=20 -# # -# # PURLEY_OVERRIDE_BEGIN -# # -# gPlatformTokenSpaceGuid -#=20 -# gUefiCpuPkgTokenSpaceGuid -#=20 -# ## SOMETIMES_CONSUMES ## GUID -# gEfiVTUTF8Guid -#=20 -# ## SOMETIMES_CONSUMES ## GUID -# gEfiVT100Guid -#=20 -# ## SOMETIMES_CONSUMES ## GUID -# gEfiVT100PlusGuid -#=20 -# ## SOMETIMES_CONSUMES ## GUID -# gEfiPcAnsiGuid -#=20 -# ## SOMETIMES_CONSUMES ## GUID -# gEfiUartDevicePathGuid -#=20 -# ## SOMETIMES_CONSUMES ## GUID -# gEfiSasDevicePathGuid -#=20 -# ## SOMETIMES_CONSUMES ## GUID -# gEfiVirtualDiskGuid -#=20 -# ## SOMETIMES_CONSUMES ## GUID -# gEfiVirtualCdGuid -#=20 -# ## SOMETIMES_CONSUMES ## GUID -# gEfiPersistentVirtualDiskGuid -#=20 -# ## SOMETIMES_CONSUMES ## GUID -# gEfiPersistentVirtualCdGuid -#=20 -# ## SOMETIMES_CONSUMES ## Event -# gEfiEventReadyToBootGuid -#=20 -# ## SOMETIMES_CONSUMES ## Event -# gEfiEventLegacyBootGuid -#=20 -# ## SOMETIMES_CONSUMES ## Variable -# gEfiGlobalVariableGuid -#=20 -# ## CONSUMES ## SystemTable -# gEfiHobListGuid -#=20 -# ## CONSUMES ## SystemTable -# gEfiDxeServicesTableGuid -#=20 -# ## SOMETIMES_CONSUMES ## UNDEFINED -# gEfiStatusCodeSpecificDataGuid -#=20 -# ## SOMETIMES_CONSUMES ## UNDEFINED -# gEfiStatusCodeDataTypeDebugGuid -#=20 -# ## SOMETIMES_CONSUMES ## GUID -# gEdkiiIfrBitVarstoreGuid -#=20 -#=20 -[PcdEx.X64] - # - # PURLEY_OVERRIDE_END - # - ## CONSUMES - gEfiCpuTokenSpaceGuid.PcdPlatformCpuAssetTags - - ## CONSUMES - gEfiCpuTokenSpaceGuid.PcdPlatformCpuSocketNames - - ## CONSUMES - gEfiCpuTokenSpaceGuid.PcdPlatformCpuSocketCount - - ## CONSUMES - gEfiCpuTokenSpaceGuid.PcdPlatformCpuFrequencyLists - - ## CONSUMES - gEfiCpuTokenSpaceGuid.PcdCpuApInitTimeOutInMicroSeconds - - ## CONSUMES - ## PRODUCES - gEfiCpuTokenSpaceGuid.PcdCpuProcessorFeatureSetting - - ## CONSUMES - ## PRODUCES - gEfiCpuTokenSpaceGuid.PcdCpuProcessorFeatureCapability - - ## CONSUMES - gEfiCpuTokenSpaceGuid.PcdCpuProcessorFeatureUserConfiguration - - ## CONSUMES - ## PRODUCES - gEfiCpuTokenSpaceGuid.PcdCpuProcessorFeatureSettingEx1 - - ## CONSUMES - ## PRODUCES - gEfiCpuTokenSpaceGuid.PcdCpuProcessorFeatureCapabilityEx1 - - ## CONSUMES - gEfiCpuTokenSpaceGuid.PcdCpuProcessorFeatureUserConfigurationEx1 - - ## PRODUCES - ## CONSUMES - gEfiCpuTokenSpaceGuid.PcdCpuConfigContextBuffer - - ## PRODUCES - ## SOMETIMES_PRODUCES - ## SOMETIMES_CONSUMES - gEfiCpuTokenSpaceGuid.PcdCpuCallbackSignal - - ## CONSUMES - gEfiCpuTokenSpaceGuid.PcdIsPowerOnReset - - ## CONSUMES - gEfiCpuTokenSpaceGuid.PcdCpuPageTableAddress - - ## CONSUMES - ## SOMETIMES_PRODUCES - gEfiCpuTokenSpaceGuid.PcdCpuMtrrTableAddress - - ## PRODUCES - gUefiCpuPkgTokenSpaceGuid.PcdCpuS3DataAddress - - ## SOMETIMES_CONSUMES - gEfiCpuTokenSpaceGuid.PcdCpuHwCoordination - - ## SOMETIMES_CONSUMES - gEfiCpuTokenSpaceGuid.PcdCpuEnergyPolicy - - ## SOMETIMES_CONSUMES - gEfiCpuTokenSpaceGuid.PcdCpuClockModulationDutyCycle - - ## SOMETIMES_CONSUMES - gEfiCpuTokenSpaceGuid.PcdCpuAcpiLvl2Addr - - ## SOMETIMES_CONSUMES - gEfiCpuTokenSpaceGuid.PcdCpuPackageCStateLimit - - # - # PURLEY_OVERRIDE_BEGIN - # - gEfiCpuTokenSpaceGuid.PcdCpuCoreCStateValue - - # - # PURLEY_OVERRIDE_END - # - ## SOMETIMES_CONSUMES - gEfiCpuTokenSpaceGuid.PcdCpuDcuMode - - # - # PURLEY_OVERRIDE_BEGIN - # - gEfiCpuTokenSpaceGuid.PcdCpuProcessorMsrLockCtrl - - #ESS Override Start - # 4168379: Odin: PL1 cannot be changed greater than 200W and lock bit se= t. - gEfiCpuTokenSpaceGuid.PcdCpuTurboOverride - - #ESS Override End - gEfiCpuTokenSpaceGuid.PcdPchTraceHubEn - - gEfiCpuTokenSpaceGuid.PcdCpuIioLlcWaysBitMask - - gEfiCpuTokenSpaceGuid.PcdCpuExpandedIioLlcWaysBitMask - - gEfiCpuTokenSpaceGuid.PcdCpuRemoteWaysBitMask - - gEfiCpuTokenSpaceGuid.PcdCpuQlruCfgBitMask - - gEfiCpuTokenSpaceGuid.PcdSbspSelection - - gEfiCpuTokenSpaceGuid.PcdCpuSocketId - - # - # PURLEY_OVERRIDE_BEGIN - # - gEfiCpuTokenSpaceGuid.PcdCpuRRQCountThreshold - - -# [LibraryClasses.X64] -# ## @LIB_INSTANCES -# # MdePkg/Library/BaseLib/BaseLib.inf -# # MdePkg/Library/BaseDebugLibNull/BaseDebugLibNull.inf -# # MdePkg/Library/BaseMemoryLibRepStr/BaseMemoryLibRepStr.inf -# # MdePkg/Library/DxePcdLib/DxePcdLib.inf -# # MdePkg/Library/UefiBootServicesTableLib/UefiBootServicesTableLib.inf -# # MdePkg/Library/BasePrintLib/BasePrintLib.inf -# # MdePkg/Library/UefiMemoryAllocationLib/UefiMemoryAllocationLib.inf -# # MdePkg/Library/BaseIoLibIntrinsic/BaseIoLibIntrinsic.inf -# # MdePkg/Library/UefiDevicePathLib/UefiDevicePathLib.inf -# # MdePkg/Library/UefiRuntimeServicesTableLib/UefiRuntimeServicesTableLi= b.inf -# # MdePkg/Library/BasePciCf8Lib/BasePciCf8Lib.inf -# # MdePkg/Library/UefiLib/UefiLib.inf -# # MdePkg/Library/BasePciLibCf8/BasePciLibCf8.inf -# # MdePkg/Library/DxeHobLib/DxeHobLib.inf -# # MdeModulePkg/Library/UefiHiiServicesLib/UefiHiiServicesLib.inf -# # PcAtChipsetPkg/Library/AcpiTimerLib/DxeAcpiTimerLib.inf -# # MdePkg/Library/BaseCpuLib/BaseCpuLib.inf -# # MdePkg/Library/DxeServicesTableLib/DxeServicesTableLib.inf -# # PurleySktPkg/Override/IA32FamilyCpuPkg/Library/CpuConfigLib/CpuConfig= Lib.inf -# # MdePkg/Library/UefiDriverEntryPoint/UefiDriverEntryPoint.inf -# # MdeModulePkg/Library/DxeReportStatusCodeLib/DxeReportStatusCodeLib.inf -# # MdeModulePkg/Library/UefiHiiLib/UefiHiiLib.inf -# # MdePkg/Library/BaseSynchronizationLib/BaseSynchronizationLib.inf -# # UefiCpuPkg/Library/BaseUefiCpuLib/BaseUefiCpuLib.inf -# # UefiCpuPkg/Library/MtrrLib/MtrrLib.inf -# # MdePkg/Library/BaseS3BootScriptLibNull/BaseS3BootScriptLibNull.inf -# # MdeModulePkg/Library/DebugAgentLibNull/DebugAgentLibNull.inf -# # UefiCpuPkg/Library/BaseXApicX2ApicLib/BaseXApicX2ApicLib.inf -#=20 -# [Depex.X64] -# # (gEfiTimerArchProtocolGuid AND gEfiGenericMemTestProtocolGuid AND gIn= telCpuPcdsSetDoneProtocolGuid) AND (gEfiPcdProtocolGuid) AND (gEfiPcdProtoc= olGuid) AND (gEfiPcdProtocolGuid) AND (gEfiPcdProtocolGuid) AND (gEfiHiiStr= ingProtocolGuid AND gEfiHiiDatabaseProtocolGuid AND gEfiHiiConf= igRoutingProtocolGuid) AND (gEfiHiiStringProtocolGuid AND gEfiHiiDat= abaseProtocolGuid AND gEfiHiiConfigRoutingProtocolGuid) AND (gEfiHiiSt= ringProtocolGuid AND gEfiHiiDatabaseProtocolGuid AND gEfiHiiCon= figRoutingProtocolGuid) AND (gEfiHiiStringProtocolGuid AND gEfiHiiDa= tabaseProtocolGuid AND gEfiHiiConfigRoutingProtocolGuid) AND -# # (gEfiBdsArchProtocolGuid AND gEfiCpuArchProtocolGuid AND gEfiMetronom= eArchProtocolGuid AND gEfiMonotonicCounterArchProtocolGuid AND gEfiRealTime= ClockArchProtocolGuid AND gEfiResetArchProtocolGuid AND gEfiRuntimeArchProt= ocolGuid AND gEfiSecurityArchProtocolGuid AND gEfiTimerArchProtocolGuid AND= gEfiVariableWriteArchProtocolGuid AND gEfiVariableArchProtocolGuid AND gEf= iWatchdogTimerArchProtocolGuid) -#=20 -# [UserExtensions.TianoCore."ExtraFiles"] -# CpuMpDxeExtra.uni -# # -# # PURLEY_OVERRIDE_BEGIN_4929970 -# # -#=20 -#=20 -#=20 -# # -# # The following information is for reference only and not required by th= e build tools. -# # -# # VALID_ARCHITECTURES =3D IA32 X64 -# # -# # Create Event Guid C Name: Event Type: EVENT_TYPE_PERIODIC_TIMER -# # -# # HOB Guid C Name: gEfiHtBistHobGuid Hob Type: GUID_EXTENSION -# # -# # -# # PURLEY_OVERRIDE_END -# # -# # -# # PURLEY_OVERRIDE_END -# # -# # -# # PURLEY_OVERRIDE_END -# # -# # -# # PURLEY_OVERRIDE_BEGIN -# # -# # -# # PURLEY_OVERRIDE_END -# # -# # -# # PURLEY_OVERRIDE_END -# # -# ## CONSUMES -# ## UNDEFINED # Token -# # -# # PURLEY_OVERRIDE_BEGIN -# # -# #gEfiCpuTokenSpaceGuid.PcdCpuSocketId -# # -# # PURLEY_OVERRIDE_END -# # -# # -# # PURLEY_OVERRIDE_BEGIN_4929970 -# # -# # -# # PURLEY_OVERRIDE_END_4929970 -# # -#=20 -# [BuildOptions.X64] -# ## @AsBuilt -# ## MSFT:RELEASE_VS2015x86_X64_OPTROM_FLAGS =3D -e -# ## MSFT:RELEASE_VS2015x86_X64_VFR_FLAGS =3D -n -# ## MSFT:RELEASE_VS2015x86_X64_PP_FLAGS =3D /nologo /E /TC /FIAutoGen.h= -D CRB_FLAG -D TRAD_FLAG=3D1 $(ULT_BUILD_OPTION) -D PCH_SERVER_BIOS_FLAG= =3D1 -D SUS_WELL_RESTORE=3D1 -D SERVER_BIOS_FLAG=3D1 -D PCH_SPT -D PURLEY_F= LAG $(SPARING_SCRATCHPAD_OPTION) $(TRACE_HUB_DEBUG_BUILD_OPTIONS) $(TRACE_H= UB_INIT_BUILD_OPTIONS) -D MAX_SOCKET=3D2 -D EFI_PCI_IOV_SUPPORT -D WHEA_SUP= PORT -D SKX_HOST -D CLX_HOST -D MDEPKG_NDEBUG -D SILENT_MODE -# ## MSFT:RELEASE_VS2015x86_X64_SYMRENAME_FLAGS =3D Symbol renaming not = needed for -# ## MSFT:RELEASE_VS2015x86_X64_GENFW_FLAGS =3D=20 -# ## MSFT:RELEASE_VS2015x86_X64_SLINK_FLAGS =3D /NOLOGO /LTCG -# ## MSFT:RELEASE_VS2015x86_X64_ASLDLINK_FLAGS =3D /NODEFAULTLIB /ENTRY:= ReferenceAcpiTable /SUBSYSTEM:CONSOLE -# ## MSFT:RELEASE_VS2015x86_X64_ASM_FLAGS =3D /nologo /c /WX /W3 /Cx /Zd= /Zi -# ## MSFT:RELEASE_VS2015x86_X64_ASL_FLAGS =3D=20 -# ## MSFT:RELEASE_VS2015x86_X64_CC_FLAGS =3D /nologo /c /WX /GS- /W4 /Gs= 32768 /D UNICODE /O1b2s /GL /Gy /FIAutoGen.h /EHs-c- /GR- /GF /Gw -D CRB_FL= AG -D TRAD_FLAG=3D1 $(ULT_BUILD_OPTION) -D PCH_SERVER_BIOS_FLAG=3D1 -D SUS_= WELL_RESTORE=3D1 -D SERVER_BIOS_FLAG=3D1 -D PCH_SPT -D PURLEY_FLAG $(SPARIN= G_SCRATCHPAD_OPTION) $(TRACE_HUB_DEBUG_BUILD_OPTIONS) $(TRACE_HUB_INIT_BUIL= D_OPTIONS) -D MAX_SOCKET=3D2 -D EFI_PCI_IOV_SUPPORT -D WHEA_SUPPORT -D SKX_= HOST -D CLX_HOST -D MDEPKG_NDEBUG -D SILENT_MODE /Zi /Gm -# ## MSFT:RELEASE_VS2015x86_X64_NASMB_FLAGS =3D -f bin -# ## MSFT:RELEASE_VS2015x86_X64_VFRPP_FLAGS =3D /nologo /E /TC /DVFRCOMP= ILE /FI$(MODULE_NAME)StrDefs.h -D CRB_FLAG -D TRAD_FLAG=3D1 $(ULT_BUILD_OPT= ION) -D PCH_SERVER_BIOS_FLAG=3D1 -D SUS_WELL_RESTORE=3D1 -D SERVER_BIOS_FLA= G=3D1 -D PCH_SPT -D PURLEY_FLAG $(SPARING_SCRATCHPAD_OPTION) $(TRACE_HUB_DE= BUG_BUILD_OPTIONS) $(TRACE_HUB_INIT_BUILD_OPTIONS) -D MAX_SOCKET=3D2 -D EFI= _PCI_IOV_SUPPORT -D WHEA_SUPPORT -D SKX_HOST -D CLX_HOST -D MDEPKG_NDEBUG -= D SILENT_MODE -# ## MSFT:RELEASE_VS2015x86_X64_ASLCC_FLAGS =3D /nologo /c /FIAutoGen.h = /TC /Dmain=3DReferenceAcpiTable -D CRB_FLAG -D TRAD_FLAG=3D1 $(ULT_BUILD_OP= TION) -D PCH_SERVER_BIOS_FLAG=3D1 -D SUS_WELL_RESTORE=3D1 -D SERVER_BIOS_FL= AG=3D1 -D PCH_SPT -D PURLEY_FLAG $(SPARING_SCRATCHPAD_OPTION) $(TRACE_HUB_D= EBUG_BUILD_OPTIONS) $(TRACE_HUB_INIT_BUILD_OPTIONS) -D MAX_SOCKET=3D2 -D EF= I_PCI_IOV_SUPPORT -D WHEA_SUPPORT -D SKX_HOST -D CLX_HOST -D MDEPKG_NDEBUG = -D SILENT_MODE -# ## MSFT:RELEASE_VS2015x86_X64_APP_FLAGS =3D /nologo /E /TC -D CRB_FLAG= -D TRAD_FLAG=3D1 $(ULT_BUILD_OPTION) -D PCH_SERVER_BIOS_FLAG=3D1 -D SUS_WE= LL_RESTORE=3D1 -D SERVER_BIOS_FLAG=3D1 -D PCH_SPT -D PURLEY_FLAG $(SPARING_= SCRATCHPAD_OPTION) $(TRACE_HUB_DEBUG_BUILD_OPTIONS) $(TRACE_HUB_INIT_BUILD_= OPTIONS) -D MAX_SOCKET=3D2 -D EFI_PCI_IOV_SUPPORT -D WHEA_SUPPORT -D SKX_HO= ST -D CLX_HOST -D MDEPKG_NDEBUG -D SILENT_MODE -# ## MSFT:RELEASE_VS2015x86_X64_DLINK2_FLAGS =3D=20 -# ## MSFT:RELEASE_VS2015x86_X64_DLINK_FLAGS =3D /NOLOGO /NODEFAULTLIB /I= GNORE:4001 /IGNORE:4254 /OPT:REF /OPT:ICF=3D10 /MAP /ALIGN:32 /SECTION:.xda= ta,D /SECTION:.pdata,D /Machine:X64 /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT) = /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /MERGE:.rdat= a=3D.data /ALIGN:128 /DEBUG -# ## MSFT:RELEASE_VS2015x86_X64_ASLPP_FLAGS =3D /nologo /E /C /FIAutoGen= .h -D CRB_FLAG -D TRAD_FLAG=3D1 $(ULT_BUILD_OPTION) -D PCH_SERVER_BIOS_FLAG= =3D1 -D SUS_WELL_RESTORE=3D1 -D SERVER_BIOS_FLAG=3D1 -D PCH_SPT -D PURLEY_F= LAG $(SPARING_SCRATCHPAD_OPTION) $(TRACE_HUB_DEBUG_BUILD_OPTIONS) $(TRACE_H= UB_INIT_BUILD_OPTIONS) -D MAX_SOCKET=3D2 -D EFI_PCI_IOV_SUPPORT -D WHEA_SUP= PORT -D SKX_HOST -D CLX_HOST -D MDEPKG_NDEBUG -D SILENT_MODE -# ## MSFT:RELEASE_VS2015x86_X64_OBJCOPY_FLAGS =3D objcopy not needed for -# ## MSFT:RELEASE_VS2015x86_X64_MAKE_FLAGS =3D /nologo -# ## MSFT:RELEASE_VS2015x86_X64_ASMLINK_FLAGS =3D /nologo /tiny -# ## MSFT:RELEASE_VS2015x86_X64_NASM_FLAGS =3D -Ox -f win64 -# ## @file -# # Component description file for SmmAccess module -# # -# # Copyright (c) 2009 - 2016, Intel Corporation. All rights reserved.
-# # -# # This program and the accompanying materials -# # are licensed and made available under the terms and conditions of the= BSD License -# # which accompanies this distribution. The full text of the license may= be found at -# # http://opensource.org/licenses/bsd-license.php -# # THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, -# # WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR = IMPLIED. -# # -# # -# ## -#=20 -# # DO NOT EDIT -# # FILE auto-generated -#=20 -# [Defines] -# INF_VERSION =3D 0x00010017 -# BASE_NAME =3D SmmAccess -# FILE_GUID =3D 274F0C8F-9E57-41d8-9966-29CCD48D31C2 -# MODULE_TYPE =3D DXE_DRIVER -# VERSION_STRING =3D 1.0 -# ENTRY_POINT =3D SmmAccessDriverEntryPoint -#=20 -[Packages.X64] - MdePkg/MdePkg.dec - PurleySktPkg/SocketPkg.dec - -# [Binaries.X64] -# PE32|SmmAccess.efi -# DXE_DEPEX|SmmAccess.depex -# DISPOSABLE|SmmAccess.pdb -#=20 -[PatchPcd.X64] - -# [Protocols.X64] -# gEfiPciRootBridgeIoProtocolGuid -#=20 -# gEfiIioUdsProtocolGuid -#=20 -# gEfiSmmAccess2ProtocolGuid -#=20 -# ## SOMETIMES_CONSUMES -# gPcdProtocolGuid -#=20 -# ## CONSUMES -# gEfiPcdProtocolGuid -#=20 -# ## SOMETIMES_CONSUMES -# gGetPcdInfoProtocolGuid -#=20 -# ## SOMETIMES_CONSUMES -# gEfiGetPcdInfoProtocolGuid -#=20 -# ## SOMETIMES_CONSUMES -# gEfiDevicePathProtocolGuid -#=20 -# ## UNDEFINED -# gEfiDebugPortProtocolGuid -#=20 -# ## SOMETIMES_PRODUCES -# gEfiDriverBindingProtocolGuid -#=20 -# ## SOMETIMES_CONSUMES -# gEfiSimpleTextOutProtocolGuid -#=20 -# ## SOMETIMES_CONSUMES -# gEfiGraphicsOutputProtocolGuid -#=20 -# ## SOMETIMES_CONSUMES -# gEfiHiiFontProtocolGuid -#=20 -# ## SOMETIMES_CONSUMES # Consumes if gEfiGraphicsOutputProtocolGuid uni= nstalled -# gEfiUgaDrawProtocolGuid -#=20 -# ## SOMETIMES_PRODUCES # User chooses to produce it -# gEfiComponentNameProtocolGuid -#=20 -# ## SOMETIMES_PRODUCES # User chooses to produce it -# gEfiComponentName2ProtocolGuid -#=20 -# ## SOMETIMES_PRODUCES # User chooses to produce it -# gEfiDriverConfigurationProtocolGuid -#=20 -# ## SOMETIMES_PRODUCES # User chooses to produce it -# gEfiDriverConfiguration2ProtocolGuid -#=20 -# ## SOMETIMES_PRODUCES # User chooses to produce it -# gEfiDriverDiagnosticsProtocolGuid -#=20 -# ## SOMETIMES_PRODUCES # User chooses to produce it -# gEfiDriverDiagnostics2ProtocolGuid -#=20 -# ## SOMETIMES_CONSUMES -# gEfiLoadedImageProtocolGuid -#=20 -#=20 -# [Ppis.X64] -#=20 -# [Guids.X64] -# gEfiSmmPeiSmramMemoryReserveGuid -#=20 -# ## SOMETIMES_CONSUMES ## GUID -# gEfiVTUTF8Guid -#=20 -# ## SOMETIMES_CONSUMES ## GUID -# gEfiVT100Guid -#=20 -# ## SOMETIMES_CONSUMES ## GUID -# gEfiVT100PlusGuid -#=20 -# ## SOMETIMES_CONSUMES ## GUID -# gEfiPcAnsiGuid -#=20 -# ## SOMETIMES_CONSUMES ## GUID -# gEfiUartDevicePathGuid -#=20 -# ## SOMETIMES_CONSUMES ## GUID -# gEfiSasDevicePathGuid -#=20 -# ## SOMETIMES_CONSUMES ## GUID -# gEfiVirtualDiskGuid -#=20 -# ## SOMETIMES_CONSUMES ## GUID -# gEfiVirtualCdGuid -#=20 -# ## SOMETIMES_CONSUMES ## GUID -# gEfiPersistentVirtualDiskGuid -#=20 -# ## SOMETIMES_CONSUMES ## GUID -# gEfiPersistentVirtualCdGuid -#=20 -# ## SOMETIMES_CONSUMES ## Event -# gEfiEventReadyToBootGuid -#=20 -# ## SOMETIMES_CONSUMES ## Event -# gEfiEventLegacyBootGuid -#=20 -# ## SOMETIMES_CONSUMES ## Variable -# gEfiGlobalVariableGuid -#=20 -# ## CONSUMES ## SystemTable -# gEfiHobListGuid -#=20 -#=20 -[PcdEx.X64] - -# [LibraryClasses.X64] -# ## @LIB_INSTANCES -# # MdePkg/Library/DxePcdLib/DxePcdLib.inf -# # MdePkg/Library/BaseMemoryLibRepStr/BaseMemoryLibRepStr.inf -# # MdePkg/Library/BaseLib/BaseLib.inf -# # MdePkg/Library/BaseDebugLibNull/BaseDebugLibNull.inf -# # MdePkg/Library/UefiBootServicesTableLib/UefiBootServicesTableLib.inf -# # MdePkg/Library/UefiMemoryAllocationLib/UefiMemoryAllocationLib.inf -# # MdePkg/Library/BasePrintLib/BasePrintLib.inf -# # MdePkg/Library/UefiRuntimeServicesTableLib/UefiRuntimeServicesTableLi= b.inf -# # MdePkg/Library/UefiDevicePathLib/UefiDevicePathLib.inf -# # MdePkg/Library/UefiLib/UefiLib.inf -# # MdePkg/Library/DxeHobLib/DxeHobLib.inf -# # MdePkg/Library/BaseS3BootScriptLibNull/BaseS3BootScriptLibNull.inf -# # MdePkg/Library/UefiDriverEntryPoint/UefiDriverEntryPoint.inf -#=20 -# [Depex.X64] -# # (gEfiPciRootBridgeIoProtocolGuid AND gEfiIioUdsProtocolGuid) AND (gEf= iPcdProtocolGuid) AND (gEfiPcdProtocolGuid) AND (gEfiPcdProtocolGuid) AND (= gEfiPcdProtocolGuid) AND (gEfiBdsArchProtocolGuid AND gEfiCpuArchProtocolGu= id AND gEfiMetronomeArchProtocolGuid AND gEfiMonotonicCounterArchProtocolGu= id AND gEfiRealTimeClockArchProtocolGuid AND gEfiResetArchProtocolGuid AND = gEfiRuntimeArchProtocolGuid AND gEfiSecurityArchProtocolGuid AND gEfiTimerA= rchProtocolGuid AND gEfiVariableWriteArchProtocolGuid AND gEfiVariableArchP= rotocolGuid AND gEfiWatchdogTimerArchProtocolGuid) -#=20 -#=20 -#=20 -#=20 -#=20 -# [BuildOptions.X64] -# ## @AsBuilt -# ## MSFT:RELEASE_VS2015x86_X64_OPTROM_FLAGS =3D -e -# ## MSFT:RELEASE_VS2015x86_X64_VFR_FLAGS =3D -n -# ## MSFT:RELEASE_VS2015x86_X64_PP_FLAGS =3D /nologo /E /TC /FIAutoGen.h= -D CRB_FLAG -D TRAD_FLAG=3D1 $(ULT_BUILD_OPTION) -D PCH_SERVER_BIOS_FLAG= =3D1 -D SUS_WELL_RESTORE=3D1 -D SERVER_BIOS_FLAG=3D1 -D PCH_SPT -D PURLEY_F= LAG $(SPARING_SCRATCHPAD_OPTION) $(TRACE_HUB_DEBUG_BUILD_OPTIONS) $(TRACE_H= UB_INIT_BUILD_OPTIONS) -D MAX_SOCKET=3D2 -D EFI_PCI_IOV_SUPPORT -D WHEA_SUP= PORT -D SKX_HOST -D CLX_HOST -D MDEPKG_NDEBUG -D SILENT_MODE -# ## MSFT:RELEASE_VS2015x86_X64_SYMRENAME_FLAGS =3D Symbol renaming not = needed for -# ## MSFT:RELEASE_VS2015x86_X64_GENFW_FLAGS =3D=20 -# ## MSFT:RELEASE_VS2015x86_X64_SLINK_FLAGS =3D /NOLOGO /LTCG -# ## MSFT:RELEASE_VS2015x86_X64_ASLDLINK_FLAGS =3D /NODEFAULTLIB /ENTRY:= ReferenceAcpiTable /SUBSYSTEM:CONSOLE -# ## MSFT:RELEASE_VS2015x86_X64_ASM_FLAGS =3D /nologo /c /WX /W3 /Cx /Zd= /Zi -# ## MSFT:RELEASE_VS2015x86_X64_ASL_FLAGS =3D=20 -# ## MSFT:RELEASE_VS2015x86_X64_CC_FLAGS =3D /nologo /c /WX /GS- /W4 /Gs= 32768 /D UNICODE /O1b2s /GL /Gy /FIAutoGen.h /EHs-c- /GR- /GF /Gw -D CRB_FL= AG -D TRAD_FLAG=3D1 $(ULT_BUILD_OPTION) -D PCH_SERVER_BIOS_FLAG=3D1 -D SUS_= WELL_RESTORE=3D1 -D SERVER_BIOS_FLAG=3D1 -D PCH_SPT -D PURLEY_FLAG $(SPARIN= G_SCRATCHPAD_OPTION) $(TRACE_HUB_DEBUG_BUILD_OPTIONS) $(TRACE_HUB_INIT_BUIL= D_OPTIONS) -D MAX_SOCKET=3D2 -D EFI_PCI_IOV_SUPPORT -D WHEA_SUPPORT -D SKX_= HOST -D CLX_HOST -D MDEPKG_NDEBUG -D SILENT_MODE /Zi /Gm -# ## MSFT:RELEASE_VS2015x86_X64_NASMB_FLAGS =3D -f bin -# ## MSFT:RELEASE_VS2015x86_X64_VFRPP_FLAGS =3D /nologo /E /TC /DVFRCOMP= ILE /FI$(MODULE_NAME)StrDefs.h -D CRB_FLAG -D TRAD_FLAG=3D1 $(ULT_BUILD_OPT= ION) -D PCH_SERVER_BIOS_FLAG=3D1 -D SUS_WELL_RESTORE=3D1 -D SERVER_BIOS_FLA= G=3D1 -D PCH_SPT -D PURLEY_FLAG $(SPARING_SCRATCHPAD_OPTION) $(TRACE_HUB_DE= BUG_BUILD_OPTIONS) $(TRACE_HUB_INIT_BUILD_OPTIONS) -D MAX_SOCKET=3D2 -D EFI= _PCI_IOV_SUPPORT -D WHEA_SUPPORT -D SKX_HOST -D CLX_HOST -D MDEPKG_NDEBUG -= D SILENT_MODE -# ## MSFT:RELEASE_VS2015x86_X64_ASLCC_FLAGS =3D /nologo /c /FIAutoGen.h = /TC /Dmain=3DReferenceAcpiTable -D CRB_FLAG -D TRAD_FLAG=3D1 $(ULT_BUILD_OP= TION) -D PCH_SERVER_BIOS_FLAG=3D1 -D SUS_WELL_RESTORE=3D1 -D SERVER_BIOS_FL= AG=3D1 -D PCH_SPT -D PURLEY_FLAG $(SPARING_SCRATCHPAD_OPTION) $(TRACE_HUB_D= EBUG_BUILD_OPTIONS) $(TRACE_HUB_INIT_BUILD_OPTIONS) -D MAX_SOCKET=3D2 -D EF= I_PCI_IOV_SUPPORT -D WHEA_SUPPORT -D SKX_HOST -D CLX_HOST -D MDEPKG_NDEBUG = -D SILENT_MODE -# ## MSFT:RELEASE_VS2015x86_X64_APP_FLAGS =3D /nologo /E /TC -D CRB_FLAG= -D TRAD_FLAG=3D1 $(ULT_BUILD_OPTION) -D PCH_SERVER_BIOS_FLAG=3D1 -D SUS_WE= LL_RESTORE=3D1 -D SERVER_BIOS_FLAG=3D1 -D PCH_SPT -D PURLEY_FLAG $(SPARING_= SCRATCHPAD_OPTION) $(TRACE_HUB_DEBUG_BUILD_OPTIONS) $(TRACE_HUB_INIT_BUILD_= OPTIONS) -D MAX_SOCKET=3D2 -D EFI_PCI_IOV_SUPPORT -D WHEA_SUPPORT -D SKX_HO= ST -D CLX_HOST -D MDEPKG_NDEBUG -D SILENT_MODE -# ## MSFT:RELEASE_VS2015x86_X64_DLINK2_FLAGS =3D=20 -# ## MSFT:RELEASE_VS2015x86_X64_DLINK_FLAGS =3D /NOLOGO /NODEFAULTLIB /I= GNORE:4001 /IGNORE:4254 /OPT:REF /OPT:ICF=3D10 /MAP /ALIGN:32 /SECTION:.xda= ta,D /SECTION:.pdata,D /Machine:X64 /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT) = /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /MERGE:.rdat= a=3D.data /DEBUG -# ## MSFT:RELEASE_VS2015x86_X64_ASLPP_FLAGS =3D /nologo /E /C /FIAutoGen= .h -D CRB_FLAG -D TRAD_FLAG=3D1 $(ULT_BUILD_OPTION) -D PCH_SERVER_BIOS_FLAG= =3D1 -D SUS_WELL_RESTORE=3D1 -D SERVER_BIOS_FLAG=3D1 -D PCH_SPT -D PURLEY_F= LAG $(SPARING_SCRATCHPAD_OPTION) $(TRACE_HUB_DEBUG_BUILD_OPTIONS) $(TRACE_H= UB_INIT_BUILD_OPTIONS) -D MAX_SOCKET=3D2 -D EFI_PCI_IOV_SUPPORT -D WHEA_SUP= PORT -D SKX_HOST -D CLX_HOST -D MDEPKG_NDEBUG -D SILENT_MODE -# ## MSFT:RELEASE_VS2015x86_X64_OBJCOPY_FLAGS =3D objcopy not needed for -# ## MSFT:RELEASE_VS2015x86_X64_MAKE_FLAGS =3D /nologo -# ## MSFT:RELEASE_VS2015x86_X64_ASMLINK_FLAGS =3D /nologo /tiny -# ## MSFT:RELEASE_VS2015x86_X64_NASM_FLAGS =3D -Ox -f win64 -# ## @file -# # CPU SMM driver. -# # -# # This SMM driver performs SMM initialization, deploy SMM Entry Vector, -# # provides CPU specific services in SMM. -# # -# # Copyright (c) 2009 - 2016, Intel Corporation. All rights reserved.
-# # Copyright (c) 2017, AMD Incorporated. All rights reserved.
-# # -# # This program and the accompanying materials -# # are licensed and made available under the terms and conditions of the = BSD License -# # which accompanies this distribution. The full text of the license may= be found at -# # http://opensource.org/licenses/bsd-license.php -# # -# # THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, -# # WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR I= MPLIED. -# # -# ## -#=20 -# # DO NOT EDIT -# # FILE auto-generated -#=20 -# [Defines] -# INF_VERSION =3D 0x00010017 -# BASE_NAME =3D PiSmmCpuDxeSmm -# FILE_GUID =3D A3FF0EF5-0C28-42f5-B544-8C7DE1E80014 -# MODULE_TYPE =3D DXE_SMM_DRIVER -# VERSION_STRING =3D 1.0 -# PI_SPECIFICATION_VERSION =3D 0x0001000A -# ENTRY_POINT =3D PiCpuSmmEntry -# MODULE_UNI_FILE =3D PiSmmCpuDxeSmm.uni -#=20 -[Packages.X64] - MdePkg/MdePkg.dec - MdeModulePkg/MdeModulePkg.dec - UefiCpuPkg/UefiCpuPkg.dec - LewisburgPkg/PchRcPkg.dec - PurleySktPkg/Override/IA32FamilyCpuPkg/IA32FamilyCpuPkg.dec - -# [Binaries.X64] -# PE32|PiSmmCpuDxeSmm.efi -# SMM_DEPEX|PiSmmCpuDxeSmm.depex -# DISPOSABLE|PiSmmCpuDxeSmm.pdb -#=20 -[PatchPcd.X64] - ## CONSUMES - gEfiCpuTokenSpaceGuid.PcdCpuSmmUseSmmEnableIndication|0x00|0x372f8 # 0xD= 3C0+0x29f38 - - ## CONSUMES - gEfiCpuTokenSpaceGuid.PcdCpuSmmUseDelayIndication|0x00|0x372f9 # 0xD3C1+= 0x29f38 - - ## CONSUMES - gEfiCpuTokenSpaceGuid.PcdCpuSmmUseBlockIndication|0x00|0x372fa # 0xD3C2+= 0x29f38 - - -# [Protocols.X64] -# ## CONSUMES -# ## CONSUMES -# gEfiSmmAccess2ProtocolGuid -#=20 -# ## CONSUMES -# gEfiMpServiceProtocolGuid -#=20 -# ## PRODUCES -# gEfiSmmConfigurationProtocolGuid -#=20 -# ## PRODUCES -# gEfiSmmCpuProtocolGuid -#=20 -# ## NOTIFY -# gEfiSmmReadyToLockProtocolGuid -#=20 -# ## PRODUCES -# gEfiSmmCpuServiceProtocolGuid -#=20 -# ## PRODUCES -# gEdkiiSmmMemoryAttributeProtocolGuid -#=20 -# ## SOMETIMES_CONSUMES -# gPcdProtocolGuid -#=20 -# ## CONSUMES -# gEfiPcdProtocolGuid -#=20 -# ## SOMETIMES_CONSUMES -# gGetPcdInfoProtocolGuid -#=20 -# ## SOMETIMES_CONSUMES -# gEfiGetPcdInfoProtocolGuid -#=20 -# ## CONSUMES -# gEfiSmmBase2ProtocolGuid -#=20 -# ## SOMETIMES_CONSUMES -# gEfiDevicePathProtocolGuid -#=20 -# ## UNDEFINED -# gEfiDebugPortProtocolGuid -#=20 -# ## SOMETIMES_PRODUCES -# gEfiDriverBindingProtocolGuid -#=20 -# ## SOMETIMES_CONSUMES -# gEfiSimpleTextOutProtocolGuid -#=20 -# ## SOMETIMES_CONSUMES -# gEfiGraphicsOutputProtocolGuid -#=20 -# ## SOMETIMES_CONSUMES -# gEfiHiiFontProtocolGuid -#=20 -# ## SOMETIMES_CONSUMES # Consumes if gEfiGraphicsOutputProtocolGuid uni= nstalled -# gEfiUgaDrawProtocolGuid -#=20 -# ## SOMETIMES_PRODUCES # User chooses to produce it -# gEfiComponentNameProtocolGuid -#=20 -# ## SOMETIMES_PRODUCES # User chooses to produce it -# gEfiComponentName2ProtocolGuid -#=20 -# ## SOMETIMES_PRODUCES # User chooses to produce it -# gEfiDriverConfigurationProtocolGuid -#=20 -# ## SOMETIMES_PRODUCES # User chooses to produce it -# gEfiDriverConfiguration2ProtocolGuid -#=20 -# ## SOMETIMES_PRODUCES # User chooses to produce it -# gEfiDriverDiagnosticsProtocolGuid -#=20 -# ## SOMETIMES_PRODUCES # User chooses to produce it -# gEfiDriverDiagnostics2ProtocolGuid -#=20 -# ## SOMETIMES_CONSUMES -# gEfiLoadedImageProtocolGuid -#=20 -# ## CONSUMES -# gEfiSmmStatusCodeProtocolGuid -#=20 -#=20 -# [Ppis.X64] -#=20 -# [Guids.X64] -# ## SOMETIMES_CONSUMES ## HOB # it is used for S3 boot. -# gEfiAcpiVariableGuid -#=20 -# ## SOMETIMES_CONSUMES ## Variable -# ## SOMETIMES_PRODUCES ## Variable:L"SmmProfileData" -# gEfiGlobalVariableGuid -#=20 -# ## SOMETIMES_CONSUMES ## SystemTable -# gEfiAcpi20TableGuid -#=20 -# ## SOMETIMES_CONSUMES ## SystemTable -# gEfiAcpi10TableGuid -#=20 -# ## CONSUMES ## SystemTable -# gEdkiiPiSmmMemoryAttributesTableGuid -#=20 -# gUefiCpuPkgTokenSpaceGuid -#=20 -# ## SOMETIMES_CONSUMES ## GUID -# gEfiVTUTF8Guid -#=20 -# ## SOMETIMES_CONSUMES ## GUID -# gEfiVT100Guid -#=20 -# ## SOMETIMES_CONSUMES ## GUID -# gEfiVT100PlusGuid -#=20 -# ## SOMETIMES_CONSUMES ## GUID -# gEfiPcAnsiGuid -#=20 -# ## SOMETIMES_CONSUMES ## GUID -# gEfiUartDevicePathGuid -#=20 -# ## SOMETIMES_CONSUMES ## GUID -# gEfiSasDevicePathGuid -#=20 -# ## SOMETIMES_CONSUMES ## GUID -# gEfiVirtualDiskGuid -#=20 -# ## SOMETIMES_CONSUMES ## GUID -# gEfiVirtualCdGuid -#=20 -# ## SOMETIMES_CONSUMES ## GUID -# gEfiPersistentVirtualDiskGuid -#=20 -# ## SOMETIMES_CONSUMES ## GUID -# gEfiPersistentVirtualCdGuid -#=20 -# ## SOMETIMES_CONSUMES ## Event -# gEfiEventReadyToBootGuid -#=20 -# ## SOMETIMES_CONSUMES ## Event -# gEfiEventLegacyBootGuid -#=20 -# ## CONSUMES ## SystemTable -# gEfiHobListGuid -#=20 -# ## CONSUMES ## SystemTable -# gEfiDxeServicesTableGuid -#=20 -# ## SOMETIMES_CONSUMES ## UNDEFINED -# gEfiStatusCodeSpecificDataGuid -#=20 -# ## SOMETIMES_CONSUMES ## UNDEFINED -# gEfiStatusCodeDataTypeDebugGuid -#=20 -#=20 -[PcdEx.X64] - ## SOMETIMES_CONSUMES - gUefiCpuPkgTokenSpaceGuid.PcdCpuS3DataAddress - - ## SOMETIMES_PRODUCES - gUefiCpuPkgTokenSpaceGuid.PcdCpuHotPlugDataAddress - - -# [LibraryClasses.X64] -# ## @LIB_INSTANCES -# # MdePkg/Library/BaseMemoryLibRepStr/BaseMemoryLibRepStr.inf -# # MdePkg/Library/BaseLib/BaseLib.inf -# # MdePkg/Library/BaseDebugLibNull/BaseDebugLibNull.inf -# # MdePkg/Library/DxePcdLib/DxePcdLib.inf -# # MdePkg/Library/UefiBootServicesTableLib/UefiBootServicesTableLib.inf -# # MdePkg/Library/SmmServicesTableLib/SmmServicesTableLib.inf -# # MdePkg/Library/BasePrintLib/BasePrintLib.inf -# # MdePkg/Library/SmmMemoryAllocationLib/SmmMemoryAllocationLib.inf -# # MdePkg/Library/BaseIoLibIntrinsic/BaseIoLibIntrinsic.inf -# # MdePkg/Library/UefiDevicePathLib/UefiDevicePathLib.inf -# # MdePkg/Library/UefiRuntimeServicesTableLib/UefiRuntimeServicesTableLi= b.inf -# # MdePkg/Library/BasePciCf8Lib/BasePciCf8Lib.inf -# # MdePkg/Library/UefiLib/UefiLib.inf -# # MdePkg/Library/BasePciLibCf8/BasePciLibCf8.inf -# # MdePkg/Library/DxeHobLib/DxeHobLib.inf -# # PurleyOpenBoardPkg/BoardMtOlympus/Library/BasePlatformHookLib/BasePla= tformHookLib.inf -# # PcAtChipsetPkg/Library/AcpiTimerLib/DxeAcpiTimerLib.inf -# # MdePkg/Library/BaseCpuLib/BaseCpuLib.inf -# # MdeModulePkg/Library/BaseSerialPortLib16550/BaseSerialPortLib16550.inf -# # MdePkg/Library/BasePeCoffGetEntryPointLib/BasePeCoffGetEntryPointLib.= inf -# # UefiCpuPkg/Library/BaseXApicX2ApicLib/BaseXApicX2ApicLib.inf -# # MdePkg/Library/BaseSynchronizationLib/BaseSynchronizationLib.inf -# # UefiCpuPkg/Library/MtrrLib/MtrrLib.inf -# # MdePkg/Library/UefiDriverEntryPoint/UefiDriverEntryPoint.inf -# # MdePkg/Library/BaseCacheMaintenanceLib/BaseCacheMaintenanceLib.inf -# # MdeModulePkg/Library/DebugAgentLibNull/DebugAgentLibNull.inf -# # UefiCpuPkg/Library/BaseUefiCpuLib/BaseUefiCpuLib.inf -# # UefiCpuPkg/Library/SmmCpuPlatformHookLibNull/SmmCpuPlatformHookLibNul= l.inf -# # UefiCpuPkg/Library/CpuExceptionHandlerLib/SmmCpuExceptionHandlerLib.i= nf -# # MdePkg/Library/DxeServicesTableLib/DxeServicesTableLib.inf -# # MdeModulePkg/Library/SmmReportStatusCodeLib/SmmReportStatusCodeLib.inf -# # PurleySktPkg/Override/IA32FamilyCpuPkg/Library/SmmCpuFeaturesLib/SmmC= puFeaturesLib.inf -#=20 -# [Depex.X64] -# # (gEfiMpServiceProtocolGuid) AND (gEfiPcdProtocolGuid) AND (gEfiPcdPro= tocolGuid) AND (gEfiPcdProtocolGuid) AND (gEfiPcdProtocolGuid) AND (gEfiSmm= Base2ProtocolGuid) AND (gEfiSmmAccess2ProtocolGuid) AND (gEfiBdsArchProtoco= lGuid AND gEfiCpuArchProtocolGuid AND gEfiMetronomeArchProtocolGuid AND gEf= iMonotonicCounterArchProtocolGuid AND gEfiRealTimeClockArchProtocolGuid AND= gEfiResetArchProtocolGuid AND gEfiRuntimeArchProtocolGuid AND gEfiSecurity= ArchProtocolGuid AND gEfiTimerArchProtocolGuid AND gEfiVariableWriteArchPro= tocolGuid AND gEfiVariableArchProtocolGuid AND gEfiWatchdogTimerArchProtoco= lGuid) -#=20 -# [UserExtensions.TianoCore."ExtraFiles"] -# PiSmmCpuDxeSmmExtra.uni -#=20 -#=20 -#=20 -# # -# # The following information is for reference only and not required by th= e build tools. -# # -# # VALID_ARCHITECTURES =3D IA32 X64 -# # -#=20 -# [BuildOptions.X64] -# ## @AsBuilt -# ## MSFT:RELEASE_VS2015x86_X64_OPTROM_FLAGS =3D -e -# ## MSFT:RELEASE_VS2015x86_X64_VFR_FLAGS =3D -n -# ## MSFT:RELEASE_VS2015x86_X64_PP_FLAGS =3D /nologo /E /TC /FIAutoGen.h= -D CRB_FLAG -D TRAD_FLAG=3D1 $(ULT_BUILD_OPTION) -D PCH_SERVER_BIOS_FLAG= =3D1 -D SUS_WELL_RESTORE=3D1 -D SERVER_BIOS_FLAG=3D1 -D PCH_SPT -D PURLEY_F= LAG $(SPARING_SCRATCHPAD_OPTION) $(TRACE_HUB_DEBUG_BUILD_OPTIONS) $(TRACE_H= UB_INIT_BUILD_OPTIONS) -D MAX_SOCKET=3D2 -D EFI_PCI_IOV_SUPPORT -D WHEA_SUP= PORT -D SKX_HOST -D CLX_HOST -D MDEPKG_NDEBUG -D SILENT_MODE -# ## MSFT:RELEASE_VS2015x86_X64_SYMRENAME_FLAGS =3D Symbol renaming not = needed for -# ## MSFT:RELEASE_VS2015x86_X64_GENFW_FLAGS =3D=20 -# ## MSFT:RELEASE_VS2015x86_X64_SLINK_FLAGS =3D /NOLOGO /LTCG -# ## MSFT:RELEASE_VS2015x86_X64_ASLDLINK_FLAGS =3D /NODEFAULTLIB /ENTRY:= ReferenceAcpiTable /SUBSYSTEM:CONSOLE -# ## MSFT:RELEASE_VS2015x86_X64_ASM_FLAGS =3D /nologo /c /WX /W3 /Cx /Zd= /Zi -# ## MSFT:RELEASE_VS2015x86_X64_ASL_FLAGS =3D=20 -# ## MSFT:RELEASE_VS2015x86_X64_CC_FLAGS =3D /nologo /c /WX /GS- /W4 /Gs= 32768 /D UNICODE /O1b2s /GL /Gy /FIAutoGen.h /EHs-c- /GR- /GF /Gw -D CRB_FL= AG -D TRAD_FLAG=3D1 $(ULT_BUILD_OPTION) -D PCH_SERVER_BIOS_FLAG=3D1 -D SUS_= WELL_RESTORE=3D1 -D SERVER_BIOS_FLAG=3D1 -D PCH_SPT -D PURLEY_FLAG $(SPARIN= G_SCRATCHPAD_OPTION) $(TRACE_HUB_DEBUG_BUILD_OPTIONS) $(TRACE_HUB_INIT_BUIL= D_OPTIONS) -D MAX_SOCKET=3D2 -D EFI_PCI_IOV_SUPPORT -D WHEA_SUPPORT -D SKX_= HOST -D CLX_HOST -D MDEPKG_NDEBUG -D SILENT_MODE /Zi /Gm -# ## MSFT:RELEASE_VS2015x86_X64_NASMB_FLAGS =3D -f bin -# ## MSFT:RELEASE_VS2015x86_X64_VFRPP_FLAGS =3D /nologo /E /TC /DVFRCOMP= ILE /FI$(MODULE_NAME)StrDefs.h -D CRB_FLAG -D TRAD_FLAG=3D1 $(ULT_BUILD_OPT= ION) -D PCH_SERVER_BIOS_FLAG=3D1 -D SUS_WELL_RESTORE=3D1 -D SERVER_BIOS_FLA= G=3D1 -D PCH_SPT -D PURLEY_FLAG $(SPARING_SCRATCHPAD_OPTION) $(TRACE_HUB_DE= BUG_BUILD_OPTIONS) $(TRACE_HUB_INIT_BUILD_OPTIONS) -D MAX_SOCKET=3D2 -D EFI= _PCI_IOV_SUPPORT -D WHEA_SUPPORT -D SKX_HOST -D CLX_HOST -D MDEPKG_NDEBUG -= D SILENT_MODE -# ## MSFT:RELEASE_VS2015x86_X64_ASLCC_FLAGS =3D /nologo /c /FIAutoGen.h = /TC /Dmain=3DReferenceAcpiTable -D CRB_FLAG -D TRAD_FLAG=3D1 $(ULT_BUILD_OP= TION) -D PCH_SERVER_BIOS_FLAG=3D1 -D SUS_WELL_RESTORE=3D1 -D SERVER_BIOS_FL= AG=3D1 -D PCH_SPT -D PURLEY_FLAG $(SPARING_SCRATCHPAD_OPTION) $(TRACE_HUB_D= EBUG_BUILD_OPTIONS) $(TRACE_HUB_INIT_BUILD_OPTIONS) -D MAX_SOCKET=3D2 -D EF= I_PCI_IOV_SUPPORT -D WHEA_SUPPORT -D SKX_HOST -D CLX_HOST -D MDEPKG_NDEBUG = -D SILENT_MODE -# ## MSFT:RELEASE_VS2015x86_X64_APP_FLAGS =3D /nologo /E /TC -D CRB_FLAG= -D TRAD_FLAG=3D1 $(ULT_BUILD_OPTION) -D PCH_SERVER_BIOS_FLAG=3D1 -D SUS_WE= LL_RESTORE=3D1 -D SERVER_BIOS_FLAG=3D1 -D PCH_SPT -D PURLEY_FLAG $(SPARING_= SCRATCHPAD_OPTION) $(TRACE_HUB_DEBUG_BUILD_OPTIONS) $(TRACE_HUB_INIT_BUILD_= OPTIONS) -D MAX_SOCKET=3D2 -D EFI_PCI_IOV_SUPPORT -D WHEA_SUPPORT -D SKX_HO= ST -D CLX_HOST -D MDEPKG_NDEBUG -D SILENT_MODE -# ## MSFT:RELEASE_VS2015x86_X64_DLINK2_FLAGS =3D=20 -# ## MSFT:RELEASE_VS2015x86_X64_DLINK_FLAGS =3D /NOLOGO /NODEFAULTLIB /I= GNORE:4001 /IGNORE:4254 /OPT:REF /OPT:ICF=3D10 /MAP /ALIGN:32 /SECTION:.xda= ta,D /SECTION:.pdata,D /Machine:X64 /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT) = /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /MERGE:.rdat= a=3D.data /DEBUG /ALIGN:4096 -# ## MSFT:RELEASE_VS2015x86_X64_ASLPP_FLAGS =3D /nologo /E /C /FIAutoGen= .h -D CRB_FLAG -D TRAD_FLAG=3D1 $(ULT_BUILD_OPTION) -D PCH_SERVER_BIOS_FLAG= =3D1 -D SUS_WELL_RESTORE=3D1 -D SERVER_BIOS_FLAG=3D1 -D PCH_SPT -D PURLEY_F= LAG $(SPARING_SCRATCHPAD_OPTION) $(TRACE_HUB_DEBUG_BUILD_OPTIONS) $(TRACE_H= UB_INIT_BUILD_OPTIONS) -D MAX_SOCKET=3D2 -D EFI_PCI_IOV_SUPPORT -D WHEA_SUP= PORT -D SKX_HOST -D CLX_HOST -D MDEPKG_NDEBUG -D SILENT_MODE -# ## MSFT:RELEASE_VS2015x86_X64_OBJCOPY_FLAGS =3D objcopy not needed for -# ## MSFT:RELEASE_VS2015x86_X64_MAKE_FLAGS =3D /nologo -# ## MSFT:RELEASE_VS2015x86_X64_ASMLINK_FLAGS =3D /nologo /tiny -# ## MSFT:RELEASE_VS2015x86_X64_NASM_FLAGS =3D -Ox -f win64 -# ## @file -# # CpuCsrAccess Protocol -# # -# # Copyright (c) 2009 - 2016, Intel Corporation. All rights reserved.
-# # -# # This program and the accompanying materials -# # are licensed and made available under the terms and conditions of the= BSD License -# # which accompanies this distribution. The full text of the license may= be found at -# # http://opensource.org/licenses/bsd-license.php -# # THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, -# # WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR = IMPLIED. -# # -# # -# ## -#=20 -# # DO NOT EDIT -# # FILE auto-generated -#=20 -# [Defines] -# INF_VERSION =3D 0x00010017 -# BASE_NAME =3D CpuCsrAccess -# FILE_GUID =3D 06D20D84-A032-4e25-969A-346D255E46D1 -# MODULE_TYPE =3D DXE_RUNTIME_DRIVER -# VERSION_STRING =3D 1.0 -# ENTRY_POINT =3D CpuCsrAccessStart -#=20 -[Packages.X64] - PurleyRcPkg/RcPkg.dec - PurleySktPkg/SocketPkg.dec - MdePkg/MdePkg.dec - -# [Binaries.X64] -# PE32|CpuCsrAccess.efi -# DXE_DEPEX|CpuCsrAccess.depex -# DISPOSABLE|CpuCsrAccess.pdb -#=20 -[PatchPcd.X64] - -# [Protocols.X64] -# gEfiIioUdsProtocolGuid -#=20 -# gEfiCpuCsrAccessGuid -#=20 -# gEfiSmmBase2ProtocolGuid -#=20 -# ## CONSUMES -# gUsraProtocolGuid -#=20 -# ## SOMETIMES_CONSUMES -# gPcdProtocolGuid -#=20 -# ## CONSUMES -# gEfiPcdProtocolGuid -#=20 -# ## SOMETIMES_CONSUMES -# gGetPcdInfoProtocolGuid -#=20 -# ## SOMETIMES_CONSUMES -# gEfiGetPcdInfoProtocolGuid -#=20 -# ## SOMETIMES_CONSUMES -# gEfiDevicePathProtocolGuid -#=20 -# ## UNDEFINED -# gEfiDebugPortProtocolGuid -#=20 -# ## SOMETIMES_PRODUCES -# gEfiDriverBindingProtocolGuid -#=20 -# ## SOMETIMES_CONSUMES -# gEfiSimpleTextOutProtocolGuid -#=20 -# ## SOMETIMES_CONSUMES -# gEfiGraphicsOutputProtocolGuid -#=20 -# ## SOMETIMES_CONSUMES -# gEfiHiiFontProtocolGuid -#=20 -# ## SOMETIMES_CONSUMES # Consumes if gEfiGraphicsOutputProtocolGuid uni= nstalled -# gEfiUgaDrawProtocolGuid -#=20 -# ## SOMETIMES_PRODUCES # User chooses to produce it -# gEfiComponentNameProtocolGuid -#=20 -# ## SOMETIMES_PRODUCES # User chooses to produce it -# gEfiComponentName2ProtocolGuid -#=20 -# ## SOMETIMES_PRODUCES # User chooses to produce it -# gEfiDriverConfigurationProtocolGuid -#=20 -# ## SOMETIMES_PRODUCES # User chooses to produce it -# gEfiDriverConfiguration2ProtocolGuid -#=20 -# ## SOMETIMES_PRODUCES # User chooses to produce it -# gEfiDriverDiagnosticsProtocolGuid -#=20 -# ## SOMETIMES_PRODUCES # User chooses to produce it -# gEfiDriverDiagnostics2ProtocolGuid -#=20 -# ## SOMETIMES_CONSUMES -# gEfiLoadedImageProtocolGuid -#=20 -#=20 -# [Ppis.X64] -#=20 -# [Guids.X64] -# ## SOMETIMES_CONSUMES ## GUID -# gEfiVTUTF8Guid -#=20 -# ## SOMETIMES_CONSUMES ## GUID -# gEfiVT100Guid -#=20 -# ## SOMETIMES_CONSUMES ## GUID -# gEfiVT100PlusGuid -#=20 -# ## SOMETIMES_CONSUMES ## GUID -# gEfiPcAnsiGuid -#=20 -# ## SOMETIMES_CONSUMES ## GUID -# gEfiUartDevicePathGuid -#=20 -# ## SOMETIMES_CONSUMES ## GUID -# gEfiSasDevicePathGuid -#=20 -# ## SOMETIMES_CONSUMES ## GUID -# gEfiVirtualDiskGuid -#=20 -# ## SOMETIMES_CONSUMES ## GUID -# gEfiVirtualCdGuid -#=20 -# ## SOMETIMES_CONSUMES ## GUID -# gEfiPersistentVirtualDiskGuid -#=20 -# ## SOMETIMES_CONSUMES ## GUID -# gEfiPersistentVirtualCdGuid -#=20 -# ## SOMETIMES_CONSUMES ## Event -# gEfiEventReadyToBootGuid -#=20 -# ## SOMETIMES_CONSUMES ## Event -# gEfiEventLegacyBootGuid -#=20 -# ## SOMETIMES_CONSUMES ## Variable -# gEfiGlobalVariableGuid -#=20 -# ## CONSUMES ## SystemTable -# gEfiHobListGuid -#=20 -#=20 -[PcdEx.X64] - -# [LibraryClasses.X64] -# ## @LIB_INSTANCES -# # MdePkg/Library/BaseMemoryLibRepStr/BaseMemoryLibRepStr.inf -# # MdePkg/Library/DxePcdLib/DxePcdLib.inf -# # MdePkg/Library/BaseLib/BaseLib.inf -# # MdePkg/Library/BaseDebugLibNull/BaseDebugLibNull.inf -# # MdePkg/Library/UefiBootServicesTableLib/UefiBootServicesTableLib.inf -# # MdePkg/Library/UefiMemoryAllocationLib/UefiMemoryAllocationLib.inf -# # MdePkg/Library/BasePrintLib/BasePrintLib.inf -# # MdePkg/Library/BaseIoLibIntrinsic/BaseIoLibIntrinsic.inf -# # MdePkg/Library/UefiDevicePathLib/UefiDevicePathLib.inf -# # MdePkg/Library/UefiRuntimeServicesTableLib/UefiRuntimeServicesTableLi= b.inf -# # MdePkg/Library/BasePciCf8Lib/BasePciCf8Lib.inf -# # MdePkg/Library/UefiLib/UefiLib.inf -# # MdePkg/Library/BasePciLibCf8/BasePciLibCf8.inf -# # MdePkg/Library/DxeHobLib/DxeHobLib.inf -# # MdePkg/Library/UefiDriverEntryPoint/UefiDriverEntryPoint.inf -# # PurleyRcPkg/Library/DxeUsraLib/DxeUsraLib.inf -# # PcAtChipsetPkg/Library/AcpiTimerLib/DxeAcpiTimerLib.inf -#=20 -# [Depex.X64] -# # (gEfiIioUdsProtocolGuid) AND (gEfiPcdProtocolGuid) AND (gEfiPcdProtoc= olGuid) AND (gEfiPcdProtocolGuid) AND (gEfiPcdProtocolGuid) AND (gEfiBdsArc= hProtocolGuid AND gEfiCpuArchProtocolGuid AND gEfiMetronomeArchProtocolGuid= AND gEfiMonotonicCounterArchProtocolGuid AND gEfiRealTimeClockArchProtocol= Guid AND gEfiResetArchProtocolGuid AND gEfiRuntimeArchProtocolGuid AND gEfi= SecurityArchProtocolGuid AND gEfiTimerArchProtocolGuid AND gEfiVariableWrit= eArchProtocolGuid AND gEfiVariableArchProtocolGuid AND gEfiWatchdogTimerArc= hProtocolGuid) AND (gUsraProtocolGuid) -#=20 -#=20 -#=20 -#=20 -#=20 -# [BuildOptions.X64] -# ## @AsBuilt -# ## MSFT:RELEASE_VS2015x86_X64_OPTROM_FLAGS =3D -e -# ## MSFT:RELEASE_VS2015x86_X64_VFR_FLAGS =3D -n -# ## MSFT:RELEASE_VS2015x86_X64_PP_FLAGS =3D /nologo /E /TC /FIAutoGen.h= -D CRB_FLAG -D TRAD_FLAG=3D1 $(ULT_BUILD_OPTION) -D PCH_SERVER_BIOS_FLAG= =3D1 -D SUS_WELL_RESTORE=3D1 -D SERVER_BIOS_FLAG=3D1 -D PCH_SPT -D PURLEY_F= LAG $(SPARING_SCRATCHPAD_OPTION) $(TRACE_HUB_DEBUG_BUILD_OPTIONS) $(TRACE_H= UB_INIT_BUILD_OPTIONS) -D MAX_SOCKET=3D2 -D EFI_PCI_IOV_SUPPORT -D WHEA_SUP= PORT -D SKX_HOST -D CLX_HOST -D MDEPKG_NDEBUG -D SILENT_MODE -# ## MSFT:RELEASE_VS2015x86_X64_SYMRENAME_FLAGS =3D Symbol renaming not = needed for -# ## MSFT:RELEASE_VS2015x86_X64_GENFW_FLAGS =3D=20 -# ## MSFT:RELEASE_VS2015x86_X64_SLINK_FLAGS =3D /NOLOGO /LTCG -# ## MSFT:RELEASE_VS2015x86_X64_ASLDLINK_FLAGS =3D /NODEFAULTLIB /ENTRY:= ReferenceAcpiTable /SUBSYSTEM:CONSOLE -# ## MSFT:RELEASE_VS2015x86_X64_ASM_FLAGS =3D /nologo /c /WX /W3 /Cx /Zd= /Zi -# ## MSFT:RELEASE_VS2015x86_X64_ASL_FLAGS =3D=20 -# ## MSFT:RELEASE_VS2015x86_X64_CC_FLAGS =3D /nologo /c /WX /GS- /W4 /Gs= 32768 /D UNICODE /O1b2s /GL /Gy /FIAutoGen.h /EHs-c- /GR- /GF /Gw -D CRB_FL= AG -D TRAD_FLAG=3D1 $(ULT_BUILD_OPTION) -D PCH_SERVER_BIOS_FLAG=3D1 -D SUS_= WELL_RESTORE=3D1 -D SERVER_BIOS_FLAG=3D1 -D PCH_SPT -D PURLEY_FLAG $(SPARIN= G_SCRATCHPAD_OPTION) $(TRACE_HUB_DEBUG_BUILD_OPTIONS) $(TRACE_HUB_INIT_BUIL= D_OPTIONS) -D MAX_SOCKET=3D2 -D EFI_PCI_IOV_SUPPORT -D WHEA_SUPPORT -D SKX_= HOST -D CLX_HOST -D MDEPKG_NDEBUG -D SILENT_MODE /Zi /Gm -# ## MSFT:RELEASE_VS2015x86_X64_NASMB_FLAGS =3D -f bin -# ## MSFT:RELEASE_VS2015x86_X64_VFRPP_FLAGS =3D /nologo /E /TC /DVFRCOMP= ILE /FI$(MODULE_NAME)StrDefs.h -D CRB_FLAG -D TRAD_FLAG=3D1 $(ULT_BUILD_OPT= ION) -D PCH_SERVER_BIOS_FLAG=3D1 -D SUS_WELL_RESTORE=3D1 -D SERVER_BIOS_FLA= G=3D1 -D PCH_SPT -D PURLEY_FLAG $(SPARING_SCRATCHPAD_OPTION) $(TRACE_HUB_DE= BUG_BUILD_OPTIONS) $(TRACE_HUB_INIT_BUILD_OPTIONS) -D MAX_SOCKET=3D2 -D EFI= _PCI_IOV_SUPPORT -D WHEA_SUPPORT -D SKX_HOST -D CLX_HOST -D MDEPKG_NDEBUG -= D SILENT_MODE -# ## MSFT:RELEASE_VS2015x86_X64_ASLCC_FLAGS =3D /nologo /c /FIAutoGen.h = /TC /Dmain=3DReferenceAcpiTable -D CRB_FLAG -D TRAD_FLAG=3D1 $(ULT_BUILD_OP= TION) -D PCH_SERVER_BIOS_FLAG=3D1 -D SUS_WELL_RESTORE=3D1 -D SERVER_BIOS_FL= AG=3D1 -D PCH_SPT -D PURLEY_FLAG $(SPARING_SCRATCHPAD_OPTION) $(TRACE_HUB_D= EBUG_BUILD_OPTIONS) $(TRACE_HUB_INIT_BUILD_OPTIONS) -D MAX_SOCKET=3D2 -D EF= I_PCI_IOV_SUPPORT -D WHEA_SUPPORT -D SKX_HOST -D CLX_HOST -D MDEPKG_NDEBUG = -D SILENT_MODE -# ## MSFT:RELEASE_VS2015x86_X64_APP_FLAGS =3D /nologo /E /TC -D CRB_FLAG= -D TRAD_FLAG=3D1 $(ULT_BUILD_OPTION) -D PCH_SERVER_BIOS_FLAG=3D1 -D SUS_WE= LL_RESTORE=3D1 -D SERVER_BIOS_FLAG=3D1 -D PCH_SPT -D PURLEY_FLAG $(SPARING_= SCRATCHPAD_OPTION) $(TRACE_HUB_DEBUG_BUILD_OPTIONS) $(TRACE_HUB_INIT_BUILD_= OPTIONS) -D MAX_SOCKET=3D2 -D EFI_PCI_IOV_SUPPORT -D WHEA_SUPPORT -D SKX_HO= ST -D CLX_HOST -D MDEPKG_NDEBUG -D SILENT_MODE -# ## MSFT:RELEASE_VS2015x86_X64_DLINK2_FLAGS =3D=20 -# ## MSFT:RELEASE_VS2015x86_X64_DLINK_FLAGS =3D /NOLOGO /NODEFAULTLIB /I= GNORE:4001 /IGNORE:4254 /OPT:REF /OPT:ICF=3D10 /MAP /ALIGN:32 /SECTION:.xda= ta,D /SECTION:.pdata,D /Machine:X64 /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT) = /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /MERGE:.rdat= a=3D.data /DEBUG /ALIGN:4096 -# ## MSFT:RELEASE_VS2015x86_X64_ASLPP_FLAGS =3D /nologo /E /C /FIAutoGen= .h -D CRB_FLAG -D TRAD_FLAG=3D1 $(ULT_BUILD_OPTION) -D PCH_SERVER_BIOS_FLAG= =3D1 -D SUS_WELL_RESTORE=3D1 -D SERVER_BIOS_FLAG=3D1 -D PCH_SPT -D PURLEY_F= LAG $(SPARING_SCRATCHPAD_OPTION) $(TRACE_HUB_DEBUG_BUILD_OPTIONS) $(TRACE_H= UB_INIT_BUILD_OPTIONS) -D MAX_SOCKET=3D2 -D EFI_PCI_IOV_SUPPORT -D WHEA_SUP= PORT -D SKX_HOST -D CLX_HOST -D MDEPKG_NDEBUG -D SILENT_MODE -# ## MSFT:RELEASE_VS2015x86_X64_OBJCOPY_FLAGS =3D objcopy not needed for -# ## MSFT:RELEASE_VS2015x86_X64_MAKE_FLAGS =3D /nologo -# ## MSFT:RELEASE_VS2015x86_X64_ASMLINK_FLAGS =3D /nologo /tiny -# ## MSFT:RELEASE_VS2015x86_X64_NASM_FLAGS =3D -Ox -f win64 -# ## @file -# # CpuCsrAccess Protocol -# # -# # Copyright (c) 2009 - 2016, Intel Corporation. All rights reserved.
-# # -# # This program and the accompanying materials -# # are licensed and made available under the terms and conditions of the= BSD License -# # which accompanies this distribution. The full text of the license may= be found at -# # http://opensource.org/licenses/bsd-license.php -# # THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, -# # WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR = IMPLIED. -# # -# # -# ## -#=20 -# # DO NOT EDIT -# # FILE auto-generated -#=20 -# [Defines] -# INF_VERSION =3D 0x00010017 -# BASE_NAME =3D CpuCsrAccessSMM -# FILE_GUID =3D 870E0F5A-1981-45f6-AE26-0391425CC46F -# MODULE_TYPE =3D DXE_SMM_DRIVER -# VERSION_STRING =3D 1.0 -# PI_SPECIFICATION_VERSION =3D 0x0001000A -# ENTRY_POINT =3D CpuCsrAccessStart -#=20 -[Packages.X64] - PurleyRcPkg/RcPkg.dec - PurleySktPkg/SocketPkg.dec - MdePkg/MdePkg.dec - -# [Binaries.X64] -# PE32|CpuCsrAccessSMM.efi -# SMM_DEPEX|CpuCsrAccessSMM.depex -# DISPOSABLE|CpuCsrAccessSMM.pdb -#=20 -[PatchPcd.X64] - -# [Protocols.X64] -# gEfiIioUdsProtocolGuid -#=20 -# gEfiCpuCsrAccessGuid -#=20 -# ## CONSUMES -# gEfiSmmBase2ProtocolGuid -#=20 -# ## CONSUMES -# gUsraProtocolGuid -#=20 -# ## SOMETIMES_CONSUMES -# gPcdProtocolGuid -#=20 -# ## CONSUMES -# gEfiPcdProtocolGuid -#=20 -# ## SOMETIMES_CONSUMES -# gGetPcdInfoProtocolGuid -#=20 -# ## SOMETIMES_CONSUMES -# gEfiGetPcdInfoProtocolGuid -#=20 -# ## CONSUMES -# gEfiSmmAccess2ProtocolGuid -#=20 -# ## SOMETIMES_CONSUMES -# gEfiDevicePathProtocolGuid -#=20 -# ## UNDEFINED -# gEfiDebugPortProtocolGuid -#=20 -# ## SOMETIMES_PRODUCES -# gEfiDriverBindingProtocolGuid -#=20 -# ## SOMETIMES_CONSUMES -# gEfiSimpleTextOutProtocolGuid -#=20 -# ## SOMETIMES_CONSUMES -# gEfiGraphicsOutputProtocolGuid -#=20 -# ## SOMETIMES_CONSUMES -# gEfiHiiFontProtocolGuid -#=20 -# ## SOMETIMES_CONSUMES # Consumes if gEfiGraphicsOutputProtocolGuid uni= nstalled -# gEfiUgaDrawProtocolGuid -#=20 -# ## SOMETIMES_PRODUCES # User chooses to produce it -# gEfiComponentNameProtocolGuid -#=20 -# ## SOMETIMES_PRODUCES # User chooses to produce it -# gEfiComponentName2ProtocolGuid -#=20 -# ## SOMETIMES_PRODUCES # User chooses to produce it -# gEfiDriverConfigurationProtocolGuid -#=20 -# ## SOMETIMES_PRODUCES # User chooses to produce it -# gEfiDriverConfiguration2ProtocolGuid -#=20 -# ## SOMETIMES_PRODUCES # User chooses to produce it -# gEfiDriverDiagnosticsProtocolGuid -#=20 -# ## SOMETIMES_PRODUCES # User chooses to produce it -# gEfiDriverDiagnostics2ProtocolGuid -#=20 -# ## SOMETIMES_CONSUMES -# gEfiLoadedImageProtocolGuid -#=20 -#=20 -# [Ppis.X64] -#=20 -# [Guids.X64] -# ## SOMETIMES_CONSUMES ## GUID -# gEfiVTUTF8Guid -#=20 -# ## SOMETIMES_CONSUMES ## GUID -# gEfiVT100Guid -#=20 -# ## SOMETIMES_CONSUMES ## GUID -# gEfiVT100PlusGuid -#=20 -# ## SOMETIMES_CONSUMES ## GUID -# gEfiPcAnsiGuid -#=20 -# ## SOMETIMES_CONSUMES ## GUID -# gEfiUartDevicePathGuid -#=20 -# ## SOMETIMES_CONSUMES ## GUID -# gEfiSasDevicePathGuid -#=20 -# ## SOMETIMES_CONSUMES ## GUID -# gEfiVirtualDiskGuid -#=20 -# ## SOMETIMES_CONSUMES ## GUID -# gEfiVirtualCdGuid -#=20 -# ## SOMETIMES_CONSUMES ## GUID -# gEfiPersistentVirtualDiskGuid -#=20 -# ## SOMETIMES_CONSUMES ## GUID -# gEfiPersistentVirtualCdGuid -#=20 -# ## SOMETIMES_CONSUMES ## Event -# gEfiEventReadyToBootGuid -#=20 -# ## SOMETIMES_CONSUMES ## Event -# gEfiEventLegacyBootGuid -#=20 -# ## SOMETIMES_CONSUMES ## Variable -# gEfiGlobalVariableGuid -#=20 -# ## CONSUMES ## SystemTable -# gEfiHobListGuid -#=20 -#=20 -[PcdEx.X64] - -# [LibraryClasses.X64] -# ## @LIB_INSTANCES -# # MdePkg/Library/BaseMemoryLibRepStr/BaseMemoryLibRepStr.inf -# # MdePkg/Library/DxePcdLib/DxePcdLib.inf -# # MdePkg/Library/BaseLib/BaseLib.inf -# # MdePkg/Library/BaseDebugLibNull/BaseDebugLibNull.inf -# # MdePkg/Library/UefiBootServicesTableLib/UefiBootServicesTableLib.inf -# # MdePkg/Library/SmmServicesTableLib/SmmServicesTableLib.inf -# # MdePkg/Library/SmmMemoryAllocationLib/SmmMemoryAllocationLib.inf -# # MdePkg/Library/BasePrintLib/BasePrintLib.inf -# # MdePkg/Library/BaseIoLibIntrinsic/BaseIoLibIntrinsic.inf -# # MdePkg/Library/UefiDevicePathLib/UefiDevicePathLib.inf -# # MdePkg/Library/UefiRuntimeServicesTableLib/UefiRuntimeServicesTableLi= b.inf -# # MdePkg/Library/BasePciCf8Lib/BasePciCf8Lib.inf -# # MdePkg/Library/UefiLib/UefiLib.inf -# # MdePkg/Library/BasePciLibCf8/BasePciLibCf8.inf -# # MdePkg/Library/DxeHobLib/DxeHobLib.inf -# # MdePkg/Library/UefiDriverEntryPoint/UefiDriverEntryPoint.inf -# # PurleyRcPkg/Library/DxeUsraLib/DxeSmmUsraLib.inf -# # PcAtChipsetPkg/Library/AcpiTimerLib/DxeAcpiTimerLib.inf -#=20 -# [Depex.X64] -# # (gEfiSmmBase2ProtocolGuid AND gEfiIioUdsProtocolGuid) AND (gEfiPcdPro= tocolGuid) AND (gEfiPcdProtocolGuid) AND (gEfiPcdProtocolGuid) AND (gEfiPcd= ProtocolGuid) AND (gEfiSmmBase2ProtocolGuid) AND (gEfiSmmAccess2ProtocolGui= d) AND (gEfiBdsArchProtocolGuid AND gEfiCpuArchProtocolGuid AND gEfiMetrono= meArchProtocolGuid AND gEfiMonotonicCounterArchProtocolGuid AND gEfiRealTim= eClockArchProtocolGuid AND gEfiResetArchProtocolGuid AND gEfiRuntimeArchPro= tocolGuid AND gEfiSecurityArchProtocolGuid AND gEfiTimerArchProtocolGuid AN= D gEfiVariableWriteArchProtocolGuid AND gEfiVariableArchProtocolGuid AND gE= fiWatchdogTimerArchProtocolGuid) -#=20 -#=20 -#=20 -#=20 -#=20 -# [BuildOptions.X64] -# ## @AsBuilt -# ## MSFT:RELEASE_VS2015x86_X64_OPTROM_FLAGS =3D -e -# ## MSFT:RELEASE_VS2015x86_X64_VFR_FLAGS =3D -n -# ## MSFT:RELEASE_VS2015x86_X64_PP_FLAGS =3D /nologo /E /TC /FIAutoGen.h= -D CRB_FLAG -D TRAD_FLAG=3D1 $(ULT_BUILD_OPTION) -D PCH_SERVER_BIOS_FLAG= =3D1 -D SUS_WELL_RESTORE=3D1 -D SERVER_BIOS_FLAG=3D1 -D PCH_SPT -D PURLEY_F= LAG $(SPARING_SCRATCHPAD_OPTION) $(TRACE_HUB_DEBUG_BUILD_OPTIONS) $(TRACE_H= UB_INIT_BUILD_OPTIONS) -D MAX_SOCKET=3D2 -D EFI_PCI_IOV_SUPPORT -D WHEA_SUP= PORT -D SKX_HOST -D CLX_HOST -D MDEPKG_NDEBUG -D SILENT_MODE -# ## MSFT:RELEASE_VS2015x86_X64_SYMRENAME_FLAGS =3D Symbol renaming not = needed for -# ## MSFT:RELEASE_VS2015x86_X64_GENFW_FLAGS =3D=20 -# ## MSFT:RELEASE_VS2015x86_X64_SLINK_FLAGS =3D /NOLOGO /LTCG -# ## MSFT:RELEASE_VS2015x86_X64_ASLDLINK_FLAGS =3D /NODEFAULTLIB /ENTRY:= ReferenceAcpiTable /SUBSYSTEM:CONSOLE -# ## MSFT:RELEASE_VS2015x86_X64_ASM_FLAGS =3D /nologo /c /WX /W3 /Cx /Zd= /Zi -# ## MSFT:RELEASE_VS2015x86_X64_ASL_FLAGS =3D=20 -# ## MSFT:RELEASE_VS2015x86_X64_CC_FLAGS =3D /nologo /c /WX /GS- /W4 /Gs= 32768 /D UNICODE /O1b2s /GL /Gy /FIAutoGen.h /EHs-c- /GR- /GF /Gw -D CRB_FL= AG -D TRAD_FLAG=3D1 $(ULT_BUILD_OPTION) -D PCH_SERVER_BIOS_FLAG=3D1 -D SUS_= WELL_RESTORE=3D1 -D SERVER_BIOS_FLAG=3D1 -D PCH_SPT -D PURLEY_FLAG $(SPARIN= G_SCRATCHPAD_OPTION) $(TRACE_HUB_DEBUG_BUILD_OPTIONS) $(TRACE_HUB_INIT_BUIL= D_OPTIONS) -D MAX_SOCKET=3D2 -D EFI_PCI_IOV_SUPPORT -D WHEA_SUPPORT -D SKX_= HOST -D CLX_HOST -D MDEPKG_NDEBUG -D SILENT_MODE /Zi /Gm -# ## MSFT:RELEASE_VS2015x86_X64_NASMB_FLAGS =3D -f bin -# ## MSFT:RELEASE_VS2015x86_X64_VFRPP_FLAGS =3D /nologo /E /TC /DVFRCOMP= ILE /FI$(MODULE_NAME)StrDefs.h -D CRB_FLAG -D TRAD_FLAG=3D1 $(ULT_BUILD_OPT= ION) -D PCH_SERVER_BIOS_FLAG=3D1 -D SUS_WELL_RESTORE=3D1 -D SERVER_BIOS_FLA= G=3D1 -D PCH_SPT -D PURLEY_FLAG $(SPARING_SCRATCHPAD_OPTION) $(TRACE_HUB_DE= BUG_BUILD_OPTIONS) $(TRACE_HUB_INIT_BUILD_OPTIONS) -D MAX_SOCKET=3D2 -D EFI= _PCI_IOV_SUPPORT -D WHEA_SUPPORT -D SKX_HOST -D CLX_HOST -D MDEPKG_NDEBUG -= D SILENT_MODE -# ## MSFT:RELEASE_VS2015x86_X64_ASLCC_FLAGS =3D /nologo /c /FIAutoGen.h = /TC /Dmain=3DReferenceAcpiTable -D CRB_FLAG -D TRAD_FLAG=3D1 $(ULT_BUILD_OP= TION) -D PCH_SERVER_BIOS_FLAG=3D1 -D SUS_WELL_RESTORE=3D1 -D SERVER_BIOS_FL= AG=3D1 -D PCH_SPT -D PURLEY_FLAG $(SPARING_SCRATCHPAD_OPTION) $(TRACE_HUB_D= EBUG_BUILD_OPTIONS) $(TRACE_HUB_INIT_BUILD_OPTIONS) -D MAX_SOCKET=3D2 -D EF= I_PCI_IOV_SUPPORT -D WHEA_SUPPORT -D SKX_HOST -D CLX_HOST -D MDEPKG_NDEBUG = -D SILENT_MODE -# ## MSFT:RELEASE_VS2015x86_X64_APP_FLAGS =3D /nologo /E /TC -D CRB_FLAG= -D TRAD_FLAG=3D1 $(ULT_BUILD_OPTION) -D PCH_SERVER_BIOS_FLAG=3D1 -D SUS_WE= LL_RESTORE=3D1 -D SERVER_BIOS_FLAG=3D1 -D PCH_SPT -D PURLEY_FLAG $(SPARING_= SCRATCHPAD_OPTION) $(TRACE_HUB_DEBUG_BUILD_OPTIONS) $(TRACE_HUB_INIT_BUILD_= OPTIONS) -D MAX_SOCKET=3D2 -D EFI_PCI_IOV_SUPPORT -D WHEA_SUPPORT -D SKX_HO= ST -D CLX_HOST -D MDEPKG_NDEBUG -D SILENT_MODE -# ## MSFT:RELEASE_VS2015x86_X64_DLINK2_FLAGS =3D=20 -# ## MSFT:RELEASE_VS2015x86_X64_DLINK_FLAGS =3D /NOLOGO /NODEFAULTLIB /I= GNORE:4001 /IGNORE:4254 /OPT:REF /OPT:ICF=3D10 /MAP /ALIGN:32 /SECTION:.xda= ta,D /SECTION:.pdata,D /Machine:X64 /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT) = /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /MERGE:.rdat= a=3D.data /DEBUG /ALIGN:4096 -# ## MSFT:RELEASE_VS2015x86_X64_ASLPP_FLAGS =3D /nologo /E /C /FIAutoGen= .h -D CRB_FLAG -D TRAD_FLAG=3D1 $(ULT_BUILD_OPTION) -D PCH_SERVER_BIOS_FLAG= =3D1 -D SUS_WELL_RESTORE=3D1 -D SERVER_BIOS_FLAG=3D1 -D PCH_SPT -D PURLEY_F= LAG $(SPARING_SCRATCHPAD_OPTION) $(TRACE_HUB_DEBUG_BUILD_OPTIONS) $(TRACE_H= UB_INIT_BUILD_OPTIONS) -D MAX_SOCKET=3D2 -D EFI_PCI_IOV_SUPPORT -D WHEA_SUP= PORT -D SKX_HOST -D CLX_HOST -D MDEPKG_NDEBUG -D SILENT_MODE -# ## MSFT:RELEASE_VS2015x86_X64_OBJCOPY_FLAGS =3D objcopy not needed for -# ## MSFT:RELEASE_VS2015x86_X64_MAKE_FLAGS =3D /nologo -# ## MSFT:RELEASE_VS2015x86_X64_ASMLINK_FLAGS =3D /nologo /tiny -# ## MSFT:RELEASE_VS2015x86_X64_NASM_FLAGS =3D -Ox -f win64 -# ## @file -# # Status Code Handler Driver which produces general handlers and hook t= hem -# # onto the DXE status code router. -# # -# # Copyright (c) 2006 - 2016, Intel Corporation. -# # -# # All rights reserved. This program and the accompanying materials -# # are licensed and made available under the terms and conditions of the= BSD License -# # which accompanies this distribution. The full text of the license may= be found at -# # http://opensource.org/licenses/bsd-license.php -# # THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, -# # WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR = IMPLIED. -# # -# # -# ## -#=20 -# # DO NOT EDIT -# # FILE auto-generated -#=20 -# [Defines] -# INF_VERSION =3D 0x00010017 -# BASE_NAME =3D IioInit -# FILE_GUID =3D 63809859-F029-41c3-9F34-EEEB9EA787A5 -# MODULE_TYPE =3D DXE_DRIVER -# VERSION_STRING =3D 1.0 -# ENTRY_POINT =3D IioInitEntry -#=20 -[Packages.X64] - MdePkg/MdePkg.dec - PurleySktPkg/SocketPkg.dec - PurleyRcPkg/RcPkg.dec - PurleyOpenBoardPkg/PlatPkg.dec - -# [Binaries.X64] -# PE32|IioInit.efi -# DXE_DEPEX|IioInit.depex -# DISPOSABLE|IioInit.pdb -#=20 -[PatchPcd.X64] - gEfiMdePkgTokenSpaceGuid.PcdPciExpressBaseAddress|0x0000000080000000|0x4= 5160 # 0x4A70+0x406f0 - - -# [Protocols.X64] -# gEfiIioSystemProtocolGuid -#=20 -# gEfiCpuCsrAccessGuid -#=20 -# ## SOMETIMES_CONSUMES -# gPcdProtocolGuid -#=20 -# ## CONSUMES -# gEfiPcdProtocolGuid -#=20 -# ## SOMETIMES_CONSUMES -# gGetPcdInfoProtocolGuid -#=20 -# ## SOMETIMES_CONSUMES -# gEfiGetPcdInfoProtocolGuid -#=20 -# gEfiIioUdsProtocolGuid -#=20 -# ## SOMETIMES_CONSUMES -# gEfiLoadedImageProtocolGuid -#=20 -# ## SOMETIMES_CONSUMES -# gEfiDevicePathProtocolGuid -#=20 -# ## UNDEFINED -# gEfiDebugPortProtocolGuid -#=20 -# ## SOMETIMES_PRODUCES -# gEfiDriverBindingProtocolGuid -#=20 -# ## SOMETIMES_CONSUMES -# gEfiSimpleTextOutProtocolGuid -#=20 -# ## SOMETIMES_CONSUMES -# gEfiGraphicsOutputProtocolGuid -#=20 -# ## SOMETIMES_CONSUMES -# gEfiHiiFontProtocolGuid -#=20 -# ## SOMETIMES_CONSUMES # Consumes if gEfiGraphicsOutputProtocolGuid uni= nstalled -# gEfiUgaDrawProtocolGuid -#=20 -# ## SOMETIMES_PRODUCES # User chooses to produce it -# gEfiComponentNameProtocolGuid -#=20 -# ## SOMETIMES_PRODUCES # User chooses to produce it -# gEfiComponentName2ProtocolGuid -#=20 -# ## SOMETIMES_PRODUCES # User chooses to produce it -# gEfiDriverConfigurationProtocolGuid -#=20 -# ## SOMETIMES_PRODUCES # User chooses to produce it -# gEfiDriverConfiguration2ProtocolGuid -#=20 -# ## SOMETIMES_PRODUCES # User chooses to produce it -# gEfiDriverDiagnosticsProtocolGuid -#=20 -# ## SOMETIMES_PRODUCES # User chooses to produce it -# gEfiDriverDiagnostics2ProtocolGuid -#=20 -# gEfiSmmCpuIo2ProtocolGuid -#=20 -# ## CONSUMES -# gUsraProtocolGuid -#=20 -# gEfiPciCallbackProtocolGuid -#=20 -# gEfiMpServiceProtocolGuid -#=20 -#=20 -# [Ppis.X64] -#=20 -# [Guids.X64] -# gIioPolicyHobGuid -#=20 -# gEfiCpRcPkgTokenSpaceGuid -#=20 -# gOemSkuTokenSpaceGuid -#=20 -# ## SOMETIMES_CONSUMES ## GUID -# gEfiVTUTF8Guid -#=20 -# ## SOMETIMES_CONSUMES ## GUID -# gEfiVT100Guid -#=20 -# ## SOMETIMES_CONSUMES ## GUID -# gEfiVT100PlusGuid -#=20 -# ## SOMETIMES_CONSUMES ## GUID -# gEfiPcAnsiGuid -#=20 -# ## SOMETIMES_CONSUMES ## GUID -# gEfiUartDevicePathGuid -#=20 -# ## SOMETIMES_CONSUMES ## GUID -# gEfiSasDevicePathGuid -#=20 -# ## SOMETIMES_CONSUMES ## GUID -# gEfiVirtualDiskGuid -#=20 -# ## SOMETIMES_CONSUMES ## GUID -# gEfiVirtualCdGuid -#=20 -# ## SOMETIMES_CONSUMES ## GUID -# gEfiPersistentVirtualDiskGuid -#=20 -# ## SOMETIMES_CONSUMES ## GUID -# gEfiPersistentVirtualCdGuid -#=20 -# ## SOMETIMES_CONSUMES ## Event -# gEfiEventReadyToBootGuid -#=20 -# ## SOMETIMES_CONSUMES ## Event -# gEfiEventLegacyBootGuid -#=20 -# ## SOMETIMES_CONSUMES ## Variable -# gEfiGlobalVariableGuid -#=20 -# ## CONSUMES ## SystemTable -# gEfiDxeServicesTableGuid -#=20 -# ## CONSUMES ## SystemTable -# gEfiHobListGuid -#=20 -# gEfiEventExitBootServicesGuid -#=20 -# gEfiEndOfDxeEventGroupGuid -#=20 -#=20 -[PcdEx.X64] - gOemSkuTokenSpaceGuid.PcdSetupData - - gOemSkuTokenSpaceGuid.PcdPchRcConfigurationData - - gOemSkuTokenSpaceGuid.PcdSocketIioConfigData - - gOemSkuTokenSpaceGuid.PcdSocketCommonRcConfigData - - gOemSkuTokenSpaceGuid.PcdSocketMpLinkConfigData - - gOemSkuTokenSpaceGuid.PcdSocketMemoryConfigData - - gOemSkuTokenSpaceGuid.PcdSocketPowerManagementConfigData - - gOemSkuTokenSpaceGuid.PcdSocketProcessorCoreConfigData - - gEfiCpRcPkgTokenSpaceGuid.PcdPcieMmcfgTablePtr - - -# [LibraryClasses.X64] -# ## @LIB_INSTANCES -# # LewisburgPkg/Library/PeiDxeSmmPchPcrLib/PeiDxeSmmPchPcrLib.inf -# # LewisburgPkg/Library/PeiDxeSmmPchInfoLib/PeiDxeSmmPchInfoLib.inf -# # LewisburgPkg/Library/PeiDxeSmmPchPcieRpLib/PeiDxeSmmPchPcieRpLib.inf -# # MdePkg/Library/UefiMemoryAllocationLib/UefiMemoryAllocationLib.inf -# # MdePkg/Library/BaseLib/BaseLib.inf -# # MdePkg/Library/BaseS3BootScriptLibNull/BaseS3BootScriptLibNull.inf -# # MdePkg/Library/DxePcdLib/DxePcdLib.inf -# # MdePkg/Library/BaseIoLibIntrinsic/BaseIoLibIntrinsic.inf -# # MdePkg/Library/BaseMemoryLibRepStr/BaseMemoryLibRepStr.inf -# # PurleyOpenBoardPkg/OemHook/Library/OemIioInit/OemIioInitHooks.inf -# # PurleySktPkg/Iio/Library/PeiDxeCommonIioInitLib/IioInitLib.inf -# # MdePkg/Library/BaseDebugLibNull/BaseDebugLibNull.inf -# # MdePkg/Library/UefiDriverEntryPoint/UefiDriverEntryPoint.inf -# # MdePkg/Library/BasePrintLib/BasePrintLib.inf -# # MdePkg/Library/UefiRuntimeServicesTableLib/UefiRuntimeServicesTableLi= b.inf -# # MdePkg/Library/UefiDevicePathLib/UefiDevicePathLib.inf -# # MdePkg/Library/UefiBootServicesTableLib/UefiBootServicesTableLib.inf -# # MdePkg/Library/UefiLib/UefiLib.inf -# # MdePkg/Library/DxeServicesTableLib/DxeServicesTableLib.inf -# # PurleyRcPkg/Library/DxeMmPciBaseLib/DxeMmPciBaseLib.inf -# # MdePkg/Library/DxeHobLib/DxeHobLib.inf -# # MdePkg/Library/BasePciCf8Lib/BasePciCf8Lib.inf -# # PurleyRcPkg/Library/UsraRegisterFilterLibNull/UsraRegisterFilterLibNu= ll.inf -# # PurleyRcPkg/Library/USRATraceLibNull/USRATraceLibNull.inf -# # PurleyRcPkg/Library/PcieAddressLib/PcieAddressLib.inf -# # PurleyRcPkg/Library/CsrToPcieLibNull/BaseCsrToPcieLibNull.inf -# # MdePkg/Library/BasePciLibCf8/BasePciLibCf8.inf -# # PurleyRcPkg/Library/UsraAccessLib/UsraAccessLib.inf -# # PcAtChipsetPkg/Library/AcpiTimerLib/DxeAcpiTimerLib.inf -# # MdePkg/Library/BaseS3PciLib/BaseS3PciLib.inf -# # PurleyRcPkg/Library/PcieCommonInitLib/PcieCommonInitLib.inf -# # PurleySktPkg/Iio/Library/DxeIioInitLib/IioInitDxeLib.inf -#=20 -# [Depex.X64] -# # (gEfiMpServiceProtocolGuid) AND (gEfiPcdProtocolGuid) AND (gEfiPcdPro= tocolGuid) AND (gEfiPcdProtocolGuid) AND (gEfiPcdProtocolGuid) AND (gEfiBds= ArchProtocolGuid AND gEfiCpuArchProtocolGuid AND gEfiMetronomeArchProtocolG= uid AND gEfiMonotonicCounterArchProtocolGuid AND gEfiRealTimeClockArchProto= colGuid AND gEfiResetArchProtocolGuid AND gEfiRuntimeArchProtocolGuid AND g= EfiSecurityArchProtocolGuid AND gEfiTimerArchProtocolGuid AND gEfiVariableW= riteArchProtocolGuid AND gEfiVariableArchProtocolGuid AND gEfiWatchdogTimer= ArchProtocolGuid) AND (gUsraProtocolGuid) -#=20 -#=20 -#=20 -#=20 -#=20 -# [BuildOptions.X64] -# ## @AsBuilt -# ## MSFT:RELEASE_VS2015x86_X64_OPTROM_FLAGS =3D -e -# ## MSFT:RELEASE_VS2015x86_X64_VFR_FLAGS =3D -n -# ## MSFT:RELEASE_VS2015x86_X64_PP_FLAGS =3D /nologo /E /TC /FIAutoGen.h= -D CRB_FLAG -D TRAD_FLAG=3D1 $(ULT_BUILD_OPTION) -D PCH_SERVER_BIOS_FLAG= =3D1 -D SUS_WELL_RESTORE=3D1 -D SERVER_BIOS_FLAG=3D1 -D PCH_SPT -D PURLEY_F= LAG $(SPARING_SCRATCHPAD_OPTION) $(TRACE_HUB_DEBUG_BUILD_OPTIONS) $(TRACE_H= UB_INIT_BUILD_OPTIONS) -D MAX_SOCKET=3D2 -D EFI_PCI_IOV_SUPPORT -D WHEA_SUP= PORT -D SKX_HOST -D CLX_HOST -D MDEPKG_NDEBUG -D SILENT_MODE -# ## MSFT:RELEASE_VS2015x86_X64_SYMRENAME_FLAGS =3D Symbol renaming not = needed for -# ## MSFT:RELEASE_VS2015x86_X64_GENFW_FLAGS =3D=20 -# ## MSFT:RELEASE_VS2015x86_X64_SLINK_FLAGS =3D /NOLOGO /LTCG -# ## MSFT:RELEASE_VS2015x86_X64_ASLDLINK_FLAGS =3D /NODEFAULTLIB /ENTRY:= ReferenceAcpiTable /SUBSYSTEM:CONSOLE -# ## MSFT:RELEASE_VS2015x86_X64_ASM_FLAGS =3D /nologo /c /WX /W3 /Cx /Zd= /Zi -# ## MSFT:RELEASE_VS2015x86_X64_ASL_FLAGS =3D=20 -# ## MSFT:RELEASE_VS2015x86_X64_CC_FLAGS =3D /nologo /c /WX /GS- /W4 /Gs= 32768 /D UNICODE /O1b2s /GL /Gy /FIAutoGen.h /EHs-c- /GR- /GF /Gw -D CRB_FL= AG -D TRAD_FLAG=3D1 $(ULT_BUILD_OPTION) -D PCH_SERVER_BIOS_FLAG=3D1 -D SUS_= WELL_RESTORE=3D1 -D SERVER_BIOS_FLAG=3D1 -D PCH_SPT -D PURLEY_FLAG $(SPARIN= G_SCRATCHPAD_OPTION) $(TRACE_HUB_DEBUG_BUILD_OPTIONS) $(TRACE_HUB_INIT_BUIL= D_OPTIONS) -D MAX_SOCKET=3D2 -D EFI_PCI_IOV_SUPPORT -D WHEA_SUPPORT -D SKX_= HOST -D CLX_HOST -D MDEPKG_NDEBUG -D SILENT_MODE /Zi /Gm -# ## MSFT:RELEASE_VS2015x86_X64_NASMB_FLAGS =3D -f bin -# ## MSFT:RELEASE_VS2015x86_X64_VFRPP_FLAGS =3D /nologo /E /TC /DVFRCOMP= ILE /FI$(MODULE_NAME)StrDefs.h -D CRB_FLAG -D TRAD_FLAG=3D1 $(ULT_BUILD_OPT= ION) -D PCH_SERVER_BIOS_FLAG=3D1 -D SUS_WELL_RESTORE=3D1 -D SERVER_BIOS_FLA= G=3D1 -D PCH_SPT -D PURLEY_FLAG $(SPARING_SCRATCHPAD_OPTION) $(TRACE_HUB_DE= BUG_BUILD_OPTIONS) $(TRACE_HUB_INIT_BUILD_OPTIONS) -D MAX_SOCKET=3D2 -D EFI= _PCI_IOV_SUPPORT -D WHEA_SUPPORT -D SKX_HOST -D CLX_HOST -D MDEPKG_NDEBUG -= D SILENT_MODE -# ## MSFT:RELEASE_VS2015x86_X64_ASLCC_FLAGS =3D /nologo /c /FIAutoGen.h = /TC /Dmain=3DReferenceAcpiTable -D CRB_FLAG -D TRAD_FLAG=3D1 $(ULT_BUILD_OP= TION) -D PCH_SERVER_BIOS_FLAG=3D1 -D SUS_WELL_RESTORE=3D1 -D SERVER_BIOS_FL= AG=3D1 -D PCH_SPT -D PURLEY_FLAG $(SPARING_SCRATCHPAD_OPTION) $(TRACE_HUB_D= EBUG_BUILD_OPTIONS) $(TRACE_HUB_INIT_BUILD_OPTIONS) -D MAX_SOCKET=3D2 -D EF= I_PCI_IOV_SUPPORT -D WHEA_SUPPORT -D SKX_HOST -D CLX_HOST -D MDEPKG_NDEBUG = -D SILENT_MODE -# ## MSFT:RELEASE_VS2015x86_X64_APP_FLAGS =3D /nologo /E /TC -D CRB_FLAG= -D TRAD_FLAG=3D1 $(ULT_BUILD_OPTION) -D PCH_SERVER_BIOS_FLAG=3D1 -D SUS_WE= LL_RESTORE=3D1 -D SERVER_BIOS_FLAG=3D1 -D PCH_SPT -D PURLEY_FLAG $(SPARING_= SCRATCHPAD_OPTION) $(TRACE_HUB_DEBUG_BUILD_OPTIONS) $(TRACE_HUB_INIT_BUILD_= OPTIONS) -D MAX_SOCKET=3D2 -D EFI_PCI_IOV_SUPPORT -D WHEA_SUPPORT -D SKX_HO= ST -D CLX_HOST -D MDEPKG_NDEBUG -D SILENT_MODE -# ## MSFT:RELEASE_VS2015x86_X64_DLINK2_FLAGS =3D=20 -# ## MSFT:RELEASE_VS2015x86_X64_DLINK_FLAGS =3D /NOLOGO /NODEFAULTLIB /I= GNORE:4001 /IGNORE:4254 /OPT:REF /OPT:ICF=3D10 /MAP /ALIGN:32 /SECTION:.xda= ta,D /SECTION:.pdata,D /Machine:X64 /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT) = /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /MERGE:.rdat= a=3D.data /DEBUG -# ## MSFT:RELEASE_VS2015x86_X64_ASLPP_FLAGS =3D /nologo /E /C /FIAutoGen= .h -D CRB_FLAG -D TRAD_FLAG=3D1 $(ULT_BUILD_OPTION) -D PCH_SERVER_BIOS_FLAG= =3D1 -D SUS_WELL_RESTORE=3D1 -D SERVER_BIOS_FLAG=3D1 -D PCH_SPT -D PURLEY_F= LAG $(SPARING_SCRATCHPAD_OPTION) $(TRACE_HUB_DEBUG_BUILD_OPTIONS) $(TRACE_H= UB_INIT_BUILD_OPTIONS) -D MAX_SOCKET=3D2 -D EFI_PCI_IOV_SUPPORT -D WHEA_SUP= PORT -D SKX_HOST -D CLX_HOST -D MDEPKG_NDEBUG -D SILENT_MODE -# ## MSFT:RELEASE_VS2015x86_X64_OBJCOPY_FLAGS =3D objcopy not needed for -# ## MSFT:RELEASE_VS2015x86_X64_MAKE_FLAGS =3D /nologo -# ## MSFT:RELEASE_VS2015x86_X64_ASMLINK_FLAGS =3D /nologo /tiny -# ## MSFT:RELEASE_VS2015x86_X64_NASM_FLAGS =3D -Ox -f win64 -# ## @file -# # -# # Copyright (c) 2009 - 2016, Intel Corporation. All rights reserved.
-# # -# # This program and the accompanying materials -# # are licensed and made available under the terms and conditions of the= BSD License -# # which accompanies this distribution. The full text of the license may= be found at -# # http://opensource.org/licenses/bsd-license.php -# # THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, -# # WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR = IMPLIED. -# # -# # -# ## -#=20 -# # DO NOT EDIT -# # FILE auto-generated -#=20 -# [Defines] -# INF_VERSION =3D 0x00010017 -# BASE_NAME =3D PciHostBridge -# FILE_GUID =3D D58EBCE1-AF26-488d-BE66-C164417F8C13 -# MODULE_TYPE =3D DXE_DRIVER -# VERSION_STRING =3D 1.0 -# ENTRY_POINT =3D InitializePciHostBridge -#=20 -[Packages.X64] - MdePkg/MdePkg.dec - PurleySktPkg/SocketPkg.dec - PurleyRcPkg/RcPkg.dec - -# [Binaries.X64] -# PE32|PciHostBridge.efi -# DXE_DEPEX|PciHostBridge.depex -# DISPOSABLE|PciHostBridge.pdb -#=20 -[PatchPcd.X64] - -# [Protocols.X64] -# gEfiMetronomeArchProtocolGuid -#=20 -# gEfiCpuIo2ProtocolGuid -#=20 -# gEfiIioUdsProtocolGuid -#=20 -# ## SOMETIMES_CONSUMES -# gEfiDevicePathProtocolGuid -#=20 -# gEfiPciRootBridgeIoProtocolGuid -#=20 -# gEfiPciHostBridgeResourceAllocationProtocolGuid -#=20 -# ## SOMETIMES_CONSUMES -# gPcdProtocolGuid -#=20 -# ## CONSUMES -# gEfiPcdProtocolGuid -#=20 -# ## SOMETIMES_CONSUMES -# gGetPcdInfoProtocolGuid -#=20 -# ## SOMETIMES_CONSUMES -# gEfiGetPcdInfoProtocolGuid -#=20 -# ## UNDEFINED -# gEfiDebugPortProtocolGuid -#=20 -# ## SOMETIMES_PRODUCES -# gEfiDriverBindingProtocolGuid -#=20 -# ## SOMETIMES_CONSUMES -# gEfiSimpleTextOutProtocolGuid -#=20 -# ## SOMETIMES_CONSUMES -# gEfiGraphicsOutputProtocolGuid -#=20 -# ## SOMETIMES_CONSUMES -# gEfiHiiFontProtocolGuid -#=20 -# ## SOMETIMES_CONSUMES # Consumes if gEfiGraphicsOutputProtocolGuid uni= nstalled -# gEfiUgaDrawProtocolGuid -#=20 -# ## SOMETIMES_PRODUCES # User chooses to produce it -# gEfiComponentNameProtocolGuid -#=20 -# ## SOMETIMES_PRODUCES # User chooses to produce it -# gEfiComponentName2ProtocolGuid -#=20 -# ## SOMETIMES_PRODUCES # User chooses to produce it -# gEfiDriverConfigurationProtocolGuid -#=20 -# ## SOMETIMES_PRODUCES # User chooses to produce it -# gEfiDriverConfiguration2ProtocolGuid -#=20 -# ## SOMETIMES_PRODUCES # User chooses to produce it -# gEfiDriverDiagnosticsProtocolGuid -#=20 -# ## SOMETIMES_PRODUCES # User chooses to produce it -# gEfiDriverDiagnostics2ProtocolGuid -#=20 -# ## SOMETIMES_CONSUMES -# gEfiLoadedImageProtocolGuid -#=20 -# ## CONSUMES -# gUsraProtocolGuid -#=20 -#=20 -# [Ppis.X64] -#=20 -# [Guids.X64] -# gEfiSocketPciResourceDataGuid -#=20 -# ## SOMETIMES_CONSUMES ## GUID -# gEfiVTUTF8Guid -#=20 -# ## SOMETIMES_CONSUMES ## GUID -# gEfiVT100Guid -#=20 -# ## SOMETIMES_CONSUMES ## GUID -# gEfiVT100PlusGuid -#=20 -# ## SOMETIMES_CONSUMES ## GUID -# gEfiPcAnsiGuid -#=20 -# ## SOMETIMES_CONSUMES ## GUID -# gEfiUartDevicePathGuid -#=20 -# ## SOMETIMES_CONSUMES ## GUID -# gEfiSasDevicePathGuid -#=20 -# ## SOMETIMES_CONSUMES ## GUID -# gEfiVirtualDiskGuid -#=20 -# ## SOMETIMES_CONSUMES ## GUID -# gEfiVirtualCdGuid -#=20 -# ## SOMETIMES_CONSUMES ## GUID -# gEfiPersistentVirtualDiskGuid -#=20 -# ## SOMETIMES_CONSUMES ## GUID -# gEfiPersistentVirtualCdGuid -#=20 -# ## SOMETIMES_CONSUMES ## Event -# gEfiEventReadyToBootGuid -#=20 -# ## SOMETIMES_CONSUMES ## Event -# gEfiEventLegacyBootGuid -#=20 -# ## SOMETIMES_CONSUMES ## Variable -# gEfiGlobalVariableGuid -#=20 -# ## CONSUMES ## SystemTable -# gEfiDxeServicesTableGuid -#=20 -#=20 -[PcdEx.X64] - -# [LibraryClasses.X64] -# ## @LIB_INSTANCES -# # MdePkg/Library/DxePcdLib/DxePcdLib.inf -# # MdePkg/Library/BaseLib/BaseLib.inf -# # MdePkg/Library/BaseMemoryLibRepStr/BaseMemoryLibRepStr.inf -# # MdePkg/Library/BaseDebugLibNull/BaseDebugLibNull.inf -# # MdePkg/Library/UefiBootServicesTableLib/UefiBootServicesTableLib.inf -# # MdePkg/Library/BasePrintLib/BasePrintLib.inf -# # MdePkg/Library/UefiMemoryAllocationLib/UefiMemoryAllocationLib.inf -# # MdePkg/Library/UefiDevicePathLib/UefiDevicePathLib.inf -# # MdePkg/Library/UefiRuntimeServicesTableLib/UefiRuntimeServicesTableLi= b.inf -# # MdePkg/Library/UefiLib/UefiLib.inf -# # MdePkg/Library/UefiDriverEntryPoint/UefiDriverEntryPoint.inf -# # MdePkg/Library/DxeServicesTableLib/DxeServicesTableLib.inf -# # PurleyRcPkg/Library/DxeUsraLib/DxeUsraLib.inf -#=20 -# [Depex.X64] -# # (gEfiCpuIo2ProtocolGuid AND gEfiMetronomeArchProtocolGuid AND gEfiIio= UdsProtocolGuid) AND (gEfiPcdProtocolGuid) AND (gEfiPcdProtocolGuid) AND (g= EfiPcdProtocolGuid) AND (gEfiPcdProtocolGuid) AND (gEfiBdsArchProtocolGuid = AND gEfiCpuArchProtocolGuid AND gEfiMetronomeArchProtocolGuid AND gEfiMonot= onicCounterArchProtocolGuid AND gEfiRealTimeClockArchProtocolGuid AND gEfiR= esetArchProtocolGuid AND gEfiRuntimeArchProtocolGuid AND gEfiSecurityArchPr= otocolGuid AND gEfiTimerArchProtocolGuid AND gEfiVariableWriteArchProtocolG= uid AND gEfiVariableArchProtocolGuid AND gEfiWatchdogTimerArchProtocolGuid)= AND (gUsraProtocolGuid) -#=20 -#=20 -#=20 -#=20 -#=20 -# [BuildOptions.X64] -# ## @AsBuilt -# ## MSFT:RELEASE_VS2015x86_X64_OPTROM_FLAGS =3D -e -# ## MSFT:RELEASE_VS2015x86_X64_VFR_FLAGS =3D -n -# ## MSFT:RELEASE_VS2015x86_X64_PP_FLAGS =3D /nologo /E /TC /FIAutoGen.h= -D CRB_FLAG -D TRAD_FLAG=3D1 $(ULT_BUILD_OPTION) -D PCH_SERVER_BIOS_FLAG= =3D1 -D SUS_WELL_RESTORE=3D1 -D SERVER_BIOS_FLAG=3D1 -D PCH_SPT -D PURLEY_F= LAG $(SPARING_SCRATCHPAD_OPTION) $(TRACE_HUB_DEBUG_BUILD_OPTIONS) $(TRACE_H= UB_INIT_BUILD_OPTIONS) -D MAX_SOCKET=3D2 -D EFI_PCI_IOV_SUPPORT -D WHEA_SUP= PORT -D SKX_HOST -D CLX_HOST -D MDEPKG_NDEBUG -D SILENT_MODE -# ## MSFT:RELEASE_VS2015x86_X64_SYMRENAME_FLAGS =3D Symbol renaming not = needed for -# ## MSFT:RELEASE_VS2015x86_X64_GENFW_FLAGS =3D=20 -# ## MSFT:RELEASE_VS2015x86_X64_SLINK_FLAGS =3D /NOLOGO /LTCG -# ## MSFT:RELEASE_VS2015x86_X64_ASLDLINK_FLAGS =3D /NODEFAULTLIB /ENTRY:= ReferenceAcpiTable /SUBSYSTEM:CONSOLE -# ## MSFT:RELEASE_VS2015x86_X64_ASM_FLAGS =3D /nologo /c /WX /W3 /Cx /Zd= /Zi -# ## MSFT:RELEASE_VS2015x86_X64_ASL_FLAGS =3D=20 -# ## MSFT:RELEASE_VS2015x86_X64_CC_FLAGS =3D /nologo /c /WX /GS- /W4 /Gs= 32768 /D UNICODE /O1b2s /GL /Gy /FIAutoGen.h /EHs-c- /GR- /GF /Gw -D CRB_FL= AG -D TRAD_FLAG=3D1 $(ULT_BUILD_OPTION) -D PCH_SERVER_BIOS_FLAG=3D1 -D SUS_= WELL_RESTORE=3D1 -D SERVER_BIOS_FLAG=3D1 -D PCH_SPT -D PURLEY_FLAG $(SPARIN= G_SCRATCHPAD_OPTION) $(TRACE_HUB_DEBUG_BUILD_OPTIONS) $(TRACE_HUB_INIT_BUIL= D_OPTIONS) -D MAX_SOCKET=3D2 -D EFI_PCI_IOV_SUPPORT -D WHEA_SUPPORT -D SKX_= HOST -D CLX_HOST -D MDEPKG_NDEBUG -D SILENT_MODE /Zi /Gm -# ## MSFT:RELEASE_VS2015x86_X64_NASMB_FLAGS =3D -f bin -# ## MSFT:RELEASE_VS2015x86_X64_VFRPP_FLAGS =3D /nologo /E /TC /DVFRCOMP= ILE /FI$(MODULE_NAME)StrDefs.h -D CRB_FLAG -D TRAD_FLAG=3D1 $(ULT_BUILD_OPT= ION) -D PCH_SERVER_BIOS_FLAG=3D1 -D SUS_WELL_RESTORE=3D1 -D SERVER_BIOS_FLA= G=3D1 -D PCH_SPT -D PURLEY_FLAG $(SPARING_SCRATCHPAD_OPTION) $(TRACE_HUB_DE= BUG_BUILD_OPTIONS) $(TRACE_HUB_INIT_BUILD_OPTIONS) -D MAX_SOCKET=3D2 -D EFI= _PCI_IOV_SUPPORT -D WHEA_SUPPORT -D SKX_HOST -D CLX_HOST -D MDEPKG_NDEBUG -= D SILENT_MODE -# ## MSFT:RELEASE_VS2015x86_X64_ASLCC_FLAGS =3D /nologo /c /FIAutoGen.h = /TC /Dmain=3DReferenceAcpiTable -D CRB_FLAG -D TRAD_FLAG=3D1 $(ULT_BUILD_OP= TION) -D PCH_SERVER_BIOS_FLAG=3D1 -D SUS_WELL_RESTORE=3D1 -D SERVER_BIOS_FL= AG=3D1 -D PCH_SPT -D PURLEY_FLAG $(SPARING_SCRATCHPAD_OPTION) $(TRACE_HUB_D= EBUG_BUILD_OPTIONS) $(TRACE_HUB_INIT_BUILD_OPTIONS) -D MAX_SOCKET=3D2 -D EF= I_PCI_IOV_SUPPORT -D WHEA_SUPPORT -D SKX_HOST -D CLX_HOST -D MDEPKG_NDEBUG = -D SILENT_MODE -# ## MSFT:RELEASE_VS2015x86_X64_APP_FLAGS =3D /nologo /E /TC -D CRB_FLAG= -D TRAD_FLAG=3D1 $(ULT_BUILD_OPTION) -D PCH_SERVER_BIOS_FLAG=3D1 -D SUS_WE= LL_RESTORE=3D1 -D SERVER_BIOS_FLAG=3D1 -D PCH_SPT -D PURLEY_FLAG $(SPARING_= SCRATCHPAD_OPTION) $(TRACE_HUB_DEBUG_BUILD_OPTIONS) $(TRACE_HUB_INIT_BUILD_= OPTIONS) -D MAX_SOCKET=3D2 -D EFI_PCI_IOV_SUPPORT -D WHEA_SUPPORT -D SKX_HO= ST -D CLX_HOST -D MDEPKG_NDEBUG -D SILENT_MODE -# ## MSFT:RELEASE_VS2015x86_X64_DLINK2_FLAGS =3D=20 -# ## MSFT:RELEASE_VS2015x86_X64_DLINK_FLAGS =3D /NOLOGO /NODEFAULTLIB /I= GNORE:4001 /IGNORE:4254 /OPT:REF /OPT:ICF=3D10 /MAP /ALIGN:32 /SECTION:.xda= ta,D /SECTION:.pdata,D /Machine:X64 /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT) = /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /MERGE:.rdat= a=3D.data /DEBUG -# ## MSFT:RELEASE_VS2015x86_X64_ASLPP_FLAGS =3D /nologo /E /C /FIAutoGen= .h -D CRB_FLAG -D TRAD_FLAG=3D1 $(ULT_BUILD_OPTION) -D PCH_SERVER_BIOS_FLAG= =3D1 -D SUS_WELL_RESTORE=3D1 -D SERVER_BIOS_FLAG=3D1 -D PCH_SPT -D PURLEY_F= LAG $(SPARING_SCRATCHPAD_OPTION) $(TRACE_HUB_DEBUG_BUILD_OPTIONS) $(TRACE_H= UB_INIT_BUILD_OPTIONS) -D MAX_SOCKET=3D2 -D EFI_PCI_IOV_SUPPORT -D WHEA_SUP= PORT -D SKX_HOST -D CLX_HOST -D MDEPKG_NDEBUG -D SILENT_MODE -# ## MSFT:RELEASE_VS2015x86_X64_OBJCOPY_FLAGS =3D objcopy not needed for -# ## MSFT:RELEASE_VS2015x86_X64_MAKE_FLAGS =3D /nologo -# ## MSFT:RELEASE_VS2015x86_X64_ASMLINK_FLAGS =3D /nologo /tiny -# ## MSFT:RELEASE_VS2015x86_X64_NASM_FLAGS =3D -Ox -f win64 -# ## @file -# # Component description file for Pch Initialization driver -# # -# # @copyright -# # Copyright (c) 1999 - 2016 Intel Corporation. All rights reserved -# # This software and associated documentation (if any) is furnished -# # under a license and may only be used or copied in accordance -# # with the terms of the license. Except as permitted by the -# # license, no part of this software or documentation may be -# # reproduced, stored in a retrieval system, or transmitted in any -# # form or by any means without the express written consent of -# # Intel Corporation. -# # This file contains an 'Intel Peripheral Driver' and is uniquely -# # identified as "Intel Reference Module" and is licensed for Intel -# # CPUs and chipsets under the terms of your license agreement with -# # Intel or your vendor. This file may be modified by the user, subject -# # to additional terms of the license agreement. -# # -# #@par Specification Reference: -# # -# ## -#=20 -# # DO NOT EDIT -# # FILE auto-generated -#=20 -# [Defines] -# INF_VERSION =3D 0x00010017 -# BASE_NAME =3D PchInitDxe -# FILE_GUID =3D DE23ACEE-CF55-4fb6-AA77-984AB53DE823 -# MODULE_TYPE =3D DXE_DRIVER -# VERSION_STRING =3D 1.0 -# ENTRY_POINT =3D PchInitEntryPointUefi -#=20 -[Packages.X64] - MdePkg/MdePkg.dec - LewisburgPkg/PchRcPkg.dec - PurleyRcPkg/RcPkg.dec - -# [Binaries.X64] -# PE32|PchInitDxe.efi -# DXE_DEPEX|PchInitDxe.depex -# DISPOSABLE|PchInitDxe.pdb -#=20 -[PatchPcd.X64] - #SERVER_BIOS ## CONSUMES - gEfiMdePkgTokenSpaceGuid.PcdPciExpressBaseAddress|0x0000000080000000|0x5= 2ae0 # 0x6140+0x4c9a0 - - -# [Protocols.X64] -# ## PRODUCES -# gPchInfoProtocolGuid -#=20 -# ## PRODUCES -# gPchNvsAreaProtocolGuid -#=20 -# ## PRODUCES -# gPchEmmcTuningProtocolGuid -#=20 -# ## CONSUMES -# gEfiPciIoProtocolGuid -#=20 -# ## CONSUMES -# ## CONSUMES -# gEfiAcpiTableProtocolGuid -#=20 -# ## CONSUMES -# gEfiBlockIoProtocolGuid -#=20 -# gHeciProtocolGuid -#=20 -# ## CONSUMES -# gEfiPciEnumerationCompleteProtocolGuid -#=20 -# ## CONSUMES -# gPchPcieIoTrapProtocolGuid -#=20 -# ## CONSUMES #SERVER_BIOS -# gPchSataEfiLoadProtocolGuid -#=20 -# ## CONSUMES #SERVER_BIOS -# gPchsSataEfiLoadProtocolGuid -#=20 -# ## SOMETIMES_CONSUMES -# gPcdProtocolGuid -#=20 -# ## CONSUMES -# gEfiPcdProtocolGuid -#=20 -# ## SOMETIMES_CONSUMES -# gGetPcdInfoProtocolGuid -#=20 -# ## SOMETIMES_CONSUMES -# gEfiGetPcdInfoProtocolGuid -#=20 -# ## SOMETIMES_CONSUMES -# gEfiDevicePathProtocolGuid -#=20 -# ## UNDEFINED -# gEfiDebugPortProtocolGuid -#=20 -# ## SOMETIMES_PRODUCES -# gEfiDriverBindingProtocolGuid -#=20 -# ## SOMETIMES_CONSUMES -# gEfiSimpleTextOutProtocolGuid -#=20 -# ## SOMETIMES_CONSUMES -# gEfiGraphicsOutputProtocolGuid -#=20 -# ## SOMETIMES_CONSUMES -# gEfiHiiFontProtocolGuid -#=20 -# ## SOMETIMES_CONSUMES # Consumes if gEfiGraphicsOutputProtocolGuid uni= nstalled -# gEfiUgaDrawProtocolGuid -#=20 -# ## SOMETIMES_PRODUCES # User chooses to produce it -# gEfiComponentNameProtocolGuid -#=20 -# ## SOMETIMES_PRODUCES # User chooses to produce it -# gEfiComponentName2ProtocolGuid -#=20 -# ## SOMETIMES_PRODUCES # User chooses to produce it -# gEfiDriverConfigurationProtocolGuid -#=20 -# ## SOMETIMES_PRODUCES # User chooses to produce it -# gEfiDriverConfiguration2ProtocolGuid -#=20 -# ## SOMETIMES_PRODUCES # User chooses to produce it -# gEfiDriverDiagnosticsProtocolGuid -#=20 -# ## SOMETIMES_PRODUCES # User chooses to produce it -# gEfiDriverDiagnostics2ProtocolGuid -#=20 -# gEfiSmmCpuIo2ProtocolGuid -#=20 -# ## CONSUMES -# gUsraProtocolGuid -#=20 -# ## SOMETIMES_CONSUMES -# gEfiLoadedImageProtocolGuid -#=20 -# ## CONSUMES -# gEfiAcpiSdtProtocolGuid -#=20 -#=20 -# [Ppis.X64] -#=20 -# [Guids.X64] -# gEfiEndOfDxeEventGroupGuid -#=20 -# gEfiAcpiTableGuid -#=20 -# gSiPolicyHobGuid -#=20 -# gPchPolicyHobGuid -#=20 -# ## SOMETIMES_CONSUMES ## GUID -# gEfiVTUTF8Guid -#=20 -# ## SOMETIMES_CONSUMES ## GUID -# gEfiVT100Guid -#=20 -# ## SOMETIMES_CONSUMES ## GUID -# gEfiVT100PlusGuid -#=20 -# ## SOMETIMES_CONSUMES ## GUID -# gEfiPcAnsiGuid -#=20 -# ## SOMETIMES_CONSUMES ## GUID -# gEfiUartDevicePathGuid -#=20 -# ## SOMETIMES_CONSUMES ## GUID -# gEfiSasDevicePathGuid -#=20 -# ## SOMETIMES_CONSUMES ## GUID -# gEfiVirtualDiskGuid -#=20 -# ## SOMETIMES_CONSUMES ## GUID -# gEfiVirtualCdGuid -#=20 -# ## SOMETIMES_CONSUMES ## GUID -# gEfiPersistentVirtualDiskGuid -#=20 -# ## SOMETIMES_CONSUMES ## GUID -# gEfiPersistentVirtualCdGuid -#=20 -# ## SOMETIMES_CONSUMES ## Event -# gEfiEventReadyToBootGuid -#=20 -# ## SOMETIMES_CONSUMES ## Event -# gEfiEventLegacyBootGuid -#=20 -# ## SOMETIMES_CONSUMES ## Variable -# gEfiGlobalVariableGuid -#=20 -# ## CONSUMES ## SystemTable -# gEfiDxeServicesTableGuid -#=20 -# ## CONSUMES ## SystemTable -# gEfiHobListGuid -#=20 -# gPlatformGpioConfigGuid -#=20 -# gEfiCpRcPkgTokenSpaceGuid -#=20 -#=20 -[PcdEx.X64] - gEfiCpRcPkgTokenSpaceGuid.PcdPcieMmcfgTablePtr - - -# [LibraryClasses.X64] -# ## @LIB_INSTANCES -# # MdePkg/Library/BaseLib/BaseLib.inf -# # MdePkg/Library/DxePcdLib/DxePcdLib.inf -# # MdePkg/Library/BaseMemoryLibRepStr/BaseMemoryLibRepStr.inf -# # MdePkg/Library/BaseDebugLibNull/BaseDebugLibNull.inf -# # MdePkg/Library/UefiBootServicesTableLib/UefiBootServicesTableLib.inf -# # MdePkg/Library/BasePrintLib/BasePrintLib.inf -# # MdePkg/Library/UefiMemoryAllocationLib/UefiMemoryAllocationLib.inf -# # MdePkg/Library/UefiDevicePathLib/UefiDevicePathLib.inf -# # MdePkg/Library/UefiRuntimeServicesTableLib/UefiRuntimeServicesTableLi= b.inf -# # MdePkg/Library/UefiLib/UefiLib.inf -# # MdePkg/Library/DxeServicesTableLib/DxeServicesTableLib.inf -# # MdePkg/Library/BaseIoLibIntrinsic/BaseIoLibIntrinsic.inf -# # PurleyRcPkg/Library/DxeMmPciBaseLib/DxeMmPciBaseLib.inf -# # LewisburgPkg/Library/PeiDxeSmmPchInfoLib/PeiDxeSmmPchInfoLib.inf -# # LewisburgPkg/Library/PeiDxeSmmPchP2sbLib/PeiDxeSmmPchP2sbLib.inf -# # LewisburgPkg/Library/PeiDxeSmmPchPcrLib/PeiDxeSmmPchPcrLib.inf -# # LewisburgPkg/Library/PeiDxeSmmPchSbiAccessLib/PeiDxeSmmPchSbiAccessLi= b.inf -# # MdePkg/Library/DxeHobLib/DxeHobLib.inf -# # LewisburgPkg/Library/PeiDxeSmmPchCycleDecodingLib/PeiDxeSmmPchCycleDe= codingLib.inf -# # MdePkg/Library/BasePciCf8Lib/BasePciCf8Lib.inf -# # LewisburgPkg/Library/PeiDxeSmmGpioLib/PeiDxeSmmGpioLib.inf -# # LewisburgPkg/Library/PeiDxeSmmPchPcieRpLib/PeiDxeSmmPchPcieRpLib.inf -# # MdePkg/Library/BasePciLibCf8/BasePciLibCf8.inf -# # MdePkg/Library/BaseS3BootScriptLibNull/BaseS3BootScriptLibNull.inf -# # LewisburgPkg/LibraryPrivate/PeiDxeSmmPchPciExpressHelpersLib/PeiDxeSm= mPchPciExpressHelpersLib.inf -# # PcAtChipsetPkg/Library/AcpiTimerLib/DxeAcpiTimerLib.inf -# # MdePkg/Library/UefiDriverEntryPoint/UefiDriverEntryPoint.inf -# # LewisburgPkg/Library/DxeAslUpdateLib/DxeAslUpdateLib.inf -# # LewisburgPkg/Library/PeiDxeSmmPchSerialIoLib/PeiDxeSmmPchSerialIoLib.= inf -# # LewisburgPkg/LibraryPrivate/DxePchHdaLib/DxePchHdaLib.inf -# # LewisburgPkg/LibraryPrivate/PeiDxeSmmPchInitCommonLib/PeiDxeSmmPchIni= tCommonLib.inf -# # PurleyRcPkg/Library/PcieAddressLib/PcieAddressLib.inf -# # LewisburgPkg/Library/PeiDxeSmmPchPmcLib/PeiDxeSmmPchPmcLib.inf -#=20 -# [Depex.X64] -# # (gEfiPciHostBridgeResourceAllocationProtocolGuid ## This is to ensure= that PCI MMIO and IO resource has been prepared and available for this dri= ver to allocate.) AND (gEfiPcdProtocolGuid) AND (gEfiPcdProtocolGuid) AND (= gEfiPcdProtocolGuid) AND (gEfiPcdProtocolGuid) AND (gUsraProtocolGuid) AND = (gEfiBdsArchProtocolGuid AND gEfiCpuArchProtocolGuid AND gEfiMetronomeArchP= rotocolGuid AND gEfiMonotonicCounterArchProtocolGuid AND gEfiRealTimeClockA= rchProtocolGuid AND gEfiResetArchProtocolGuid AND gEfiRuntimeArchProtocolGu= id AND gEfiSecurityArchProtocolGuid AND gEfiTimerArchProtocolGuid AND gEfiV= ariableWriteArchProtocolGuid AND gEfiVariableArchProtocolGuid AND gEfiWatch= dogTimerArchProtocolGuid) -#=20 -#=20 -#=20 -#=20 -#=20 -# [BuildOptions.X64] -# ## @AsBuilt -# ## MSFT:RELEASE_VS2015x86_X64_OPTROM_FLAGS =3D -e -# ## MSFT:RELEASE_VS2015x86_X64_VFR_FLAGS =3D -n -# ## MSFT:RELEASE_VS2015x86_X64_PP_FLAGS =3D /nologo /E /TC /FIAutoGen.h= -D CRB_FLAG -D TRAD_FLAG=3D1 $(ULT_BUILD_OPTION) -D PCH_SERVER_BIOS_FLAG= =3D1 -D SUS_WELL_RESTORE=3D1 -D SERVER_BIOS_FLAG=3D1 -D PCH_SPT -D PURLEY_F= LAG $(SPARING_SCRATCHPAD_OPTION) $(TRACE_HUB_DEBUG_BUILD_OPTIONS) $(TRACE_H= UB_INIT_BUILD_OPTIONS) -D MAX_SOCKET=3D2 -D EFI_PCI_IOV_SUPPORT -D WHEA_SUP= PORT -D SKX_HOST -D CLX_HOST -D MDEPKG_NDEBUG -D SILENT_MODE -# ## MSFT:RELEASE_VS2015x86_X64_SYMRENAME_FLAGS =3D Symbol renaming not = needed for -# ## MSFT:RELEASE_VS2015x86_X64_GENFW_FLAGS =3D=20 -# ## MSFT:RELEASE_VS2015x86_X64_SLINK_FLAGS =3D /NOLOGO /LTCG -# ## MSFT:RELEASE_VS2015x86_X64_ASLDLINK_FLAGS =3D /NODEFAULTLIB /ENTRY:= ReferenceAcpiTable /SUBSYSTEM:CONSOLE -# ## MSFT:RELEASE_VS2015x86_X64_ASM_FLAGS =3D /nologo /c /WX /W3 /Cx /Zd= /Zi -# ## MSFT:RELEASE_VS2015x86_X64_ASL_FLAGS =3D=20 -# ## MSFT:RELEASE_VS2015x86_X64_CC_FLAGS =3D /nologo /c /WX /GS- /W4 /Gs= 32768 /D UNICODE /O1b2s /GL /Gy /FIAutoGen.h /EHs-c- /GR- /GF /Gw -D CRB_FL= AG -D TRAD_FLAG=3D1 $(ULT_BUILD_OPTION) -D PCH_SERVER_BIOS_FLAG=3D1 -D SUS_= WELL_RESTORE=3D1 -D SERVER_BIOS_FLAG=3D1 -D PCH_SPT -D PURLEY_FLAG $(SPARIN= G_SCRATCHPAD_OPTION) $(TRACE_HUB_DEBUG_BUILD_OPTIONS) $(TRACE_HUB_INIT_BUIL= D_OPTIONS) -D MAX_SOCKET=3D2 -D EFI_PCI_IOV_SUPPORT -D WHEA_SUPPORT -D SKX_= HOST -D CLX_HOST -D MDEPKG_NDEBUG -D SILENT_MODE /Zi /Gm -# ## MSFT:RELEASE_VS2015x86_X64_NASMB_FLAGS =3D -f bin -# ## MSFT:RELEASE_VS2015x86_X64_VFRPP_FLAGS =3D /nologo /E /TC /DVFRCOMP= ILE /FI$(MODULE_NAME)StrDefs.h -D CRB_FLAG -D TRAD_FLAG=3D1 $(ULT_BUILD_OPT= ION) -D PCH_SERVER_BIOS_FLAG=3D1 -D SUS_WELL_RESTORE=3D1 -D SERVER_BIOS_FLA= G=3D1 -D PCH_SPT -D PURLEY_FLAG $(SPARING_SCRATCHPAD_OPTION) $(TRACE_HUB_DE= BUG_BUILD_OPTIONS) $(TRACE_HUB_INIT_BUILD_OPTIONS) -D MAX_SOCKET=3D2 -D EFI= _PCI_IOV_SUPPORT -D WHEA_SUPPORT -D SKX_HOST -D CLX_HOST -D MDEPKG_NDEBUG -= D SILENT_MODE -# ## MSFT:RELEASE_VS2015x86_X64_ASLCC_FLAGS =3D /nologo /c /FIAutoGen.h = /TC /Dmain=3DReferenceAcpiTable -D CRB_FLAG -D TRAD_FLAG=3D1 $(ULT_BUILD_OP= TION) -D PCH_SERVER_BIOS_FLAG=3D1 -D SUS_WELL_RESTORE=3D1 -D SERVER_BIOS_FL= AG=3D1 -D PCH_SPT -D PURLEY_FLAG $(SPARING_SCRATCHPAD_OPTION) $(TRACE_HUB_D= EBUG_BUILD_OPTIONS) $(TRACE_HUB_INIT_BUILD_OPTIONS) -D MAX_SOCKET=3D2 -D EF= I_PCI_IOV_SUPPORT -D WHEA_SUPPORT -D SKX_HOST -D CLX_HOST -D MDEPKG_NDEBUG = -D SILENT_MODE -# ## MSFT:RELEASE_VS2015x86_X64_APP_FLAGS =3D /nologo /E /TC -D CRB_FLAG= -D TRAD_FLAG=3D1 $(ULT_BUILD_OPTION) -D PCH_SERVER_BIOS_FLAG=3D1 -D SUS_WE= LL_RESTORE=3D1 -D SERVER_BIOS_FLAG=3D1 -D PCH_SPT -D PURLEY_FLAG $(SPARING_= SCRATCHPAD_OPTION) $(TRACE_HUB_DEBUG_BUILD_OPTIONS) $(TRACE_HUB_INIT_BUILD_= OPTIONS) -D MAX_SOCKET=3D2 -D EFI_PCI_IOV_SUPPORT -D WHEA_SUPPORT -D SKX_HO= ST -D CLX_HOST -D MDEPKG_NDEBUG -D SILENT_MODE -# ## MSFT:RELEASE_VS2015x86_X64_DLINK2_FLAGS =3D=20 -# ## MSFT:RELEASE_VS2015x86_X64_DLINK_FLAGS =3D /NOLOGO /NODEFAULTLIB /I= GNORE:4001 /IGNORE:4254 /OPT:REF /OPT:ICF=3D10 /MAP /ALIGN:32 /SECTION:.xda= ta,D /SECTION:.pdata,D /Machine:X64 /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT) = /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /MERGE:.rdat= a=3D.data /DEBUG -# ## MSFT:RELEASE_VS2015x86_X64_ASLPP_FLAGS =3D /nologo /E /C /FIAutoGen= .h -D CRB_FLAG -D TRAD_FLAG=3D1 $(ULT_BUILD_OPTION) -D PCH_SERVER_BIOS_FLAG= =3D1 -D SUS_WELL_RESTORE=3D1 -D SERVER_BIOS_FLAG=3D1 -D PCH_SPT -D PURLEY_F= LAG $(SPARING_SCRATCHPAD_OPTION) $(TRACE_HUB_DEBUG_BUILD_OPTIONS) $(TRACE_H= UB_INIT_BUILD_OPTIONS) -D MAX_SOCKET=3D2 -D EFI_PCI_IOV_SUPPORT -D WHEA_SUP= PORT -D SKX_HOST -D CLX_HOST -D MDEPKG_NDEBUG -D SILENT_MODE -# ## MSFT:RELEASE_VS2015x86_X64_OBJCOPY_FLAGS =3D objcopy not needed for -# ## MSFT:RELEASE_VS2015x86_X64_MAKE_FLAGS =3D /nologo -# ## MSFT:RELEASE_VS2015x86_X64_ASMLINK_FLAGS =3D /nologo /tiny -# ## MSFT:RELEASE_VS2015x86_X64_NASM_FLAGS =3D -Ox -f win64 -# ## @file -# # Component description file for the Pch SMI Dispatch Handlers module -# # -# # @copyright -# # Copyright (c) 1999 - 2015 Intel Corporation. All rights reserved -# # This software and associated documentation (if any) is furnished -# # under a license and may only be used or copied in accordance -# # with the terms of the license. Except as permitted by the -# # license, no part of this software or documentation may be -# # reproduced, stored in a retrieval system, or transmitted in any -# # form or by any means without the express written consent of -# # Intel Corporation. -# # This file contains an 'Intel Peripheral Driver' and is uniquely -# # identified as "Intel Reference Module" and is licensed for Intel -# # CPUs and chipsets under the terms of your license agreement with -# # Intel or your vendor. This file may be modified by the user, subject -# # to additional terms of the license agreement. -# # -# #@par Specification Reference: -# # -# ## -#=20 -# # DO NOT EDIT -# # FILE auto-generated -#=20 -# [Defines] -# INF_VERSION =3D 0x00010017 -# BASE_NAME =3D PchSmiDispatcher -# FILE_GUID =3D B0D6ED53-B844-43f5-BD2F-61095264E77E -# MODULE_TYPE =3D DXE_SMM_DRIVER -# VERSION_STRING =3D 1.0 -# PI_SPECIFICATION_VERSION =3D 0x0001000a -# ENTRY_POINT =3D InitializePchSmmDispatcher -#=20 -[Packages.X64] - MdePkg/MdePkg.dec - LewisburgPkg/PchRcPkg.dec - PurleyRcPkg/RcPkg.dec - MdeModulePkg/MdeModulePkg.dec - -# [Binaries.X64] -# PE32|PchSmiDispatcher.efi -# SMM_DEPEX|PchSmiDispatcher.depex -# DISPOSABLE|PchSmiDispatcher.pdb -#=20 -[PatchPcd.X64] - -# [Protocols.X64] -# ##CONSUMES -# gEfiPciRootBridgeIoProtocolGuid -#=20 -# ##PRODUCES -# gEfiSmmGpiDispatch2ProtocolGuid -#=20 -# ##PRODUCES -# gEfiSmmSxDispatch2ProtocolGuid -#=20 -# ##PRODUCES -# gEfiSmmSwDispatch2ProtocolGuid -#=20 -# ##PRODUCES -# gEfiSmmUsbDispatch2ProtocolGuid -#=20 -# ##PRODUCES -# gEfiSmmPowerButtonDispatch2ProtocolGuid -#=20 -# ##PRODUCES -# gEfiSmmPeriodicTimerDispatch2ProtocolGuid -#=20 -# ## CONSUMES -# ##CONSUMES -# gEfiSmmBase2ProtocolGuid -#=20 -# ##CONSUMES -# gEfiSmmCpuProtocolGuid -#=20 -# ## CONSUMES -# gEfiSmmReadyToLockProtocolGuid -#=20 -# ##PRODUCES -# gEfiSmmIoTrapDispatch2ProtocolGuid -#=20 -# ##PRODUCES -# gPchSmmIoTrapControlGuid -#=20 -# ##PRODUCES -# gPchTcoSmiDispatchProtocolGuid -#=20 -# ##PRODUCES -# gPchPcieSmiDispatchProtocolGuid -#=20 -# ##PRODUCES -# gPchAcpiSmiDispatchProtocolGuid -#=20 -# ##PRODUCES -# gPchGpioUnlockSmiDispatchProtocolGuid -#=20 -# ##PRODUCES -# gPchSmiDispatchProtocolGuid -#=20 -# ##PRODUCES -# gPchEspiSmiDispatchProtocolGuid -#=20 -# ## PRODUCES -# gPchSmmPeriodicTimerControlGuid -#=20 -# ## CONSUMES -# gPchNvsAreaProtocolGuid -#=20 -# ## SOMETIMES_CONSUMES -# gPcdProtocolGuid -#=20 -# ## CONSUMES -# gEfiPcdProtocolGuid -#=20 -# ## SOMETIMES_CONSUMES -# gGetPcdInfoProtocolGuid -#=20 -# ## SOMETIMES_CONSUMES -# gEfiGetPcdInfoProtocolGuid -#=20 -# ## CONSUMES -# gEfiSmmAccess2ProtocolGuid -#=20 -# ## SOMETIMES_CONSUMES -# gEfiDevicePathProtocolGuid -#=20 -# ## UNDEFINED -# gEfiDebugPortProtocolGuid -#=20 -# ## SOMETIMES_PRODUCES -# gEfiDriverBindingProtocolGuid -#=20 -# ## SOMETIMES_CONSUMES -# gEfiSimpleTextOutProtocolGuid -#=20 -# ## SOMETIMES_CONSUMES -# gEfiGraphicsOutputProtocolGuid -#=20 -# ## SOMETIMES_CONSUMES -# gEfiHiiFontProtocolGuid -#=20 -# ## SOMETIMES_CONSUMES # Consumes if gEfiGraphicsOutputProtocolGuid uni= nstalled -# gEfiUgaDrawProtocolGuid -#=20 -# ## SOMETIMES_PRODUCES # User chooses to produce it -# gEfiComponentNameProtocolGuid -#=20 -# ## SOMETIMES_PRODUCES # User chooses to produce it -# gEfiComponentName2ProtocolGuid -#=20 -# ## SOMETIMES_PRODUCES # User chooses to produce it -# gEfiDriverConfigurationProtocolGuid -#=20 -# ## SOMETIMES_PRODUCES # User chooses to produce it -# gEfiDriverConfiguration2ProtocolGuid -#=20 -# ## SOMETIMES_PRODUCES # User chooses to produce it -# gEfiDriverDiagnosticsProtocolGuid -#=20 -# ## SOMETIMES_PRODUCES # User chooses to produce it -# gEfiDriverDiagnostics2ProtocolGuid -#=20 -# gEfiSmmCpuIo2ProtocolGuid -#=20 -# ## CONSUMES -# gUsraProtocolGuid -#=20 -# ## SOMETIMES_CONSUMES -# gEfiLoadedImageProtocolGuid -#=20 -# ## CONSUMES -# gEfiSmmStatusCodeProtocolGuid -#=20 -#=20 -# [Ppis.X64] -#=20 -# [Guids.X64] -# ## SOMETIMES_CONSUMES ## GUID -# gEfiVTUTF8Guid -#=20 -# ## SOMETIMES_CONSUMES ## GUID -# gEfiVT100Guid -#=20 -# ## SOMETIMES_CONSUMES ## GUID -# gEfiVT100PlusGuid -#=20 -# ## SOMETIMES_CONSUMES ## GUID -# gEfiPcAnsiGuid -#=20 -# ## SOMETIMES_CONSUMES ## GUID -# gEfiUartDevicePathGuid -#=20 -# ## SOMETIMES_CONSUMES ## GUID -# gEfiSasDevicePathGuid -#=20 -# ## SOMETIMES_CONSUMES ## GUID -# gEfiVirtualDiskGuid -#=20 -# ## SOMETIMES_CONSUMES ## GUID -# gEfiVirtualCdGuid -#=20 -# ## SOMETIMES_CONSUMES ## GUID -# gEfiPersistentVirtualDiskGuid -#=20 -# ## SOMETIMES_CONSUMES ## GUID -# gEfiPersistentVirtualCdGuid -#=20 -# ## SOMETIMES_CONSUMES ## Event -# gEfiEventReadyToBootGuid -#=20 -# ## SOMETIMES_CONSUMES ## Event -# gEfiEventLegacyBootGuid -#=20 -# ## SOMETIMES_CONSUMES ## Variable -# gEfiGlobalVariableGuid -#=20 -# ## CONSUMES ## SystemTable -# gEfiHobListGuid -#=20 -# gPlatformGpioConfigGuid -#=20 -# ## SOMETIMES_CONSUMES ## UNDEFINED -# gEfiStatusCodeSpecificDataGuid -#=20 -# ## SOMETIMES_CONSUMES ## UNDEFINED -# gEfiStatusCodeDataTypeDebugGuid -#=20 -# ## SOMETIMES_CONSUMES ## UNDEFINED # Locate protocol -# gSmmPerformanceProtocolGuid -#=20 -# ## SOMETIMES_CONSUMES ## UNDEFINED # Locate protocol -# gSmmPerformanceExProtocolGuid -#=20 -# ## CONSUMES ## SystemTable -# gEfiDxeServicesTableGuid -#=20 -#=20 -[PcdEx.X64] - -# [LibraryClasses.X64] -# ## @LIB_INSTANCES -# # MdePkg/Library/BaseMemoryLibRepStr/BaseMemoryLibRepStr.inf -# # MdePkg/Library/BaseLib/BaseLib.inf -# # MdePkg/Library/DxePcdLib/DxePcdLib.inf -# # MdePkg/Library/BaseDebugLibNull/BaseDebugLibNull.inf -# # MdePkg/Library/UefiBootServicesTableLib/UefiBootServicesTableLib.inf -# # MdePkg/Library/SmmServicesTableLib/SmmServicesTableLib.inf -# # MdePkg/Library/SmmMemoryAllocationLib/SmmMemoryAllocationLib.inf -# # MdePkg/Library/BasePrintLib/BasePrintLib.inf -# # MdePkg/Library/UefiRuntimeServicesTableLib/UefiRuntimeServicesTableLi= b.inf -# # MdePkg/Library/UefiDevicePathLib/UefiDevicePathLib.inf -# # MdePkg/Library/UefiLib/UefiLib.inf -# # MdePkg/Library/BaseIoLibIntrinsic/BaseIoLibIntrinsic.inf -# # PurleyRcPkg/Library/DxeMmPciBaseLib/SmmMmPciBaseLib.inf -# # LewisburgPkg/Library/PeiDxeSmmPchInfoLib/PeiDxeSmmPchInfoLib.inf -# # LewisburgPkg/Library/PeiDxeSmmPchP2sbLib/PeiDxeSmmPchP2sbLib.inf -# # LewisburgPkg/Library/PeiDxeSmmPchPcrLib/PeiDxeSmmPchPcrLib.inf -# # LewisburgPkg/Library/PeiDxeSmmPchSbiAccessLib/PeiDxeSmmPchSbiAccessLi= b.inf -# # MdePkg/Library/DxeHobLib/DxeHobLib.inf -# # LewisburgPkg/Library/PeiDxeSmmPchCycleDecodingLib/PeiDxeSmmPchCycleDe= codingLib.inf -# # MdePkg/Library/BasePciCf8Lib/BasePciCf8Lib.inf -# # LewisburgPkg/Library/PeiDxeSmmGpioLib/PeiDxeSmmGpioLib.inf -# # MdePkg/Library/BasePciLibCf8/BasePciLibCf8.inf -# # MdePkg/Library/UefiDriverEntryPoint/UefiDriverEntryPoint.inf -# # LewisburgPkg/Library/PeiDxeSmmPchEspiLib/PeiDxeSmmPchEspiLib.inf -# # LewisburgPkg/Library/PeiDxeSmmPchPcieRpLib/PeiDxeSmmPchPcieRpLib.inf -# # MdeModulePkg/Library/SmmReportStatusCodeLib/SmmReportStatusCodeLib.inf -# # MdeModulePkg/Library/SmmPerformanceLib/SmmPerformanceLib.inf -# # MdePkg/Library/DxeServicesTableLib/DxeServicesTableLib.inf -# # LewisburgPkg/LibraryPrivate/PeiDxeSmmGpioPrivateLib/PeiDxeSmmGpioPriv= ateLib.inf -# # MdePkg/Library/BaseS3BootScriptLibNull/BaseS3BootScriptLibNull.inf -# # PcAtChipsetPkg/Library/AcpiTimerLib/DxeAcpiTimerLib.inf -# # MdePkg/Library/SmiHandlerProfileLibNull/SmiHandlerProfileLibNull.inf -#=20 -# [Depex.X64] -# # (gEfiPciRootBridgeIoProtocolGuid AND gEfiPciHostBridgeResourceAllocat= ionProtocolGuid AND ## This is to ensure that PCI MMIO resource has been pr= epared and available for this driver to allocate. gEfiSmmCpuProtocolGuid AN= D gEfiSmmBase2ProtocolGuid AND ## This is for SmmServicesTableLib gPchNvsAr= eaProtocolGuid) AND (gEfiPcdProtocolGuid) AND (gEfiPcdProtocolGuid) AND (gE= fiPcdProtocolGuid) AND (gEfiPcdProtocolGuid) AND (gEfiSmmBase2ProtocolGuid)= AND (gEfiSmmAccess2ProtocolGuid) AND (gEfiSmmCpuIo2ProtocolGuid) AND (gEfi= BdsArchProtocolGuid AND gEfiCpuArchProtocolGuid AND gEfiMetronomeArchProtoc= olGuid AND gEfiMonotonicCounterArchProtocolGuid AND gEfiRealTimeClockArchPr= otocolGuid AND gEfiResetArchProtocolGuid AND gEfiRuntimeArchProtocolGuid AN= D gEfiSecurityArchProtocolGuid AND gEfiTimerArchProtocolGuid AND gEfiVariab= leWriteArchProtocolGuid AND gEfiVariableArchProtocolGuid AND gEfiWatchdogTi= merArchProtocolGuid) -#=20 -#=20 -#=20 -#=20 -#=20 -# [BuildOptions.X64] -# ## @AsBuilt -# ## MSFT:RELEASE_VS2015x86_X64_OPTROM_FLAGS =3D -e -# ## MSFT:RELEASE_VS2015x86_X64_VFR_FLAGS =3D -n -# ## MSFT:RELEASE_VS2015x86_X64_PP_FLAGS =3D /nologo /E /TC /FIAutoGen.h= -D CRB_FLAG -D TRAD_FLAG=3D1 $(ULT_BUILD_OPTION) -D PCH_SERVER_BIOS_FLAG= =3D1 -D SUS_WELL_RESTORE=3D1 -D SERVER_BIOS_FLAG=3D1 -D PCH_SPT -D PURLEY_F= LAG $(SPARING_SCRATCHPAD_OPTION) $(TRACE_HUB_DEBUG_BUILD_OPTIONS) $(TRACE_H= UB_INIT_BUILD_OPTIONS) -D MAX_SOCKET=3D2 -D EFI_PCI_IOV_SUPPORT -D WHEA_SUP= PORT -D SKX_HOST -D CLX_HOST -D MDEPKG_NDEBUG -D SILENT_MODE -# ## MSFT:RELEASE_VS2015x86_X64_SYMRENAME_FLAGS =3D Symbol renaming not = needed for -# ## MSFT:RELEASE_VS2015x86_X64_GENFW_FLAGS =3D=20 -# ## MSFT:RELEASE_VS2015x86_X64_SLINK_FLAGS =3D /NOLOGO /LTCG -# ## MSFT:RELEASE_VS2015x86_X64_ASLDLINK_FLAGS =3D /NODEFAULTLIB /ENTRY:= ReferenceAcpiTable /SUBSYSTEM:CONSOLE -# ## MSFT:RELEASE_VS2015x86_X64_ASM_FLAGS =3D /nologo /c /WX /W3 /Cx /Zd= /Zi -# ## MSFT:RELEASE_VS2015x86_X64_ASL_FLAGS =3D=20 -# ## MSFT:RELEASE_VS2015x86_X64_CC_FLAGS =3D /nologo /c /WX /GS- /W4 /Gs= 32768 /D UNICODE /O1b2s /GL /Gy /FIAutoGen.h /EHs-c- /GR- /GF /Gw -D CRB_FL= AG -D TRAD_FLAG=3D1 $(ULT_BUILD_OPTION) -D PCH_SERVER_BIOS_FLAG=3D1 -D SUS_= WELL_RESTORE=3D1 -D SERVER_BIOS_FLAG=3D1 -D PCH_SPT -D PURLEY_FLAG $(SPARIN= G_SCRATCHPAD_OPTION) $(TRACE_HUB_DEBUG_BUILD_OPTIONS) $(TRACE_HUB_INIT_BUIL= D_OPTIONS) -D MAX_SOCKET=3D2 -D EFI_PCI_IOV_SUPPORT -D WHEA_SUPPORT -D SKX_= HOST -D CLX_HOST -D MDEPKG_NDEBUG -D SILENT_MODE /Zi /Gm -# ## MSFT:RELEASE_VS2015x86_X64_NASMB_FLAGS =3D -f bin -# ## MSFT:RELEASE_VS2015x86_X64_VFRPP_FLAGS =3D /nologo /E /TC /DVFRCOMP= ILE /FI$(MODULE_NAME)StrDefs.h -D CRB_FLAG -D TRAD_FLAG=3D1 $(ULT_BUILD_OPT= ION) -D PCH_SERVER_BIOS_FLAG=3D1 -D SUS_WELL_RESTORE=3D1 -D SERVER_BIOS_FLA= G=3D1 -D PCH_SPT -D PURLEY_FLAG $(SPARING_SCRATCHPAD_OPTION) $(TRACE_HUB_DE= BUG_BUILD_OPTIONS) $(TRACE_HUB_INIT_BUILD_OPTIONS) -D MAX_SOCKET=3D2 -D EFI= _PCI_IOV_SUPPORT -D WHEA_SUPPORT -D SKX_HOST -D CLX_HOST -D MDEPKG_NDEBUG -= D SILENT_MODE -# ## MSFT:RELEASE_VS2015x86_X64_ASLCC_FLAGS =3D /nologo /c /FIAutoGen.h = /TC /Dmain=3DReferenceAcpiTable -D CRB_FLAG -D TRAD_FLAG=3D1 $(ULT_BUILD_OP= TION) -D PCH_SERVER_BIOS_FLAG=3D1 -D SUS_WELL_RESTORE=3D1 -D SERVER_BIOS_FL= AG=3D1 -D PCH_SPT -D PURLEY_FLAG $(SPARING_SCRATCHPAD_OPTION) $(TRACE_HUB_D= EBUG_BUILD_OPTIONS) $(TRACE_HUB_INIT_BUILD_OPTIONS) -D MAX_SOCKET=3D2 -D EF= I_PCI_IOV_SUPPORT -D WHEA_SUPPORT -D SKX_HOST -D CLX_HOST -D MDEPKG_NDEBUG = -D SILENT_MODE -# ## MSFT:RELEASE_VS2015x86_X64_APP_FLAGS =3D /nologo /E /TC -D CRB_FLAG= -D TRAD_FLAG=3D1 $(ULT_BUILD_OPTION) -D PCH_SERVER_BIOS_FLAG=3D1 -D SUS_WE= LL_RESTORE=3D1 -D SERVER_BIOS_FLAG=3D1 -D PCH_SPT -D PURLEY_FLAG $(SPARING_= SCRATCHPAD_OPTION) $(TRACE_HUB_DEBUG_BUILD_OPTIONS) $(TRACE_HUB_INIT_BUILD_= OPTIONS) -D MAX_SOCKET=3D2 -D EFI_PCI_IOV_SUPPORT -D WHEA_SUPPORT -D SKX_HO= ST -D CLX_HOST -D MDEPKG_NDEBUG -D SILENT_MODE -# ## MSFT:RELEASE_VS2015x86_X64_DLINK2_FLAGS =3D=20 -# ## MSFT:RELEASE_VS2015x86_X64_DLINK_FLAGS =3D /NOLOGO /NODEFAULTLIB /I= GNORE:4001 /IGNORE:4254 /OPT:REF /OPT:ICF=3D10 /MAP /ALIGN:32 /SECTION:.xda= ta,D /SECTION:.pdata,D /Machine:X64 /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT) = /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /MERGE:.rdat= a=3D.data /DEBUG /ALIGN:4096 -# ## MSFT:RELEASE_VS2015x86_X64_ASLPP_FLAGS =3D /nologo /E /C /FIAutoGen= .h -D CRB_FLAG -D TRAD_FLAG=3D1 $(ULT_BUILD_OPTION) -D PCH_SERVER_BIOS_FLAG= =3D1 -D SUS_WELL_RESTORE=3D1 -D SERVER_BIOS_FLAG=3D1 -D PCH_SPT -D PURLEY_F= LAG $(SPARING_SCRATCHPAD_OPTION) $(TRACE_HUB_DEBUG_BUILD_OPTIONS) $(TRACE_H= UB_INIT_BUILD_OPTIONS) -D MAX_SOCKET=3D2 -D EFI_PCI_IOV_SUPPORT -D WHEA_SUP= PORT -D SKX_HOST -D CLX_HOST -D MDEPKG_NDEBUG -D SILENT_MODE -# ## MSFT:RELEASE_VS2015x86_X64_OBJCOPY_FLAGS =3D objcopy not needed for -# ## MSFT:RELEASE_VS2015x86_X64_MAKE_FLAGS =3D /nologo -# ## MSFT:RELEASE_VS2015x86_X64_ASMLINK_FLAGS =3D /nologo /tiny -# ## MSFT:RELEASE_VS2015x86_X64_NASM_FLAGS =3D -Ox -f win64 -# ## @file -# # Component description file for PchInitSmm driver -# # -# # @copyright -# # Copyright (c) 2010 - 2015 Intel Corporation. All rights reserved -# # This software and associated documentation (if any) is furnished -# # under a license and may only be used or copied in accordance -# # with the terms of the license. Except as permitted by the -# # license, no part of this software or documentation may be -# # reproduced, stored in a retrieval system, or transmitted in any -# # form or by any means without the express written consent of -# # Intel Corporation. -# # This file contains an 'Intel Peripheral Driver' and is uniquely -# # identified as "Intel Reference Module" and is licensed for Intel -# # CPUs and chipsets under the terms of your license agreement with -# # Intel or your vendor. This file may be modified by the user, subject -# # to additional terms of the license agreement. -# # -# #@par Specification Reference: -# # -# ## -#=20 -# # DO NOT EDIT -# # FILE auto-generated -#=20 -# [Defines] -# INF_VERSION =3D 0x00010017 -# BASE_NAME =3D PchInitSmm -# FILE_GUID =3D D7B10D4E-67E6-4C74-83E9-F9AF0ACC33CC -# MODULE_TYPE =3D DXE_SMM_DRIVER -# VERSION_STRING =3D 1.0 -# PI_SPECIFICATION_VERSION =3D 0x0001000a -# ENTRY_POINT =3D PchInitSmmEntryPoint -#=20 -[Packages.X64] - MdePkg/MdePkg.dec - LewisburgPkg/PchRcPkg.dec - PurleyRcPkg/RcPkg.dec - MdeModulePkg/MdeModulePkg.dec - -# [Binaries.X64] -# PE32|PchInitSmm.efi -# SMM_DEPEX|PchInitSmm.depex -# DISPOSABLE|PchInitSmm.pdb -#=20 -[PatchPcd.X64] - -# [Protocols.X64] -# ## CONSUMES -# gEfiSmmIoTrapDispatch2ProtocolGuid -#=20 -# ## CONSUMES -# gEfiSmmSxDispatch2ProtocolGuid -#=20 -# ## CONSUMES -# gPchSmmIoTrapControlGuid -#=20 -# ## CONSUMES -# gEfiSmmCpuProtocolGuid -#=20 -# ## CONSUMES -# gPchNvsAreaProtocolGuid -#=20 -# ## CONSUMES -# gPchPcieSmiDispatchProtocolGuid -#=20 -# ## CONSUMES -# gPchTcoSmiDispatchProtocolGuid -#=20 -# ## CONSUMES -# gPchSmiDispatchProtocolGuid -#=20 -# ## CONSUMES -# gPchEspiSmiDispatchProtocolGuid -#=20 -# ## PRODUCES -# gPchPcieIoTrapProtocolGuid -#=20 -# ## SOMETIMES_CONSUMES -# gPcdProtocolGuid -#=20 -# ## CONSUMES -# gEfiPcdProtocolGuid -#=20 -# ## SOMETIMES_CONSUMES -# gGetPcdInfoProtocolGuid -#=20 -# ## SOMETIMES_CONSUMES -# gEfiGetPcdInfoProtocolGuid -#=20 -# ## CONSUMES -# gEfiSmmBase2ProtocolGuid -#=20 -# ## CONSUMES -# gEfiSmmAccess2ProtocolGuid -#=20 -# ## SOMETIMES_CONSUMES -# gEfiDevicePathProtocolGuid -#=20 -# ## UNDEFINED -# gEfiDebugPortProtocolGuid -#=20 -# ## SOMETIMES_PRODUCES -# gEfiDriverBindingProtocolGuid -#=20 -# ## SOMETIMES_CONSUMES -# gEfiSimpleTextOutProtocolGuid -#=20 -# ## SOMETIMES_CONSUMES -# gEfiGraphicsOutputProtocolGuid -#=20 -# ## SOMETIMES_CONSUMES -# gEfiHiiFontProtocolGuid -#=20 -# ## SOMETIMES_CONSUMES # Consumes if gEfiGraphicsOutputProtocolGuid uni= nstalled -# gEfiUgaDrawProtocolGuid -#=20 -# ## SOMETIMES_PRODUCES # User chooses to produce it -# gEfiComponentNameProtocolGuid -#=20 -# ## SOMETIMES_PRODUCES # User chooses to produce it -# gEfiComponentName2ProtocolGuid -#=20 -# ## SOMETIMES_PRODUCES # User chooses to produce it -# gEfiDriverConfigurationProtocolGuid -#=20 -# ## SOMETIMES_PRODUCES # User chooses to produce it -# gEfiDriverConfiguration2ProtocolGuid -#=20 -# ## SOMETIMES_PRODUCES # User chooses to produce it -# gEfiDriverDiagnosticsProtocolGuid -#=20 -# ## SOMETIMES_PRODUCES # User chooses to produce it -# gEfiDriverDiagnostics2ProtocolGuid -#=20 -# gEfiSmmCpuIo2ProtocolGuid -#=20 -# ## CONSUMES -# gUsraProtocolGuid -#=20 -# ## SOMETIMES_CONSUMES -# gEfiLoadedImageProtocolGuid -#=20 -# ## CONSUMES -# gEfiSmmStatusCodeProtocolGuid -#=20 -#=20 -# [Ppis.X64] -#=20 -# [Guids.X64] -# gSiPolicyHobGuid -#=20 -# gPchPolicyHobGuid -#=20 -# gPchDeviceTableHobGuid -#=20 -# ## SOMETIMES_CONSUMES ## GUID -# gEfiVTUTF8Guid -#=20 -# ## SOMETIMES_CONSUMES ## GUID -# gEfiVT100Guid -#=20 -# ## SOMETIMES_CONSUMES ## GUID -# gEfiVT100PlusGuid -#=20 -# ## SOMETIMES_CONSUMES ## GUID -# gEfiPcAnsiGuid -#=20 -# ## SOMETIMES_CONSUMES ## GUID -# gEfiUartDevicePathGuid -#=20 -# ## SOMETIMES_CONSUMES ## GUID -# gEfiSasDevicePathGuid -#=20 -# ## SOMETIMES_CONSUMES ## GUID -# gEfiVirtualDiskGuid -#=20 -# ## SOMETIMES_CONSUMES ## GUID -# gEfiVirtualCdGuid -#=20 -# ## SOMETIMES_CONSUMES ## GUID -# gEfiPersistentVirtualDiskGuid -#=20 -# ## SOMETIMES_CONSUMES ## GUID -# gEfiPersistentVirtualCdGuid -#=20 -# ## SOMETIMES_CONSUMES ## Event -# gEfiEventReadyToBootGuid -#=20 -# ## SOMETIMES_CONSUMES ## Event -# gEfiEventLegacyBootGuid -#=20 -# ## SOMETIMES_CONSUMES ## Variable -# gEfiGlobalVariableGuid -#=20 -# ## CONSUMES ## SystemTable -# gEfiHobListGuid -#=20 -# gPlatformGpioConfigGuid -#=20 -# ## CONSUMES ## SystemTable -# gEfiDxeServicesTableGuid -#=20 -# ## SOMETIMES_CONSUMES ## UNDEFINED -# gEfiStatusCodeSpecificDataGuid -#=20 -# ## SOMETIMES_CONSUMES ## UNDEFINED -# gEfiStatusCodeDataTypeDebugGuid -#=20 -#=20 -[PcdEx.X64] - -# [LibraryClasses.X64] -# ## @LIB_INSTANCES -# # MdePkg/Library/DxePcdLib/DxePcdLib.inf -# # MdePkg/Library/BaseMemoryLibRepStr/BaseMemoryLibRepStr.inf -# # MdePkg/Library/BaseLib/BaseLib.inf -# # MdePkg/Library/BaseDebugLibNull/BaseDebugLibNull.inf -# # MdePkg/Library/UefiBootServicesTableLib/UefiBootServicesTableLib.inf -# # MdePkg/Library/SmmServicesTableLib/SmmServicesTableLib.inf -# # MdePkg/Library/BasePrintLib/BasePrintLib.inf -# # MdePkg/Library/SmmMemoryAllocationLib/SmmMemoryAllocationLib.inf -# # MdePkg/Library/UefiRuntimeServicesTableLib/UefiRuntimeServicesTableLi= b.inf -# # MdePkg/Library/UefiDevicePathLib/UefiDevicePathLib.inf -# # MdePkg/Library/UefiLib/UefiLib.inf -# # MdePkg/Library/BaseIoLibIntrinsic/BaseIoLibIntrinsic.inf -# # PurleyRcPkg/Library/DxeMmPciBaseLib/SmmMmPciBaseLib.inf -# # LewisburgPkg/Library/PeiDxeSmmPchInfoLib/PeiDxeSmmPchInfoLib.inf -# # LewisburgPkg/Library/PeiDxeSmmPchP2sbLib/PeiDxeSmmPchP2sbLib.inf -# # LewisburgPkg/Library/PeiDxeSmmPchPcrLib/PeiDxeSmmPchPcrLib.inf -# # LewisburgPkg/Library/PeiDxeSmmPchSbiAccessLib/PeiDxeSmmPchSbiAccessLi= b.inf -# # LewisburgPkg/Library/PeiDxeSmmPchCycleDecodingLib/PeiDxeSmmPchCycleDe= codingLib.inf -# # MdePkg/Library/DxeHobLib/DxeHobLib.inf -# # MdePkg/Library/BasePciCf8Lib/BasePciCf8Lib.inf -# # LewisburgPkg/Library/PeiDxeSmmPchPcieRpLib/PeiDxeSmmPchPcieRpLib.inf -# # LewisburgPkg/Library/PeiDxeSmmGpioLib/PeiDxeSmmGpioLib.inf -# # MdePkg/Library/BasePciLibCf8/BasePciLibCf8.inf -# # MdePkg/Library/UefiDriverEntryPoint/UefiDriverEntryPoint.inf -# # MdePkg/Library/DxeServicesTableLib/DxeServicesTableLib.inf -# # MdePkg/Library/BaseS3BootScriptLibNull/BaseS3BootScriptLibNull.inf -# # LewisburgPkg/LibraryPrivate/PeiDxeSmmPchPciExpressHelpersLib/PeiDxeSm= mPchPciExpressHelpersLib.inf -# # LewisburgPkg/LibraryPrivate/PeiDxeSmmGpioPrivateLib/PeiDxeSmmGpioPriv= ateLib.inf -# # MdeModulePkg/Library/SmmReportStatusCodeLib/SmmReportStatusCodeLib.inf -# # PcAtChipsetPkg/Library/AcpiTimerLib/DxeAcpiTimerLib.inf -#=20 -# [Depex.X64] -# # (gEfiSmmIoTrapDispatch2ProtocolGuid AND gEfiSmmSxDispatch2ProtocolGui= d AND gPchSmmIoTrapControlGuid AND gPchPcieSmiDispatchProtocolGuid AND gPch= TcoSmiDispatchProtocolGuid AND gEfiSmmCpuProtocolGuid AND gPchNvsAreaProtoc= olGuid AND gEfiPciHostBridgeResourceAllocationProtocolGuid AND # This is to= ensure that PCI MMIO resource has been prepared and available for this dri= ver to allocate. gEfiSmmBase2ProtocolGuid # This is for SmmServicesTableLib= ) AND (gEfiPcdProtocolGuid) AND (gEfiPcdProtocolGuid) AND (gEfiPcdProtocolG= uid) AND (gEfiPcdProtocolGuid) AND (gEfiSmmBase2ProtocolGuid) AND (gEfiSmmA= ccess2ProtocolGuid) AND (gEfiSmmCpuIo2ProtocolGuid) AND -# # (gEfiBdsArchProtocolGuid AND gEfiCpuArchProtocolGuid AND gEfiMetronom= eArchProtocolGuid AND gEfiMonotonicCounterArchProtocolGuid AND gEfiRealTime= ClockArchProtocolGuid AND gEfiResetArchProtocolGuid AND gEfiRuntimeArchProt= ocolGuid AND gEfiSecurityArchProtocolGuid AND gEfiTimerArchProtocolGuid AND= gEfiVariableWriteArchProtocolGuid AND gEfiVariableArchProtocolGuid AND gEf= iWatchdogTimerArchProtocolGuid) -#=20 -#=20 -#=20 -# # -# # The following information is for reference only and not required by th= e build tools. -# # -# # VALID_ARCHITECTURES =3D IA32 X64 -# # -#=20 -# [BuildOptions.X64] -# ## @AsBuilt -# ## MSFT:RELEASE_VS2015x86_X64_OPTROM_FLAGS =3D -e -# ## MSFT:RELEASE_VS2015x86_X64_VFR_FLAGS =3D -n -# ## MSFT:RELEASE_VS2015x86_X64_PP_FLAGS =3D /nologo /E /TC /FIAutoGen.h= -D CRB_FLAG -D TRAD_FLAG=3D1 $(ULT_BUILD_OPTION) -D PCH_SERVER_BIOS_FLAG= =3D1 -D SUS_WELL_RESTORE=3D1 -D SERVER_BIOS_FLAG=3D1 -D PCH_SPT -D PURLEY_F= LAG $(SPARING_SCRATCHPAD_OPTION) $(TRACE_HUB_DEBUG_BUILD_OPTIONS) $(TRACE_H= UB_INIT_BUILD_OPTIONS) -D MAX_SOCKET=3D2 -D EFI_PCI_IOV_SUPPORT -D WHEA_SUP= PORT -D SKX_HOST -D CLX_HOST -D MDEPKG_NDEBUG -D SILENT_MODE -# ## MSFT:RELEASE_VS2015x86_X64_SYMRENAME_FLAGS =3D Symbol renaming not = needed for -# ## MSFT:RELEASE_VS2015x86_X64_GENFW_FLAGS =3D=20 -# ## MSFT:RELEASE_VS2015x86_X64_SLINK_FLAGS =3D /NOLOGO /LTCG -# ## MSFT:RELEASE_VS2015x86_X64_ASLDLINK_FLAGS =3D /NODEFAULTLIB /ENTRY:= ReferenceAcpiTable /SUBSYSTEM:CONSOLE -# ## MSFT:RELEASE_VS2015x86_X64_ASM_FLAGS =3D /nologo /c /WX /W3 /Cx /Zd= /Zi -# ## MSFT:RELEASE_VS2015x86_X64_ASL_FLAGS =3D=20 -# ## MSFT:RELEASE_VS2015x86_X64_CC_FLAGS =3D /nologo /c /WX /GS- /W4 /Gs= 32768 /D UNICODE /O1b2s /GL /Gy /FIAutoGen.h /EHs-c- /GR- /GF /Gw -D CRB_FL= AG -D TRAD_FLAG=3D1 $(ULT_BUILD_OPTION) -D PCH_SERVER_BIOS_FLAG=3D1 -D SUS_= WELL_RESTORE=3D1 -D SERVER_BIOS_FLAG=3D1 -D PCH_SPT -D PURLEY_FLAG $(SPARIN= G_SCRATCHPAD_OPTION) $(TRACE_HUB_DEBUG_BUILD_OPTIONS) $(TRACE_HUB_INIT_BUIL= D_OPTIONS) -D MAX_SOCKET=3D2 -D EFI_PCI_IOV_SUPPORT -D WHEA_SUPPORT -D SKX_= HOST -D CLX_HOST -D MDEPKG_NDEBUG -D SILENT_MODE /Zi /Gm -# ## MSFT:RELEASE_VS2015x86_X64_NASMB_FLAGS =3D -f bin -# ## MSFT:RELEASE_VS2015x86_X64_VFRPP_FLAGS =3D /nologo /E /TC /DVFRCOMP= ILE /FI$(MODULE_NAME)StrDefs.h -D CRB_FLAG -D TRAD_FLAG=3D1 $(ULT_BUILD_OPT= ION) -D PCH_SERVER_BIOS_FLAG=3D1 -D SUS_WELL_RESTORE=3D1 -D SERVER_BIOS_FLA= G=3D1 -D PCH_SPT -D PURLEY_FLAG $(SPARING_SCRATCHPAD_OPTION) $(TRACE_HUB_DE= BUG_BUILD_OPTIONS) $(TRACE_HUB_INIT_BUILD_OPTIONS) -D MAX_SOCKET=3D2 -D EFI= _PCI_IOV_SUPPORT -D WHEA_SUPPORT -D SKX_HOST -D CLX_HOST -D MDEPKG_NDEBUG -= D SILENT_MODE -# ## MSFT:RELEASE_VS2015x86_X64_ASLCC_FLAGS =3D /nologo /c /FIAutoGen.h = /TC /Dmain=3DReferenceAcpiTable -D CRB_FLAG -D TRAD_FLAG=3D1 $(ULT_BUILD_OP= TION) -D PCH_SERVER_BIOS_FLAG=3D1 -D SUS_WELL_RESTORE=3D1 -D SERVER_BIOS_FL= AG=3D1 -D PCH_SPT -D PURLEY_FLAG $(SPARING_SCRATCHPAD_OPTION) $(TRACE_HUB_D= EBUG_BUILD_OPTIONS) $(TRACE_HUB_INIT_BUILD_OPTIONS) -D MAX_SOCKET=3D2 -D EF= I_PCI_IOV_SUPPORT -D WHEA_SUPPORT -D SKX_HOST -D CLX_HOST -D MDEPKG_NDEBUG = -D SILENT_MODE -# ## MSFT:RELEASE_VS2015x86_X64_APP_FLAGS =3D /nologo /E /TC -D CRB_FLAG= -D TRAD_FLAG=3D1 $(ULT_BUILD_OPTION) -D PCH_SERVER_BIOS_FLAG=3D1 -D SUS_WE= LL_RESTORE=3D1 -D SERVER_BIOS_FLAG=3D1 -D PCH_SPT -D PURLEY_FLAG $(SPARING_= SCRATCHPAD_OPTION) $(TRACE_HUB_DEBUG_BUILD_OPTIONS) $(TRACE_HUB_INIT_BUILD_= OPTIONS) -D MAX_SOCKET=3D2 -D EFI_PCI_IOV_SUPPORT -D WHEA_SUPPORT -D SKX_HO= ST -D CLX_HOST -D MDEPKG_NDEBUG -D SILENT_MODE -# ## MSFT:RELEASE_VS2015x86_X64_DLINK2_FLAGS =3D=20 -# ## MSFT:RELEASE_VS2015x86_X64_DLINK_FLAGS =3D /NOLOGO /NODEFAULTLIB /I= GNORE:4001 /IGNORE:4254 /OPT:REF /OPT:ICF=3D10 /MAP /ALIGN:32 /SECTION:.xda= ta,D /SECTION:.pdata,D /Machine:X64 /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT) = /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /MERGE:.rdat= a=3D.data /DEBUG /ALIGN:4096 -# ## MSFT:RELEASE_VS2015x86_X64_ASLPP_FLAGS =3D /nologo /E /C /FIAutoGen= .h -D CRB_FLAG -D TRAD_FLAG=3D1 $(ULT_BUILD_OPTION) -D PCH_SERVER_BIOS_FLAG= =3D1 -D SUS_WELL_RESTORE=3D1 -D SERVER_BIOS_FLAG=3D1 -D PCH_SPT -D PURLEY_F= LAG $(SPARING_SCRATCHPAD_OPTION) $(TRACE_HUB_DEBUG_BUILD_OPTIONS) $(TRACE_H= UB_INIT_BUILD_OPTIONS) -D MAX_SOCKET=3D2 -D EFI_PCI_IOV_SUPPORT -D WHEA_SUP= PORT -D SKX_HOST -D CLX_HOST -D MDEPKG_NDEBUG -D SILENT_MODE -# ## MSFT:RELEASE_VS2015x86_X64_OBJCOPY_FLAGS =3D objcopy not needed for -# ## MSFT:RELEASE_VS2015x86_X64_MAKE_FLAGS =3D /nologo -# ## MSFT:RELEASE_VS2015x86_X64_ASMLINK_FLAGS =3D /nologo /tiny -# ## MSFT:RELEASE_VS2015x86_X64_NASM_FLAGS =3D -Ox -f win64 -# ## @file -# # Component description file for SmmControl module -# # -# # @copyright -# # Copyright (c) 1999 - 2014 Intel Corporation. All rights reserved -# # This software and associated documentation (if any) is furnished -# # under a license and may only be used or copied in accordance -# # with the terms of the license. Except as permitted by the -# # license, no part of this software or documentation may be -# # reproduced, stored in a retrieval system, or transmitted in any -# # form or by any means without the express written consent of -# # Intel Corporation. -# # This file contains an 'Intel Peripheral Driver' and is uniquely -# # identified as "Intel Reference Module" and is licensed for Intel -# # CPUs and chipsets under the terms of your license agreement with -# # Intel or your vendor. This file may be modified by the user, subject -# # to additional terms of the license agreement. -# # -# #@par Specification Reference: -# # -# ## -#=20 -# # DO NOT EDIT -# # FILE auto-generated -#=20 -# [Defines] -# INF_VERSION =3D 0x00010017 -# BASE_NAME =3D SmmControl -# FILE_GUID =3D A0BAD9F7-AB78-491b-B583-C52B7F84B9E0 -# MODULE_TYPE =3D DXE_RUNTIME_DRIVER -# VERSION_STRING =3D 1.0 -# ENTRY_POINT =3D SmmControlDriverEntryInit -#=20 -[Packages.X64] - MdePkg/MdePkg.dec - LewisburgPkg/PchRcPkg.dec - PurleyRcPkg/RcPkg.dec - -# [Binaries.X64] -# PE32|SmmControl.efi -# DXE_DEPEX|SmmControl.depex -# DISPOSABLE|SmmControl.pdb -#=20 -[PatchPcd.X64] - -# [Protocols.X64] -# gEfiSmmControl2ProtocolGuid -#=20 -# ## SOMETIMES_CONSUMES -# gPcdProtocolGuid -#=20 -# ## CONSUMES -# gEfiPcdProtocolGuid -#=20 -# ## SOMETIMES_CONSUMES -# gGetPcdInfoProtocolGuid -#=20 -# ## SOMETIMES_CONSUMES -# gEfiGetPcdInfoProtocolGuid -#=20 -# ## SOMETIMES_CONSUMES -# gEfiDevicePathProtocolGuid -#=20 -# ## UNDEFINED -# gEfiDebugPortProtocolGuid -#=20 -# ## SOMETIMES_PRODUCES -# gEfiDriverBindingProtocolGuid -#=20 -# ## SOMETIMES_CONSUMES -# gEfiSimpleTextOutProtocolGuid -#=20 -# ## SOMETIMES_CONSUMES -# gEfiGraphicsOutputProtocolGuid -#=20 -# ## SOMETIMES_CONSUMES -# gEfiHiiFontProtocolGuid -#=20 -# ## SOMETIMES_CONSUMES # Consumes if gEfiGraphicsOutputProtocolGuid uni= nstalled -# gEfiUgaDrawProtocolGuid -#=20 -# ## SOMETIMES_PRODUCES # User chooses to produce it -# gEfiComponentNameProtocolGuid -#=20 -# ## SOMETIMES_PRODUCES # User chooses to produce it -# gEfiComponentName2ProtocolGuid -#=20 -# ## SOMETIMES_PRODUCES # User chooses to produce it -# gEfiDriverConfigurationProtocolGuid -#=20 -# ## SOMETIMES_PRODUCES # User chooses to produce it -# gEfiDriverConfiguration2ProtocolGuid -#=20 -# ## SOMETIMES_PRODUCES # User chooses to produce it -# gEfiDriverDiagnosticsProtocolGuid -#=20 -# ## SOMETIMES_PRODUCES # User chooses to produce it -# gEfiDriverDiagnostics2ProtocolGuid -#=20 -# gEfiSmmCpuIo2ProtocolGuid -#=20 -# ## CONSUMES -# gUsraProtocolGuid -#=20 -# ## SOMETIMES_CONSUMES -# gEfiLoadedImageProtocolGuid -#=20 -#=20 -# [Ppis.X64] -#=20 -# [Guids.X64] -# gEfiEventVirtualAddressChangeGuid -#=20 -# ## SOMETIMES_CONSUMES ## GUID -# gEfiVTUTF8Guid -#=20 -# ## SOMETIMES_CONSUMES ## GUID -# gEfiVT100Guid -#=20 -# ## SOMETIMES_CONSUMES ## GUID -# gEfiVT100PlusGuid -#=20 -# ## SOMETIMES_CONSUMES ## GUID -# gEfiPcAnsiGuid -#=20 -# ## SOMETIMES_CONSUMES ## GUID -# gEfiUartDevicePathGuid -#=20 -# ## SOMETIMES_CONSUMES ## GUID -# gEfiSasDevicePathGuid -#=20 -# ## SOMETIMES_CONSUMES ## GUID -# gEfiVirtualDiskGuid -#=20 -# ## SOMETIMES_CONSUMES ## GUID -# gEfiVirtualCdGuid -#=20 -# ## SOMETIMES_CONSUMES ## GUID -# gEfiPersistentVirtualDiskGuid -#=20 -# ## SOMETIMES_CONSUMES ## GUID -# gEfiPersistentVirtualCdGuid -#=20 -# ## SOMETIMES_CONSUMES ## Event -# gEfiEventReadyToBootGuid -#=20 -# ## SOMETIMES_CONSUMES ## Event -# gEfiEventLegacyBootGuid -#=20 -# ## SOMETIMES_CONSUMES ## Variable -# gEfiGlobalVariableGuid -#=20 -# ## CONSUMES ## SystemTable -# gEfiDxeServicesTableGuid -#=20 -# ## CONSUMES ## SystemTable -# gEfiHobListGuid -#=20 -# gPlatformGpioConfigGuid -#=20 -#=20 -[PcdEx.X64] - -# [LibraryClasses.X64] -# ## @LIB_INSTANCES -# # MdePkg/Library/DxePcdLib/DxePcdLib.inf -# # MdePkg/Library/BaseMemoryLibRepStr/BaseMemoryLibRepStr.inf -# # MdePkg/Library/BaseLib/BaseLib.inf -# # MdePkg/Library/BaseDebugLibNull/BaseDebugLibNull.inf -# # MdePkg/Library/UefiBootServicesTableLib/UefiBootServicesTableLib.inf -# # MdePkg/Library/UefiMemoryAllocationLib/UefiMemoryAllocationLib.inf -# # MdePkg/Library/BasePrintLib/BasePrintLib.inf -# # MdePkg/Library/UefiDevicePathLib/UefiDevicePathLib.inf -# # MdePkg/Library/UefiRuntimeServicesTableLib/UefiRuntimeServicesTableLi= b.inf -# # MdePkg/Library/UefiLib/UefiLib.inf -# # MdePkg/Library/DxeServicesTableLib/DxeServicesTableLib.inf -# # MdePkg/Library/BaseIoLibIntrinsic/BaseIoLibIntrinsic.inf -# # PurleyRcPkg/Library/DxeMmPciBaseLib/DxeMmPciBaseLib.inf -# # LewisburgPkg/Library/PeiDxeSmmPchInfoLib/PeiDxeSmmPchInfoLib.inf -# # LewisburgPkg/Library/PeiDxeSmmPchP2sbLib/PeiDxeSmmPchP2sbLib.inf -# # LewisburgPkg/Library/PeiDxeSmmPchPcrLib/PeiDxeSmmPchPcrLib.inf -# # MdePkg/Library/DxeHobLib/DxeHobLib.inf -# # LewisburgPkg/Library/PeiDxeSmmPchSbiAccessLib/PeiDxeSmmPchSbiAccessLi= b.inf -# # LewisburgPkg/Library/PeiDxeSmmPchCycleDecodingLib/PeiDxeSmmPchCycleDe= codingLib.inf -# # MdePkg/Library/UefiDriverEntryPoint/UefiDriverEntryPoint.inf -# # LewisburgPkg/Library/PeiDxeSmmGpioLib/PeiDxeSmmGpioLib.inf -#=20 -# [Depex.X64] -# # (TRUE) AND (gEfiPcdProtocolGuid) AND (gEfiPcdProtocolGuid) AND (gEfiP= cdProtocolGuid) AND (gEfiPcdProtocolGuid) AND (gUsraProtocolGuid) AND (gEfi= BdsArchProtocolGuid AND gEfiCpuArchProtocolGuid AND gEfiMetronomeArchProtoc= olGuid AND gEfiMonotonicCounterArchProtocolGuid AND gEfiRealTimeClockArchPr= otocolGuid AND gEfiResetArchProtocolGuid AND gEfiRuntimeArchProtocolGuid AN= D gEfiSecurityArchProtocolGuid AND gEfiTimerArchProtocolGuid AND gEfiVariab= leWriteArchProtocolGuid AND gEfiVariableArchProtocolGuid AND gEfiWatchdogTi= merArchProtocolGuid) -#=20 -#=20 -#=20 -# # -# # The following information is for reference only and not required by th= e build tools. -# # -# # VALID_ARCHITECTURES =3D IA32 X64 -# # -#=20 -# [BuildOptions.X64] -# ## @AsBuilt -# ## MSFT:RELEASE_VS2015x86_X64_OPTROM_FLAGS =3D -e -# ## MSFT:RELEASE_VS2015x86_X64_VFR_FLAGS =3D -n -# ## MSFT:RELEASE_VS2015x86_X64_PP_FLAGS =3D /nologo /E /TC /FIAutoGen.h= -D CRB_FLAG -D TRAD_FLAG=3D1 $(ULT_BUILD_OPTION) -D PCH_SERVER_BIOS_FLAG= =3D1 -D SUS_WELL_RESTORE=3D1 -D SERVER_BIOS_FLAG=3D1 -D PCH_SPT -D PURLEY_F= LAG $(SPARING_SCRATCHPAD_OPTION) $(TRACE_HUB_DEBUG_BUILD_OPTIONS) $(TRACE_H= UB_INIT_BUILD_OPTIONS) -D MAX_SOCKET=3D2 -D EFI_PCI_IOV_SUPPORT -D WHEA_SUP= PORT -D SKX_HOST -D CLX_HOST -D MDEPKG_NDEBUG -D SILENT_MODE -# ## MSFT:RELEASE_VS2015x86_X64_SYMRENAME_FLAGS =3D Symbol renaming not = needed for -# ## MSFT:RELEASE_VS2015x86_X64_GENFW_FLAGS =3D=20 -# ## MSFT:RELEASE_VS2015x86_X64_SLINK_FLAGS =3D /NOLOGO /LTCG -# ## MSFT:RELEASE_VS2015x86_X64_ASLDLINK_FLAGS =3D /NODEFAULTLIB /ENTRY:= ReferenceAcpiTable /SUBSYSTEM:CONSOLE -# ## MSFT:RELEASE_VS2015x86_X64_ASM_FLAGS =3D /nologo /c /WX /W3 /Cx /Zd= /Zi -# ## MSFT:RELEASE_VS2015x86_X64_ASL_FLAGS =3D=20 -# ## MSFT:RELEASE_VS2015x86_X64_CC_FLAGS =3D /nologo /c /WX /GS- /W4 /Gs= 32768 /D UNICODE /O1b2s /GL /Gy /FIAutoGen.h /EHs-c- /GR- /GF /Gw -D CRB_FL= AG -D TRAD_FLAG=3D1 $(ULT_BUILD_OPTION) -D PCH_SERVER_BIOS_FLAG=3D1 -D SUS_= WELL_RESTORE=3D1 -D SERVER_BIOS_FLAG=3D1 -D PCH_SPT -D PURLEY_FLAG $(SPARIN= G_SCRATCHPAD_OPTION) $(TRACE_HUB_DEBUG_BUILD_OPTIONS) $(TRACE_HUB_INIT_BUIL= D_OPTIONS) -D MAX_SOCKET=3D2 -D EFI_PCI_IOV_SUPPORT -D WHEA_SUPPORT -D SKX_= HOST -D CLX_HOST -D MDEPKG_NDEBUG -D SILENT_MODE /Zi /Gm -# ## MSFT:RELEASE_VS2015x86_X64_NASMB_FLAGS =3D -f bin -# ## MSFT:RELEASE_VS2015x86_X64_VFRPP_FLAGS =3D /nologo /E /TC /DVFRCOMP= ILE /FI$(MODULE_NAME)StrDefs.h -D CRB_FLAG -D TRAD_FLAG=3D1 $(ULT_BUILD_OPT= ION) -D PCH_SERVER_BIOS_FLAG=3D1 -D SUS_WELL_RESTORE=3D1 -D SERVER_BIOS_FLA= G=3D1 -D PCH_SPT -D PURLEY_FLAG $(SPARING_SCRATCHPAD_OPTION) $(TRACE_HUB_DE= BUG_BUILD_OPTIONS) $(TRACE_HUB_INIT_BUILD_OPTIONS) -D MAX_SOCKET=3D2 -D EFI= _PCI_IOV_SUPPORT -D WHEA_SUPPORT -D SKX_HOST -D CLX_HOST -D MDEPKG_NDEBUG -= D SILENT_MODE -# ## MSFT:RELEASE_VS2015x86_X64_ASLCC_FLAGS =3D /nologo /c /FIAutoGen.h = /TC /Dmain=3DReferenceAcpiTable -D CRB_FLAG -D TRAD_FLAG=3D1 $(ULT_BUILD_OP= TION) -D PCH_SERVER_BIOS_FLAG=3D1 -D SUS_WELL_RESTORE=3D1 -D SERVER_BIOS_FL= AG=3D1 -D PCH_SPT -D PURLEY_FLAG $(SPARING_SCRATCHPAD_OPTION) $(TRACE_HUB_D= EBUG_BUILD_OPTIONS) $(TRACE_HUB_INIT_BUILD_OPTIONS) -D MAX_SOCKET=3D2 -D EF= I_PCI_IOV_SUPPORT -D WHEA_SUPPORT -D SKX_HOST -D CLX_HOST -D MDEPKG_NDEBUG = -D SILENT_MODE -# ## MSFT:RELEASE_VS2015x86_X64_APP_FLAGS =3D /nologo /E /TC -D CRB_FLAG= -D TRAD_FLAG=3D1 $(ULT_BUILD_OPTION) -D PCH_SERVER_BIOS_FLAG=3D1 -D SUS_WE= LL_RESTORE=3D1 -D SERVER_BIOS_FLAG=3D1 -D PCH_SPT -D PURLEY_FLAG $(SPARING_= SCRATCHPAD_OPTION) $(TRACE_HUB_DEBUG_BUILD_OPTIONS) $(TRACE_HUB_INIT_BUILD_= OPTIONS) -D MAX_SOCKET=3D2 -D EFI_PCI_IOV_SUPPORT -D WHEA_SUPPORT -D SKX_HO= ST -D CLX_HOST -D MDEPKG_NDEBUG -D SILENT_MODE -# ## MSFT:RELEASE_VS2015x86_X64_DLINK2_FLAGS =3D=20 -# ## MSFT:RELEASE_VS2015x86_X64_DLINK_FLAGS =3D /NOLOGO /NODEFAULTLIB /I= GNORE:4001 /IGNORE:4254 /OPT:REF /OPT:ICF=3D10 /MAP /ALIGN:32 /SECTION:.xda= ta,D /SECTION:.pdata,D /Machine:X64 /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT) = /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /MERGE:.rdat= a=3D.data /DEBUG /ALIGN:4096 -# ## MSFT:RELEASE_VS2015x86_X64_ASLPP_FLAGS =3D /nologo /E /C /FIAutoGen= .h -D CRB_FLAG -D TRAD_FLAG=3D1 $(ULT_BUILD_OPTION) -D PCH_SERVER_BIOS_FLAG= =3D1 -D SUS_WELL_RESTORE=3D1 -D SERVER_BIOS_FLAG=3D1 -D PCH_SPT -D PURLEY_F= LAG $(SPARING_SCRATCHPAD_OPTION) $(TRACE_HUB_DEBUG_BUILD_OPTIONS) $(TRACE_H= UB_INIT_BUILD_OPTIONS) -D MAX_SOCKET=3D2 -D EFI_PCI_IOV_SUPPORT -D WHEA_SUP= PORT -D SKX_HOST -D CLX_HOST -D MDEPKG_NDEBUG -D SILENT_MODE -# ## MSFT:RELEASE_VS2015x86_X64_OBJCOPY_FLAGS =3D objcopy not needed for -# ## MSFT:RELEASE_VS2015x86_X64_MAKE_FLAGS =3D /nologo -# ## MSFT:RELEASE_VS2015x86_X64_ASMLINK_FLAGS =3D /nologo /tiny -# ## MSFT:RELEASE_VS2015x86_X64_NASM_FLAGS =3D -Ox -f win64 -# ## @file -# # Component description file for the SPI SMM driver. -# # -# # @copyright -# # Copyright (c) 2008 - 2015 Intel Corporation. All rights reserved -# # This software and associated documentation (if any) is furnished -# # under a license and may only be used or copied in accordance -# # with the terms of the license. Except as permitted by the -# # license, no part of this software or documentation may be -# # reproduced, stored in a retrieval system, or transmitted in any -# # form or by any means without the express written consent of -# # Intel Corporation. -# # This file contains an 'Intel Peripheral Driver' and is uniquely -# # identified as "Intel Reference Module" and is licensed for Intel -# # CPUs and chipsets under the terms of your license agreement with -# # Intel or your vendor. This file may be modified by the user, subject -# # to additional terms of the license agreement. -# # -# #@par Specification Reference: -# # -# ## -#=20 -# # DO NOT EDIT -# # FILE auto-generated -#=20 -# [Defines] -# INF_VERSION =3D 0x00010017 -# BASE_NAME =3D PchSpiSmm -# FILE_GUID =3D 27F4917B-A707-4aad-9676-26DF168CBF0D -# MODULE_TYPE =3D DXE_SMM_DRIVER -# VERSION_STRING =3D 1.0 -# PI_SPECIFICATION_VERSION =3D 0x0001000a -# ENTRY_POINT =3D InstallPchSpi -#=20 -[Packages.X64] - MdePkg/MdePkg.dec - LewisburgPkg/PchRcPkg.dec - PurleyRcPkg/RcPkg.dec - -# [Binaries.X64] -# PE32|PchSpiSmm.efi -# SMM_DEPEX|PchSpiSmm.depex -# DISPOSABLE|PchSpiSmm.pdb -#=20 -[PatchPcd.X64] - -# [Protocols.X64] -# # PRODUCES #SERVER_BIOS -# gEfiSmmSpiProtocolGuid -#=20 -# ## SOMETIMES_CONSUMES -# gPcdProtocolGuid -#=20 -# ## CONSUMES -# gEfiPcdProtocolGuid -#=20 -# ## SOMETIMES_CONSUMES -# gGetPcdInfoProtocolGuid -#=20 -# ## SOMETIMES_CONSUMES -# gEfiGetPcdInfoProtocolGuid -#=20 -# ## CONSUMES -# gEfiSmmBase2ProtocolGuid -#=20 -# ## CONSUMES -# gEfiSmmAccess2ProtocolGuid -#=20 -# ## SOMETIMES_CONSUMES -# gEfiDevicePathProtocolGuid -#=20 -# ## UNDEFINED -# gEfiDebugPortProtocolGuid -#=20 -# ## SOMETIMES_PRODUCES -# gEfiDriverBindingProtocolGuid -#=20 -# ## SOMETIMES_CONSUMES -# gEfiSimpleTextOutProtocolGuid -#=20 -# ## SOMETIMES_CONSUMES -# gEfiGraphicsOutputProtocolGuid -#=20 -# ## SOMETIMES_CONSUMES -# gEfiHiiFontProtocolGuid -#=20 -# ## SOMETIMES_CONSUMES # Consumes if gEfiGraphicsOutputProtocolGuid uni= nstalled -# gEfiUgaDrawProtocolGuid -#=20 -# ## SOMETIMES_PRODUCES # User chooses to produce it -# gEfiComponentNameProtocolGuid -#=20 -# ## SOMETIMES_PRODUCES # User chooses to produce it -# gEfiComponentName2ProtocolGuid -#=20 -# ## SOMETIMES_PRODUCES # User chooses to produce it -# gEfiDriverConfigurationProtocolGuid -#=20 -# ## SOMETIMES_PRODUCES # User chooses to produce it -# gEfiDriverConfiguration2ProtocolGuid -#=20 -# ## SOMETIMES_PRODUCES # User chooses to produce it -# gEfiDriverDiagnosticsProtocolGuid -#=20 -# ## SOMETIMES_PRODUCES # User chooses to produce it -# gEfiDriverDiagnostics2ProtocolGuid -#=20 -# gEfiSmmCpuIo2ProtocolGuid -#=20 -# ## CONSUMES -# gUsraProtocolGuid -#=20 -# ## SOMETIMES_CONSUMES -# gEfiLoadedImageProtocolGuid -#=20 -#=20 -# [Ppis.X64] -#=20 -# [Guids.X64] -# ## SOMETIMES_CONSUMES ## GUID -# gEfiVTUTF8Guid -#=20 -# ## SOMETIMES_CONSUMES ## GUID -# gEfiVT100Guid -#=20 -# ## SOMETIMES_CONSUMES ## GUID -# gEfiVT100PlusGuid -#=20 -# ## SOMETIMES_CONSUMES ## GUID -# gEfiPcAnsiGuid -#=20 -# ## SOMETIMES_CONSUMES ## GUID -# gEfiUartDevicePathGuid -#=20 -# ## SOMETIMES_CONSUMES ## GUID -# gEfiSasDevicePathGuid -#=20 -# ## SOMETIMES_CONSUMES ## GUID -# gEfiVirtualDiskGuid -#=20 -# ## SOMETIMES_CONSUMES ## GUID -# gEfiVirtualCdGuid -#=20 -# ## SOMETIMES_CONSUMES ## GUID -# gEfiPersistentVirtualDiskGuid -#=20 -# ## SOMETIMES_CONSUMES ## GUID -# gEfiPersistentVirtualCdGuid -#=20 -# ## SOMETIMES_CONSUMES ## Event -# gEfiEventReadyToBootGuid -#=20 -# ## SOMETIMES_CONSUMES ## Event -# gEfiEventLegacyBootGuid -#=20 -# ## SOMETIMES_CONSUMES ## Variable -# gEfiGlobalVariableGuid -#=20 -#=20 -[PcdEx.X64] - -# [LibraryClasses.X64] -# ## @LIB_INSTANCES -# # MdePkg/Library/BaseMemoryLibRepStr/BaseMemoryLibRepStr.inf -# # MdePkg/Library/DxePcdLib/DxePcdLib.inf -# # MdePkg/Library/BaseLib/BaseLib.inf -# # MdePkg/Library/BaseDebugLibNull/BaseDebugLibNull.inf -# # MdePkg/Library/UefiBootServicesTableLib/UefiBootServicesTableLib.inf -# # MdePkg/Library/SmmServicesTableLib/SmmServicesTableLib.inf -# # MdePkg/Library/SmmMemoryAllocationLib/SmmMemoryAllocationLib.inf -# # MdePkg/Library/BasePrintLib/BasePrintLib.inf -# # MdePkg/Library/UefiRuntimeServicesTableLib/UefiRuntimeServicesTableLi= b.inf -# # MdePkg/Library/UefiDevicePathLib/UefiDevicePathLib.inf -# # MdePkg/Library/UefiLib/UefiLib.inf -# # MdePkg/Library/BaseIoLibIntrinsic/BaseIoLibIntrinsic.inf -# # PurleyRcPkg/Library/DxeMmPciBaseLib/SmmMmPciBaseLib.inf -# # LewisburgPkg/Library/PeiDxeSmmPchInfoLib/PeiDxeSmmPchInfoLib.inf -# # LewisburgPkg/Library/PeiDxeSmmPchP2sbLib/PeiDxeSmmPchP2sbLib.inf -# # LewisburgPkg/Library/PeiDxeSmmPchPcrLib/PeiDxeSmmPchPcrLib.inf -# # LewisburgPkg/Library/PeiDxeSmmPchCycleDecodingLib/PeiDxeSmmPchCycleDe= codingLib.inf -# # MdePkg/Library/UefiDriverEntryPoint/UefiDriverEntryPoint.inf -# # LewisburgPkg/LibraryPrivate/BasePchSpiCommonLib/BasePchSpiCommonLib.i= nf -#=20 -# [Depex.X64] -# # (gEfiSmmBase2ProtocolGuid #This is for SmmServicesTableLib AND gEfiSm= mCpuProtocolGuid # This is for CpuSmmDisableBiosWriteProtect()) AND (gEfiPc= dProtocolGuid) AND (gEfiPcdProtocolGuid) AND (gEfiPcdProtocolGuid) AND (gEf= iPcdProtocolGuid) AND (gEfiSmmBase2ProtocolGuid) AND (gEfiSmmAccess2Protoco= lGuid) AND (gEfiSmmCpuIo2ProtocolGuid) AND (gEfiBdsArchProtocolGuid AND gEf= iCpuArchProtocolGuid AND gEfiMetronomeArchProtocolGuid AND gEfiMonotonicCou= nterArchProtocolGuid AND gEfiRealTimeClockArchProtocolGuid AND gEfiResetArc= hProtocolGuid AND gEfiRuntimeArchProtocolGuid AND gEfiSecurityArchProtocolG= uid AND gEfiTimerArchProtocolGuid AND gEfiVariableWriteArchProtocolGuid AND= gEfiVariableArchProtocolGuid AND gEfiWatchdogTimerArchProtocolGuid) -#=20 -#=20 -#=20 -#=20 -#=20 -# [BuildOptions.X64] -# ## @AsBuilt -# ## MSFT:RELEASE_VS2015x86_X64_OPTROM_FLAGS =3D -e -# ## MSFT:RELEASE_VS2015x86_X64_VFR_FLAGS =3D -n -# ## MSFT:RELEASE_VS2015x86_X64_PP_FLAGS =3D /nologo /E /TC /FIAutoGen.h= -D CRB_FLAG -D TRAD_FLAG=3D1 $(ULT_BUILD_OPTION) -D PCH_SERVER_BIOS_FLAG= =3D1 -D SUS_WELL_RESTORE=3D1 -D SERVER_BIOS_FLAG=3D1 -D PCH_SPT -D PURLEY_F= LAG $(SPARING_SCRATCHPAD_OPTION) $(TRACE_HUB_DEBUG_BUILD_OPTIONS) $(TRACE_H= UB_INIT_BUILD_OPTIONS) -D MAX_SOCKET=3D2 -D EFI_PCI_IOV_SUPPORT -D WHEA_SUP= PORT -D SKX_HOST -D CLX_HOST -D MDEPKG_NDEBUG -D SILENT_MODE -# ## MSFT:RELEASE_VS2015x86_X64_SYMRENAME_FLAGS =3D Symbol renaming not = needed for -# ## MSFT:RELEASE_VS2015x86_X64_GENFW_FLAGS =3D=20 -# ## MSFT:RELEASE_VS2015x86_X64_SLINK_FLAGS =3D /NOLOGO /LTCG -# ## MSFT:RELEASE_VS2015x86_X64_ASLDLINK_FLAGS =3D /NODEFAULTLIB /ENTRY:= ReferenceAcpiTable /SUBSYSTEM:CONSOLE -# ## MSFT:RELEASE_VS2015x86_X64_ASM_FLAGS =3D /nologo /c /WX /W3 /Cx /Zd= /Zi -# ## MSFT:RELEASE_VS2015x86_X64_ASL_FLAGS =3D=20 -# ## MSFT:RELEASE_VS2015x86_X64_CC_FLAGS =3D /nologo /c /WX /GS- /W4 /Gs= 32768 /D UNICODE /O1b2s /GL /Gy /FIAutoGen.h /EHs-c- /GR- /GF /Gw -D CRB_FL= AG -D TRAD_FLAG=3D1 $(ULT_BUILD_OPTION) -D PCH_SERVER_BIOS_FLAG=3D1 -D SUS_= WELL_RESTORE=3D1 -D SERVER_BIOS_FLAG=3D1 -D PCH_SPT -D PURLEY_FLAG $(SPARIN= G_SCRATCHPAD_OPTION) $(TRACE_HUB_DEBUG_BUILD_OPTIONS) $(TRACE_HUB_INIT_BUIL= D_OPTIONS) -D MAX_SOCKET=3D2 -D EFI_PCI_IOV_SUPPORT -D WHEA_SUPPORT -D SKX_= HOST -D CLX_HOST -D MDEPKG_NDEBUG -D SILENT_MODE /Zi /Gm -# ## MSFT:RELEASE_VS2015x86_X64_NASMB_FLAGS =3D -f bin -# ## MSFT:RELEASE_VS2015x86_X64_VFRPP_FLAGS =3D /nologo /E /TC /DVFRCOMP= ILE /FI$(MODULE_NAME)StrDefs.h -D CRB_FLAG -D TRAD_FLAG=3D1 $(ULT_BUILD_OPT= ION) -D PCH_SERVER_BIOS_FLAG=3D1 -D SUS_WELL_RESTORE=3D1 -D SERVER_BIOS_FLA= G=3D1 -D PCH_SPT -D PURLEY_FLAG $(SPARING_SCRATCHPAD_OPTION) $(TRACE_HUB_DE= BUG_BUILD_OPTIONS) $(TRACE_HUB_INIT_BUILD_OPTIONS) -D MAX_SOCKET=3D2 -D EFI= _PCI_IOV_SUPPORT -D WHEA_SUPPORT -D SKX_HOST -D CLX_HOST -D MDEPKG_NDEBUG -= D SILENT_MODE -# ## MSFT:RELEASE_VS2015x86_X64_ASLCC_FLAGS =3D /nologo /c /FIAutoGen.h = /TC /Dmain=3DReferenceAcpiTable -D CRB_FLAG -D TRAD_FLAG=3D1 $(ULT_BUILD_OP= TION) -D PCH_SERVER_BIOS_FLAG=3D1 -D SUS_WELL_RESTORE=3D1 -D SERVER_BIOS_FL= AG=3D1 -D PCH_SPT -D PURLEY_FLAG $(SPARING_SCRATCHPAD_OPTION) $(TRACE_HUB_D= EBUG_BUILD_OPTIONS) $(TRACE_HUB_INIT_BUILD_OPTIONS) -D MAX_SOCKET=3D2 -D EF= I_PCI_IOV_SUPPORT -D WHEA_SUPPORT -D SKX_HOST -D CLX_HOST -D MDEPKG_NDEBUG = -D SILENT_MODE -# ## MSFT:RELEASE_VS2015x86_X64_APP_FLAGS =3D /nologo /E /TC -D CRB_FLAG= -D TRAD_FLAG=3D1 $(ULT_BUILD_OPTION) -D PCH_SERVER_BIOS_FLAG=3D1 -D SUS_WE= LL_RESTORE=3D1 -D SERVER_BIOS_FLAG=3D1 -D PCH_SPT -D PURLEY_FLAG $(SPARING_= SCRATCHPAD_OPTION) $(TRACE_HUB_DEBUG_BUILD_OPTIONS) $(TRACE_HUB_INIT_BUILD_= OPTIONS) -D MAX_SOCKET=3D2 -D EFI_PCI_IOV_SUPPORT -D WHEA_SUPPORT -D SKX_HO= ST -D CLX_HOST -D MDEPKG_NDEBUG -D SILENT_MODE -# ## MSFT:RELEASE_VS2015x86_X64_DLINK2_FLAGS =3D=20 -# ## MSFT:RELEASE_VS2015x86_X64_DLINK_FLAGS =3D /NOLOGO /NODEFAULTLIB /I= GNORE:4001 /IGNORE:4254 /OPT:REF /OPT:ICF=3D10 /MAP /ALIGN:32 /SECTION:.xda= ta,D /SECTION:.pdata,D /Machine:X64 /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT) = /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /MERGE:.rdat= a=3D.data /DEBUG /ALIGN:4096 -# ## MSFT:RELEASE_VS2015x86_X64_ASLPP_FLAGS =3D /nologo /E /C /FIAutoGen= .h -D CRB_FLAG -D TRAD_FLAG=3D1 $(ULT_BUILD_OPTION) -D PCH_SERVER_BIOS_FLAG= =3D1 -D SUS_WELL_RESTORE=3D1 -D SERVER_BIOS_FLAG=3D1 -D PCH_SPT -D PURLEY_F= LAG $(SPARING_SCRATCHPAD_OPTION) $(TRACE_HUB_DEBUG_BUILD_OPTIONS) $(TRACE_H= UB_INIT_BUILD_OPTIONS) -D MAX_SOCKET=3D2 -D EFI_PCI_IOV_SUPPORT -D WHEA_SUP= PORT -D SKX_HOST -D CLX_HOST -D MDEPKG_NDEBUG -D SILENT_MODE -# ## MSFT:RELEASE_VS2015x86_X64_OBJCOPY_FLAGS =3D objcopy not needed for -# ## MSFT:RELEASE_VS2015x86_X64_MAKE_FLAGS =3D /nologo diff --git a/Silicon/Intel/PurleySiliconBinPkg/FvLateSilicon/RELEASE/FVLATE= SILICON.Fv b/Silicon/Intel/PurleySiliconBinPkg/FvLateSilicon/RELEASE/FVLATE= SILICON.Fv deleted file mode 100644 index 4c919ad135c911a903b8e6f8e53122723c7382fa..000000000000000000000000000= 0000000000000 GIT binary patch literal 0 HcmV?d00001 literal 429688 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 )!e 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 diff --git a/Silicon/Intel/PurleySiliconBinPkg/FvLateSilicon/RELEASE/FVLATE= SILICON.Fv.txt b/Silicon/Intel/PurleySiliconBinPkg/FvLateSilicon/RELEASE/FV= LATESILICON.Fv.txt deleted file mode 100644 index 246a95b..0000000 --- a/Silicon/Intel/PurleySiliconBinPkg/FvLateSilicon/RELEASE/FVLATESILICON= .Fv.txt +++ /dev/null @@ -1,17 +0,0 @@ -EFI_FV_TOTAL_SIZE =3D 0x68e78 -EFI_FV_TAKEN_SIZE =3D 0x68e78 -0x00000078 56D60EE4-5CCF-485C-BBBB-FEDAE2B24146 -0x00002CF0 D96A2393-8790-4BAA-9CEB-42533F016EE9 -0x00005F88 62D171CB-78CD-4480-8678-C6A2A797A8DE -0x0000D668 40BEAB40-CECE-4909-B133-20A413AE19E9 -0x00029330 274F0C8F-9E57-41D8-9966-29CCD48D31C2 -0x00029ED0 A3FF0EF5-0C28-42F5-B544-8C7DE1E80014 -0x00039570 06D20D84-A032-4E25-969A-346D255E46D1 -0x0003CBF8 870E0F5A-1981-45F6-AE26-0391425CC46F -0x00040698 63809859-F029-41C3-9F34-EEEB9EA787A5 -0x00048B38 D58EBCE1-AF26-488D-BE66-C164417F8C13 -0x0004C948 DE23ACEE-CF55-4FB6-AA77-984AB53DE823 -0x00057750 B0D6ED53-B844-43F5-BD2F-61095264E77E -0x00060038 D7B10D4E-67E6-4C74-83E9-F9AF0ACC33CC -0x00065D60 A0BAD9F7-AB78-491B-B583-C52B7F84B9E0 -0x000671D0 27F4917B-A707-4AAD-9676-26DF168CBF0D --=20 2.16.2.windows.1 -=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#49993): https://edk2.groups.io/g/devel/message/49993 Mute This Topic: https://groups.io/mt/42687426/1787277 Group Owner: devel+owner@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [importer@patchew.org] -=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-