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