From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mga03.intel.com (mga03.intel.com []) by mx.groups.io with SMTP id smtpd.web09.10685.1620726906626779550 for ; Tue, 11 May 2021 02:55:07 -0700 Authentication-Results: mx.groups.io; dkim=missing; spf=fail (domain: intel.com, ip: , mailfrom: nathaniel.l.desimone@intel.com) IronPort-SDR: Ugc1QFtT7aUOcAIQBoGtMzQ1UCFM9iVzJHFCuVcIwU+peGt0tWBqCI5NW+rpMBnKnWGZX/y834 9G361yMUNPXg== X-IronPort-AV: E=McAfee;i="6200,9189,9980"; a="199454564" X-IronPort-AV: E=Sophos;i="5.82,290,1613462400"; d="scan'208";a="199454564" Received: from orsmga008.jf.intel.com ([10.7.209.65]) by orsmga103.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 11 May 2021 02:55:04 -0700 IronPort-SDR: D9NeyWvyTJwVGjJtPhz3uLskNKkQ+aYA30v1ZYMMMnH8n7aFDbZO8mRUlW+S+oEAtYBDl+S49P 1YSfjJv5bIcQ== X-IronPort-AV: E=Sophos;i="5.82,290,1613462400"; d="scan'208";a="436576770" Received: from nldesimo-desk1.amr.corp.intel.com ([10.209.66.229]) by orsmga008-auth.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 11 May 2021 02:55:03 -0700 From: "Nate DeSimone" To: devel@edk2.groups.io Cc: Chasel Chiu , Mike Kinney , Isaac Oram , Mohamed Abbas , Michael Kubacki , Zachary Bobroff , Harikrishna Doppalapudi Subject: [edk2-non-osi] [PATCH V1 5/9] PurleySiliconBinPkg/FV: Add DEBUG FvPostMemorySilicon Date: Tue, 11 May 2021 02:54:30 -0700 Message-Id: <20210511095434.12575-6-nathaniel.l.desimone@intel.com> X-Mailer: git-send-email 2.27.0.windows.1 In-Reply-To: <20210511095434.12575-1-nathaniel.l.desimone@intel.com> References: <20210511095434.12575-1-nathaniel.l.desimone@intel.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Cc: Chasel Chiu Cc: Mike Kinney Cc: Isaac Oram Cc: Mohamed Abbas Cc: Michael Kubacki Cc: Zachary Bobroff Cc: Harikrishna Doppalapudi Signed-off-by: Nate DeSimone --- .../DEBUG/FVPOSTMEMORYSILICON.Fv | Bin 0 -> 196608 bytes .../DEBUG/FVPOSTMEMORYSILICON.Fv.txt | 3 + .../DEBUG/FvPostMemorySilicon.inf | 279 ++++++++++++++++++ 3 files changed, 282 insertions(+) create mode 100644 Silicon/Intel/PurleySiliconBinPkg/FV/FvPostMemorySilicon/DEBUG/FVPOSTMEMORYSILICON.Fv create mode 100644 Silicon/Intel/PurleySiliconBinPkg/FV/FvPostMemorySilicon/DEBUG/FVPOSTMEMORYSILICON.Fv.txt create mode 100644 Silicon/Intel/PurleySiliconBinPkg/FV/FvPostMemorySilicon/DEBUG/FvPostMemorySilicon.inf diff --git a/Silicon/Intel/PurleySiliconBinPkg/FV/FvPostMemorySilicon/DEBUG/FVPOSTMEMORYSILICON.Fv b/Silicon/Intel/PurleySiliconBinPkg/FV/FvPostMemorySilicon/DEBUG/FVPOSTMEMORYSILICON.Fv new file mode 100644 index 0000000000000000000000000000000000000000..89a4a2cff271429c484ce9f3aa79319dd0930e91 GIT binary patch literal 196608 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 zP=Epypa2CZKmiI+fC3bt00k&O0SZun0u-PC1t>rP3Q&Lo6rcbFC_n)UP=Epypa2CZ zKmiI+fC3bt00k&O0SZun0u-PC1t>rP3Q&Lo6rcbFC_n)UP=Epypa2CZKmiI+fC3bt z00k&O0SZun0u-PC1t>rP3Q&Lo6rcbFC_n)UP=Epypa2CZKmiI+fC3bt00k&O0SZun z0u-PC1t>rP3Q&Lo6rcbFC_n)UP=Epypa2CZKmiI+fC3bt00k&O0SZun0u-PC1t>rP z3Q&Lo6rcbFC_n)UP=Epypa2CZKmiI+fC3bt00k&O0SZun0u-PC1t>rP3Q&Lo6rcbF zC_n)UP=Epypa2CZKmiI+fC3bt00k&O0SZun0u-PC1t>rP3Q&Lo6rcbFC_n)UP=Epy zpa2CZKmiI+fC3bt00k&O0SZun0u-PC1t>rP3Q&Lo6rcbFC_n)UP=Epypa2CZKmiI+ zfC3bt00k&O0SZun0u-PC1t>rP3Q&Lo6rcbFC_n)UP=Epypa2CZKmiI+fC3bt00k&O z0SZun0u-PC1t>rP3Q&Lo6rcbFC_n)UP=Epypa2CZKmiI+fC3bt00k&O0SZun0u-PC z1t>rP3Q&Lo6rcbFC_n)UP=Epypa2CZKmiI+fC3bt00k&O0SZun0u-PC1t>rP3Q&Lo d6rcbFC_n)UP=Epypa2CZKmiI+fC8sp;GZ$8wuArx literal 0 HcmV?d00001 diff --git a/Silicon/Intel/PurleySiliconBinPkg/FV/FvPostMemorySilicon/DEBUG/FVPOSTMEMORYSILICON.Fv.txt b/Silicon/Intel/PurleySiliconBinPkg/FV/FvPostMemorySilicon/DEBUG/FVPOSTMEMORYSILICON.Fv.txt new file mode 100644 index 0000000..466d352 --- /dev/null +++ b/Silicon/Intel/PurleySiliconBinPkg/FV/FvPostMemorySilicon/DEBUG/FVPOSTMEMORYSILICON.Fv.txt @@ -0,0 +1,3 @@ +EFI_FV_TOTAL_SIZE = 0x30000 +EFI_FV_TAKEN_SIZE = 0xace8 +0x000000E8 299D6F8B-2EC9-4E40-9EC6-DDAA7EBF5FD9 diff --git a/Silicon/Intel/PurleySiliconBinPkg/FV/FvPostMemorySilicon/DEBUG/FvPostMemorySilicon.inf b/Silicon/Intel/PurleySiliconBinPkg/FV/FvPostMemorySilicon/DEBUG/FvPostMemorySilicon.inf new file mode 100644 index 0000000..6e70be7 --- /dev/null +++ b/Silicon/Intel/PurleySiliconBinPkg/FV/FvPostMemorySilicon/DEBUG/FvPostMemorySilicon.inf @@ -0,0 +1,279 @@ +### @file +# +# Copyright (c) 2018 - 2021, 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. +# +### + +[Defines] + INF_VERSION = 0x00010017 + BASE_NAME = FvPostMemorySilicon + FILE_GUID = 2BB16628-138D-455A-91C6-3409341AD6A2 + MODULE_TYPE = PEIM + VERSION_STRING = 1.0 + +[Binaries] + FV|FVPOSTMEMORYSILICON.Fv + + +#![Pcd] +#! gMinPlatformPkgTokenSpaceGuid.PcdFlashFvFspSBase|0xFFE20000 + +# ## @file +# # Component description file for the Silicon Init Post Memory module. +# # +# #@copyright +# # Copyright (c) 2013 - 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 +# # +# ## +# +# # DO NOT EDIT +# # FILE auto-generated +# +# [Defines] +# INF_VERSION = 0x00010017 +# BASE_NAME = SiInit +# FILE_GUID = 299D6F8B-2EC9-4E40-9EC6-DDAA7EBF5FD9 +# MODULE_TYPE = PEIM +# VERSION_STRING = 1.0 +# ENTRY_POINT = SiInit +# +[Packages.IA32] + MdePkg/MdePkg.dec + MdeModulePkg/MdeModulePkg.dec + PurleyRefreshSiliconPkg/SiPkg.dec + PurleyRefreshSiliconPkg/Override/IA32FamilyCpuPkg/IA32FamilyCpuPkg.dec + +# [Binaries.IA32] +# PE32|SiInit.efi +# DISPOSABLE|SiInit.pdb +# +[PatchPcd.IA32] + ## CONSUMES + gEfiMdePkgTokenSpaceGuid.PcdDebugPrintErrorLevel|0x80000042|0xa288 # 0xA148+0x140 + + gEfiMdePkgTokenSpaceGuid.PcdPciExpressBaseAddress|0x0000000080000000|0xa220 # 0xA0E0+0x140 + + +# [Protocols.IA32] +# +# [Ppis.IA32] +# ## CONSUMES +# ## CONSUMES +# gEfiEndOfPeiSignalPpiGuid +# +# ## SOMETIMES_CONSUMES +# gPcdPpiGuid +# +# ## CONSUMES +# gEfiPeiPcdPpiGuid +# +# ## SOMETIMES_CONSUMES +# gGetPcdInfoPpiGuid +# +# ## SOMETIMES_CONSUMES +# gEfiGetPcdInfoPpiGuid +# +# ## SOMETIMES_PRODUCES +# gEfiPeiFirmwareVolumeInfoPpiGuid +# +# ## SOMETIMES_PRODUCES +# gEfiPeiFirmwareVolumeInfo2PpiGuid +# +# gPeiSmmControlPpiGuid +# +# #SERVER_BIOS gPchSpiPpiGuid ## PRODUCES +# ## PRODUCES #SERVER_BIOS +# gPeiSpiPpiGuid +# +# ## CONSUMES #SERVER_BIOS +# gPchPlatformPolicyPpiGuid +# +# ## PRODUCES +# gWdtPpiGuid +# +# ## PRODUCES +# gPchResetPpiGuid +# +# ## CONSUMES +# gPchResetCallbackPpiGuid +# +# ## CONSUMES +# gEfiPeiMemoryDiscoveredPpiGuid +# +# ## PRODUCES +# gEfiPeiSmbus2PpiGuid +# +# ## CONSUMES +# gPchPcieDeviceTablePpiGuid +# +# ## CONSUMES +# gPchHdaVerbTablePpiGuid +# +# ## CONSUMES +# gPchHsioPtssTablePpiGuid +# +# ## CONSUMES +# gPchPmcXramOffsetDataPpiGuid +# +# #SERVER_BIOS gHeciPpiGuid ## CONSUMES +# ## CONSUMES #SERVER_BIOS +# gPeiCachePpiGuid +# +# ## CONSUMES #SERVER_BIOS +# gPchInitPpiGuid +# +# ## CONSUMES #SERVER_BIOS +# gPchPeiInitDonePpiGuid +# +# ## PRODUCES #SERVER_BIOS +# gDirtyWarmResetSignalGuid +# +# ## PRODUCES #SERVER_BIOS +# gDirtyWarmResetGuid +# +# +# [Guids.IA32] +# ## CONSUMES +# gSiPolicyHobGuid +# +# ## SOMETIMES_CONSUMES ## UNDEFINED +# gEfiStatusCodeSpecificDataGuid +# +# ## SOMETIMES_CONSUMES ## UNDEFINED +# ## SOMETIMES_CONSUMES ## GUID +# gEfiStatusCodeDataTypeDebugGuid +# +# ## SOMETIMES_PRODUCES ## HOB # MemoryAllocation StackHob +# gEfiHobMemoryAllocStackGuid +# +# ## SOMETIMES_PRODUCES ## HOB # MemoryAllocation BspStoreHob +# gEfiHobMemoryAllocBspStoreGuid +# +# ## SOMETIMES_PRODUCES ## HOB # MemoryAllocation ModuleHob +# gEfiHobMemoryAllocModuleGuid +# +# ## SOMETIMES_PRODUCES ## GUID # FV File System Guid. +# gEfiFirmwareFileSystem2Guid +# +# gEfiCpRcPkgTokenSpaceGuid +# +# gPlatformGpioConfigGuid +# +# gEfiSmbusArpMapGuid +# +# gPchPolicyHobGuid +# +# gPchDeviceTableHobGuid +# +# gPchChipsetInitHobGuid +# +# gWdtHobGuid +# +# #PCH_SERVER_BIOS_FLAG +# gPchPsfErrorHobGuid +# +# +[PcdEx.IA32] + gEfiCpRcPkgTokenSpaceGuid.PcdPcieMmcfgTablePtr + + +# [LibraryClasses.IA32] +# ## @LIB_INSTANCES +# # MdeModulePkg/Library/OemHookStatusCodeLibNull/OemHookStatusCodeLibNull.inf +# # MdePkg/Library/BaseDebugPrintErrorLevelLib/BaseDebugPrintErrorLevelLib.inf +# # MdeModulePkg/Library/PeiReportStatusCodeLib/PeiReportStatusCodeLib.inf +# # MdePkg/Library/PeiServicesTablePointerLibIdt/PeiServicesTablePointerLibIdt.inf +# # MdePkg/Library/PeiPcdLib/PeiPcdLib.inf +# # MdePkg/Library/PeiHobLib/PeiHobLib.inf +# # MdePkg/Library/BaseMemoryLibRepStr/BaseMemoryLibRepStr.inf +# # MdePkg/Library/PeiMemoryAllocationLib/PeiMemoryAllocationLib.inf +# # MdePkg/Library/BaseLib/BaseLib.inf +# # MdePkg/Library/PeiServicesLib/PeiServicesLib.inf +# # MdeModulePkg/Library/PeiDxeDebugLibReportStatusCode/PeiDxeDebugLibReportStatusCode.inf +# # MdePkg/Library/BasePrintLib/BasePrintLib.inf +# # MdePkg/Library/BaseIoLibIntrinsic/BaseIoLibIntrinsic.inf +# # PurleyRcPkg/Library/UsraRegisterFilterLibNull/UsraRegisterFilterLibNull.inf +# # PurleySktPkg/Library/USRATraceLib/USRATraceLib.inf +# # PurleySktPkg/Library/PcieAddressLib/PcieAddressLib.inf +# # PurleySktPkg/Library/CsrToPcieLib/CsrToPciePeiLib.inf +# # MdePkg/Library/BaseS3BootScriptLibNull/BaseS3BootScriptLibNull.inf +# # PurleyRcPkg/Library/UsraAccessLib/UsraAccessLib.inf +# # PurleyRcPkg/Library/MmPciBaseLib/MmPciBaseLib.inf +# # LewisburgPkg/Library/PeiDxeSmmPchInfoLib/PeiDxeSmmPchInfoLib.inf +# # LewisburgPkg/Library/PeiDxeSmmPchP2sbLib/PeiDxeSmmPchP2sbLib.inf +# # LewisburgPkg/Library/PeiDxeSmmPchPcrLib/PeiDxeSmmPchPcrLib.inf +# # LewisburgPkg/Library/PeiDxeSmmPchSbiAccessLib/PeiDxeSmmPchSbiAccessLib.inf +# # LewisburgPkg/Library/PeiDxeSmmPchCycleDecodingLib/PeiDxeSmmPchCycleDecodingLib.inf +# # MdePkg/Library/BasePciCf8Lib/BasePciCf8Lib.inf +# # LewisburgPkg/Library/PeiDxeSmmPchPcieRpLib/PeiDxeSmmPchPcieRpLib.inf +# # LewisburgPkg/Library/PeiDxeSmmGpioLib/PeiDxeSmmGpioLib.inf +# # LewisburgPkg/Library/PeiDxeSmmPchPmcLib/PeiDxeSmmPchPmcLib.inf +# # MdePkg/Library/BasePciLibCf8/BasePciLibCf8.inf +# # LewisburgPkg/Library/PeiDxeSmmPchHsioLib/PeiDxeSmmPchHsioLib.inf +# # LewisburgPkg/LibraryPrivate/PeiDxeSmmPchWdtCommonLib/PeiDxeSmmPchWdtCommonLib.inf +# # LewisburgPkg/LibraryPrivate/BasePchSpiCommonLib/BasePchSpiCommonLib.inf +# # LewisburgPkg/LibraryPrivate/PeiDxeSmmPchSmbusCommonLib/PeiDxeSmmPchSmbusCommonLib.inf +# # LewisburgPkg/LibraryPrivate/BasePchResetCommonLib/BasePchResetCommonLib.inf +# # LewisburgPkg/LibraryPrivate/PeiDxeSmmPchInitCommonLib/PeiDxeSmmPchInitCommonLib.inf +# # LewisburgPkg/Library/PeiDxeSmmPchSerialIoLib/PeiDxeSmmPchSerialIoLib.inf +# # LewisburgPkg/LibraryPrivate/PeiPchSmmControlLib/PeiPchSmmControlLib.inf +# # LewisburgPkg/LibraryPrivate/PeiDxeSmmGpioPrivateLib/PeiDxeSmmGpioPrivateLib.inf +# # LewisburgPkg/LibraryPrivate/PeiDxeSmmPchPciExpressHelpersLib/PeiDxeSmmPchPciExpressHelpersLib.inf +# # LewisburgPkg/Library/BaseTraceHubInitLibNull/BaseTraceHubInitLibNull.inf +# # LewisburgPkg/Library/PeiDxeSmmPchGbeLib/PeiDxeSmmPchGbeLib.inf +# # PcAtChipsetPkg/Library/AcpiTimerLib/PeiAcpiTimerLib.inf +# # MdePkg/Library/PeimEntryPoint/PeimEntryPoint.inf +# # LewisburgPkg/LibraryPrivate/PeiPchInitLib/PeiPchInitLib.inf +# +# [Depex.IA32] +# # (gEfiPeiMemoryDiscoveredPpiGuid) AND (gEfiPeiPcdPpiGuid) AND () +# +# +# +# +# +# [BuildOptions.IA32] +# ## @AsBuilt +# ## MSFT:DEBUG_VS2015x86_IA32_SYMRENAME_FLAGS = Symbol renaming not needed for +# ## MSFT:DEBUG_VS2015x86_IA32_VFR_FLAGS = -n +# ## MSFT:DEBUG_VS2015x86_IA32_PP_FLAGS = /nologo /E /TC /FIAutoGen.h -D CRB_FLAG -D TRAD_FLAG=1 $(ULT_BUILD_OPTION) -D PCH_SERVER_BIOS_FLAG=1 -D SUS_WELL_RESTORE=1 -D SERVER_BIOS_FLAG=1 -D PCH_SPT -D PURLEY_FLAG $(SPARING_SCRATCHPAD_OPTION) $(TRACE_HUB_DEBUG_BUILD_OPTIONS) $(TRACE_HUB_INIT_BUILD_OPTIONS) -D MAX_SOCKET=2 -D EFI_PCI_IOV_SUPPORT -D WHEA_SUPPORT -D SKX_HOST -D CLX_HOST -D SERIAL_DBG_MSG=1 +# ## MSFT:DEBUG_VS2015x86_IA32_GENFW_FLAGS = +# ## MSFT:DEBUG_VS2015x86_IA32_SLINK_FLAGS = /NOLOGO /LTCG +# ## MSFT:DEBUG_VS2015x86_IA32_ASLDLINK_FLAGS = /NODEFAULTLIB /ENTRY:ReferenceAcpiTable /SUBSYSTEM:CONSOLE +# ## MSFT:DEBUG_VS2015x86_IA32_ASM_FLAGS = /nologo /c /WX /W3 /Cx /coff /Zd /Zi +# ## MSFT:DEBUG_VS2015x86_IA32_ASL_FLAGS = +# ## MSFT:DEBUG_VS2015x86_IA32_CC_FLAGS = /nologo /arch:IA32 /c /WX /GS- /W4 /Gs32768 /D UNICODE /O1b2 /GL /FIAutoGen.h /EHs-c- /GR- /GF /Gy /Zi /Gm /Gw -D CRB_FLAG -D TRAD_FLAG=1 $(ULT_BUILD_OPTION) -D PCH_SERVER_BIOS_FLAG=1 -D SUS_WELL_RESTORE=1 -D SERVER_BIOS_FLAG=1 -D PCH_SPT -D PURLEY_FLAG $(SPARING_SCRATCHPAD_OPTION) $(TRACE_HUB_DEBUG_BUILD_OPTIONS) $(TRACE_HUB_INIT_BUILD_OPTIONS) -D MAX_SOCKET=2 -D EFI_PCI_IOV_SUPPORT -D WHEA_SUPPORT -D SKX_HOST -D CLX_HOST -D SERIAL_DBG_MSG=1 +# ## MSFT:DEBUG_VS2015x86_IA32_VFRPP_FLAGS = /nologo /E /TC /DVFRCOMPILE /FI$(MODULE_NAME)StrDefs.h -D CRB_FLAG -D TRAD_FLAG=1 $(ULT_BUILD_OPTION) -D PCH_SERVER_BIOS_FLAG=1 -D SUS_WELL_RESTORE=1 -D SERVER_BIOS_FLAG=1 -D PCH_SPT -D PURLEY_FLAG $(SPARING_SCRATCHPAD_OPTION) $(TRACE_HUB_DEBUG_BUILD_OPTIONS) $(TRACE_HUB_INIT_BUILD_OPTIONS) -D MAX_SOCKET=2 -D EFI_PCI_IOV_SUPPORT -D WHEA_SUPPORT -D SKX_HOST -D CLX_HOST -D SERIAL_DBG_MSG=1 +# ## MSFT:DEBUG_VS2015x86_IA32_ASLCC_FLAGS = /nologo /c /FIAutoGen.h /TC /Dmain=ReferenceAcpiTable -D CRB_FLAG -D TRAD_FLAG=1 $(ULT_BUILD_OPTION) -D PCH_SERVER_BIOS_FLAG=1 -D SUS_WELL_RESTORE=1 -D SERVER_BIOS_FLAG=1 -D PCH_SPT -D PURLEY_FLAG $(SPARING_SCRATCHPAD_OPTION) $(TRACE_HUB_DEBUG_BUILD_OPTIONS) $(TRACE_HUB_INIT_BUILD_OPTIONS) -D MAX_SOCKET=2 -D EFI_PCI_IOV_SUPPORT -D WHEA_SUPPORT -D SKX_HOST -D CLX_HOST -D SERIAL_DBG_MSG=1 +# ## MSFT:DEBUG_VS2015x86_IA32_APP_FLAGS = /nologo /E /TC -D CRB_FLAG -D TRAD_FLAG=1 $(ULT_BUILD_OPTION) -D PCH_SERVER_BIOS_FLAG=1 -D SUS_WELL_RESTORE=1 -D SERVER_BIOS_FLAG=1 -D PCH_SPT -D PURLEY_FLAG $(SPARING_SCRATCHPAD_OPTION) $(TRACE_HUB_DEBUG_BUILD_OPTIONS) $(TRACE_HUB_INIT_BUILD_OPTIONS) -D MAX_SOCKET=2 -D EFI_PCI_IOV_SUPPORT -D WHEA_SUPPORT -D SKX_HOST -D CLX_HOST -D SERIAL_DBG_MSG=1 +# ## MSFT:DEBUG_VS2015x86_IA32_DLINK2_FLAGS = +# ## MSFT:DEBUG_VS2015x86_IA32_OPTROM_FLAGS = -e +# ## MSFT:DEBUG_VS2015x86_IA32_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /IGNORE:4001 /OPT:REF /OPT:ICF=10 /MAP /ALIGN:32 /SECTION:.xdata,D /SECTION:.pdata,D /MACHINE:X86 /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /DEBUG +# ## MSFT:DEBUG_VS2015x86_IA32_NASMB_FLAGS = -f bin +# ## MSFT:DEBUG_VS2015x86_IA32_ASLPP_FLAGS = /nologo /E /C /FIAutoGen.h -D CRB_FLAG -D TRAD_FLAG=1 $(ULT_BUILD_OPTION) -D PCH_SERVER_BIOS_FLAG=1 -D SUS_WELL_RESTORE=1 -D SERVER_BIOS_FLAG=1 -D PCH_SPT -D PURLEY_FLAG $(SPARING_SCRATCHPAD_OPTION) $(TRACE_HUB_DEBUG_BUILD_OPTIONS) $(TRACE_HUB_INIT_BUILD_OPTIONS) -D MAX_SOCKET=2 -D EFI_PCI_IOV_SUPPORT -D WHEA_SUPPORT -D SKX_HOST -D CLX_HOST -D SERIAL_DBG_MSG=1 +# ## MSFT:DEBUG_VS2015x86_IA32_OBJCOPY_FLAGS = objcopy not needed for +# ## MSFT:DEBUG_VS2015x86_IA32_MAKE_FLAGS = /nologo +# ## MSFT:DEBUG_VS2015x86_IA32_ASMLINK_FLAGS = /nologo /tiny +# ## MSFT:DEBUG_VS2015x86_IA32_NASM_FLAGS = -Ox -f win32 -g -- 2.27.0.windows.1