DeveloperBox.fdf 19 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519
  1. #
  2. # Copyright (c) 2013-2014, ARM Limited. All rights reserved.
  3. # Copyright (c) 2017, Linaro Limited. All rights reserved.
  4. #
  5. # This program and the accompanying materials
  6. # are licensed and made available under the terms and conditions of the BSD License
  7. # which accompanies this distribution. The full text of the license may be found at
  8. # http://opensource.org/licenses/bsd-license.php
  9. #
  10. # THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
  11. # WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
  12. #
  13. ################################################################################
  14. #
  15. # FD Section
  16. # The [FD] Section is made up of the definition statements and a
  17. # description of what goes into the Flash Device Image. Each FD section
  18. # defines one flash "device" image. A flash device image may be one of
  19. # the following: Removable media bootable image (like a boot floppy
  20. # image,) an Option ROM image (that would be "flashed" into an add-in
  21. # card,) a System "Flash" image (that would be burned into a system's
  22. # flash) or an Update ("Capsule") image that will be used to update and
  23. # existing system flash.
  24. #
  25. ################################################################################
  26. [FD.SPI_NOR_IMAGE]
  27. BaseAddress = 0x08180000|gArmTokenSpaceGuid.PcdFdBaseAddress # The base address of the Firmware in NOR Flash.
  28. Size = 0x00280000|gArmTokenSpaceGuid.PcdFdSize # The size in bytes of the FLASH Device
  29. ErasePolarity = 1
  30. # This one is tricky, it must be: BlockSize * NumBlocks = Size
  31. BlockSize = 0x00010000
  32. NumBlocks = 0x28
  33. ################################################################################
  34. #
  35. # Following are lists of FD Region layout which correspond to the locations of different
  36. # images within the flash device.
  37. #
  38. # Regions must be defined in ascending order and may not overlap.
  39. #
  40. # A Layout Region start with a eight digit hex offset (leading "0x" required) followed by
  41. # the pipe "|" character, followed by the size of the region, also in hex with the leading
  42. # "0x" characters. Like:
  43. # Offset|Size
  44. # PcdOffsetCName|PcdSizeCName
  45. # RegionType <FV, DATA, or FILE>
  46. #
  47. ################################################################################
  48. 0x00000000|0x00078000
  49. !if $(SECURE_BOOT_ENABLE) == FALSE
  50. FILE = Platform/Socionext/DeveloperBox/fip_all_arm_tf.bin
  51. !else
  52. FILE = Platform/Socionext/DeveloperBox/fip_all_arm_tf_mm.bin
  53. !endif
  54. 0x00078000|0x00008000
  55. FILE = $(OUTPUT_DIRECTORY)/$(TARGET)_$(TOOL_CHAIN_TAG)/$(ARCH)/Silicon/Socionext/SynQuacer/Stage2Tables/Stage2Tables/OUTPUT/Stage2Tables.bin
  56. 0x00080000|0x00200000
  57. gArmTokenSpaceGuid.PcdFvBaseAddress|gArmTokenSpaceGuid.PcdFvSize
  58. FV = FVMAIN_COMPACT
  59. ################################################################################
  60. #
  61. # FV Section
  62. #
  63. # [FV] section is used to define what components or modules are placed within a flash
  64. # device file. This section also defines order the components and modules are positioned
  65. # within the image. The [FV] section consists of define statements, set statements and
  66. # module statements.
  67. #
  68. ################################################################################
  69. [FV.FvMain]
  70. FvNameGuid = 89cc2ab6-b847-475f-93e2-819603c3d15a
  71. BlockSize = 0x40
  72. NumBlocks = 0 # This FV gets compressed so make it just big enough
  73. FvAlignment = 8 # FV alignment and FV attributes setting.
  74. ERASE_POLARITY = 1
  75. MEMORY_MAPPED = TRUE
  76. STICKY_WRITE = TRUE
  77. LOCK_CAP = TRUE
  78. LOCK_STATUS = TRUE
  79. WRITE_DISABLED_CAP = TRUE
  80. WRITE_ENABLED_CAP = TRUE
  81. WRITE_STATUS = TRUE
  82. WRITE_LOCK_CAP = TRUE
  83. WRITE_LOCK_STATUS = TRUE
  84. READ_DISABLED_CAP = TRUE
  85. READ_ENABLED_CAP = TRUE
  86. READ_STATUS = TRUE
  87. READ_LOCK_CAP = TRUE
  88. READ_LOCK_STATUS = TRUE
  89. INF MdeModulePkg/Core/Dxe/DxeMain.inf
  90. #
  91. # PI DXE Drivers producing Architectural Protocols (EFI Services)
  92. #
  93. INF ArmPkg/Drivers/CpuDxe/CpuDxe.inf
  94. INF MdeModulePkg/Universal/PCD/Dxe/Pcd.inf
  95. INF EmbeddedPkg/MetronomeDxe/MetronomeDxe.inf
  96. INF MdeModulePkg/Universal/MonotonicCounterRuntimeDxe/MonotonicCounterRuntimeDxe.inf
  97. INF EmbeddedPkg/RealTimeClockRuntimeDxe/RealTimeClockRuntimeDxe.inf
  98. INF MdeModulePkg/Universal/ResetSystemRuntimeDxe/ResetSystemRuntimeDxe.inf
  99. INF MdeModulePkg/Core/RuntimeDxe/RuntimeDxe.inf
  100. INF MdeModulePkg/Universal/SecurityStubDxe/SecurityStubDxe.inf
  101. INF ArmPkg/Drivers/TimerDxe/TimerDxe.inf
  102. INF ArmPkg/Drivers/GenericWatchdogDxe/GenericWatchdogDxe.inf
  103. INF MdeModulePkg/Universal/CapsuleRuntimeDxe/CapsuleRuntimeDxe.inf
  104. INF MdeModulePkg/Universal/DevicePathDxe/DevicePathDxe.inf
  105. INF MdeModulePkg/Universal/HiiDatabaseDxe/HiiDatabaseDxe.inf
  106. INF MdeModulePkg/Universal/SerialDxe/SerialDxe.inf
  107. INF MdeModulePkg/Universal/Console/ConPlatformDxe/ConPlatformDxe.inf
  108. INF MdeModulePkg/Universal/Console/ConSplitterDxe/ConSplitterDxe.inf
  109. INF MdeModulePkg/Universal/Console/GraphicsConsoleDxe/GraphicsConsoleDxe.inf
  110. INF MdeModulePkg/Universal/Console/TerminalDxe/TerminalDxe.inf
  111. INF Platform/Socionext/DeveloperBox/Logo/LogoDxe.inf
  112. INF ArmPkg/Drivers/ArmGic/ArmGicDxe.inf
  113. #
  114. # Variable services
  115. #
  116. !if $(SECURE_BOOT_ENABLE) == FALSE
  117. INF Silicon/Socionext/SynQuacer/Drivers/Fip006Dxe/Fip006Dxe.inf
  118. INF MdeModulePkg/Universal/FaultTolerantWriteDxe/FaultTolerantWriteDxe.inf
  119. INF MdeModulePkg/Universal/Variable/RuntimeDxe/VariableRuntimeDxe.inf
  120. !else
  121. INF ArmPkg/Drivers/MmCommunicationDxe/MmCommunication.inf
  122. INF MdeModulePkg/Universal/Variable/RuntimeDxe/VariableSmmRuntimeDxe.inf
  123. INF SecurityPkg/VariableAuthenticated/SecureBootConfigDxe/SecureBootConfigDxe.inf
  124. !endif
  125. #
  126. # UEFI applications
  127. #
  128. INF ShellPkg/Application/Shell/Shell.inf
  129. #
  130. # Generic BDS
  131. #
  132. INF MdeModulePkg/Universal/DisplayEngineDxe/DisplayEngineDxe.inf
  133. INF MdeModulePkg/Universal/SetupBrowserDxe/SetupBrowserDxe.inf
  134. INF MdeModulePkg/Universal/DriverHealthManagerDxe/DriverHealthManagerDxe.inf
  135. INF MdeModulePkg/Universal/BdsDxe/BdsDxe.inf
  136. INF MdeModulePkg/Application/UiApp/UiApp.inf
  137. #
  138. # PCI
  139. #
  140. INF Silicon/Socionext/SynQuacer/Drivers/SynQuacerPciCpuIo2Dxe/SynQuacerPciCpuIo2Dxe.inf
  141. INF MdeModulePkg/Bus/Pci/PciHostBridgeDxe/PciHostBridgeDxe.inf
  142. INF MdeModulePkg/Bus/Pci/PciBusDxe/PciBusDxe.inf
  143. INF MdeModulePkg/Bus/Pci/NvmExpressDxe/NvmExpressDxe.inf
  144. !if $(ARCH) == AARCH64
  145. INF MdeModulePkg/Universal/EbcDxe/EbcDxe.inf
  146. !if $(X64EMU_ENABLE) == TRUE
  147. INF Emulator/X86EmulatorDxe/X86EmulatorDxe.inf
  148. !endif
  149. !endif
  150. INF MdeModulePkg/Universal/Acpi/BootGraphicsResourceTableDxe/BootGraphicsResourceTableDxe.inf
  151. INF MdeModulePkg/Bus/Pci/PciSioSerialDxe/PciSioSerialDxe.inf
  152. #
  153. # eMMC support
  154. #
  155. INF MdeModulePkg/Bus/Pci/NonDiscoverablePciDeviceDxe/NonDiscoverablePciDeviceDxe.inf
  156. INF MdeModulePkg/Bus/Pci/SdMmcPciHcDxe/SdMmcPciHcDxe.inf
  157. INF MdeModulePkg/Bus/Sd/EmmcDxe/EmmcDxe.inf
  158. #
  159. # AHCI Support
  160. #
  161. INF MdeModulePkg/Bus/Pci/SataControllerDxe/SataControllerDxe.inf
  162. INF MdeModulePkg/Bus/Ata/AtaAtapiPassThru/AtaAtapiPassThru.inf
  163. INF MdeModulePkg/Bus/Ata/AtaBusDxe/AtaBusDxe.inf
  164. INF MdeModulePkg/Bus/Scsi/ScsiBusDxe/ScsiBusDxe.inf
  165. INF MdeModulePkg/Bus/Scsi/ScsiDiskDxe/ScsiDiskDxe.inf
  166. #
  167. # USB
  168. #
  169. INF MdeModulePkg/Bus/Pci/UhciDxe/UhciDxe.inf
  170. INF MdeModulePkg/Bus/Pci/EhciDxe/EhciDxe.inf
  171. INF MdeModulePkg/Bus/Pci/XhciDxe/XhciDxe.inf
  172. INF MdeModulePkg/Bus/Usb/UsbBusDxe/UsbBusDxe.inf
  173. INF MdeModulePkg/Bus/Usb/UsbMassStorageDxe/UsbMassStorageDxe.inf
  174. INF MdeModulePkg/Bus/Usb/UsbKbDxe/UsbKbDxe.inf
  175. #
  176. # FAT filesystem + GPT/MBR partitioning
  177. #
  178. INF MdeModulePkg/Universal/Disk/DiskIoDxe/DiskIoDxe.inf
  179. INF MdeModulePkg/Universal/Disk/PartitionDxe/PartitionDxe.inf
  180. INF MdeModulePkg/Universal/Disk/UnicodeCollation/EnglishDxe/EnglishDxe.inf
  181. INF FatPkg/EnhancedFatDxe/Fat.inf
  182. INF MdeModulePkg/Universal/Disk/RamDiskDxe/RamDiskDxe.inf
  183. #
  184. # RNG
  185. #
  186. INF Silicon/Socionext/SynQuacer/Drivers/OpteeRngDxe/OpteeRngDxe.inf
  187. INF Silicon/Openmoko/ChaosKeyDxe/ChaosKeyDxe.inf
  188. #
  189. # Platform driver
  190. #
  191. INF Silicon/Socionext/SynQuacer/Drivers/PlatformDxe/PlatformDxe.inf
  192. #
  193. # Networking stack
  194. #
  195. INF MdeModulePkg/Universal/Network/DpcDxe/DpcDxe.inf
  196. INF MdeModulePkg/Universal/Network/ArpDxe/ArpDxe.inf
  197. INF MdeModulePkg/Universal/Network/Dhcp4Dxe/Dhcp4Dxe.inf
  198. INF MdeModulePkg/Universal/Network/Ip4Dxe/Ip4Dxe.inf
  199. INF MdeModulePkg/Universal/Network/MnpDxe/MnpDxe.inf
  200. INF MdeModulePkg/Universal/Network/SnpDxe/SnpDxe.inf
  201. INF MdeModulePkg/Universal/Network/VlanConfigDxe/VlanConfigDxe.inf
  202. INF MdeModulePkg/Universal/Network/Mtftp4Dxe/Mtftp4Dxe.inf
  203. INF MdeModulePkg/Universal/Network/Udp4Dxe/Udp4Dxe.inf
  204. INF NetworkPkg/Ip6Dxe/Ip6Dxe.inf
  205. INF NetworkPkg/TcpDxe/TcpDxe.inf
  206. INF NetworkPkg/Udp6Dxe/Udp6Dxe.inf
  207. INF NetworkPkg/Dhcp6Dxe/Dhcp6Dxe.inf
  208. INF NetworkPkg/Mtftp6Dxe/Mtftp6Dxe.inf
  209. INF NetworkPkg/UefiPxeBcDxe/UefiPxeBcDxe.inf
  210. INF NetworkPkg/IScsiDxe/IScsiDxe.inf
  211. INF NetworkPkg/DnsDxe/DnsDxe.inf
  212. INF NetworkPkg/HttpUtilitiesDxe/HttpUtilitiesDxe.inf
  213. INF NetworkPkg/HttpDxe/HttpDxe.inf
  214. INF NetworkPkg/HttpBootDxe/HttpBootDxe.inf
  215. INF NetworkPkg/TlsDxe/TlsDxe.inf
  216. INF NetworkPkg/TlsAuthConfigDxe/TlsAuthConfigDxe.inf
  217. INF Silicon/Socionext/SynQuacer/Drivers/Net/NetsecDxe/NetsecDxe.inf
  218. #
  219. # Console preference selection
  220. #
  221. INF EmbeddedPkg/Drivers/ConsolePrefDxe/ConsolePrefDxe.inf
  222. #
  223. # DT support
  224. #
  225. INF RuleOverride = DTB Silicon/Socionext/SynQuacer/DeviceTree/DeveloperBox.inf
  226. #
  227. # Firmware update
  228. #
  229. INF MdeModulePkg/Universal/EsrtDxe/EsrtDxe.inf
  230. INF SignedCapsulePkg/Universal/SystemFirmwareUpdate/SystemFirmwareReportDxe.inf
  231. FILE FREEFORM = PCD(gEfiSignedCapsulePkgTokenSpaceGuid.PcdEdkiiPkcs7TestPublicKeyFileGuid) {
  232. SECTION RAW = BaseTools/Source/Python/Pkcs7Sign/TestRoot.cer
  233. SECTION UI = "Pkcs7TestRoot"
  234. }
  235. #
  236. # 96board mezzanine support
  237. #
  238. INF Platform/96Boards/Secure96Dxe/Secure96Dxe.inf
  239. INF Platform/96Boards/96BoardsI2cDxe/96BoardsI2cDxe.inf
  240. INF Silicon/Atmel/AtSha204a/AtSha204aDxe.inf
  241. INF Platform/96Boards/LsConnectorDxe/LsConnectorDxe.inf
  242. #
  243. # I2C
  244. #
  245. INF Silicon/Socionext/SynQuacer/Drivers/SynQuacerI2cDxe/SynQuacerI2cDxe.inf
  246. INF MdeModulePkg/Bus/I2c/I2cDxe/I2cDxe.inf
  247. #
  248. # ACPI support
  249. #
  250. INF MdeModulePkg/Universal/Acpi/AcpiTableDxe/AcpiTableDxe.inf
  251. INF MdeModulePkg/Universal/Acpi/AcpiPlatformDxe/AcpiPlatformDxe.inf
  252. INF RuleOverride = ACPITABLE Silicon/Socionext/SynQuacer/AcpiTables/AcpiTables.inf
  253. #
  254. # SMBIOS/DMI support
  255. #
  256. INF MdeModulePkg/Universal/SmbiosDxe/SmbiosDxe.inf
  257. INF Platform/Socionext/DeveloperBox/SmbiosPlatformDxe/SmbiosPlatformDxe.inf
  258. [FV.FVMAIN_COMPACT]
  259. FvAlignment = 16
  260. BlockSize = 0x10000
  261. NumBlocks = 0
  262. ERASE_POLARITY = 1
  263. MEMORY_MAPPED = TRUE
  264. STICKY_WRITE = TRUE
  265. LOCK_CAP = TRUE
  266. LOCK_STATUS = TRUE
  267. WRITE_DISABLED_CAP = TRUE
  268. WRITE_ENABLED_CAP = TRUE
  269. WRITE_STATUS = TRUE
  270. WRITE_LOCK_CAP = TRUE
  271. WRITE_LOCK_STATUS = TRUE
  272. READ_DISABLED_CAP = TRUE
  273. READ_ENABLED_CAP = TRUE
  274. READ_STATUS = TRUE
  275. READ_LOCK_CAP = TRUE
  276. READ_LOCK_STATUS = TRUE
  277. INF ArmPlatformPkg/PrePeiCore/PrePeiCoreUniCore.inf
  278. INF MdeModulePkg/Core/Pei/PeiMain.inf
  279. INF MdeModulePkg/Universal/PCD/Pei/Pcd.inf
  280. INF ArmPlatformPkg/PlatformPei/PlatformPeim.inf
  281. INF ArmPlatformPkg/MemoryInitPei/MemoryInitPeim.inf
  282. INF ArmPkg/Drivers/CpuPei/CpuPei.inf
  283. INF MdeModulePkg/Universal/FaultTolerantWritePei/FaultTolerantWritePei.inf
  284. INF MdeModulePkg/Universal/Variable/Pei/VariablePei.inf
  285. INF MdeModulePkg/Universal/CapsulePei/CapsulePei.inf
  286. INF Silicon/Socionext/SynQuacer/Drivers/SynQuacerGpioPei/SynQuacerGpioPei.inf
  287. INF RuleOverride = FMP_IMAGE_DESC Platform/Socionext/DeveloperBox/SystemFirmwareDescriptor/SystemFirmwareDescriptor.inf
  288. INF MdeModulePkg/Core/DxeIplPeim/DxeIpl.inf
  289. FILE FV_IMAGE = 9E21FD93-9C72-4c15-8C4B-E77F1DB2D792 {
  290. SECTION GUIDED EE4E5898-3914-4259-9D6E-DC7BD79403CF PROCESSING_REQUIRED = TRUE {
  291. SECTION FV_IMAGE = FVMAIN
  292. }
  293. }
  294. [FV.CapsuleDispatchFv]
  295. FvAlignment = 16
  296. ERASE_POLARITY = 1
  297. MEMORY_MAPPED = TRUE
  298. STICKY_WRITE = TRUE
  299. LOCK_CAP = TRUE
  300. LOCK_STATUS = TRUE
  301. WRITE_DISABLED_CAP = TRUE
  302. WRITE_ENABLED_CAP = TRUE
  303. WRITE_STATUS = TRUE
  304. WRITE_LOCK_CAP = TRUE
  305. WRITE_LOCK_STATUS = TRUE
  306. READ_DISABLED_CAP = TRUE
  307. READ_ENABLED_CAP = TRUE
  308. READ_STATUS = TRUE
  309. READ_LOCK_CAP = TRUE
  310. READ_LOCK_STATUS = TRUE
  311. !if $(SECURE_BOOT_ENABLE) == TRUE
  312. INF Silicon/Socionext/SynQuacer/Drivers/Fip006Dxe/Fip006Dxe.inf
  313. !endif
  314. INF SignedCapsulePkg/Universal/SystemFirmwareUpdate/SystemFirmwareUpdateDxe.inf
  315. [FV.SystemFirmwareUpdateCargo]
  316. FvAlignment = 16
  317. ERASE_POLARITY = 1
  318. MEMORY_MAPPED = TRUE
  319. STICKY_WRITE = TRUE
  320. LOCK_CAP = TRUE
  321. LOCK_STATUS = TRUE
  322. WRITE_DISABLED_CAP = TRUE
  323. WRITE_ENABLED_CAP = TRUE
  324. WRITE_STATUS = TRUE
  325. WRITE_LOCK_CAP = TRUE
  326. WRITE_LOCK_STATUS = TRUE
  327. READ_DISABLED_CAP = TRUE
  328. READ_ENABLED_CAP = TRUE
  329. READ_STATUS = TRUE
  330. READ_LOCK_CAP = TRUE
  331. READ_LOCK_STATUS = TRUE
  332. FILE RAW = e99b89f7-c120-4b25-4db1-8394edb0b4f5 { # PcdEdkiiSystemFirmwareFileGuid
  333. FD = SPI_NOR_IMAGE
  334. }
  335. FILE RAW = ce57b167-b0e4-41e8-a897-5f4feb781d40 { # gEdkiiSystemFmpCapsuleDriverFvFileGuid
  336. FV = CapsuleDispatchFv
  337. }
  338. FILE RAW = 812136D3-4D3A-433A-9418-29BB9BF78F6E { # gEdkiiSystemFmpCapsuleConfigFileGuid
  339. Platform/Socionext/DeveloperBox/SystemFirmwareUpdateConfig/SystemFirmwareUpdateConfig.ini
  340. }
  341. INF RuleOverride = FMP_IMAGE_DESC Platform/Socionext/DeveloperBox/SystemFirmwareDescriptor/SystemFirmwareDescriptor.inf
  342. [FmpPayload.FmpPayloadSystemFirmwarePkcs7]
  343. IMAGE_HEADER_INIT_VERSION = 0x02
  344. IMAGE_TYPE_ID = 50b94ce5-8b63-4849-8af4-ea479356f0e3 # PcdSystemFmpCapsuleImageTypeIdGuid
  345. IMAGE_INDEX = 0x1
  346. HARDWARE_INSTANCE = 0x0
  347. MONOTONIC_COUNT = 0x1
  348. CERTIFICATE_GUID = 4AAFD29D-68DF-49EE-8AA9-347D375665A7 # PKCS7
  349. FV = SystemFirmwareUpdateCargo
  350. [Capsule.SynQuacerFirmwareUpdateCapsuleFmpPkcs7]
  351. CAPSULE_GUID = 6dcbd5ed-e82d-4c44-bda1-7194199ad92a # gEfiFmpCapsuleGuid
  352. CAPSULE_HEADER_SIZE = 0x20
  353. CAPSULE_HEADER_INIT_VERSION = 0x1
  354. FMP_PAYLOAD = FmpPayloadSystemFirmwarePkcs7
  355. ################################################################################
  356. #
  357. # Rules are use with the [FV] section's module INF type to define
  358. # how an FFS file is created for a given INF file. The following Rule are the default
  359. # rules for the different module type. User can add the customized rules to define the
  360. # content of the FFS file.
  361. #
  362. ################################################################################
  363. ############################################################################
  364. # Example of a DXE_DRIVER FFS file with a Checksum encapsulation section #
  365. ############################################################################
  366. #
  367. #[Rule.Common.DXE_DRIVER]
  368. # FILE DRIVER = $(NAMED_GUID) {
  369. # DXE_DEPEX DXE_DEPEX Optional $(INF_OUTPUT)/$(MODULE_NAME).depex
  370. # COMPRESS PI_STD {
  371. # GUIDED {
  372. # PE32 PE32 $(INF_OUTPUT)/$(MODULE_NAME).efi
  373. # UI STRING="$(MODULE_NAME)" Optional
  374. # VERSION STRING="$(INF_VERSION)" Optional BUILD_NUM=$(BUILD_NUMBER)
  375. # }
  376. # }
  377. # }
  378. #
  379. ############################################################################
  380. [Rule.Common.SEC]
  381. FILE SEC = $(NAMED_GUID) RELOCS_STRIPPED FIXED {
  382. TE TE Align = Auto $(INF_OUTPUT)/$(MODULE_NAME).efi
  383. }
  384. [Rule.Common.PEI_CORE]
  385. FILE PEI_CORE = $(NAMED_GUID) FIXED {
  386. TE TE Align = Auto $(INF_OUTPUT)/$(MODULE_NAME).efi
  387. UI STRING ="$(MODULE_NAME)" Optional
  388. }
  389. [Rule.Common.PEIM]
  390. FILE PEIM = $(NAMED_GUID) FIXED {
  391. PEI_DEPEX PEI_DEPEX Optional $(INF_OUTPUT)/$(MODULE_NAME).depex
  392. TE TE Align = Auto $(INF_OUTPUT)/$(MODULE_NAME).efi
  393. UI STRING="$(MODULE_NAME)" Optional
  394. }
  395. [Rule.Common.DXE_CORE]
  396. FILE DXE_CORE = $(NAMED_GUID) {
  397. PE32 PE32 $(INF_OUTPUT)/$(MODULE_NAME).efi
  398. UI STRING="$(MODULE_NAME)" Optional
  399. }
  400. [Rule.Common.UEFI_DRIVER]
  401. FILE DRIVER = $(NAMED_GUID) {
  402. DXE_DEPEX DXE_DEPEX Optional $(INF_OUTPUT)/$(MODULE_NAME).depex
  403. PE32 PE32 $(INF_OUTPUT)/$(MODULE_NAME).efi
  404. UI STRING="$(MODULE_NAME)" Optional
  405. }
  406. [Rule.Common.DXE_DRIVER]
  407. FILE DRIVER = $(NAMED_GUID) {
  408. DXE_DEPEX DXE_DEPEX Optional $(INF_OUTPUT)/$(MODULE_NAME).depex
  409. PE32 PE32 $(INF_OUTPUT)/$(MODULE_NAME).efi
  410. UI STRING="$(MODULE_NAME)" Optional
  411. RAW BIN Optional |.dtb
  412. RAW ASL Optional |.aml
  413. }
  414. [Rule.Common.DXE_RUNTIME_DRIVER]
  415. FILE DRIVER = $(NAMED_GUID) {
  416. DXE_DEPEX DXE_DEPEX Optional $(INF_OUTPUT)/$(MODULE_NAME).depex
  417. PE32 PE32 $(INF_OUTPUT)/$(MODULE_NAME).efi
  418. UI STRING="$(MODULE_NAME)" Optional
  419. }
  420. [Rule.Common.UEFI_APPLICATION]
  421. FILE APPLICATION = $(NAMED_GUID) {
  422. UI STRING ="$(MODULE_NAME)" Optional
  423. PE32 PE32 $(INF_OUTPUT)/$(MODULE_NAME).efi
  424. }
  425. [Rule.Common.UEFI_DRIVER.BINARY]
  426. FILE DRIVER = $(NAMED_GUID) {
  427. DXE_DEPEX DXE_DEPEX Optional |.depex
  428. PE32 PE32 |.efi
  429. UI STRING="$(MODULE_NAME)" Optional
  430. VERSION STRING="$(INF_VERSION)" Optional BUILD_NUM=$(BUILD_NUMBER)
  431. }
  432. [Rule.Common.UEFI_APPLICATION.BINARY]
  433. FILE APPLICATION = $(NAMED_GUID) {
  434. PE32 PE32 |.efi
  435. UI STRING="$(MODULE_NAME)" Optional
  436. VERSION STRING="$(INF_VERSION)" Optional BUILD_NUM=$(BUILD_NUMBER)
  437. }
  438. [Rule.Common.USER_DEFINED.ACPITABLE]
  439. FILE FREEFORM = $(NAMED_GUID) {
  440. RAW ACPI |.acpi
  441. RAW ASL |.aml
  442. }
  443. [Rule.Common.USER_DEFINED.DTB]
  444. FILE FREEFORM = $(NAMED_GUID) {
  445. RAW BIN |.dtb
  446. }
  447. [Rule.Common.PEIM.FMP_IMAGE_DESC]
  448. FILE PEIM = $(NAMED_GUID) {
  449. RAW BIN |.acpi
  450. PEI_DEPEX PEI_DEPEX Optional $(INF_OUTPUT)/$(MODULE_NAME).depex
  451. PE32 PE32 Align=4K $(INF_OUTPUT)/$(MODULE_NAME).efi
  452. UI STRING="$(MODULE_NAME)" Optional
  453. VERSION STRING="$(INF_VERSION)" Optional BUILD_NUM=$(BUILD_NUMBER)
  454. }
  455. [Rule.Common.USER_DEFINED.ACPITABLE]
  456. FILE FREEFORM = $(NAMED_GUID) {
  457. RAW ACPI |.acpi
  458. RAW ASL |.aml
  459. }