Home | History | Annotate | Download | only in Vlv2TbltDevicePkg
      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]
     18 DEFINE FLASH_BASE       = 0xFFC00000     #The base address of the 4Mb FLASH Device.
     19 DEFINE FLASH_SIZE       = 0x00400000     #The flash size in bytes of the 4Mb FLASH Device.
     20 DEFINE FLASH_BLOCK_SIZE = 0x1000        #The block size in bytes of the 4Mb FLASH Device.
     21 DEFINE FLASH_NUM_BLOCKS = 0x400           #The number of blocks in 4Mb FLASH Device.
     22 DEFINE FLASH_AREA_BASE_ADDRESS                                = 0xFF800000
     23 DEFINE FLASH_AREA_SIZE                                        = 0x00800000
     24 
     25 DEFINE FLASH_REGION_VLVMICROCODE_OFFSET                       = 0x00000000
     26 DEFINE FLASH_REGION_VLVMICROCODE_SIZE                         = 0x00040000
     27 DEFINE FLASH_REGION_VLVMICROCODE_BASE                         = 0xFFC00000
     28 
     29 DEFINE FLASH_REGION_VPD_OFFSET                                = 0x00040000
     30 DEFINE FLASH_REGION_VPD_SIZE                                  = 0x0003E000
     31 
     32 DEFINE FLASH_REGION_NVSTORAGE_SUBREGION_NV_FTW_WORKING_OFFSET = 0x0007E000
     33 DEFINE FLASH_REGION_NVSTORAGE_SUBREGION_NV_FTW_WORKING_SIZE   = 0x00002000
     34 
     35 
     36 DEFINE FLASH_REGION_NVSTORAGE_SUBREGION_NV_FTW_SPARE_OFFSET   = 0x00080000
     37 DEFINE FLASH_REGION_NVSTORAGE_SUBREGION_NV_FTW_SPARE_SIZE     = 0x00040000
     38 
     39 !if $(MINNOW2_FSP_BUILD) == TRUE
     40 DEFINE FLASH_REGION_FSPBIN_OFFSET                             = 0x000C0000
     41 DEFINE FLASH_REGION_FSPBIN_SIZE                               = 0x00048000
     42 DEFINE FLASH_REGION_FSPBIN_BASE                               = 0xFFCC0000
     43 
     44 DEFINE FLASH_REGION_AZALIABIN_OFFSET                          = 0x00108000
     45 DEFINE FLASH_REGION_AZALIABIN_SIZE                            = 0x00008000
     46 DEFINE FLASH_REGION_AZALIABIN_BASE                            = 0xFFD08000
     47 
     48 !endif
     49 
     50 DEFINE FLASH_REGION_FVMAIN_OFFSET                             = 0x00110000
     51 DEFINE FLASH_REGION_FVMAIN_SIZE                               = 0x00210000
     52 
     53 DEFINE FLASH_REGION_FV_RECOVERY2_OFFSET                       = 0x00320000
     54 DEFINE FLASH_REGION_FV_RECOVERY2_SIZE                         = 0x00070000
     55 
     56 DEFINE FLASH_REGION_FV_RECOVERY_OFFSET                        = 0x00390000
     57 DEFINE FLASH_REGION_FV_RECOVERY_SIZE                          = 0x00070000
     58 
     59 ################################################################################
     60 #
     61 # FD Section
     62 # The [FD] Section is made up of the definition statements and a
     63 # description of what goes into  the Flash Device Image.  Each FD section
     64 # defines one flash "device" image.  A flash device image may be one of
     65 # the following: Removable media bootable image (like a boot floppy
     66 # image,) an Option ROM image (that would be "flashed" into an add-in
     67 # card,) a System "Flash"  image (that would be burned into a system's
     68 # flash) or an Update ("Capsule") image that will be used to update and
     69 # existing system flash.
     70 #
     71 ################################################################################
     72 [FD.Vlv]
     73 BaseAddress   = $(FLASH_BASE)|gPlatformModuleTokenSpaceGuid.PcdFlashAreaBaseAddress #The base address of the 3Mb FLASH Device.
     74 Size          = $(FLASH_SIZE)|gPlatformModuleTokenSpaceGuid.PcdFlashAreaSize        #The flash size in bytes of the 3Mb FLASH Device.
     75 ErasePolarity = 1
     76 BlockSize     = $(FLASH_BLOCK_SIZE)          #The block size in bytes of the 3Mb FLASH Device.
     77 NumBlocks     = $(FLASH_NUM_BLOCKS)          #The number of blocks in 3Mb FLASH Device.
     78 
     79 #
     80 #Flash location override based on actual flash map
     81 #
     82 SET gPlatformModuleTokenSpaceGuid.PcdFlashAreaBaseAddress            = $(FLASH_AREA_BASE_ADDRESS)
     83 SET gPlatformModuleTokenSpaceGuid.PcdFlashAreaSize                   = $(FLASH_AREA_SIZE)
     84 
     85 SET gUefiCpuPkgTokenSpaceGuid.PcdCpuMicrocodePatchAddress = $(FLASH_REGION_VLVMICROCODE_BASE) + 0x60
     86 SET gUefiCpuPkgTokenSpaceGuid.PcdCpuMicrocodePatchRegionSize = $(FLASH_REGION_VLVMICROCODE_SIZE) - 0x60
     87 
     88 !if $(MINNOW2_FSP_BUILD) == TRUE
     89 # put below PCD value setting into dsc file
     90 #SET gFspWrapperTokenSpaceGuid.PcdCpuMicrocodePatchAddress                = $(FLASH_REGION_VLVMICROCODE_BASE)
     91 #SET gFspWrapperTokenSpaceGuid.PcdCpuMicrocodePatchRegionSize             = $(FLASH_REGION_VLVMICROCODE_SIZE)
     92 #SET gFspWrapperTokenSpaceGuid.PcdFlashMicroCodeOffset                    = 0x60
     93 #SET gFspWrapperTokenSpaceGuid.PcdFlashCodeCacheAddress                   = $(FLASH_AREA_BASE_ADDRESS)
     94 #SET gFspWrapperTokenSpaceGuid.PcdFlashCodeCacheSize                      = $(FLASH_AREA_SIZE)
     95 #SET gFspWrapperTokenSpaceGuid.PcdFlashFvFspBase                          = $(FLASH_REGION_FSPBIN_BASE)
     96 #SET gFspWrapperTokenSpaceGuid.PcdFlashFvFspSize                          = $(FLASH_REGION_FSPBIN_SIZE)
     97 
     98 !endif
     99 ################################################################################
    100 #
    101 # Following are lists of FD Region layout which correspond to the locations of different
    102 # images within the flash device.
    103 #
    104 # Regions must be defined in ascending order and may not overlap.
    105 #
    106 # A Layout Region start with a eight digit hex offset (leading "0x" required) followed by
    107 # the pipe "|" character, followed by the size of the region, also in hex with the leading
    108 # "0x" characters. Like:
    109 # Offset|Size
    110 # PcdOffsetCName|PcdSizeCName
    111 # RegionType <FV, DATA, or FILE>
    112 # Fv Size can be adjusted; FVMAIN_COMPACT can be reduced to 0x120000, and FV_RECOVERY can be enlarged to 0x80000
    113 #
    114 ################################################################################
    115   #
    116   # CPU Microcodes
    117   #
    118 
    119 $(FLASH_REGION_VLVMICROCODE_OFFSET)|$(FLASH_REGION_VLVMICROCODE_SIZE)
    120 gPlatformModuleTokenSpaceGuid.PcdFlashMicroCodeAddress|gPlatformModuleTokenSpaceGuid.PcdFlashMicroCodeSize
    121 FV = MICROCODE_FV
    122 $(FLASH_REGION_VPD_OFFSET)|$(FLASH_REGION_VPD_SIZE)
    123 gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageVariableBase|gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageVariableSize
    124 #NV_VARIABLE_STORE
    125 DATA = {
    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)
    165 gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageFtwWorkingBase|gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageFtwWorkingSize
    166 #NV_FTW_WORKING
    167 DATA = {
    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)
    180 gEfiMdeModulePkgTokenSpaceGuid.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)
    198 gPlatformModuleTokenSpaceGuid.PcdFlashFvMainBase|gPlatformModuleTokenSpaceGuid.PcdFlashFvMainSize
    199 FV = FVMAIN_COMPACT
    200 
    201   #
    202   # FV Recovery#2
    203   #
    204 $(FLASH_REGION_FV_RECOVERY2_OFFSET)|$(FLASH_REGION_FV_RECOVERY2_SIZE)
    205 gPlatformModuleTokenSpaceGuid.PcdFlashFvRecovery2Base|gPlatformModuleTokenSpaceGuid.PcdFlashFvRecovery2Size
    206 FV = FVRECOVERY2
    207 
    208   #
    209   # FV Recovery
    210   #
    211 $(FLASH_REGION_FV_RECOVERY_OFFSET)|$(FLASH_REGION_FV_RECOVERY_SIZE)
    212 gPlatformModuleTokenSpaceGuid.PcdFlashFvRecoveryBase|gPlatformModuleTokenSpaceGuid.PcdFlashFvRecoverySize
    213 FV = 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]
    226 BlockSize          = $(FLASH_BLOCK_SIZE)
    227 FvAlignment        = 16
    228 ERASE_POLARITY     = 1
    229 MEMORY_MAPPED      = TRUE
    230 STICKY_WRITE       = TRUE
    231 LOCK_CAP           = TRUE
    232 LOCK_STATUS        = FALSE
    233 WRITE_DISABLED_CAP = TRUE
    234 WRITE_ENABLED_CAP  = TRUE
    235 WRITE_STATUS       = TRUE
    236 WRITE_LOCK_CAP     = TRUE
    237 WRITE_LOCK_STATUS  = TRUE
    238 READ_DISABLED_CAP  = TRUE
    239 READ_ENABLED_CAP   = TRUE
    240 READ_STATUS        = TRUE
    241 READ_LOCK_CAP      = TRUE
    242 READ_LOCK_STATUS   = TRUE
    243 
    244 FILE 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]
    250 FvAlignment        = 16         #FV alignment and FV attributes setting.
    251 ERASE_POLARITY     = 1
    252 MEMORY_MAPPED      = TRUE
    253 STICKY_WRITE       = TRUE
    254 LOCK_CAP           = TRUE
    255 LOCK_STATUS        = TRUE
    256 WRITE_DISABLED_CAP = TRUE
    257 WRITE_ENABLED_CAP  = TRUE
    258 WRITE_STATUS       = TRUE
    259 WRITE_LOCK_CAP     = TRUE
    260 WRITE_LOCK_STATUS  = TRUE
    261 READ_DISABLED_CAP  = TRUE
    262 READ_ENABLED_CAP   = TRUE
    263 READ_STATUS        = TRUE
    264 READ_LOCK_CAP      = TRUE
    265 READ_LOCK_STATUS   = TRUE
    266 
    267 INF  RuleOverride = BINARY $(PLATFORM_BINARY_PACKAGE)/$(DXE_ARCHITECTURE)$(TARGET)/IA32/PchUsb.inf
    268 INF  MdeModulePkg/Bus/Pci/EhciPei/EhciPei.inf
    269 INF  MdeModulePkg/Bus/Usb/UsbBusPei/UsbBusPei.inf
    270 INF  MdeModulePkg/Bus/Usb/UsbBotPei/UsbBotPei.inf
    271 INF  FatPkg/FatPei/FatPei.inf
    272 INF  MdeModulePkg/Universal/Disk/CdExpressPei/CdExpressPei.inf
    273 INF  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]
    287 BlockSize          = $(FLASH_BLOCK_SIZE)
    288 FvAlignment        = 16         #FV alignment and FV attributes setting.
    289 ERASE_POLARITY     = 1
    290 MEMORY_MAPPED      = TRUE
    291 STICKY_WRITE       = TRUE
    292 LOCK_CAP           = TRUE
    293 LOCK_STATUS        = TRUE
    294 WRITE_DISABLED_CAP = TRUE
    295 WRITE_ENABLED_CAP  = TRUE
    296 WRITE_STATUS       = TRUE
    297 WRITE_LOCK_CAP     = TRUE
    298 WRITE_LOCK_STATUS  = TRUE
    299 READ_DISABLED_CAP  = TRUE
    300 READ_ENABLED_CAP   = TRUE
    301 READ_STATUS        = TRUE
    302 READ_LOCK_CAP      = TRUE
    303 READ_LOCK_STATUS   = TRUE
    304 FvNameGuid         = B73FE497-B92E-416e-8326-45AD0D270092
    305 
    306 
    307 
    308 INF $(PLATFORM_PACKAGE)/PlatformInitPei/PlatformInitPei.inf
    309 
    310 !if $(MINNOW2_FSP_BUILD) == FALSE
    311 INF RuleOverride = BINARY $(PLATFORM_BINARY_PACKAGE)/$(DXE_ARCHITECTURE)$(TARGET)/IA32/PchSmbusArpDisabled.inf
    312 INF RuleOverride = BINARY $(PLATFORM_BINARY_PACKAGE)/$(DXE_ARCHITECTURE)$(TARGET)/IA32/VlvInitPeim.inf
    313 INF RuleOverride = BINARY $(PLATFORM_BINARY_PACKAGE)/$(DXE_ARCHITECTURE)$(TARGET)/IA32/PchInitPeim.inf
    314 INF RuleOverride = BINARY $(PLATFORM_BINARY_PACKAGE)/$(DXE_ARCHITECTURE)$(TARGET)/IA32/PchSpiPeim.inf
    315 INF RuleOverride = BINARY $(PLATFORM_BINARY_PACKAGE)/$(DXE_ARCHITECTURE)$(TARGET)/IA32/PeiSmmAccess.inf
    316 INF RuleOverride = BINARY $(PLATFORM_BINARY_PACKAGE)/$(DXE_ARCHITECTURE)$(TARGET)/IA32/PeiSmmControl.inf
    317 INF UefiCpuPkg/Universal/Acpi/S3Resume2Pei/S3Resume2Pei.inf
    318 INF RuleOverride = BINARY $(PLATFORM_BINARY_PACKAGE)/$(DXE_ARCHITECTURE)$(TARGET)/IA32/MpS3.inf
    319 INF EdkCompatibilityPkg/Compatibility/AcpiVariableHobOnSmramReserveHobThunk/AcpiVariableHobOnSmramReserveHobThunk.inf
    320 !endif
    321 
    322 INF RuleOverride = BINARY $(PLATFORM_BINARY_PACKAGE)/$(DXE_ARCHITECTURE)$(TARGET)/IA32/PiSmmCommunicationPei.inf
    323 !if $(TPM_ENABLED) == TRUE
    324 INF SecurityPkg/Tcg/TrEEConfig/TrEEConfigPei.inf
    325 INF SecurityPkg/Tcg/TcgPei/TcgPei.inf
    326 INF SecurityPkg/Tcg/PhysicalPresencePei/PhysicalPresencePei.inf
    327 !endif
    328 !if $(FTPM_ENABLE) == TRUE
    329 INF  SecurityPkg/Tcg/TrEEPei/TrEEPei.inf #use PCD config
    330 !endif
    331 INF 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
    337 INF MdeModulePkg/Universal/ReportStatusCodeRouter/Pei/ReportStatusCodeRouterPei.inf
    338 !endif
    339 
    340 !if $(RECOVERY_ENABLE)
    341 FILE 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]
    350 BlockSize          = $(FLASH_BLOCK_SIZE)
    351 FvAlignment        = 16         #FV alignment and FV attributes setting.
    352 ERASE_POLARITY     = 1
    353 MEMORY_MAPPED      = TRUE
    354 STICKY_WRITE       = TRUE
    355 LOCK_CAP           = TRUE
    356 LOCK_STATUS        = TRUE
    357 WRITE_DISABLED_CAP = TRUE
    358 WRITE_ENABLED_CAP  = TRUE
    359 WRITE_STATUS       = TRUE
    360 WRITE_LOCK_CAP     = TRUE
    361 WRITE_LOCK_STATUS  = TRUE
    362 READ_DISABLED_CAP  = TRUE
    363 READ_ENABLED_CAP   = TRUE
    364 READ_STATUS        = TRUE
    365 READ_LOCK_CAP      = TRUE
    366 READ_LOCK_STATUS   = TRUE
    367 FvNameGuid         = B73FE497-B92E-416e-8326-45AD0D270091
    368 
    369 
    370 !if $(MINNOW2_FSP_BUILD) == TRUE
    371 INF IntelFspWrapperPkg/FspWrapperSecCore/FspWrapperSecCore.inf
    372 !else
    373 INF RuleOverride = BINARY $(PLATFORM_BINARY_PACKAGE)/$(DXE_ARCHITECTURE)$(TARGET)/IA32/SecCore.inf
    374 !endif
    375 
    376 INF MdeModulePkg/Core/Pei/PeiMain.inf
    377 !if $(MINNOW2_FSP_BUILD) == TRUE
    378 INF Vlv2TbltDevicePkg/FspSupport/BootModePei/BootModePei.inf
    379 INF IntelFspWrapperPkg/FspInitPei/FspInitPei.inf
    380 !endif
    381 INF RuleOverride = BINARY $(PLATFORM_BINARY_PACKAGE)/$(DXE_ARCHITECTURE)$(TARGET)/IA32/CpuPeim.inf
    382 INF MdeModulePkg/Universal/FaultTolerantWritePei/FaultTolerantWritePei.inf
    383 INF MdeModulePkg/Universal/Variable/Pei/VariablePei.inf
    384 
    385 INF $(PLATFORM_PACKAGE)/PlatformPei/PlatformPei.inf
    386 
    387 !if $(MINNOW2_FSP_BUILD) == FALSE
    388 INF RuleOverride = BINARY $(PLATFORM_BINARY_PACKAGE)/$(DXE_ARCHITECTURE)$(TARGET)/IA32/SeCUma.inf
    389 !endif
    390 
    391 !if $(FTPM_ENABLE) == TRUE
    392 INF 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
    401 INF  MdeModulePkg/Universal/CapsulePei/CapsulePei.inf
    402 !if $(DXE_ARCHITECTURE) == "X64"
    403 INF  MdeModulePkg/Universal/CapsulePei/CapsuleX64.inf
    404 !endif
    405 !endif
    406 
    407 !if $(MINNOW2_FSP_BUILD) == FALSE
    408 !if $(PCIESC_ENABLE) == TRUE
    409 INF RuleOverride = BINARY $(PLATFORM_BINARY_PACKAGE)/$(DXE_ARCHITECTURE)$(TARGET)/IA32/PchEarlyInitPeim.inf
    410 !endif
    411 INF RuleOverride = BINARY $(PLATFORM_BINARY_PACKAGE)/$(DXE_ARCHITECTURE)$(TARGET)/IA32/MemoryInit.inf
    412 !endif
    413 
    414 INF MdeModulePkg/Universal/PCD/Pei/Pcd.inf
    415 
    416 !if $(CAPSULE_ENABLE) || $(RECOVERY_ENABLE)
    417   # FMP image decriptor
    418 INF RuleOverride = FMP_IMAGE_DESC Vlv2TbltDevicePkg/Feature/Capsule/SystemFirmwareDescriptor/SystemFirmwareDescriptor.inf
    419 !endif
    420 
    421 [FV.FVMAIN]
    422 BlockSize          = $(FLASH_BLOCK_SIZE)
    423 FvAlignment        = 16
    424 ERASE_POLARITY     = 1
    425 MEMORY_MAPPED      = TRUE
    426 STICKY_WRITE       = TRUE
    427 LOCK_CAP           = TRUE
    428 LOCK_STATUS        = TRUE
    429 WRITE_DISABLED_CAP = TRUE
    430 WRITE_ENABLED_CAP  = TRUE
    431 WRITE_STATUS       = TRUE
    432 WRITE_LOCK_CAP     = TRUE
    433 WRITE_LOCK_STATUS  = TRUE
    434 READ_DISABLED_CAP  = TRUE
    435 READ_ENABLED_CAP   = TRUE
    436 READ_STATUS        = TRUE
    437 READ_LOCK_CAP      = TRUE
    438 READ_LOCK_STATUS   = TRUE
    439 FvNameGuid         = A881D567-6CB0-4eee-8435-2E72D33E45B5
    440 
    441 APRIORI 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 
    447 FILE 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 
    459 INF MdeModulePkg/Core/Dxe/DxeMain.inf
    460 INF MdeModulePkg/Universal/PCD/Dxe/Pcd.inf
    461 !if $(ACPI50_ENABLE) == TRUE
    462 INF  MdeModulePkg/Universal/Acpi/FirmwarePerformanceDataTableDxe/FirmwarePerformanceDxe.inf
    463 INF  MdeModulePkg/Universal/Acpi/FirmwarePerformanceDataTableSmm/FirmwarePerformanceSmm.inf
    464 !endif
    465 
    466 
    467 INF IntelFrameworkModulePkg/Universal/CpuIoDxe/CpuIoDxe.inf
    468 INF UefiCpuPkg/CpuIo2Dxe/CpuIo2Dxe.inf
    469 INF MdeModulePkg/Universal/ReportStatusCodeRouter/RuntimeDxe/ReportStatusCodeRouterRuntimeDxe.inf
    470 INF MdeModulePkg/Universal/StatusCodeHandler/RuntimeDxe/StatusCodeHandlerRuntimeDxe.inf
    471 INF MdeModulePkg/Universal/ReportStatusCodeRouter/Smm/ReportStatusCodeRouterSmm.inf
    472 INF MdeModulePkg/Universal/SecurityStubDxe/SecurityStubDxe.inf
    473 INF RuleOverride = BINARY $(PLATFORM_BINARY_PACKAGE)/$(DXE_ARCHITECTURE)$(TARGET)/$(DXE_ARCHITECTURE)/MpCpu.inf
    474 INF $(PLATFORM_PACKAGE)/Metronome/Metronome.inf
    475 INF IntelFrameworkModulePkg/Universal/BdsDxe/BdsDxe.inf
    476 INF MdeModulePkg/Universal/WatchdogTimerDxe/WatchdogTimer.inf
    477 INF MdeModulePkg/Core/RuntimeDxe/RuntimeDxe.inf
    478 INF MdeModulePkg/Universal/FaultTolerantWriteDxe/FaultTolerantWriteDxe.inf
    479 INF IntelFrameworkModulePkg/Universal/Acpi/AcpiS3SaveDxe/AcpiS3SaveDxe.inf
    480 
    481 INF MdeModulePkg/Universal/Variable/RuntimeDxe/VariableSmmRuntimeDxe.inf
    482 INF MdeModulePkg/Universal/Variable/RuntimeDxe/VariableSmm.inf
    483 INF $(PLATFORM_PACKAGE)/FvbRuntimeDxe/FvbSmm.inf
    484 INF MdeModulePkg/Universal/FaultTolerantWriteDxe/FaultTolerantWriteSmm.inf
    485 INF RuleOverride = BINARY $(PLATFORM_BINARY_PACKAGE)/$(DXE_ARCHITECTURE)$(TARGET)/$(DXE_ARCHITECTURE)/PchSpiSmm.inf
    486 !if $(SECURE_BOOT_ENABLE)
    487 INF SecurityPkg/VariableAuthenticated/SecureBootConfigDxe/SecureBootConfigDxe.inf
    488 !endif
    489 
    490 INF MdeModulePkg/Universal/CapsuleRuntimeDxe/CapsuleRuntimeDxe.inf
    491 
    492 INF MdeModulePkg/Universal/MonotonicCounterRuntimeDxe/MonotonicCounterRuntimeDxe.inf
    493 INF PcAtChipsetPkg/PcatRealTimeClockRuntimeDxe/PcatRealTimeClockRuntimeDxe.inf
    494 INF MdeModulePkg/Universal/DevicePathDxe/DevicePathDxe.inf
    495 INF $(PLATFORM_PACKAGE)/FvbRuntimeDxe/FvbRuntimeDxe.inf
    496 
    497 
    498 INF $(PLATFORM_PACKAGE)/PlatformSetupDxe/PlatformSetupDxe.inf
    499 
    500 !if $(DATAHUB_ENABLE) == TRUE
    501 INF IntelFrameworkModulePkg/Universal/DataHubDxe/DataHubDxe.inf
    502 !endif
    503 INF IntelFrameworkModulePkg/Universal/StatusCode/DatahubStatusCodeHandlerDxe/DatahubStatusCodeHandlerDxe.inf
    504 INF MdeModulePkg/Universal/MemoryTest/NullMemoryTestDxe/NullMemoryTestDxe.inf
    505 
    506 INF RuleOverride = BINARY $(PLATFORM_BINARY_PACKAGE)/$(DXE_ARCHITECTURE)$(TARGET)/$(DXE_ARCHITECTURE)/Dptf.inf
    507 
    508   #
    509   # EDK II Related Silicon codes
    510   #
    511 INF RuleOverride = BINARY $(PLATFORM_BINARY_PACKAGE)/$(DXE_ARCHITECTURE)$(TARGET)/$(DXE_ARCHITECTURE)/PchS3SupportDxe.inf
    512 
    513 !if $(USE_HPET_TIMER) == TRUE
    514 INF PcAtChipsetPkg/HpetTimerDxe/HpetTimerDxe.inf
    515 !else
    516 INF RuleOverride = BINARY $(PLATFORM_BINARY_PACKAGE)/$(DXE_ARCHITECTURE)$(TARGET)/$(DXE_ARCHITECTURE)/SmartTimer.inf
    517 !endif
    518 INF RuleOverride = BINARY $(PLATFORM_BINARY_PACKAGE)/$(DXE_ARCHITECTURE)$(TARGET)/$(DXE_ARCHITECTURE)/SmmControl.inf
    519 
    520 INF RuleOverride = BINARY $(PLATFORM_BINARY_PACKAGE)/$(DXE_ARCHITECTURE)$(TARGET)/$(DXE_ARCHITECTURE)/PchSmbusDxe.inf
    521 
    522 INF RuleOverride = BINARY $(PLATFORM_BINARY_PACKAGE)/$(DXE_ARCHITECTURE)$(TARGET)/$(DXE_ARCHITECTURE)/IntelPchLegacyInterrupt.inf
    523 INF RuleOverride = BINARY $(PLATFORM_BINARY_PACKAGE)/$(DXE_ARCHITECTURE)$(TARGET)/$(DXE_ARCHITECTURE)/PchReset.inf
    524 
    525 !if $(MINNOW2_FSP_BUILD) == FALSE
    526 INF RuleOverride = BINARY $(PLATFORM_BINARY_PACKAGE)/$(DXE_ARCHITECTURE)$(TARGET)/$(DXE_ARCHITECTURE)/PchInitDxe.inf
    527 !endif
    528 INF RuleOverride = BINARY $(PLATFORM_BINARY_PACKAGE)/$(DXE_ARCHITECTURE)$(TARGET)/$(DXE_ARCHITECTURE)/PchSmiDispatcher.inf
    529 !if $(PCIESC_ENABLE) == TRUE
    530 INF RuleOverride = BINARY $(PLATFORM_BINARY_PACKAGE)/$(DXE_ARCHITECTURE)$(TARGET)/$(DXE_ARCHITECTURE)/PchPcieSmm.inf
    531 !endif
    532 
    533 INF RuleOverride = BINARY $(PLATFORM_BINARY_PACKAGE)/$(DXE_ARCHITECTURE)$(TARGET)/$(DXE_ARCHITECTURE)/PchSpiRuntime.inf
    534 INF RuleOverride = BINARY $(PLATFORM_BINARY_PACKAGE)/$(DXE_ARCHITECTURE)$(TARGET)/$(DXE_ARCHITECTURE)/PchPolicyInitDxe.inf
    535 INF RuleOverride = BINARY $(PLATFORM_BINARY_PACKAGE)/$(DXE_ARCHITECTURE)$(TARGET)/$(DXE_ARCHITECTURE)/PchBiosWriteProtect.inf
    536 INF RuleOverride = BINARY $(PLATFORM_BINARY_PACKAGE)/$(DXE_ARCHITECTURE)$(TARGET)/$(DXE_ARCHITECTURE)/SmmAccess.inf
    537 INF RuleOverride = BINARY $(PLATFORM_BINARY_PACKAGE)/$(DXE_ARCHITECTURE)$(TARGET)/$(DXE_ARCHITECTURE)/PciHostBridge.inf
    538 !if $(MINNOW2_FSP_BUILD) == FALSE
    539 INF RuleOverride = BINARY $(PLATFORM_BINARY_PACKAGE)/$(DXE_ARCHITECTURE)$(TARGET)/$(DXE_ARCHITECTURE)/VlvInitDxe.inf
    540 !else
    541 INF IntelFrameworkModulePkg/Universal/LegacyRegionDxe/LegacyRegionDxe.inf
    542 INF 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
    551 INF SecurityPkg/Tcg/TcgConfigDxe/TcgConfigDxe.inf
    552 INF SecurityPkg/Tcg/TcgDxe/TcgDxe.inf
    553 INF RuleOverride = DRIVER_ACPITABLE SecurityPkg/Tcg/TcgSmm/TcgSmm.inf
    554 !endif
    555 !if $(FTPM_ENABLE) == TRUE
    556 INF RuleOverride = BINARY $(PLATFORM_BINARY_PACKAGE)/$(DXE_ARCHITECTURE)$(TARGET)/IA32/Tpm2DeviceSeCPei.inf
    557 INF RuleOverride = BINARY $(PLATFORM_BINARY_PACKAGE)/$(DXE_ARCHITECTURE)$(TARGET)/$(DXE_ARCHITECTURE)/Tpm2DeviceSeCDxe.inf
    558 INF SecurityPkg/Tcg/MemoryOverwriteControl/TcgMor.inf
    559 INF SecurityPkg/Tcg/TrEEDxe/TrEEDxe.inf
    560 INF RuleOverride = BINARY $(PLATFORM_BINARY_PACKAGE)/$(DXE_ARCHITECTURE)$(TARGET)/$(DXE_ARCHITECTURE)/FtpmSmm.inf
    561 !endif
    562 
    563 #
    564 # EDK II Related Platform codes
    565 #
    566 INF $(PLATFORM_PACKAGE)/PlatformSmm/PlatformSmm.inf
    567 INF $(PLATFORM_PACKAGE)/PlatformInfoDxe/PlatformInfoDxe.inf
    568 INF $(PLATFORM_PACKAGE)/PlatformCpuInfoDxe/PlatformCpuInfoDxe.inf
    569 INF $(PLATFORM_PACKAGE)/PlatformDxe/PlatformDxe.inf
    570 INF $(PLATFORM_PACKAGE)/PciPlatform/PciPlatform.inf
    571 INF $(PLATFORM_PACKAGE)/SaveMemoryConfig/SaveMemoryConfig.inf
    572 INF RuleOverride = BINARY $(PLATFORM_BINARY_PACKAGE)/$(DXE_ARCHITECTURE)$(TARGET)/$(DXE_ARCHITECTURE)/PlatformCpuPolicy.inf
    573 INF $(PLATFORM_PACKAGE)/PpmPolicy/PpmPolicy.inf
    574 INF $(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 
    584 INF RuleOverride = BINARY $(PLATFORM_BINARY_PACKAGE)/$(DXE_ARCHITECTURE)$(TARGET)/$(DXE_ARCHITECTURE)/PnpDxe.inf
    585   #
    586   # SMM
    587   #
    588 INF MdeModulePkg/Core/PiSmmCore/PiSmmIpl.inf
    589 INF MdeModulePkg/Core/PiSmmCore/PiSmmCore.inf
    590 INF UefiCpuPkg/PiSmmCpuDxeSmm/PiSmmCpuDxeSmm.inf
    591 
    592 INF UefiCpuPkg/CpuIo2Smm/CpuIo2Smm.inf
    593 INF MdeModulePkg/Universal/LockBox/SmmLockBox/SmmLockBox.inf
    594 INF UefiCpuPkg/PiSmmCommunication/PiSmmCommunicationSmm.inf
    595 INF $(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   #
    606 INF MdeModulePkg/Universal/Acpi/BootScriptExecutorDxe/BootScriptExecutorDxe.inf
    607 INF $(PLATFORM_PACKAGE)/BootScriptSaveDxe/BootScriptSaveDxe.inf
    608 INF IntelFrameworkModulePkg/Universal/Acpi/AcpiSupportDxe/AcpiSupportDxe.inf
    609 INF RuleOverride = ACPITABLE2 Vlv2DeviceRefCodePkg/ValleyView2Soc/CPU/PowerManagement/AcpiTables/PowerManagementAcpiTables.inf
    610 
    611 INF RuleOverride = ACPITABLE $(PLATFORM_RC_PACKAGE)/AcpiTablesPCAT/AcpiTables.inf
    612 
    613 INF $(PLATFORM_PACKAGE)/AcpiPlatform/AcpiPlatform.inf
    614 
    615   #
    616   # PCI
    617   #
    618 INF MdeModulePkg/Bus/Pci/PciBusDxe/PciBusDxe.inf
    619 
    620 INF RuleOverride = BINARY $(PLATFORM_BINARY_PACKAGE)/$(DXE_ARCHITECTURE)$(TARGET)/$(DXE_ARCHITECTURE)/ISPDxe.inf
    621 
    622 
    623 #
    624 # ISA
    625 #
    626 INF $(PLATFORM_PACKAGE)/Wpce791/Wpce791.inf
    627 INF IntelFrameworkModulePkg/Bus/Isa/IsaBusDxe/IsaBusDxe.inf
    628 INF IntelFrameworkModulePkg/Bus/Isa/IsaIoDxe/IsaIoDxe.inf
    629 !if $(SOURCE_DEBUG_ENABLE) != TRUE
    630 INF  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 #
    638 INF RuleOverride = BINARY $(PLATFORM_BINARY_PACKAGE)/$(DXE_ARCHITECTURE)$(TARGET)/$(DXE_ARCHITECTURE)/MmcHost.inf
    639 INF RuleOverride = BINARY $(PLATFORM_BINARY_PACKAGE)/$(DXE_ARCHITECTURE)$(TARGET)/$(DXE_ARCHITECTURE)/MmcMediaDevice.inf
    640 #
    641 # IDE/SCSI/AHCI
    642 #
    643 INF MdeModulePkg/Universal/Disk/DiskIoDxe/DiskIoDxe.inf
    644 
    645 INF MdeModulePkg/Universal/Disk/PartitionDxe/PartitionDxe.inf
    646 
    647 INF MdeModulePkg/Universal/Disk/UnicodeCollation/EnglishDxe/EnglishDxe.inf
    648 !if $(SATA_ENABLE) == TRUE
    649 INF RuleOverride = BINARY $(PLATFORM_BINARY_PACKAGE)/$(DXE_ARCHITECTURE)$(TARGET)/$(DXE_ARCHITECTURE)/SataController.inf
    650 #
    651 
    652 #
    653 INF MdeModulePkg/Bus/Ata/AtaBusDxe/AtaBusDxe.inf
    654 INF MdeModulePkg/Bus/Ata/AtaAtapiPassThru/AtaAtapiPassThru.inf
    655 !if $(SCSI_ENABLE) == TRUE
    656 INF MdeModulePkg/Bus/Scsi/ScsiBusDxe/ScsiBusDxe.inf
    657 INF MdeModulePkg/Bus/Scsi/ScsiDiskDxe/ScsiDiskDxe.inf
    658 !endif
    659 #
    660 !endif
    661 # Console
    662 #
    663 INF MdeModulePkg/Universal/Console/ConPlatformDxe/ConPlatformDxe.inf
    664 INF MdeModulePkg/Universal/Console/ConSplitterDxe/ConSplitterDxe.inf
    665 INF MdeModulePkg/Universal/Console/GraphicsConsoleDxe/GraphicsConsoleDxe.inf
    666 INF IntelFrameworkModulePkg/Universal/Console/VgaClassDxe/VgaClassDxe.inf
    667 INF MdeModulePkg/Universal/Console/TerminalDxe/TerminalDxe.inf
    668 INF MdeModulePkg/Universal/HiiDatabaseDxe/HiiDatabaseDxe.inf
    669 INF MdeModulePkg/Universal/DisplayEngineDxe/DisplayEngineDxe.inf
    670 INF MdeModulePkg/Universal/SetupBrowserDxe/SetupBrowserDxe.inf
    671   #
    672   # USB
    673   #
    674 !if $(USB_ENABLE) == TRUE
    675 INF MdeModulePkg/Bus/Pci/EhciDxe/EhciDxe.inf
    676 INF MdeModulePkg/Bus/Pci/UhciDxe/UhciDxe.inf
    677 INF MdeModulePkg/Bus/Usb/UsbMassStorageDxe/UsbMassStorageDxe.inf
    678 INF MdeModulePkg/Bus/Usb/UsbKbDxe/UsbKbDxe.inf
    679 INF MdeModulePkg/Bus/Usb/UsbMouseDxe/UsbMouseDxe.inf
    680 INF MdeModulePkg/Bus/Usb/UsbBusDxe/UsbBusDxe.inf
    681 INF MdeModulePkg/Bus/Pci/XhciDxe/XhciDxe.inf
    682 !endif
    683 
    684   #
    685   #  ECP
    686   #
    687 INF EdkCompatibilityPkg/Compatibility/LegacyRegion2OnLegacyRegionThunk/LegacyRegion2OnLegacyRegionThunk.inf
    688 INF EdkCompatibilityPkg/Compatibility/SmmBaseOnSmmBase2Thunk/SmmBaseOnSmmBase2Thunk.inf
    689 INF EdkCompatibilityPkg/Compatibility/SmmBaseHelper/SmmBaseHelper.inf
    690 INF EdkCompatibilityPkg/Compatibility/SmmAccess2OnSmmAccessThunk/SmmAccess2OnSmmAccessThunk.inf
    691 INF EdkCompatibilityPkg/Compatibility/SmmControl2OnSmmControlThunk/SmmControl2OnSmmControlThunk.inf
    692 INF EdkCompatibilityPkg/Compatibility/FvOnFv2Thunk/FvOnFv2Thunk.inf
    693   #
    694   # SMBIOS
    695   #
    696 INF MdeModulePkg/Universal/SmbiosDxe/SmbiosDxe.inf
    697 INF $(PLATFORM_PACKAGE)/SmBiosMiscDxe/SmBiosMiscDxe.inf
    698 
    699 INF RuleOverride = BINARY $(PLATFORM_BINARY_PACKAGE)/$(DXE_ARCHITECTURE)$(TARGET)/$(DXE_ARCHITECTURE)/SmbiosMemory.inf
    700 
    701   #
    702   # Legacy Modules
    703   #
    704 INF PcAtChipsetPkg/8259InterruptControllerDxe/8259.inf
    705 
    706 #
    707 # FAT file system
    708 #
    709 INF FatPkg/EnhancedFatDxe/Fat.inf
    710 
    711 #
    712 # UEFI Shell
    713 #
    714 FILE 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
    722 FILE 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)
    771 INF  MdeModulePkg/Universal/EsrtDxe/EsrtDxe.inf
    772 !endif
    773 !if $(CAPSULE_ENABLE)
    774 INF  SignedCapsulePkg/Universal/SystemFirmwareUpdate/SystemFirmwareReportDxe.inf
    775 !endif
    776 !if $(MICOCODE_CAPSULE_ENABLE)
    777 INF  UefiCpuPkg/Feature/Capsule/MicrocodeUpdateDxe/MicrocodeUpdateDxe.inf
    778 !endif
    779 
    780 !if $(RECOVERY_ENABLE)
    781 FILE 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)
    788 FILE 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]
    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 
    814 
    815 FILE 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]
    837 BlockSize          = $(FLASH_BLOCK_SIZE)
    838 #NumBlocks         = 0x10
    839 FvAlignment        = 16
    840 ERASE_POLARITY     = 1
    841 MEMORY_MAPPED      = TRUE
    842 STICKY_WRITE       = TRUE
    843 LOCK_CAP           = TRUE
    844 LOCK_STATUS        = TRUE
    845 WRITE_DISABLED_CAP = TRUE
    846 WRITE_ENABLED_CAP  = TRUE
    847 WRITE_STATUS       = TRUE
    848 WRITE_LOCK_CAP     = TRUE
    849 WRITE_LOCK_STATUS  = TRUE
    850 READ_DISABLED_CAP  = TRUE
    851 READ_ENABLED_CAP   = TRUE
    852 READ_STATUS        = TRUE
    853 READ_LOCK_CAP      = TRUE
    854 READ_LOCK_STATUS   = TRUE
    855 
    856 
    857 !if $(CAPSULE_ENABLE) || $(RECOVERY_ENABLE)
    858 [FV.CapsuleDispatchFv]
    859 FvAlignment        = 16
    860 ERASE_POLARITY     = 1
    861 MEMORY_MAPPED      = TRUE
    862 STICKY_WRITE       = TRUE
    863 LOCK_CAP           = TRUE
    864 LOCK_STATUS        = TRUE
    865 WRITE_DISABLED_CAP = TRUE
    866 WRITE_ENABLED_CAP  = TRUE
    867 WRITE_STATUS       = TRUE
    868 WRITE_LOCK_CAP     = TRUE
    869 WRITE_LOCK_STATUS  = TRUE
    870 READ_DISABLED_CAP  = TRUE
    871 READ_ENABLED_CAP   = TRUE
    872 READ_STATUS        = TRUE
    873 READ_LOCK_CAP      = TRUE
    874 READ_LOCK_STATUS   = TRUE
    875 
    876 !if $(CAPSULE_ENABLE)
    877 INF  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