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