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