1## @file 2# Open Virtual Machine Firmware: FDF 3# 4# Copyright (c) 2006 - 2019, Intel Corporation. All rights reserved.<BR> 5# (C) Copyright 2016 Hewlett Packard Enterprise Development LP<BR> 6# 7# SPDX-License-Identifier: BSD-2-Clause-Patent 8# 9## 10 11################################################################################ 12 13[Defines] 14!include OvmfPkg.fdf.inc 15 16# 17# Build the variable store and the firmware code as one unified flash device 18# image. 19# 20[FD.OVMF] 21BaseAddress = $(FW_BASE_ADDRESS) 22Size = $(FW_SIZE) 23ErasePolarity = 1 24BlockSize = $(BLOCK_SIZE) 25NumBlocks = $(FW_BLOCKS) 26 27!include VarStore.fdf.inc 28 29$(VARS_SIZE)|$(FVMAIN_SIZE) 30FV = FVMAIN_COMPACT 31 32$(SECFV_OFFSET)|$(SECFV_SIZE) 33FV = SECFV 34 35# 36# Build the variable store and the firmware code as separate flash device 37# images. 38# 39[FD.OVMF_VARS] 40BaseAddress = $(FW_BASE_ADDRESS) 41Size = $(VARS_SIZE) 42ErasePolarity = 1 43BlockSize = $(BLOCK_SIZE) 44NumBlocks = $(VARS_BLOCKS) 45 46!include VarStore.fdf.inc 47 48[FD.OVMF_CODE] 49BaseAddress = $(CODE_BASE_ADDRESS) 50Size = $(CODE_SIZE) 51ErasePolarity = 1 52BlockSize = $(BLOCK_SIZE) 53NumBlocks = $(CODE_BLOCKS) 54 550x00000000|$(FVMAIN_SIZE) 56FV = FVMAIN_COMPACT 57 58$(FVMAIN_SIZE)|$(SECFV_SIZE) 59FV = SECFV 60 61################################################################################ 62 63[FD.MEMFD] 64BaseAddress = $(MEMFD_BASE_ADDRESS) 65Size = 0xC00000 66ErasePolarity = 1 67BlockSize = 0x10000 68NumBlocks = 0xC0 69 700x000000|0x006000 71gUefiOvmfPkgTokenSpaceGuid.PcdOvmfSecPageTablesBase|gUefiOvmfPkgTokenSpaceGuid.PcdOvmfSecPageTablesSize 72 730x006000|0x001000 74gUefiOvmfPkgTokenSpaceGuid.PcdOvmfLockBoxStorageBase|gUefiOvmfPkgTokenSpaceGuid.PcdOvmfLockBoxStorageSize 75 760x007000|0x001000 77gEfiMdePkgTokenSpaceGuid.PcdGuidedExtractHandlerTableAddress|gUefiOvmfPkgTokenSpaceGuid.PcdGuidedExtractHandlerTableSize 78 790x010000|0x010000 80gUefiOvmfPkgTokenSpaceGuid.PcdOvmfSecPeiTempRamBase|gUefiOvmfPkgTokenSpaceGuid.PcdOvmfSecPeiTempRamSize 81 820x020000|0x0E0000 83gUefiOvmfPkgTokenSpaceGuid.PcdOvmfPeiMemFvBase|gUefiOvmfPkgTokenSpaceGuid.PcdOvmfPeiMemFvSize 84FV = PEIFV 85 860x100000|0xB00000 87gUefiOvmfPkgTokenSpaceGuid.PcdOvmfDxeMemFvBase|gUefiOvmfPkgTokenSpaceGuid.PcdOvmfDxeMemFvSize 88FV = DXEFV 89 90################################################################################ 91 92[FV.SECFV] 93FvNameGuid = 763BED0D-DE9F-48F5-81F1-3E90E1B1A015 94BlockSize = 0x1000 95FvAlignment = 16 96ERASE_POLARITY = 1 97MEMORY_MAPPED = TRUE 98STICKY_WRITE = TRUE 99LOCK_CAP = TRUE 100LOCK_STATUS = TRUE 101WRITE_DISABLED_CAP = TRUE 102WRITE_ENABLED_CAP = TRUE 103WRITE_STATUS = TRUE 104WRITE_LOCK_CAP = TRUE 105WRITE_LOCK_STATUS = TRUE 106READ_DISABLED_CAP = TRUE 107READ_ENABLED_CAP = TRUE 108READ_STATUS = TRUE 109READ_LOCK_CAP = TRUE 110READ_LOCK_STATUS = TRUE 111 112# 113# SEC Phase modules 114# 115# The code in this FV handles the initial firmware startup, and 116# decompresses the PEI and DXE FVs which handles the rest of the boot sequence. 117# 118INF OvmfPkg/Sec/SecMain.inf 119 120INF RuleOverride=RESET_VECTOR OvmfPkg/ResetVector/ResetVector.inf 121 122################################################################################ 123[FV.PEIFV] 124FvNameGuid = 6938079B-B503-4E3D-9D24-B28337A25806 125BlockSize = 0x10000 126FvAlignment = 16 127ERASE_POLARITY = 1 128MEMORY_MAPPED = TRUE 129STICKY_WRITE = TRUE 130LOCK_CAP = TRUE 131LOCK_STATUS = TRUE 132WRITE_DISABLED_CAP = TRUE 133WRITE_ENABLED_CAP = TRUE 134WRITE_STATUS = TRUE 135WRITE_LOCK_CAP = TRUE 136WRITE_LOCK_STATUS = TRUE 137READ_DISABLED_CAP = TRUE 138READ_ENABLED_CAP = TRUE 139READ_STATUS = TRUE 140READ_LOCK_CAP = TRUE 141READ_LOCK_STATUS = TRUE 142 143APRIORI PEI { 144 INF MdeModulePkg/Universal/PCD/Pei/Pcd.inf 145} 146 147# 148# PEI Phase modules 149# 150INF MdeModulePkg/Core/Pei/PeiMain.inf 151INF MdeModulePkg/Universal/PCD/Pei/Pcd.inf 152INF MdeModulePkg/Universal/ReportStatusCodeRouter/Pei/ReportStatusCodeRouterPei.inf 153INF MdeModulePkg/Universal/StatusCodeHandler/Pei/StatusCodeHandlerPei.inf 154INF OvmfPkg/PlatformPei/PlatformPei.inf 155INF MdeModulePkg/Core/DxeIplPeim/DxeIpl.inf 156INF UefiCpuPkg/Universal/Acpi/S3Resume2Pei/S3Resume2Pei.inf 157!if $(SMM_REQUIRE) == TRUE 158INF OvmfPkg/SmmAccess/SmmAccessPei.inf 159!endif 160INF UefiCpuPkg/CpuMpPei/CpuMpPei.inf 161 162!if $(TPM2_ENABLE) == TRUE 163INF OvmfPkg/Tcg/Tcg2Config/Tcg2ConfigPei.inf 164INF SecurityPkg/Tcg/Tcg2Pei/Tcg2Pei.inf 165!endif 166 167################################################################################ 168 169[FV.DXEFV] 170FvForceRebase = FALSE 171FvNameGuid = 7CB8BDC9-F8EB-4F34-AAEA-3EE4AF6516A1 172BlockSize = 0x10000 173FvAlignment = 16 174ERASE_POLARITY = 1 175MEMORY_MAPPED = TRUE 176STICKY_WRITE = TRUE 177LOCK_CAP = TRUE 178LOCK_STATUS = TRUE 179WRITE_DISABLED_CAP = TRUE 180WRITE_ENABLED_CAP = TRUE 181WRITE_STATUS = TRUE 182WRITE_LOCK_CAP = TRUE 183WRITE_LOCK_STATUS = TRUE 184READ_DISABLED_CAP = TRUE 185READ_ENABLED_CAP = TRUE 186READ_STATUS = TRUE 187READ_LOCK_CAP = TRUE 188READ_LOCK_STATUS = TRUE 189 190APRIORI DXE { 191 INF MdeModulePkg/Universal/DevicePathDxe/DevicePathDxe.inf 192 INF MdeModulePkg/Universal/PCD/Dxe/Pcd.inf 193 INF OvmfPkg/AmdSevDxe/AmdSevDxe.inf 194!if $(SMM_REQUIRE) == FALSE 195 INF OvmfPkg/QemuFlashFvbServicesRuntimeDxe/FvbServicesRuntimeDxe.inf 196!endif 197} 198 199# 200# DXE Phase modules 201# 202INF MdeModulePkg/Core/Dxe/DxeMain.inf 203 204INF MdeModulePkg/Universal/ReportStatusCodeRouter/RuntimeDxe/ReportStatusCodeRouterRuntimeDxe.inf 205INF MdeModulePkg/Universal/StatusCodeHandler/RuntimeDxe/StatusCodeHandlerRuntimeDxe.inf 206INF MdeModulePkg/Universal/PCD/Dxe/Pcd.inf 207 208INF MdeModulePkg/Core/RuntimeDxe/RuntimeDxe.inf 209INF MdeModulePkg/Universal/SecurityStubDxe/SecurityStubDxe.inf 210INF MdeModulePkg/Universal/EbcDxe/EbcDxe.inf 211INF OvmfPkg/8259InterruptControllerDxe/8259.inf 212INF UefiCpuPkg/CpuIo2Dxe/CpuIo2Dxe.inf 213INF UefiCpuPkg/CpuDxe/CpuDxe.inf 214INF OvmfPkg/8254TimerDxe/8254Timer.inf 215INF OvmfPkg/IncompatiblePciDeviceSupportDxe/IncompatiblePciDeviceSupport.inf 216INF OvmfPkg/PciHotPlugInitDxe/PciHotPlugInit.inf 217INF MdeModulePkg/Bus/Pci/PciHostBridgeDxe/PciHostBridgeDxe.inf 218INF MdeModulePkg/Bus/Pci/PciBusDxe/PciBusDxe.inf 219INF MdeModulePkg/Universal/ResetSystemRuntimeDxe/ResetSystemRuntimeDxe.inf 220INF MdeModulePkg/Universal/Metronome/Metronome.inf 221INF PcAtChipsetPkg/PcatRealTimeClockRuntimeDxe/PcatRealTimeClockRuntimeDxe.inf 222 223INF OvmfPkg/VirtioPciDeviceDxe/VirtioPciDeviceDxe.inf 224INF OvmfPkg/Virtio10Dxe/Virtio10.inf 225INF OvmfPkg/VirtioBlkDxe/VirtioBlk.inf 226INF OvmfPkg/VirtioScsiDxe/VirtioScsi.inf 227INF OvmfPkg/VirtioRngDxe/VirtioRng.inf 228INF OvmfPkg/XenIoPciDxe/XenIoPciDxe.inf 229INF OvmfPkg/XenBusDxe/XenBusDxe.inf 230INF OvmfPkg/XenPvBlkDxe/XenPvBlkDxe.inf 231 232!if $(SECURE_BOOT_ENABLE) == TRUE 233 INF SecurityPkg/VariableAuthenticated/SecureBootConfigDxe/SecureBootConfigDxe.inf 234!endif 235 236INF MdeModulePkg/Universal/WatchdogTimerDxe/WatchdogTimer.inf 237INF MdeModulePkg/Universal/MonotonicCounterRuntimeDxe/MonotonicCounterRuntimeDxe.inf 238INF MdeModulePkg/Universal/CapsuleRuntimeDxe/CapsuleRuntimeDxe.inf 239INF MdeModulePkg/Universal/Console/ConPlatformDxe/ConPlatformDxe.inf 240INF MdeModulePkg/Universal/Console/ConSplitterDxe/ConSplitterDxe.inf 241INF MdeModulePkg/Universal/Console/GraphicsConsoleDxe/GraphicsConsoleDxe.inf 242INF MdeModulePkg/Universal/Console/TerminalDxe/TerminalDxe.inf 243INF MdeModulePkg/Universal/DriverHealthManagerDxe/DriverHealthManagerDxe.inf 244INF MdeModulePkg/Universal/BdsDxe/BdsDxe.inf 245INF MdeModulePkg/Application/UiApp/UiApp.inf 246INF MdeModulePkg/Universal/DevicePathDxe/DevicePathDxe.inf 247INF MdeModulePkg/Universal/PrintDxe/PrintDxe.inf 248INF MdeModulePkg/Universal/Disk/DiskIoDxe/DiskIoDxe.inf 249INF MdeModulePkg/Universal/Disk/PartitionDxe/PartitionDxe.inf 250INF MdeModulePkg/Universal/Disk/RamDiskDxe/RamDiskDxe.inf 251INF MdeModulePkg/Universal/Disk/UnicodeCollation/EnglishDxe/EnglishDxe.inf 252INF MdeModulePkg/Bus/Scsi/ScsiBusDxe/ScsiBusDxe.inf 253INF MdeModulePkg/Bus/Scsi/ScsiDiskDxe/ScsiDiskDxe.inf 254INF OvmfPkg/SataControllerDxe/SataControllerDxe.inf 255INF MdeModulePkg/Bus/Ata/AtaAtapiPassThru/AtaAtapiPassThru.inf 256INF MdeModulePkg/Bus/Ata/AtaBusDxe/AtaBusDxe.inf 257INF MdeModulePkg/Bus/Pci/NvmExpressDxe/NvmExpressDxe.inf 258INF MdeModulePkg/Universal/HiiDatabaseDxe/HiiDatabaseDxe.inf 259INF MdeModulePkg/Universal/SetupBrowserDxe/SetupBrowserDxe.inf 260INF MdeModulePkg/Universal/DisplayEngineDxe/DisplayEngineDxe.inf 261INF MdeModulePkg/Universal/MemoryTest/NullMemoryTestDxe/NullMemoryTestDxe.inf 262 263INF OvmfPkg/SioBusDxe/SioBusDxe.inf 264!if $(SOURCE_DEBUG_ENABLE) == FALSE 265INF MdeModulePkg/Bus/Pci/PciSioSerialDxe/PciSioSerialDxe.inf 266!endif 267INF MdeModulePkg/Bus/Isa/Ps2KeyboardDxe/Ps2KeyboardDxe.inf 268 269INF MdeModulePkg/Universal/SmbiosDxe/SmbiosDxe.inf 270INF OvmfPkg/SmbiosPlatformDxe/SmbiosPlatformDxe.inf 271 272INF MdeModulePkg/Universal/Acpi/AcpiTableDxe/AcpiTableDxe.inf 273INF OvmfPkg/AcpiPlatformDxe/AcpiPlatformDxe.inf 274INF RuleOverride=ACPITABLE OvmfPkg/AcpiTables/AcpiTables.inf 275INF MdeModulePkg/Universal/Acpi/S3SaveStateDxe/S3SaveStateDxe.inf 276INF MdeModulePkg/Universal/Acpi/BootScriptExecutorDxe/BootScriptExecutorDxe.inf 277INF MdeModulePkg/Universal/Acpi/BootGraphicsResourceTableDxe/BootGraphicsResourceTableDxe.inf 278 279INF FatPkg/EnhancedFatDxe/Fat.inf 280INF MdeModulePkg/Universal/Disk/UdfDxe/UdfDxe.inf 281 282!if $(TOOL_CHAIN_TAG) != "XCODE5" 283INF ShellPkg/DynamicCommand/TftpDynamicCommand/TftpDynamicCommand.inf 284!endif 285INF ShellPkg/Application/Shell/Shell.inf 286 287INF MdeModulePkg/Logo/LogoDxe.inf 288 289# 290# Network modules 291# 292!if $(E1000_ENABLE) 293 FILE DRIVER = 5D695E11-9B3F-4b83-B25F-4A8D5D69BE07 { 294 SECTION PE32 = Intel3.5/EFIX64/E3522X2.EFI 295 } 296!endif 297!include NetworkPkg/Network.fdf.inc 298 INF OvmfPkg/VirtioNetDxe/VirtioNet.inf 299 300# 301# Usb Support 302# 303INF MdeModulePkg/Bus/Pci/UhciDxe/UhciDxe.inf 304INF MdeModulePkg/Bus/Pci/EhciDxe/EhciDxe.inf 305INF MdeModulePkg/Bus/Pci/XhciDxe/XhciDxe.inf 306INF MdeModulePkg/Bus/Usb/UsbBusDxe/UsbBusDxe.inf 307INF MdeModulePkg/Bus/Usb/UsbKbDxe/UsbKbDxe.inf 308INF MdeModulePkg/Bus/Usb/UsbMassStorageDxe/UsbMassStorageDxe.inf 309 310!ifdef $(CSM_ENABLE) 311INF OvmfPkg/Csm/BiosThunk/VideoDxe/VideoDxe.inf 312INF OvmfPkg/Csm/LegacyBiosDxe/LegacyBiosDxe.inf 313INF RuleOverride=CSM OvmfPkg/Csm/Csm16/Csm16.inf 314!else 315INF OvmfPkg/QemuVideoDxe/QemuVideoDxe.inf 316!endif 317 318INF OvmfPkg/QemuRamfbDxe/QemuRamfbDxe.inf 319INF OvmfPkg/VirtioGpuDxe/VirtioGpu.inf 320INF OvmfPkg/PlatformDxe/Platform.inf 321INF OvmfPkg/AmdSevDxe/AmdSevDxe.inf 322INF OvmfPkg/IoMmuDxe/IoMmuDxe.inf 323 324!if $(SMM_REQUIRE) == TRUE 325INF OvmfPkg/SmmAccess/SmmAccess2Dxe.inf 326INF OvmfPkg/SmmControl2Dxe/SmmControl2Dxe.inf 327INF UefiCpuPkg/CpuS3DataDxe/CpuS3DataDxe.inf 328INF MdeModulePkg/Core/PiSmmCore/PiSmmIpl.inf 329INF MdeModulePkg/Core/PiSmmCore/PiSmmCore.inf 330INF UefiCpuPkg/CpuIo2Smm/CpuIo2Smm.inf 331INF MdeModulePkg/Universal/LockBox/SmmLockBox/SmmLockBox.inf 332INF UefiCpuPkg/PiSmmCpuDxeSmm/PiSmmCpuDxeSmm.inf 333 334# 335# Variable driver stack (SMM) 336# 337INF OvmfPkg/QemuFlashFvbServicesRuntimeDxe/FvbServicesSmm.inf 338INF MdeModulePkg/Universal/FaultTolerantWriteDxe/FaultTolerantWriteSmm.inf 339INF MdeModulePkg/Universal/Variable/RuntimeDxe/VariableSmm.inf 340INF MdeModulePkg/Universal/Variable/RuntimeDxe/VariableSmmRuntimeDxe.inf 341 342!else 343 344# 345# Variable driver stack (non-SMM) 346# 347INF OvmfPkg/QemuFlashFvbServicesRuntimeDxe/FvbServicesRuntimeDxe.inf 348INF OvmfPkg/EmuVariableFvbRuntimeDxe/Fvb.inf 349INF MdeModulePkg/Universal/FaultTolerantWriteDxe/FaultTolerantWriteDxe.inf 350INF MdeModulePkg/Universal/Variable/RuntimeDxe/VariableRuntimeDxe.inf 351!endif 352 353!if $(TPM2_ENABLE) == TRUE 354INF SecurityPkg/Tcg/Tcg2Dxe/Tcg2Dxe.inf 355!if $(TPM2_CONFIG_ENABLE) == TRUE 356INF SecurityPkg/Tcg/Tcg2Config/Tcg2ConfigDxe.inf 357!endif 358!endif 359 360################################################################################ 361 362[FV.FVMAIN_COMPACT] 363FvNameGuid = 48DB5E17-707C-472D-91CD-1613E7EF51B0 364FvAlignment = 16 365ERASE_POLARITY = 1 366MEMORY_MAPPED = TRUE 367STICKY_WRITE = TRUE 368LOCK_CAP = TRUE 369LOCK_STATUS = TRUE 370WRITE_DISABLED_CAP = TRUE 371WRITE_ENABLED_CAP = TRUE 372WRITE_STATUS = TRUE 373WRITE_LOCK_CAP = TRUE 374WRITE_LOCK_STATUS = TRUE 375READ_DISABLED_CAP = TRUE 376READ_ENABLED_CAP = TRUE 377READ_STATUS = TRUE 378READ_LOCK_CAP = TRUE 379READ_LOCK_STATUS = TRUE 380 381FILE FV_IMAGE = 9E21FD93-9C72-4c15-8C4B-E77F1DB2D792 { 382 SECTION GUIDED EE4E5898-3914-4259-9D6E-DC7BD79403CF PROCESSING_REQUIRED = TRUE { 383 # 384 # These firmware volumes will have files placed in them uncompressed, 385 # and then both firmware volumes will be compressed in a single 386 # compression operation in order to achieve better overall compression. 387 # 388 SECTION FV_IMAGE = PEIFV 389 SECTION FV_IMAGE = DXEFV 390 } 391 } 392 393!include DecomprScratchEnd.fdf.inc 394 395################################################################################ 396 397[Rule.Common.SEC] 398 FILE SEC = $(NAMED_GUID) { 399 PE32 PE32 $(INF_OUTPUT)/$(MODULE_NAME).efi 400 UI STRING ="$(MODULE_NAME)" Optional 401 VERSION STRING ="$(INF_VERSION)" Optional BUILD_NUM=$(BUILD_NUMBER) 402 } 403 404[Rule.Common.PEI_CORE] 405 FILE PEI_CORE = $(NAMED_GUID) { 406 PE32 PE32 Align=Auto $(INF_OUTPUT)/$(MODULE_NAME).efi 407 UI STRING ="$(MODULE_NAME)" Optional 408 VERSION STRING ="$(INF_VERSION)" Optional BUILD_NUM=$(BUILD_NUMBER) 409 } 410 411[Rule.Common.PEIM] 412 FILE PEIM = $(NAMED_GUID) { 413 PEI_DEPEX PEI_DEPEX Optional $(INF_OUTPUT)/$(MODULE_NAME).depex 414 PE32 PE32 Align=Auto $(INF_OUTPUT)/$(MODULE_NAME).efi 415 UI STRING="$(MODULE_NAME)" Optional 416 VERSION STRING="$(INF_VERSION)" Optional BUILD_NUM=$(BUILD_NUMBER) 417 } 418 419[Rule.Common.DXE_CORE] 420 FILE DXE_CORE = $(NAMED_GUID) { 421 PE32 PE32 $(INF_OUTPUT)/$(MODULE_NAME).efi 422 UI STRING="$(MODULE_NAME)" Optional 423 VERSION STRING="$(INF_VERSION)" Optional BUILD_NUM=$(BUILD_NUMBER) 424 } 425 426[Rule.Common.DXE_DRIVER] 427 FILE DRIVER = $(NAMED_GUID) { 428 DXE_DEPEX DXE_DEPEX Optional $(INF_OUTPUT)/$(MODULE_NAME).depex 429 PE32 PE32 $(INF_OUTPUT)/$(MODULE_NAME).efi 430 UI STRING="$(MODULE_NAME)" Optional 431 VERSION STRING="$(INF_VERSION)" Optional BUILD_NUM=$(BUILD_NUMBER) 432 RAW ACPI Optional |.acpi 433 RAW ASL Optional |.aml 434 } 435 436[Rule.Common.DXE_RUNTIME_DRIVER] 437 FILE DRIVER = $(NAMED_GUID) { 438 DXE_DEPEX DXE_DEPEX Optional $(INF_OUTPUT)/$(MODULE_NAME).depex 439 PE32 PE32 $(INF_OUTPUT)/$(MODULE_NAME).efi 440 UI STRING="$(MODULE_NAME)" Optional 441 VERSION STRING="$(INF_VERSION)" Optional BUILD_NUM=$(BUILD_NUMBER) 442 } 443 444[Rule.Common.UEFI_DRIVER] 445 FILE DRIVER = $(NAMED_GUID) { 446 DXE_DEPEX DXE_DEPEX Optional $(INF_OUTPUT)/$(MODULE_NAME).depex 447 PE32 PE32 $(INF_OUTPUT)/$(MODULE_NAME).efi 448 UI STRING="$(MODULE_NAME)" Optional 449 VERSION STRING="$(INF_VERSION)" Optional BUILD_NUM=$(BUILD_NUMBER) 450 } 451 452[Rule.Common.UEFI_DRIVER.BINARY] 453 FILE DRIVER = $(NAMED_GUID) { 454 DXE_DEPEX DXE_DEPEX Optional |.depex 455 PE32 PE32 |.efi 456 UI STRING="$(MODULE_NAME)" Optional 457 VERSION STRING="$(INF_VERSION)" Optional BUILD_NUM=$(BUILD_NUMBER) 458 } 459 460[Rule.Common.UEFI_APPLICATION] 461 FILE APPLICATION = $(NAMED_GUID) { 462 PE32 PE32 $(INF_OUTPUT)/$(MODULE_NAME).efi 463 UI STRING="$(MODULE_NAME)" Optional 464 VERSION STRING="$(INF_VERSION)" Optional BUILD_NUM=$(BUILD_NUMBER) 465 } 466 467[Rule.Common.UEFI_APPLICATION.BINARY] 468 FILE APPLICATION = $(NAMED_GUID) { 469 PE32 PE32 |.efi 470 UI STRING="$(MODULE_NAME)" Optional 471 VERSION STRING="$(INF_VERSION)" Optional BUILD_NUM=$(BUILD_NUMBER) 472 } 473 474[Rule.Common.USER_DEFINED.ACPITABLE] 475 FILE FREEFORM = $(NAMED_GUID) { 476 RAW ACPI |.acpi 477 RAW ASL |.aml 478 } 479 480[Rule.Common.USER_DEFINED.CSM] 481 FILE FREEFORM = $(NAMED_GUID) { 482 RAW BIN |.bin 483 } 484 485[Rule.Common.SEC.RESET_VECTOR] 486 FILE RAW = $(NAMED_GUID) { 487 RAW BIN Align = 16 |.bin 488 } 489 490[Rule.Common.SMM_CORE] 491 FILE SMM_CORE = $(NAMED_GUID) { 492 PE32 PE32 $(INF_OUTPUT)/$(MODULE_NAME).efi 493 UI STRING="$(MODULE_NAME)" Optional 494 VERSION STRING="$(INF_VERSION)" Optional BUILD_NUM=$(BUILD_NUMBER) 495 } 496 497[Rule.Common.DXE_SMM_DRIVER] 498 FILE SMM = $(NAMED_GUID) { 499 SMM_DEPEX SMM_DEPEX Optional $(INF_OUTPUT)/$(MODULE_NAME).depex 500 PE32 PE32 $(INF_OUTPUT)/$(MODULE_NAME).efi 501 UI STRING="$(MODULE_NAME)" Optional 502 VERSION STRING="$(INF_VERSION)" Optional BUILD_NUM=$(BUILD_NUMBER) 503 } 504