]> git.proxmox.com Git - mirror_edk2.git/blame - Vlv2TbltDevicePkg/PlatformPkg.fdf
UefiCpuPkg/Microcode.c: Add verification before calculate CheckSum32
[mirror_edk2.git] / Vlv2TbltDevicePkg / PlatformPkg.fdf
CommitLineData
5e752084 1#/** @file\r
2# FDF file of Platform.\r
3#\r
54024039 4# Copyright (c) 2008 - 2018, Intel Corporation. All rights reserved.<BR>\r
5e752084 5#\r
6# This program and the accompanying materials are licensed and made available under\r
7# the terms and conditions of the BSD License that accompanies this distribution.\r
8# The full text of the license may be found at\r
9# http://opensource.org/licenses/bsd-license.php.\r
10#\r
11# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
12# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
13#\r
14#\r
15#**/\r
16\r
17[Defines]\r
18DEFINE FLASH_BASE = 0xFFC00000 #The base address of the 4Mb FLASH Device.\r
19DEFINE FLASH_SIZE = 0x00400000 #The flash size in bytes of the 4Mb FLASH Device.\r
20DEFINE FLASH_BLOCK_SIZE = 0x1000 #The block size in bytes of the 4Mb FLASH Device.\r
21DEFINE FLASH_NUM_BLOCKS = 0x400 #The number of blocks in 4Mb FLASH Device.\r
22DEFINE FLASH_AREA_BASE_ADDRESS = 0xFF800000\r
23DEFINE FLASH_AREA_SIZE = 0x00800000\r
24\r
25DEFINE FLASH_REGION_VLVMICROCODE_OFFSET = 0x00000000\r
26DEFINE FLASH_REGION_VLVMICROCODE_SIZE = 0x00040000\r
27DEFINE FLASH_REGION_VLVMICROCODE_BASE = 0xFFC00000\r
28\r
988715a3 29DEFINE FLASH_REGION_VPD_OFFSET = 0x00040000\r
5e752084 30DEFINE FLASH_REGION_VPD_SIZE = 0x0003E000\r
31\r
988715a3 32DEFINE FLASH_REGION_NVSTORAGE_SUBREGION_NV_FTW_WORKING_OFFSET = 0x0007E000\r
5e752084 33DEFINE FLASH_REGION_NVSTORAGE_SUBREGION_NV_FTW_WORKING_SIZE = 0x00002000\r
34\r
35\r
988715a3 36DEFINE FLASH_REGION_NVSTORAGE_SUBREGION_NV_FTW_SPARE_OFFSET = 0x00080000\r
5e752084 37DEFINE FLASH_REGION_NVSTORAGE_SUBREGION_NV_FTW_SPARE_SIZE = 0x00040000\r
38\r
39!if $(MINNOW2_FSP_BUILD) == TRUE\r
988715a3 40DEFINE FLASH_REGION_FSPBIN_OFFSET = 0x000C0000\r
5e752084 41DEFINE FLASH_REGION_FSPBIN_SIZE = 0x00048000\r
988715a3 42DEFINE FLASH_REGION_FSPBIN_BASE = 0xFFCC0000\r
5e752084 43\r
988715a3 44DEFINE FLASH_REGION_AZALIABIN_OFFSET = 0x00108000\r
5e752084 45DEFINE FLASH_REGION_AZALIABIN_SIZE = 0x00008000\r
988715a3 46DEFINE FLASH_REGION_AZALIABIN_BASE = 0xFFD08000\r
5e752084 47\r
48!endif\r
49\r
988715a3 50DEFINE FLASH_REGION_FVMAIN_OFFSET = 0x00110000\r
51DEFINE FLASH_REGION_FVMAIN_SIZE = 0x00210000\r
5e752084 52\r
988715a3 53DEFINE FLASH_REGION_FV_RECOVERY2_OFFSET = 0x00320000\r
54DEFINE FLASH_REGION_FV_RECOVERY2_SIZE = 0x00070000\r
5e752084 55\r
988715a3 56DEFINE FLASH_REGION_FV_RECOVERY_OFFSET = 0x00390000\r
57DEFINE FLASH_REGION_FV_RECOVERY_SIZE = 0x00070000\r
5e752084 58\r
59################################################################################\r
60#\r
61# FD Section\r
62# The [FD] Section is made up of the definition statements and a\r
63# description of what goes into the Flash Device Image. Each FD section\r
64# defines one flash "device" image. A flash device image may be one of\r
65# the following: Removable media bootable image (like a boot floppy\r
66# image,) an Option ROM image (that would be "flashed" into an add-in\r
67# card,) a System "Flash" image (that would be burned into a system's\r
68# flash) or an Update ("Capsule") image that will be used to update and\r
69# existing system flash.\r
70#\r
71################################################################################\r
72[FD.Vlv]\r
73BaseAddress = $(FLASH_BASE)|gPlatformModuleTokenSpaceGuid.PcdFlashAreaBaseAddress #The base address of the 3Mb FLASH Device.\r
74Size = $(FLASH_SIZE)|gPlatformModuleTokenSpaceGuid.PcdFlashAreaSize #The flash size in bytes of the 3Mb FLASH Device.\r
75ErasePolarity = 1\r
76BlockSize = $(FLASH_BLOCK_SIZE) #The block size in bytes of the 3Mb FLASH Device.\r
77NumBlocks = $(FLASH_NUM_BLOCKS) #The number of blocks in 3Mb FLASH Device.\r
78\r
79#\r
80#Flash location override based on actual flash map\r
81#\r
82SET gPlatformModuleTokenSpaceGuid.PcdFlashAreaBaseAddress = $(FLASH_AREA_BASE_ADDRESS)\r
83SET gPlatformModuleTokenSpaceGuid.PcdFlashAreaSize = $(FLASH_AREA_SIZE)\r
84\r
c5a59080
JY
85SET gUefiCpuPkgTokenSpaceGuid.PcdCpuMicrocodePatchAddress = $(FLASH_REGION_VLVMICROCODE_BASE) + 0x60\r
86SET gUefiCpuPkgTokenSpaceGuid.PcdCpuMicrocodePatchRegionSize = $(FLASH_REGION_VLVMICROCODE_SIZE) - 0x60\r
87\r
5e752084 88!if $(MINNOW2_FSP_BUILD) == TRUE\r
89# put below PCD value setting into dsc file\r
90#SET gFspWrapperTokenSpaceGuid.PcdCpuMicrocodePatchAddress = $(FLASH_REGION_VLVMICROCODE_BASE)\r
91#SET gFspWrapperTokenSpaceGuid.PcdCpuMicrocodePatchRegionSize = $(FLASH_REGION_VLVMICROCODE_SIZE)\r
92#SET gFspWrapperTokenSpaceGuid.PcdFlashMicroCodeOffset = 0x60\r
93#SET gFspWrapperTokenSpaceGuid.PcdFlashCodeCacheAddress = $(FLASH_AREA_BASE_ADDRESS)\r
94#SET gFspWrapperTokenSpaceGuid.PcdFlashCodeCacheSize = $(FLASH_AREA_SIZE)\r
95#SET gFspWrapperTokenSpaceGuid.PcdFlashFvFspBase = $(FLASH_REGION_FSPBIN_BASE)\r
96#SET gFspWrapperTokenSpaceGuid.PcdFlashFvFspSize = $(FLASH_REGION_FSPBIN_SIZE)\r
97\r
98!endif\r
99################################################################################\r
100#\r
101# Following are lists of FD Region layout which correspond to the locations of different\r
102# images within the flash device.\r
103#\r
104# Regions must be defined in ascending order and may not overlap.\r
105#\r
106# A Layout Region start with a eight digit hex offset (leading "0x" required) followed by\r
107# the pipe "|" character, followed by the size of the region, also in hex with the leading\r
108# "0x" characters. Like:\r
109# Offset|Size\r
110# PcdOffsetCName|PcdSizeCName\r
111# RegionType <FV, DATA, or FILE>\r
112# Fv Size can be adjusted; FVMAIN_COMPACT can be reduced to 0x120000, and FV_RECOVERY can be enlarged to 0x80000\r
113#\r
114################################################################################\r
115 #\r
116 # CPU Microcodes\r
117 #\r
118\r
119$(FLASH_REGION_VLVMICROCODE_OFFSET)|$(FLASH_REGION_VLVMICROCODE_SIZE)\r
120gPlatformModuleTokenSpaceGuid.PcdFlashMicroCodeAddress|gPlatformModuleTokenSpaceGuid.PcdFlashMicroCodeSize\r
121FV = MICROCODE_FV\r
122$(FLASH_REGION_VPD_OFFSET)|$(FLASH_REGION_VPD_SIZE)\r
123gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageVariableBase|gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageVariableSize\r
124#NV_VARIABLE_STORE\r
125DATA = {\r
126 ## This is the EFI_FIRMWARE_VOLUME_HEADER\r
127 # ZeroVector []\r
128 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\r
129 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\r
130 # FileSystemGuid: gEfiSystemNvDataFvGuid =\r
131 # { 0xFFF12B8D, 0x7696, 0x4C8B, { 0xA9, 0x85, 0x27, 0x47, 0x07, 0x5B, 0x4F, 0x50 }}\r
132 0x8D, 0x2B, 0xF1, 0xFF, 0x96, 0x76, 0x8B, 0x4C,\r
133 0xA9, 0x85, 0x27, 0x47, 0x07, 0x5B, 0x4F, 0x50,\r
134 # FvLength: 0x80000\r
135 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00,\r
136 #Signature "_FVH" #Attributes\r
137 0x5f, 0x46, 0x56, 0x48, 0xff, 0xfe, 0x04, 0x00,\r
138 #HeaderLength #CheckSum #ExtHeaderOffset #Reserved #Revision\r
139 0x48, 0x00, 0x2A, 0x09, 0x00, 0x00, 0x00, 0x02,\r
140 #Blockmap[0]: 7 Blocks * 0x10000 Bytes / Block\r
141 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00,\r
142 #Blockmap[1]: End\r
143 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\r
144 ## This is the VARIABLE_STORE_HEADER\r
145!if $(SECURE_BOOT_ENABLE) == TRUE\r
146 #Signature: gEfiAuthenticatedVariableGuid =\r
147 # { 0xaaf32c78, 0x947b, 0x439a, { 0xa1, 0x80, 0x2e, 0x14, 0x4e, 0xc3, 0x77, 0x92 }}\r
148 0x78, 0x2c, 0xf3, 0xaa, 0x7b, 0x94, 0x9a, 0x43,\r
149 0xa1, 0x80, 0x2e, 0x14, 0x4e, 0xc3, 0x77, 0x92,\r
150!else\r
151 #Signature: gEfiVariableGuid =\r
152 # { 0xddcf3616, 0x3275, 0x4164, { 0x98, 0xb6, 0xfe, 0x85, 0x70, 0x7f, 0xfe, 0x7d }}\r
153 0x16, 0x36, 0xcf, 0xdd, 0x75, 0x32, 0x64, 0x41,\r
154 0x98, 0xb6, 0xfe, 0x85, 0x70, 0x7f, 0xfe, 0x7d,\r
155!endif\r
156 #Size: 0x3E000 (gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageVariableSize) - 0x48 (size of EFI_FIRMWARE_VOLUME_HEADER) = 0x03DFB8\r
157 # This can speed up the Variable Dispatch a bit.\r
158 0xB8, 0xDF, 0x03, 0x00,\r
159 #FORMATTED: 0x5A #HEALTHY: 0xFE #Reserved: UINT16 #Reserved1: UINT32\r
160 0x5A, 0xFE, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00\r
161}\r
162\r
163\r
164$(FLASH_REGION_NVSTORAGE_SUBREGION_NV_FTW_WORKING_OFFSET)|$(FLASH_REGION_NVSTORAGE_SUBREGION_NV_FTW_WORKING_SIZE)\r
165gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageFtwWorkingBase|gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageFtwWorkingSize\r
166#NV_FTW_WORKING\r
167DATA = {\r
168 # EFI_FAULT_TOLERANT_WORKING_BLOCK_HEADER->Signature = gEdkiiWorkingBlockSignatureGuid =\r
169 # { 0x9e58292b, 0x7c68, 0x497d, { 0xa0, 0xce, 0x65, 0x0, 0xfd, 0x9f, 0x1b, 0x95 }}\r
170 0x2B, 0x29, 0x58, 0x9E, 0x68, 0x7C, 0x7D, 0x49,\r
171 0xA0, 0xCE, 0x65, 0x0, 0xFD, 0x9F, 0x1B, 0x95,\r
172\r
173 # Crc:UINT32 #WorkingBlockValid:1, WorkingBlockInvalid:1, Reserved\r
174 0xE2, 0x33, 0xF2, 0x3, 0xFE, 0xFF, 0xFF, 0xFF,\r
175 # WriteQueueSize: UINT64 #Size: 0x2000 - 0x20 (FTW_WORKING_HEADER) = 0x1FE0\r
176 0xE0, 0x1F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00\r
177}\r
178\r
179$(FLASH_REGION_NVSTORAGE_SUBREGION_NV_FTW_SPARE_OFFSET)|$(FLASH_REGION_NVSTORAGE_SUBREGION_NV_FTW_SPARE_SIZE)\r
180gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageFtwSpareBase|gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageFtwSpareSize\r
181\r
182!if $(MINNOW2_FSP_BUILD) == TRUE\r
183\r
184 $(FLASH_REGION_FSPBIN_OFFSET)|$(FLASH_REGION_FSPBIN_SIZE)\r
185 gFspWrapperTokenSpaceGuid.PcdFlashFvFspBase|gFspWrapperTokenSpaceGuid.PcdFlashFvFspSize\r
186 FILE = Vlv2MiscBinariesPkg/FspBinary/FvFsp.bin\r
187\r
188\r
189 $(FLASH_REGION_AZALIABIN_OFFSET)|$(FLASH_REGION_AZALIABIN_SIZE)\r
190 FILE = Vlv2TbltDevicePkg/FspAzaliaConfigData/AzaliaConfig.bin\r
191\r
192!endif\r
193\r
194 #\r
195 # Main Block\r
196 #\r
197$(FLASH_REGION_FVMAIN_OFFSET)|$(FLASH_REGION_FVMAIN_SIZE)\r
198gPlatformModuleTokenSpaceGuid.PcdFlashFvMainBase|gPlatformModuleTokenSpaceGuid.PcdFlashFvMainSize\r
199FV = FVMAIN_COMPACT\r
200\r
201 #\r
202 # FV Recovery#2\r
203 #\r
204$(FLASH_REGION_FV_RECOVERY2_OFFSET)|$(FLASH_REGION_FV_RECOVERY2_SIZE)\r
205gPlatformModuleTokenSpaceGuid.PcdFlashFvRecovery2Base|gPlatformModuleTokenSpaceGuid.PcdFlashFvRecovery2Size\r
206FV = FVRECOVERY2\r
207\r
208 #\r
209 # FV Recovery\r
210 #\r
211$(FLASH_REGION_FV_RECOVERY_OFFSET)|$(FLASH_REGION_FV_RECOVERY_SIZE)\r
212gPlatformModuleTokenSpaceGuid.PcdFlashFvRecoveryBase|gPlatformModuleTokenSpaceGuid.PcdFlashFvRecoverySize\r
213FV = FVRECOVERY\r
214\r
215################################################################################\r
216#\r
217# FV Section\r
218#\r
219# [FV] section is used to define what components or modules are placed within a flash\r
220# device file. This section also defines order the components and modules are positioned\r
221# within the image. The [FV] section consists of define statements, set statements and\r
222# module statements.\r
223#\r
224################################################################################\r
225[FV.MICROCODE_FV]\r
226BlockSize = $(FLASH_BLOCK_SIZE)\r
227FvAlignment = 16\r
228ERASE_POLARITY = 1\r
229MEMORY_MAPPED = TRUE\r
230STICKY_WRITE = TRUE\r
231LOCK_CAP = TRUE\r
232LOCK_STATUS = FALSE\r
233WRITE_DISABLED_CAP = TRUE\r
234WRITE_ENABLED_CAP = TRUE\r
235WRITE_STATUS = TRUE\r
236WRITE_LOCK_CAP = TRUE\r
237WRITE_LOCK_STATUS = TRUE\r
238READ_DISABLED_CAP = TRUE\r
239READ_ENABLED_CAP = TRUE\r
240READ_STATUS = TRUE\r
241READ_LOCK_CAP = TRUE\r
242READ_LOCK_STATUS = TRUE\r
243\r
244FILE RAW = 197DB236-F856-4924-90F8-CDF12FB875F3 {\r
1aa9314e 245 $(OUTPUT_DIRECTORY)/$(TARGET)_$(TOOL_CHAIN_TAG)/$(DXE_ARCHITECTURE)/MicrocodeUpdates.bin\r
5e752084 246}\r
247\r
c5a59080
JY
248!if $(RECOVERY_ENABLE)\r
249[FV.FVRECOVERY_COMPONENTS]\r
250FvAlignment = 16 #FV alignment and FV attributes setting.\r
251ERASE_POLARITY = 1\r
252MEMORY_MAPPED = TRUE\r
253STICKY_WRITE = TRUE\r
254LOCK_CAP = TRUE\r
255LOCK_STATUS = TRUE\r
256WRITE_DISABLED_CAP = TRUE\r
257WRITE_ENABLED_CAP = TRUE\r
258WRITE_STATUS = TRUE\r
259WRITE_LOCK_CAP = TRUE\r
260WRITE_LOCK_STATUS = TRUE\r
261READ_DISABLED_CAP = TRUE\r
262READ_ENABLED_CAP = TRUE\r
263READ_STATUS = TRUE\r
264READ_LOCK_CAP = TRUE\r
265READ_LOCK_STATUS = TRUE\r
266\r
267INF RuleOverride = BINARY $(PLATFORM_BINARY_PACKAGE)/$(DXE_ARCHITECTURE)$(TARGET)/IA32/PchUsb.inf\r
268INF MdeModulePkg/Bus/Pci/EhciPei/EhciPei.inf\r
269INF MdeModulePkg/Bus/Usb/UsbBusPei/UsbBusPei.inf\r
270INF MdeModulePkg/Bus/Usb/UsbBotPei/UsbBotPei.inf\r
271INF FatPkg/FatPei/FatPei.inf\r
272INF MdeModulePkg/Universal/Disk/CdExpressPei/CdExpressPei.inf\r
273INF SignedCapsulePkg/Universal/RecoveryModuleLoadPei/RecoveryModuleLoadPei.inf\r
274!endif\r
275\r
5e752084 276################################################################################\r
277#\r
278# FV Section\r
279#\r
280# [FV] section is used to define what components or modules are placed within a flash\r
281# device file. This section also defines order the components and modules are positioned\r
282# within the image. The [FV] section consists of define statements, set statements and\r
283# module statements.\r
284#\r
285################################################################################\r
286[FV.FVRECOVERY2]\r
287BlockSize = $(FLASH_BLOCK_SIZE)\r
288FvAlignment = 16 #FV alignment and FV attributes setting.\r
289ERASE_POLARITY = 1\r
290MEMORY_MAPPED = TRUE\r
291STICKY_WRITE = TRUE\r
292LOCK_CAP = TRUE\r
293LOCK_STATUS = TRUE\r
294WRITE_DISABLED_CAP = TRUE\r
295WRITE_ENABLED_CAP = TRUE\r
296WRITE_STATUS = TRUE\r
297WRITE_LOCK_CAP = TRUE\r
298WRITE_LOCK_STATUS = TRUE\r
299READ_DISABLED_CAP = TRUE\r
300READ_ENABLED_CAP = TRUE\r
301READ_STATUS = TRUE\r
302READ_LOCK_CAP = TRUE\r
303READ_LOCK_STATUS = TRUE\r
304FvNameGuid = B73FE497-B92E-416e-8326-45AD0D270092\r
305\r
306\r
307\r
308INF $(PLATFORM_PACKAGE)/PlatformInitPei/PlatformInitPei.inf\r
309\r
310!if $(MINNOW2_FSP_BUILD) == FALSE\r
311INF RuleOverride = BINARY $(PLATFORM_BINARY_PACKAGE)/$(DXE_ARCHITECTURE)$(TARGET)/IA32/PchSmbusArpDisabled.inf\r
312INF RuleOverride = BINARY $(PLATFORM_BINARY_PACKAGE)/$(DXE_ARCHITECTURE)$(TARGET)/IA32/VlvInitPeim.inf\r
313INF RuleOverride = BINARY $(PLATFORM_BINARY_PACKAGE)/$(DXE_ARCHITECTURE)$(TARGET)/IA32/PchInitPeim.inf\r
314INF RuleOverride = BINARY $(PLATFORM_BINARY_PACKAGE)/$(DXE_ARCHITECTURE)$(TARGET)/IA32/PchSpiPeim.inf\r
315INF RuleOverride = BINARY $(PLATFORM_BINARY_PACKAGE)/$(DXE_ARCHITECTURE)$(TARGET)/IA32/PeiSmmAccess.inf\r
316INF RuleOverride = BINARY $(PLATFORM_BINARY_PACKAGE)/$(DXE_ARCHITECTURE)$(TARGET)/IA32/PeiSmmControl.inf\r
317INF UefiCpuPkg/Universal/Acpi/S3Resume2Pei/S3Resume2Pei.inf\r
318INF RuleOverride = BINARY $(PLATFORM_BINARY_PACKAGE)/$(DXE_ARCHITECTURE)$(TARGET)/IA32/MpS3.inf\r
319INF EdkCompatibilityPkg/Compatibility/AcpiVariableHobOnSmramReserveHobThunk/AcpiVariableHobOnSmramReserveHobThunk.inf\r
320!endif\r
321\r
98a88a76 322# INF RuleOverride = BINARY $(PLATFORM_BINARY_PACKAGE)/$(DXE_ARCHITECTURE)$(TARGET)/IA32/PiSmmCommunicationPei.inf\r
5e752084 323!if $(TPM_ENABLED) == TRUE\r
2e886a2e 324INF SecurityPkg/Tcg/Tcg2Config/Tcg2ConfigPei.inf\r
5e752084 325INF SecurityPkg/Tcg/TcgPei/TcgPei.inf\r
326INF SecurityPkg/Tcg/PhysicalPresencePei/PhysicalPresencePei.inf\r
327!endif\r
328!if $(FTPM_ENABLE) == TRUE\r
2e886a2e 329INF SecurityPkg/Tcg/Tcg2Pei/Tcg2Pei.inf #use PCD config\r
5e752084 330!endif\r
331INF MdeModulePkg/Core/DxeIplPeim/DxeIpl.inf\r
332\r
333!if $(ACPI50_ENABLE) == TRUE\r
334 INF MdeModulePkg/Universal/Acpi/FirmwarePerformanceDataTablePei/FirmwarePerformancePei.inf\r
335!endif\r
336!if $(PERFORMANCE_ENABLE) == TRUE\r
337INF MdeModulePkg/Universal/ReportStatusCodeRouter/Pei/ReportStatusCodeRouterPei.inf\r
338!endif\r
339\r
c5a59080
JY
340!if $(RECOVERY_ENABLE)\r
341FILE FV_IMAGE = 1E9D7604-EF45-46a0-BD8A-71AC78C17AC1 {\r
342 SECTION PEI_DEPEX_EXP = {gEfiPeiMemoryDiscoveredPpiGuid AND gEfiPeiBootInRecoveryModePpiGuid}\r
343 SECTION GUIDED EE4E5898-3914-4259-9D6E-DC7BD79403CF { # LZMA COMPRESS GUID\r
344 SECTION FV_IMAGE = FVRECOVERY_COMPONENTS\r
345 }\r
346}\r
347!endif\r
348\r
5e752084 349[FV.FVRECOVERY]\r
350BlockSize = $(FLASH_BLOCK_SIZE)\r
351FvAlignment = 16 #FV alignment and FV attributes setting.\r
352ERASE_POLARITY = 1\r
353MEMORY_MAPPED = TRUE\r
354STICKY_WRITE = TRUE\r
355LOCK_CAP = TRUE\r
356LOCK_STATUS = TRUE\r
357WRITE_DISABLED_CAP = TRUE\r
358WRITE_ENABLED_CAP = TRUE\r
359WRITE_STATUS = TRUE\r
360WRITE_LOCK_CAP = TRUE\r
361WRITE_LOCK_STATUS = TRUE\r
362READ_DISABLED_CAP = TRUE\r
363READ_ENABLED_CAP = TRUE\r
364READ_STATUS = TRUE\r
365READ_LOCK_CAP = TRUE\r
366READ_LOCK_STATUS = TRUE\r
367FvNameGuid = B73FE497-B92E-416e-8326-45AD0D270091\r
368\r
369\r
370!if $(MINNOW2_FSP_BUILD) == TRUE\r
371INF IntelFspWrapperPkg/FspWrapperSecCore/FspWrapperSecCore.inf\r
372!else\r
373INF RuleOverride = BINARY $(PLATFORM_BINARY_PACKAGE)/$(DXE_ARCHITECTURE)$(TARGET)/IA32/SecCore.inf\r
374!endif\r
375\r
376INF MdeModulePkg/Core/Pei/PeiMain.inf\r
377!if $(MINNOW2_FSP_BUILD) == TRUE\r
378INF Vlv2TbltDevicePkg/FspSupport/BootModePei/BootModePei.inf\r
379INF IntelFspWrapperPkg/FspInitPei/FspInitPei.inf\r
380!endif\r
381INF RuleOverride = BINARY $(PLATFORM_BINARY_PACKAGE)/$(DXE_ARCHITECTURE)$(TARGET)/IA32/CpuPeim.inf\r
382INF MdeModulePkg/Universal/FaultTolerantWritePei/FaultTolerantWritePei.inf\r
383INF MdeModulePkg/Universal/Variable/Pei/VariablePei.inf\r
384\r
385INF $(PLATFORM_PACKAGE)/PlatformPei/PlatformPei.inf\r
386\r
387!if $(MINNOW2_FSP_BUILD) == FALSE\r
388INF RuleOverride = BINARY $(PLATFORM_BINARY_PACKAGE)/$(DXE_ARCHITECTURE)$(TARGET)/IA32/SeCUma.inf\r
389!endif\r
390\r
391!if $(FTPM_ENABLE) == TRUE\r
392INF RuleOverride = BINARY $(PLATFORM_BINARY_PACKAGE)/$(DXE_ARCHITECTURE)$(TARGET)/IA32/fTPMInitPeim.inf\r
393!endif\r
394\r
395!if $(SOURCE_DEBUG_ENABLE) == TRUE\r
396 INF SourceLevelDebugPkg/DebugAgentPei/DebugAgentPei.inf\r
397!endif\r
398\r
399\r
400!if $(CAPSULE_ENABLE) == TRUE\r
401INF MdeModulePkg/Universal/CapsulePei/CapsulePei.inf\r
402!if $(DXE_ARCHITECTURE) == "X64"\r
403INF MdeModulePkg/Universal/CapsulePei/CapsuleX64.inf\r
404!endif\r
405!endif\r
406\r
407!if $(MINNOW2_FSP_BUILD) == FALSE\r
408!if $(PCIESC_ENABLE) == TRUE\r
409INF RuleOverride = BINARY $(PLATFORM_BINARY_PACKAGE)/$(DXE_ARCHITECTURE)$(TARGET)/IA32/PchEarlyInitPeim.inf\r
410!endif\r
411INF RuleOverride = BINARY $(PLATFORM_BINARY_PACKAGE)/$(DXE_ARCHITECTURE)$(TARGET)/IA32/MemoryInit.inf\r
412!endif\r
413\r
414INF MdeModulePkg/Universal/PCD/Pei/Pcd.inf\r
415\r
416[FV.FVMAIN]\r
417BlockSize = $(FLASH_BLOCK_SIZE)\r
418FvAlignment = 16\r
419ERASE_POLARITY = 1\r
420MEMORY_MAPPED = TRUE\r
421STICKY_WRITE = TRUE\r
422LOCK_CAP = TRUE\r
423LOCK_STATUS = TRUE\r
424WRITE_DISABLED_CAP = TRUE\r
425WRITE_ENABLED_CAP = TRUE\r
426WRITE_STATUS = TRUE\r
427WRITE_LOCK_CAP = TRUE\r
428WRITE_LOCK_STATUS = TRUE\r
429READ_DISABLED_CAP = TRUE\r
430READ_ENABLED_CAP = TRUE\r
431READ_STATUS = TRUE\r
432READ_LOCK_CAP = TRUE\r
433READ_LOCK_STATUS = TRUE\r
434FvNameGuid = A881D567-6CB0-4eee-8435-2E72D33E45B5\r
435\r
436APRIORI DXE {\r
437 INF MdeModulePkg/Universal/PCD/Dxe/Pcd.inf\r
438 INF MdeModulePkg/Universal/ReportStatusCodeRouter/RuntimeDxe/ReportStatusCodeRouterRuntimeDxe.inf\r
439 INF MdeModulePkg/Universal/StatusCodeHandler/RuntimeDxe/StatusCodeHandlerRuntimeDxe.inf\r
440 }\r
441\r
442FILE FREEFORM = C3E36D09-8294-4b97-A857-D5288FE33E28 {\r
443 SECTION RAW = $(OUTPUT_DIRECTORY)/$(TARGET)_$(TOOL_CHAIN_TAG)/$(DXE_ARCHITECTURE)/BiosId.bin\r
444 }\r
445\r
446 #\r
447 # EDK II Related Platform codes\r
448 #\r
449\r
450 !if $(MINNOW2_FSP_BUILD) == TRUE\r
451 INF IntelFspWrapperPkg/FspNotifyDxe/FspNotifyDxe.inf\r
452 !endif\r
453\r
454INF MdeModulePkg/Core/Dxe/DxeMain.inf\r
455INF MdeModulePkg/Universal/PCD/Dxe/Pcd.inf\r
456!if $(ACPI50_ENABLE) == TRUE\r
457INF MdeModulePkg/Universal/Acpi/FirmwarePerformanceDataTableDxe/FirmwarePerformanceDxe.inf\r
458INF MdeModulePkg/Universal/Acpi/FirmwarePerformanceDataTableSmm/FirmwarePerformanceSmm.inf\r
459!endif\r
460\r
461\r
462INF IntelFrameworkModulePkg/Universal/CpuIoDxe/CpuIoDxe.inf\r
463INF UefiCpuPkg/CpuIo2Dxe/CpuIo2Dxe.inf\r
464INF MdeModulePkg/Universal/ReportStatusCodeRouter/RuntimeDxe/ReportStatusCodeRouterRuntimeDxe.inf\r
465INF MdeModulePkg/Universal/StatusCodeHandler/RuntimeDxe/StatusCodeHandlerRuntimeDxe.inf\r
466INF MdeModulePkg/Universal/ReportStatusCodeRouter/Smm/ReportStatusCodeRouterSmm.inf\r
467INF MdeModulePkg/Universal/SecurityStubDxe/SecurityStubDxe.inf\r
468INF RuleOverride = BINARY $(PLATFORM_BINARY_PACKAGE)/$(DXE_ARCHITECTURE)$(TARGET)/$(DXE_ARCHITECTURE)/MpCpu.inf\r
469INF $(PLATFORM_PACKAGE)/Metronome/Metronome.inf\r
470INF IntelFrameworkModulePkg/Universal/BdsDxe/BdsDxe.inf\r
98a88a76 471INF USE=X64 MdeModulePkg/Logo/Logo.inf\r
5e752084 472INF MdeModulePkg/Universal/WatchdogTimerDxe/WatchdogTimer.inf\r
473INF MdeModulePkg/Core/RuntimeDxe/RuntimeDxe.inf\r
474INF MdeModulePkg/Universal/FaultTolerantWriteDxe/FaultTolerantWriteDxe.inf\r
475INF IntelFrameworkModulePkg/Universal/Acpi/AcpiS3SaveDxe/AcpiS3SaveDxe.inf\r
476\r
477INF MdeModulePkg/Universal/Variable/RuntimeDxe/VariableSmmRuntimeDxe.inf\r
478INF MdeModulePkg/Universal/Variable/RuntimeDxe/VariableSmm.inf\r
479INF $(PLATFORM_PACKAGE)/FvbRuntimeDxe/FvbSmm.inf\r
480INF MdeModulePkg/Universal/FaultTolerantWriteDxe/FaultTolerantWriteSmm.inf\r
481INF RuleOverride = BINARY $(PLATFORM_BINARY_PACKAGE)/$(DXE_ARCHITECTURE)$(TARGET)/$(DXE_ARCHITECTURE)/PchSpiSmm.inf\r
482!if $(SECURE_BOOT_ENABLE)\r
483INF SecurityPkg/VariableAuthenticated/SecureBootConfigDxe/SecureBootConfigDxe.inf\r
484!endif\r
485\r
486INF MdeModulePkg/Universal/CapsuleRuntimeDxe/CapsuleRuntimeDxe.inf\r
487\r
488INF MdeModulePkg/Universal/MonotonicCounterRuntimeDxe/MonotonicCounterRuntimeDxe.inf\r
489INF PcAtChipsetPkg/PcatRealTimeClockRuntimeDxe/PcatRealTimeClockRuntimeDxe.inf\r
490INF MdeModulePkg/Universal/DevicePathDxe/DevicePathDxe.inf\r
491INF $(PLATFORM_PACKAGE)/FvbRuntimeDxe/FvbRuntimeDxe.inf\r
492\r
493\r
494INF $(PLATFORM_PACKAGE)/PlatformSetupDxe/PlatformSetupDxe.inf\r
495\r
496!if $(DATAHUB_ENABLE) == TRUE\r
497INF IntelFrameworkModulePkg/Universal/DataHubDxe/DataHubDxe.inf\r
498!endif\r
499INF IntelFrameworkModulePkg/Universal/StatusCode/DatahubStatusCodeHandlerDxe/DatahubStatusCodeHandlerDxe.inf\r
500INF MdeModulePkg/Universal/MemoryTest/NullMemoryTestDxe/NullMemoryTestDxe.inf\r
501\r
502INF RuleOverride = BINARY $(PLATFORM_BINARY_PACKAGE)/$(DXE_ARCHITECTURE)$(TARGET)/$(DXE_ARCHITECTURE)/Dptf.inf\r
503\r
504 #\r
505 # EDK II Related Silicon codes\r
506 #\r
507INF RuleOverride = BINARY $(PLATFORM_BINARY_PACKAGE)/$(DXE_ARCHITECTURE)$(TARGET)/$(DXE_ARCHITECTURE)/PchS3SupportDxe.inf\r
508\r
509!if $(USE_HPET_TIMER) == TRUE\r
510INF PcAtChipsetPkg/HpetTimerDxe/HpetTimerDxe.inf\r
511!else\r
512INF RuleOverride = BINARY $(PLATFORM_BINARY_PACKAGE)/$(DXE_ARCHITECTURE)$(TARGET)/$(DXE_ARCHITECTURE)/SmartTimer.inf\r
513!endif\r
514INF RuleOverride = BINARY $(PLATFORM_BINARY_PACKAGE)/$(DXE_ARCHITECTURE)$(TARGET)/$(DXE_ARCHITECTURE)/SmmControl.inf\r
515\r
516INF RuleOverride = BINARY $(PLATFORM_BINARY_PACKAGE)/$(DXE_ARCHITECTURE)$(TARGET)/$(DXE_ARCHITECTURE)/PchSmbusDxe.inf\r
517\r
518INF RuleOverride = BINARY $(PLATFORM_BINARY_PACKAGE)/$(DXE_ARCHITECTURE)$(TARGET)/$(DXE_ARCHITECTURE)/IntelPchLegacyInterrupt.inf\r
519INF RuleOverride = BINARY $(PLATFORM_BINARY_PACKAGE)/$(DXE_ARCHITECTURE)$(TARGET)/$(DXE_ARCHITECTURE)/PchReset.inf\r
520\r
521!if $(MINNOW2_FSP_BUILD) == FALSE\r
522INF RuleOverride = BINARY $(PLATFORM_BINARY_PACKAGE)/$(DXE_ARCHITECTURE)$(TARGET)/$(DXE_ARCHITECTURE)/PchInitDxe.inf\r
523!endif\r
524INF RuleOverride = BINARY $(PLATFORM_BINARY_PACKAGE)/$(DXE_ARCHITECTURE)$(TARGET)/$(DXE_ARCHITECTURE)/PchSmiDispatcher.inf\r
525!if $(PCIESC_ENABLE) == TRUE\r
526INF RuleOverride = BINARY $(PLATFORM_BINARY_PACKAGE)/$(DXE_ARCHITECTURE)$(TARGET)/$(DXE_ARCHITECTURE)/PchPcieSmm.inf\r
527!endif\r
528\r
529INF RuleOverride = BINARY $(PLATFORM_BINARY_PACKAGE)/$(DXE_ARCHITECTURE)$(TARGET)/$(DXE_ARCHITECTURE)/PchSpiRuntime.inf\r
530INF RuleOverride = BINARY $(PLATFORM_BINARY_PACKAGE)/$(DXE_ARCHITECTURE)$(TARGET)/$(DXE_ARCHITECTURE)/PchPolicyInitDxe.inf\r
531INF RuleOverride = BINARY $(PLATFORM_BINARY_PACKAGE)/$(DXE_ARCHITECTURE)$(TARGET)/$(DXE_ARCHITECTURE)/PchBiosWriteProtect.inf\r
532INF RuleOverride = BINARY $(PLATFORM_BINARY_PACKAGE)/$(DXE_ARCHITECTURE)$(TARGET)/$(DXE_ARCHITECTURE)/SmmAccess.inf\r
533INF RuleOverride = BINARY $(PLATFORM_BINARY_PACKAGE)/$(DXE_ARCHITECTURE)$(TARGET)/$(DXE_ARCHITECTURE)/PciHostBridge.inf\r
534!if $(MINNOW2_FSP_BUILD) == FALSE\r
535INF RuleOverride = BINARY $(PLATFORM_BINARY_PACKAGE)/$(DXE_ARCHITECTURE)$(TARGET)/$(DXE_ARCHITECTURE)/VlvInitDxe.inf\r
536!else\r
537INF IntelFrameworkModulePkg/Universal/LegacyRegionDxe/LegacyRegionDxe.inf\r
538INF Vlv2TbltDevicePkg/VlvPlatformInitDxe/VlvPlatformInitDxe.inf\r
539!endif\r
540!if $(MINNOW2_FSP_BUILD) == FALSE\r
541 !if $(SEC_ENABLE) == TRUE\r
542 INF RuleOverride = BINARY $(PLATFORM_BINARY_PACKAGE)/$(DXE_ARCHITECTURE)$(TARGET)/$(DXE_ARCHITECTURE)/HeciDrv.inf\r
543 INF RuleOverride = BINARY $(PLATFORM_BINARY_PACKAGE)/$(DXE_ARCHITECTURE)$(TARGET)/$(DXE_ARCHITECTURE)/SeCPolicyInitDxe.inf\r
544 !endif\r
545!endif\r
546!if $(TPM_ENABLED) == TRUE\r
547INF SecurityPkg/Tcg/TcgConfigDxe/TcgConfigDxe.inf\r
548INF SecurityPkg/Tcg/TcgDxe/TcgDxe.inf\r
549INF RuleOverride = DRIVER_ACPITABLE SecurityPkg/Tcg/TcgSmm/TcgSmm.inf\r
550!endif\r
551!if $(FTPM_ENABLE) == TRUE\r
552INF RuleOverride = BINARY $(PLATFORM_BINARY_PACKAGE)/$(DXE_ARCHITECTURE)$(TARGET)/IA32/Tpm2DeviceSeCPei.inf\r
553INF RuleOverride = BINARY $(PLATFORM_BINARY_PACKAGE)/$(DXE_ARCHITECTURE)$(TARGET)/$(DXE_ARCHITECTURE)/Tpm2DeviceSeCDxe.inf\r
554INF SecurityPkg/Tcg/MemoryOverwriteControl/TcgMor.inf\r
2e886a2e 555INF SecurityPkg/Tcg/Tcg2Dxe/Tcg2Dxe.inf\r
5e752084 556INF RuleOverride = BINARY $(PLATFORM_BINARY_PACKAGE)/$(DXE_ARCHITECTURE)$(TARGET)/$(DXE_ARCHITECTURE)/FtpmSmm.inf\r
557!endif\r
558\r
559#\r
560# EDK II Related Platform codes\r
561#\r
562INF $(PLATFORM_PACKAGE)/PlatformSmm/PlatformSmm.inf\r
563INF $(PLATFORM_PACKAGE)/PlatformInfoDxe/PlatformInfoDxe.inf\r
564INF $(PLATFORM_PACKAGE)/PlatformCpuInfoDxe/PlatformCpuInfoDxe.inf\r
565INF $(PLATFORM_PACKAGE)/PlatformDxe/PlatformDxe.inf\r
566INF $(PLATFORM_PACKAGE)/PciPlatform/PciPlatform.inf\r
567INF $(PLATFORM_PACKAGE)/SaveMemoryConfig/SaveMemoryConfig.inf\r
568INF RuleOverride = BINARY $(PLATFORM_BINARY_PACKAGE)/$(DXE_ARCHITECTURE)$(TARGET)/$(DXE_ARCHITECTURE)/PlatformCpuPolicy.inf\r
569INF $(PLATFORM_PACKAGE)/PpmPolicy/PpmPolicy.inf\r
570INF $(PLATFORM_PACKAGE)/SmramSaveInfoHandlerSmm/SmramSaveInfoHandlerSmm.inf\r
571!if $(GOP_DRIVER_ENABLE) == TRUE\r
572 INF $(PLATFORM_PACKAGE)/PlatformGopPolicy/PlatformGopPolicy.inf\r
573 FILE DRIVER = FF0C8745-3270-4439-B74F-3E45F8C77064 {\r
574 SECTION DXE_DEPEX_EXP = {gPlatformGOPPolicyGuid}\r
575 SECTION PE32 = Vlv2MiscBinariesPkg/GOP/7.2.1011/RELEASE_VS2008x86/$(DXE_ARCHITECTURE)/IntelGopDriver.efi\r
576 SECTION UI = "IntelGopDriver"\r
577}\r
578!endif\r
579\r
580INF RuleOverride = BINARY $(PLATFORM_BINARY_PACKAGE)/$(DXE_ARCHITECTURE)$(TARGET)/$(DXE_ARCHITECTURE)/PnpDxe.inf\r
581 #\r
582 # SMM\r
583 #\r
584INF MdeModulePkg/Core/PiSmmCore/PiSmmIpl.inf\r
585INF MdeModulePkg/Core/PiSmmCore/PiSmmCore.inf\r
f2ae1ef7 586INF UefiCpuPkg/PiSmmCpuDxeSmm/PiSmmCpuDxeSmm.inf\r
5e752084 587\r
588INF UefiCpuPkg/CpuIo2Smm/CpuIo2Smm.inf\r
589INF MdeModulePkg/Universal/LockBox/SmmLockBox/SmmLockBox.inf\r
f2ae1ef7 590INF UefiCpuPkg/PiSmmCommunication/PiSmmCommunicationSmm.inf\r
5e752084 591INF $(PLATFORM_PACKAGE)/SmmSwDispatch2OnSmmSwDispatchThunk/SmmSwDispatch2OnSmmSwDispatchThunk.inf\r
97e862bb
MK
592\r
593#\r
594# Remove the following two SMM binary modules that prevent platform from booting to UEFI Shell\r
595#\r
596#INF RuleOverride = BINARY $(PLATFORM_BINARY_PACKAGE)/$(DXE_ARCHITECTURE)$(TARGET)/$(DXE_ARCHITECTURE)/PowerManagement2.inf\r
597#INF RuleOverride = BINARY $(PLATFORM_BINARY_PACKAGE)/$(DXE_ARCHITECTURE)$(TARGET)/$(DXE_ARCHITECTURE)/DigitalThermalSensor.inf\r
598\r
5e752084 599 #\r
600 # ACPI\r
601 #\r
602INF MdeModulePkg/Universal/Acpi/BootScriptExecutorDxe/BootScriptExecutorDxe.inf\r
603INF $(PLATFORM_PACKAGE)/BootScriptSaveDxe/BootScriptSaveDxe.inf\r
604INF IntelFrameworkModulePkg/Universal/Acpi/AcpiSupportDxe/AcpiSupportDxe.inf\r
605INF RuleOverride = ACPITABLE2 Vlv2DeviceRefCodePkg/ValleyView2Soc/CPU/PowerManagement/AcpiTables/PowerManagementAcpiTables.inf\r
606\r
607INF RuleOverride = ACPITABLE $(PLATFORM_RC_PACKAGE)/AcpiTablesPCAT/AcpiTables.inf\r
608\r
609INF $(PLATFORM_PACKAGE)/AcpiPlatform/AcpiPlatform.inf\r
610\r
98a88a76
KM
611INF MdeModulePkg/Universal/Acpi/BootGraphicsResourceTableDxe/BootGraphicsResourceTableDxe.inf\r
612\r
5e752084 613 #\r
614 # PCI\r
615 #\r
616INF MdeModulePkg/Bus/Pci/PciBusDxe/PciBusDxe.inf\r
617\r
618INF RuleOverride = BINARY $(PLATFORM_BINARY_PACKAGE)/$(DXE_ARCHITECTURE)$(TARGET)/$(DXE_ARCHITECTURE)/ISPDxe.inf\r
619\r
620\r
621#\r
622# ISA\r
623#\r
624INF $(PLATFORM_PACKAGE)/Wpce791/Wpce791.inf\r
625INF IntelFrameworkModulePkg/Bus/Isa/IsaBusDxe/IsaBusDxe.inf\r
626INF IntelFrameworkModulePkg/Bus/Isa/IsaIoDxe/IsaIoDxe.inf\r
627!if $(SOURCE_DEBUG_ENABLE) != TRUE\r
628INF IntelFrameworkModulePkg/Bus/Isa/IsaSerialDxe/IsaSerialDxe.inf\r
629!endif\r
630#INF IntelFrameworkModulePkg/Bus/Isa/Ps2MouseDxe/Ps2MouseDxe.inf\r
631#INF IntelFrameworkModulePkg/Bus/Isa/Ps2KeyboardDxe/Ps2keyboardDxe.inf\r
632\r
633#\r
634# SDIO\r
635#\r
98a88a76
KM
636#INF RuleOverride = BINARY $(PLATFORM_BINARY_PACKAGE)/$(DXE_ARCHITECTURE)$(TARGET)/$(DXE_ARCHITECTURE)/MmcHost.inf\r
637#INF RuleOverride = BINARY $(PLATFORM_BINARY_PACKAGE)/$(DXE_ARCHITECTURE)$(TARGET)/$(DXE_ARCHITECTURE)/MmcMediaDevice.inf\r
5e752084 638#\r
639# IDE/SCSI/AHCI\r
640#\r
641INF MdeModulePkg/Universal/Disk/DiskIoDxe/DiskIoDxe.inf\r
642\r
643INF MdeModulePkg/Universal/Disk/PartitionDxe/PartitionDxe.inf\r
644\r
645INF MdeModulePkg/Universal/Disk/UnicodeCollation/EnglishDxe/EnglishDxe.inf\r
646!if $(SATA_ENABLE) == TRUE\r
647INF RuleOverride = BINARY $(PLATFORM_BINARY_PACKAGE)/$(DXE_ARCHITECTURE)$(TARGET)/$(DXE_ARCHITECTURE)/SataController.inf\r
648#\r
649\r
650#\r
651INF MdeModulePkg/Bus/Ata/AtaBusDxe/AtaBusDxe.inf\r
652INF MdeModulePkg/Bus/Ata/AtaAtapiPassThru/AtaAtapiPassThru.inf\r
653!if $(SCSI_ENABLE) == TRUE\r
654INF MdeModulePkg/Bus/Scsi/ScsiBusDxe/ScsiBusDxe.inf\r
655INF MdeModulePkg/Bus/Scsi/ScsiDiskDxe/ScsiDiskDxe.inf\r
656!endif\r
657#\r
658!endif\r
659# Console\r
660#\r
661INF MdeModulePkg/Universal/Console/ConPlatformDxe/ConPlatformDxe.inf\r
662INF MdeModulePkg/Universal/Console/ConSplitterDxe/ConSplitterDxe.inf\r
663INF MdeModulePkg/Universal/Console/GraphicsConsoleDxe/GraphicsConsoleDxe.inf\r
664INF IntelFrameworkModulePkg/Universal/Console/VgaClassDxe/VgaClassDxe.inf\r
665INF MdeModulePkg/Universal/Console/TerminalDxe/TerminalDxe.inf\r
666INF MdeModulePkg/Universal/HiiDatabaseDxe/HiiDatabaseDxe.inf\r
667INF MdeModulePkg/Universal/DisplayEngineDxe/DisplayEngineDxe.inf\r
668INF MdeModulePkg/Universal/SetupBrowserDxe/SetupBrowserDxe.inf\r
669 #\r
670 # USB\r
671 #\r
672!if $(USB_ENABLE) == TRUE\r
673INF MdeModulePkg/Bus/Pci/EhciDxe/EhciDxe.inf\r
674INF MdeModulePkg/Bus/Pci/UhciDxe/UhciDxe.inf\r
675INF MdeModulePkg/Bus/Usb/UsbMassStorageDxe/UsbMassStorageDxe.inf\r
676INF MdeModulePkg/Bus/Usb/UsbKbDxe/UsbKbDxe.inf\r
677INF MdeModulePkg/Bus/Usb/UsbMouseDxe/UsbMouseDxe.inf\r
678INF MdeModulePkg/Bus/Usb/UsbBusDxe/UsbBusDxe.inf\r
679INF MdeModulePkg/Bus/Pci/XhciDxe/XhciDxe.inf\r
680!endif\r
681\r
682 #\r
683 # ECP\r
684 #\r
685INF EdkCompatibilityPkg/Compatibility/LegacyRegion2OnLegacyRegionThunk/LegacyRegion2OnLegacyRegionThunk.inf\r
686INF EdkCompatibilityPkg/Compatibility/SmmBaseOnSmmBase2Thunk/SmmBaseOnSmmBase2Thunk.inf\r
687INF EdkCompatibilityPkg/Compatibility/SmmBaseHelper/SmmBaseHelper.inf\r
688INF EdkCompatibilityPkg/Compatibility/SmmAccess2OnSmmAccessThunk/SmmAccess2OnSmmAccessThunk.inf\r
689INF EdkCompatibilityPkg/Compatibility/SmmControl2OnSmmControlThunk/SmmControl2OnSmmControlThunk.inf\r
690INF EdkCompatibilityPkg/Compatibility/FvOnFv2Thunk/FvOnFv2Thunk.inf\r
691 #\r
692 # SMBIOS\r
693 #\r
694INF MdeModulePkg/Universal/SmbiosDxe/SmbiosDxe.inf\r
695INF $(PLATFORM_PACKAGE)/SmBiosMiscDxe/SmBiosMiscDxe.inf\r
696\r
697INF RuleOverride = BINARY $(PLATFORM_BINARY_PACKAGE)/$(DXE_ARCHITECTURE)$(TARGET)/$(DXE_ARCHITECTURE)/SmbiosMemory.inf\r
698\r
699 #\r
700 # Legacy Modules\r
701 #\r
702INF PcAtChipsetPkg/8259InterruptControllerDxe/8259.inf\r
703\r
704#\r
705# FAT file system\r
706#\r
707INF FatPkg/EnhancedFatDxe/Fat.inf\r
708\r
709#\r
710# UEFI Shell\r
711#\r
2840bb51 712INF ShellPkg/Application/Shell/Shell.inf\r
5e752084 713\r
7a0e4f8e
RN
714#\r
715# dp command\r
716#\r
717!if $(PERFORMANCE_ENABLE) == TRUE\r
718INF ShellPkg/DynamicCommand/DpDynamicCommand/DpDynamicCommand.inf\r
719!endif\r
5e752084 720\r
721!if $(GOP_DRIVER_ENABLE) == TRUE\r
722FILE FREEFORM = 878AC2CC-5343-46F2-B563-51F89DAF56BA {\r
723 SECTION RAW = Vlv2MiscBinariesPkg/GOP/7.2.1011/VBT/MNW2/Vbt.bin\r
724 SECTION UI = "IntelGopVbt"\r
725}\r
726!endif\r
727\r
728#\r
729# Network Modules\r
730#\r
731!if $(NETWORK_ENABLE) == TRUE\r
732 FILE DRIVER = 22DE1691-D65D-456a-993E-A253DD1F308C {\r
733 SECTION PE32 = Vlv2MiscBinariesPkg/UNDI/RtkUndiDxe/$(DXE_ARCHITECTURE)/RtkUndiDxe.efi\r
734 SECTION UI = "UNDI"\r
735 }\r
736 INF MdeModulePkg/Universal/Network/SnpDxe/SnpDxe.inf\r
737 INF MdeModulePkg/Universal/Network/DpcDxe/DpcDxe.inf\r
738 INF MdeModulePkg/Universal/Network/MnpDxe/MnpDxe.inf\r
739 INF MdeModulePkg/Universal/Network/ArpDxe/ArpDxe.inf\r
740 INF MdeModulePkg/Universal/Network/Ip4Dxe/Ip4Dxe.inf\r
741 INF MdeModulePkg/Universal/Network/Udp4Dxe/Udp4Dxe.inf\r
742 INF MdeModulePkg/Universal/Network/Dhcp4Dxe/Dhcp4Dxe.inf\r
743 INF MdeModulePkg/Universal/Network/Mtftp4Dxe/Mtftp4Dxe.inf\r
5f137127
FS
744 INF NetworkPkg/UefiPxeBcDxe/UefiPxeBcDxe.inf\r
745 INF NetworkPkg/TcpDxe/TcpDxe.inf\r
5e752084 746 !if $(NETWORK_IP6_ENABLE) == TRUE\r
747 INF NetworkPkg/Ip6Dxe/Ip6Dxe.inf\r
748 INF NetworkPkg/Dhcp6Dxe/Dhcp6Dxe.inf\r
749 INF NetworkPkg/IpSecDxe/IpSecDxe.inf\r
750 INF NetworkPkg/Udp6Dxe/Udp6Dxe.inf\r
751 INF NetworkPkg/Mtftp6Dxe/Mtftp6Dxe.inf\r
752 !endif\r
5e752084 753 !if $(NETWORK_VLAN_ENABLE) == TRUE\r
754 INF MdeModulePkg/Universal/Network/VlanConfigDxe/VlanConfigDxe.inf\r
755 !endif\r
756 !if $(NETWORK_ISCSI_ENABLE) == TRUE\r
5e752084 757 INF NetworkPkg/IScsiDxe/IScsiDxe.inf\r
5e752084 758 !endif\r
759!endif\r
760\r
c5a59080 761!if $(CAPSULE_ENABLE)\r
1aa9314e
MK
762INF MdeModulePkg/Universal/EsrtFmpDxe/EsrtFmpDxe.inf\r
763\r
764#\r
765# Minnow Max System Firmware FMP\r
766#\r
767INF FILE_GUID = $(FMP_MINNOW_MAX_SYSTEM) FmpDevicePkg/FmpDxe/FmpDxe.inf\r
768\r
769#\r
770# Sample Device FMP\r
771#\r
772INF FILE_GUID = $(FMP_GREEN_SAMPLE_DEVICE) FmpDevicePkg/FmpDxe/FmpDxe.inf\r
773INF FILE_GUID = $(FMP_BLUE_SAMPLE_DEVICE) FmpDevicePkg/FmpDxe/FmpDxe.inf\r
774INF FILE_GUID = $(FMP_RED_SAMPLE_DEVICE) FmpDevicePkg/FmpDxe/FmpDxe.inf\r
775\r
c5a59080 776!endif\r
1aa9314e 777\r
c5a59080 778!if $(MICOCODE_CAPSULE_ENABLE)\r
1aa9314e 779INF IntelSiliconPkg/Feature/Capsule/MicrocodeUpdateDxe/MicrocodeUpdateDxe.inf\r
c5a59080
JY
780!endif\r
781\r
782!if $(RECOVERY_ENABLE)\r
783FILE FREEFORM = PCD(gEfiSignedCapsulePkgTokenSpaceGuid.PcdEdkiiRsa2048Sha256TestPublicKeyFileGuid) {\r
784 SECTION RAW = BaseTools/Source/Python/Rsa2048Sha256Sign/TestSigningPublicKey.bin\r
785 SECTION UI = "Rsa2048Sha256TestSigningPublicKey"\r
786 }\r
787!endif\r
788\r
5e752084 789[FV.FVMAIN_COMPACT]\r
790BlockSize = $(FLASH_BLOCK_SIZE)\r
791FvAlignment = 16\r
792ERASE_POLARITY = 1\r
793MEMORY_MAPPED = TRUE\r
794STICKY_WRITE = TRUE\r
795LOCK_CAP = TRUE\r
796LOCK_STATUS = TRUE\r
797WRITE_DISABLED_CAP = TRUE\r
798WRITE_ENABLED_CAP = TRUE\r
799WRITE_STATUS = TRUE\r
800WRITE_LOCK_CAP = TRUE\r
801WRITE_LOCK_STATUS = TRUE\r
802READ_DISABLED_CAP = TRUE\r
803READ_ENABLED_CAP = TRUE\r
804READ_STATUS = TRUE\r
805READ_LOCK_CAP = TRUE\r
806READ_LOCK_STATUS = TRUE\r
807\r
808\r
809\r
810FILE FV_IMAGE = 9E21FD93-9C72-4c15-8C4B-E77F1DB2D792 {\r
811!if $(LZMA_ENABLE) == TRUE\r
812# LZMA Compress\r
813 SECTION GUIDED EE4E5898-3914-4259-9D6E-DC7BD79403CF PROCESSING_REQUIRED = TRUE {\r
814 SECTION FV_IMAGE = FVMAIN\r
815 }\r
816!else\r
817!if $(DXE_COMPRESS_ENABLE) == TRUE\r
818# Tiano Compress\r
819 SECTION GUIDED A31280AD-481E-41B6-95E8-127F4C984779 PROCESSING_REQUIRED = TRUE {\r
820 SECTION FV_IMAGE = FVMAIN\r
821 }\r
822!else\r
823# No Compress\r
824 SECTION COMPRESS PI_NONE {\r
825 SECTION FV_IMAGE = FVMAIN\r
826 }\r
827!endif\r
828!endif\r
829 }\r
830\r
831[FV.SETUP_DATA]\r
832BlockSize = $(FLASH_BLOCK_SIZE)\r
833#NumBlocks = 0x10\r
834FvAlignment = 16\r
835ERASE_POLARITY = 1\r
836MEMORY_MAPPED = TRUE\r
837STICKY_WRITE = TRUE\r
838LOCK_CAP = TRUE\r
839LOCK_STATUS = TRUE\r
840WRITE_DISABLED_CAP = TRUE\r
841WRITE_ENABLED_CAP = TRUE\r
842WRITE_STATUS = TRUE\r
843WRITE_LOCK_CAP = TRUE\r
844WRITE_LOCK_STATUS = TRUE\r
845READ_DISABLED_CAP = TRUE\r
846READ_ENABLED_CAP = TRUE\r
847READ_STATUS = TRUE\r
848READ_LOCK_CAP = TRUE\r
849READ_LOCK_STATUS = TRUE\r
850\r
5e752084 851################################################################################\r
852#\r
853# Rules are use with the [FV] section's module INF type to define\r
854# how an FFS file is created for a given INF file. The following Rule are the default\r
855# rules for the different module type. User can add the customized rules to define the\r
856# content of the FFS file.\r
857#\r
858################################################################################\r
859[Rule.Common.SEC]\r
860 FILE SEC = $(NAMED_GUID) RELOCS_STRIPPED {\r
861 PE32 PE32 Align = 8 $(INF_OUTPUT)/$(MODULE_NAME).efi\r
862 RAW BIN Align = 16 |.com\r
863 }\r
864\r
865[Rule.Common.SEC.BINARY]\r
866 FILE SEC = $(NAMED_GUID) RELOCS_STRIPPED {\r
867 PE32 PE32 Align = 8 |.efi\r
868 RAW BIN Align = 16 |.com\r
869 }\r
870\r
871[Rule.Common.PEI_CORE]\r
872 FILE PEI_CORE = $(NAMED_GUID) {\r
873 PE32 PE32 Align = Auto $(INF_OUTPUT)/$(MODULE_NAME).efi\r
874 UI STRING="$(MODULE_NAME)" Optional\r
875 VERSION STRING="$(INF_VERSION)" Optional BUILD_NUM=$(BUILD_NUMBER)\r
876 }\r
877\r
878[Rule.Common.PEIM]\r
879 FILE PEIM = $(NAMED_GUID) {\r
880 PEI_DEPEX PEI_DEPEX Optional $(INF_OUTPUT)/$(MODULE_NAME).depex\r
881 PE32 PE32 Align = Auto $(INF_OUTPUT)/$(MODULE_NAME).efi\r
882 UI STRING="$(MODULE_NAME)" Optional\r
883 VERSION STRING="$(INF_VERSION)" Optional BUILD_NUM=$(BUILD_NUMBER)\r
884 }\r
885\r
886[Rule.Common.PEIM.BINARY]\r
887 FILE PEIM = $(NAMED_GUID) {\r
888 PEI_DEPEX PEI_DEPEX Optional |.depex\r
889 PE32 PE32 Align = Auto |.efi\r
890 UI STRING="$(MODULE_NAME)" Optional\r
891 VERSION STRING="$(INF_VERSION)" Optional BUILD_NUM=$(BUILD_NUMBER)\r
892 }\r
893\r
894[Rule.Common.PEIM.BIOSID]\r
895 FILE PEIM = $(NAMED_GUID) {\r
896 RAW BIN BiosId.bin\r
897 PEI_DEPEX PEI_DEPEX Optional $(INF_OUTPUT)/$(MODULE_NAME).depex\r
898 PE32 PE32 Align = Auto $(INF_OUTPUT)/$(MODULE_NAME).efi\r
899 UI STRING="$(MODULE_NAME)" Optional\r
900 VERSION STRING="$(INF_VERSION)" Optional BUILD_NUM=$(BUILD_NUMBER)\r
901 }\r
902\r
903[Rule.Common.USER_DEFINED.APINIT]\r
904 FILE RAW = $(NAMED_GUID) Fixed Align=4K {\r
905 RAW SEC_BIN |.com\r
906 }\r
907#cjia 2011-07-21\r
908[Rule.Common.USER_DEFINED.LEGACY16]\r
909 FILE FREEFORM = $(NAMED_GUID) {\r
910 UI STRING="$(MODULE_NAME)" Optional\r
911 RAW BIN |.bin\r
912 }\r
913#cjia\r
914\r
915[Rule.Common.USER_DEFINED.ASM16]\r
916 FILE FREEFORM = $(NAMED_GUID) {\r
917 UI STRING="$(MODULE_NAME)" Optional\r
918 RAW BIN |.com\r
919 }\r
920\r
921[Rule.Common.DXE_CORE]\r
922 FILE DXE_CORE = $(NAMED_GUID) {\r
923 PE32 PE32 $(INF_OUTPUT)/$(MODULE_NAME).efi\r
924 UI STRING="$(MODULE_NAME)" Optional\r
925 VERSION STRING="$(INF_VERSION)" Optional BUILD_NUM=$(BUILD_NUMBER)\r
926 }\r
927\r
928[Rule.Common.UEFI_DRIVER]\r
929 FILE DRIVER = $(NAMED_GUID) {\r
930 DXE_DEPEX DXE_DEPEX Optional $(INF_OUTPUT)/$(MODULE_NAME).depex\r
931 PE32 PE32 $(INF_OUTPUT)/$(MODULE_NAME).efi\r
932 UI STRING="$(MODULE_NAME)" Optional\r
933 VERSION STRING="$(INF_VERSION)" Optional BUILD_NUM=$(BUILD_NUMBER)\r
934 }\r
935\r
936[Rule.Common.UEFI_DRIVER.BINARY]\r
937 FILE DRIVER = $(NAMED_GUID) {\r
938 DXE_DEPEX DXE_DEPEX Optional |.depex\r
939 PE32 PE32 |.efi\r
940 UI STRING="$(MODULE_NAME)" Optional\r
941 VERSION STRING="$(INF_VERSION)" Optional BUILD_NUM=$(BUILD_NUMBER)\r
942 }\r
943\r
944[Rule.Common.UEFI_DRIVER.NATIVE_BINARY]\r
945 FILE DRIVER = $(NAMED_GUID) {\r
946 DXE_DEPEX DXE_DEPEX Optional $(WORKSPACE)/$(PLATFORM_PACKAGE)/IntelGopDepex/IntelGopDriver.depex\r
947 PE32 PE32 |.efi\r
948 UI STRING="$(MODULE_NAME)" Optional\r
949 VERSION STRING="$(INF_VERSION)" Optional BUILD_NUM=$(BUILD_NUMBER)\r
950 }\r
951\r
952[Rule.Common.DXE_DRIVER]\r
953 FILE DRIVER = $(NAMED_GUID) {\r
954 DXE_DEPEX DXE_DEPEX Optional $(INF_OUTPUT)/$(MODULE_NAME).depex\r
955 PE32 PE32 $(INF_OUTPUT)/$(MODULE_NAME).efi\r
956 UI STRING="$(MODULE_NAME)" Optional\r
957 VERSION STRING="$(INF_VERSION)" Optional BUILD_NUM=$(BUILD_NUMBER)\r
958 }\r
959\r
960[Rule.Common.DXE_DRIVER.BINARY]\r
961 FILE DRIVER = $(NAMED_GUID) {\r
962 DXE_DEPEX DXE_DEPEX Optional |.depex\r
963 PE32 PE32 |.efi\r
964 UI STRING="$(MODULE_NAME)" Optional\r
965 VERSION STRING="$(INF_VERSION)" Optional BUILD_NUM=$(BUILD_NUMBER)\r
966 }\r
967\r
968[Rule.Common.DXE_DRIVER.DRIVER_ACPITABLE]\r
969 FILE DRIVER = $(NAMED_GUID) {\r
970 DXE_DEPEX DXE_DEPEX Optional $(INF_OUTPUT)/$(MODULE_NAME).depex\r
971 PE32 PE32 $(INF_OUTPUT)/$(MODULE_NAME).efi\r
972 UI STRING="$(MODULE_NAME)" Optional\r
973 VERSION STRING="$(INF_VERSION)" Optional BUILD_NUM=$(BUILD_NUMBER)\r
974 RAW ACPI Optional |.acpi\r
975 RAW ASL Optional |.aml\r
976 }\r
977\r
978[Rule.Common.DXE_RUNTIME_DRIVER]\r
979 FILE DRIVER = $(NAMED_GUID) {\r
980 DXE_DEPEX DXE_DEPEX Optional $(INF_OUTPUT)/$(MODULE_NAME).depex\r
981 PE32 PE32 $(INF_OUTPUT)/$(MODULE_NAME).efi\r
982 UI STRING="$(MODULE_NAME)" Optional\r
983 VERSION STRING="$(INF_VERSION)" Optional BUILD_NUM=$(BUILD_NUMBER)\r
984 }\r
985\r
986[Rule.Common.DXE_RUNTIME_DRIVER.BINARY]\r
987 FILE DRIVER = $(NAMED_GUID) {\r
988 DXE_DEPEX DXE_DEPEX Optional |.depex\r
989 PE32 PE32 |.efi\r
990 UI STRING="$(MODULE_NAME)" Optional\r
991 VERSION STRING="$(INF_VERSION)" Optional BUILD_NUM=$(BUILD_NUMBER)\r
992 }\r
993\r
994[Rule.Common.DXE_SMM_DRIVER]\r
995 FILE SMM = $(NAMED_GUID) {\r
996 DXE_DEPEX DXE_DEPEX Optional $(INF_OUTPUT)/$(MODULE_NAME).depex\r
997 PE32 PE32 $(INF_OUTPUT)/$(MODULE_NAME).efi\r
998 UI STRING="$(MODULE_NAME)" Optional\r
999 VERSION STRING="$(INF_VERSION)" Optional BUILD_NUM=$(BUILD_NUMBER)\r
1000 }\r
1001\r
1002[Rule.Common.DXE_SMM_DRIVER.BINARY]\r
1003 FILE SMM = $(NAMED_GUID) {\r
1004 SMM_DEPEX SMM_DEPEX |.depex\r
1005 PE32 PE32 |.efi\r
1006 RAW BIN Optional |.aml\r
1007 UI STRING="$(MODULE_NAME)" Optional\r
1008 VERSION STRING="$(INF_VERSION)" Optional BUILD_NUM=$(BUILD_NUMBER)\r
1009 }\r
1010\r
1011[Rule.Common.DXE_SMM_DRIVER.DRIVER_ACPITABLE]\r
1012 FILE SMM = $(NAMED_GUID) {\r
1013 DXE_DEPEX DXE_DEPEX Optional $(INF_OUTPUT)/$(MODULE_NAME).depex\r
1014 PE32 PE32 $(INF_OUTPUT)/$(MODULE_NAME).efi\r
1015 UI STRING="$(MODULE_NAME)" Optional\r
1016 VERSION STRING="$(INF_VERSION)" Optional BUILD_NUM=$(BUILD_NUMBER)\r
1017 RAW ACPI Optional |.acpi\r
1018 RAW ASL Optional |.aml\r
1019 }\r
1020\r
1021[Rule.Common.SMM_CORE]\r
1022 FILE SMM_CORE = $(NAMED_GUID) {\r
1023 DXE_DEPEX DXE_DEPEX Optional $(INF_OUTPUT)/$(MODULE_NAME).depex\r
1024 PE32 PE32 $(INF_OUTPUT)/$(MODULE_NAME).efi\r
1025 UI STRING="$(MODULE_NAME)" Optional\r
1026 VERSION STRING="$(INF_VERSION)" Optional BUILD_NUM=$(BUILD_NUMBER)\r
1027 }\r
1028\r
1029[Rule.Common.SMM_CORE.BINARY]\r
1030 FILE SMM_CORE = $(NAMED_GUID) {\r
1031 DXE_DEPEX DXE_DEPEX Optional |.depex\r
1032 PE32 PE32 |.efi\r
1033 UI STRING="$(MODULE_NAME)" Optional\r
1034 VERSION STRING="$(INF_VERSION)" Optional BUILD_NUM=$(BUILD_NUMBER)\r
1035 }\r
1036\r
1037[Rule.Common.UEFI_APPLICATION]\r
1038 FILE APPLICATION = $(NAMED_GUID) {\r
1039 DXE_DEPEX DXE_DEPEX Optional $(INF_OUTPUT)/$(MODULE_NAME).depex\r
1040 PE32 PE32 $(INF_OUTPUT)/$(MODULE_NAME).efi\r
1041 UI STRING="$(MODULE_NAME)" Optional\r
1042 VERSION STRING="$(INF_VERSION)" Optional BUILD_NUM=$(BUILD_NUMBER)\r
1043 }\r
1044\r
1045[Rule.Common.UEFI_APPLICATION.UI]\r
1046 FILE APPLICATION = $(NAMED_GUID) {\r
1047 PE32 PE32 $(INF_OUTPUT)/$(MODULE_NAME).efi\r
1048 UI STRING="Enter Setup"\r
1049 VERSION STRING="$(INF_VERSION)" Optional BUILD_NUM=$(BUILD_NUMBER)\r
1050 }\r
1051\r
1052[Rule.Common.USER_DEFINED]\r
1053 FILE FREEFORM = $(NAMED_GUID) {\r
1054 UI STRING="$(MODULE_NAME)" Optional\r
1055 RAW BIN |.bin\r
1056 }\r
1057\r
98a88a76
KM
1058[Rule.Common.USER_DEFINED.BINARY]\r
1059 FILE FREEFORM = $(NAMED_GUID) {\r
1060 UI STRING="$(MODULE_NAME)" Optional\r
1061 RAW BIN |.bin\r
1062 }\r
1063\r
5e752084 1064[Rule.Common.USER_DEFINED.ACPITABLE]\r
1065 FILE FREEFORM = $(NAMED_GUID) {\r
1066 RAW ACPI Optional |.acpi\r
1067 RAW ASL Optional |.aml\r
1068 }\r
1069\r
1070[Rule.Common.USER_DEFINED.ACPITABLE2]\r
1071 FILE FREEFORM = $(NAMED_GUID) {\r
1072 RAW ASL Optional |.aml\r
1073 }\r
1074\r
1075[Rule.Common.ACPITABLE]\r
1076 FILE FREEFORM = $(NAMED_GUID) {\r
1077 RAW ACPI Optional |.acpi\r
1078 RAW ASL Optional |.aml\r
1079 }\r
1080\r
c5a59080
JY
1081[Rule.Common.PEIM.FMP_IMAGE_DESC]\r
1082 FILE PEIM = $(NAMED_GUID) {\r
1083 RAW BIN |.acpi\r
1084 PEI_DEPEX PEI_DEPEX Optional $(INF_OUTPUT)/$(MODULE_NAME).depex\r
1085 PE32 PE32 Align=4K $(INF_OUTPUT)/$(MODULE_NAME).efi\r
1086 UI STRING="$(MODULE_NAME)" Optional\r
1087 VERSION STRING="$(INF_VERSION)" Optional BUILD_NUM=$(BUILD_NUMBER)\r
1088 }\r