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