QemuOpenBoardPkg.fdf 12 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328
  1. ## @file
  2. # QemuOpenBoardPkg.fdf
  3. #
  4. # Copyright (c) 2022 Theo Jehl
  5. # SPDX-License-Identifier: BSD-2-Clause-Patent
  6. SET gMinPlatformPkgTokenSpaceGuid.PcdFlashAreaBaseAddress = 0xFF800000
  7. SET gMinPlatformPkgTokenSpaceGuid.PcdFlashAreaSize = 0x800000
  8. !include QemuOpenBoardPkg/Include/Fdf/FlashMap.fdf.inc
  9. [FD.QemuOpenBoardPkgVars]
  10. BaseAddress = 0xFF800000
  11. Size = 0x80000
  12. ErasePolarity = 1
  13. BlockSize = 0x800|gQemuOpenBoardPkgTokenSpaceGuid.PcdFdVarBlockSize
  14. NumBlocks = 0x100
  15. #
  16. # Do not modify this block
  17. # These three areas are tightly coupled and should be modified with utmost care.
  18. # The total size must match the size in the EFI_FIRMWARE_VOLUME_HEADER in NvStorage512K.fdf.
  19. # The NvStorageVariableSize must also match the VARIABLE_STORE_HEADER size in NvStorage512K.fdf.
  20. # The EFI_FAULT_TOLERANT_WORKING_BLOCK_HEADER in CommonNvStorageFtwWorking.fdf doesn't have size info.
  21. #
  22. gMinPlatformPkgTokenSpaceGuid.PcdFlashNvStorageVariableOffset | gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageVariableSize
  23. !include WhitleyOpenBoardPkg/Include/Fdf/NvStorage512K.fdf
  24. gMinPlatformPkgTokenSpaceGuid.PcdFlashNvStorageFtwWorkingOffset | gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageFtwWorkingSize
  25. !include WhitleyOpenBoardPkg/Include/Fdf/CommonNvStorageFtwWorking.fdf
  26. gMinPlatformPkgTokenSpaceGuid.PcdFlashNvStorageFtwSpareOffset | gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageFtwSpareSize
  27. DATA = { 0xFF } # Hack to ensure build doesn't treat the next PCD as Base/Size to be written
  28. [FD.QemuOpenBoardPkg]
  29. BaseAddress = 0xFF880000
  30. Size = 0x780000
  31. ErasePolarity = 1
  32. BlockSize = 0x1000
  33. NumBlocks = 0x780
  34. gMinPlatformPkgTokenSpaceGuid.PcdFlashFvAdvancedOffset | gMinPlatformPkgTokenSpaceGuid.PcdFlashFvAdvancedSize
  35. FV = FvAdvanced
  36. gMinPlatformPkgTokenSpaceGuid.PcdFlashFvSecurityOffset | gMinPlatformPkgTokenSpaceGuid.PcdFlashFvSecuritySize
  37. FV = FvSecurity
  38. gMinPlatformPkgTokenSpaceGuid.PcdFlashFvOsBootOffset | gMinPlatformPkgTokenSpaceGuid.PcdFlashFvOsBootSize
  39. FV = FvOsBoot
  40. gMinPlatformPkgTokenSpaceGuid.PcdFlashFvUefiBootOffset | gMinPlatformPkgTokenSpaceGuid.PcdFlashFvUefiBootSize
  41. FV = FvUefiBoot
  42. gMinPlatformPkgTokenSpaceGuid.PcdFlashFvBspOffset | gMinPlatformPkgTokenSpaceGuid.PcdFlashFvBspSize
  43. FV = FvBsp
  44. gMinPlatformPkgTokenSpaceGuid.PcdFlashFvPostMemoryOffset | gMinPlatformPkgTokenSpaceGuid.PcdFlashFvPostMemorySize
  45. FV = FvPostMemory
  46. gMinPlatformPkgTokenSpaceGuid.PcdFlashFvFspSOffset | gMinPlatformPkgTokenSpaceGuid.PcdFlashFvFspSSize
  47. FV = FvFspS
  48. gMinPlatformPkgTokenSpaceGuid.PcdFlashFvFspMOffset | gMinPlatformPkgTokenSpaceGuid.PcdFlashFvFspMSize
  49. FV = FvFspM
  50. gMinPlatformPkgTokenSpaceGuid.PcdFlashFvFspTOffset | gMinPlatformPkgTokenSpaceGuid.PcdFlashFvFspTSize
  51. FV = FvFspT
  52. gMinPlatformPkgTokenSpaceGuid.PcdFlashFvBspPreMemoryOffset | gMinPlatformPkgTokenSpaceGuid.PcdFlashFvBspPreMemorySize
  53. FV = FvBspPreMemory
  54. gMinPlatformPkgTokenSpaceGuid.PcdFlashFvPreMemoryOffset | gMinPlatformPkgTokenSpaceGuid.PcdFlashFvPreMemorySize
  55. FV = FvPreMemory
  56. ###########################
  57. #
  58. # Stage 1 Firmware Volumes
  59. #
  60. ###########################
  61. [FV.FvPreMemory]
  62. !include MinPlatformPkg/Include/Fdf/CommonSpiFvHeaderInfo.fdf
  63. FvNameGuid = BD479C6B-2EFF-401F-A7F1-566347B41D07
  64. FILE FV_IMAGE = 618FBA00-2231-41F6-9931-25A89DF501D3 {
  65. SECTION FV_IMAGE = FvSecurityPreMemory
  66. }
  67. INF MdeModulePkg/Universal/PCD/Pei/Pcd.inf
  68. INF MdeModulePkg/Universal/ReportStatusCodeRouter/Pei/ReportStatusCodeRouterPei.inf
  69. INF MinPlatformPkg/PlatformInit/ReportFv/ReportFvPei.inf
  70. INF MdeModulePkg/Universal/FaultTolerantWritePei/FaultTolerantWritePei.inf
  71. INF MdeModulePkg/Universal/Variable/Pei/VariablePei.inf
  72. INF UefiCpuPkg/SecCore/SecCore.inf
  73. [FV.FvSecurityPreMemory]
  74. !include MinPlatformPkg/Include/Fdf/CommonSpiFvHeaderInfo.fdf
  75. FvNameGuid = F626B0FB-D759-44A8-B131-42408BB3533D
  76. [FV.FvBspPreMemory]
  77. !include MinPlatformPkg/Include/Fdf/CommonSpiFvHeaderInfo.fdf
  78. FvNameGuid = 5CF9C072-385F-44FC-B21B-002074251C08
  79. INF MdeModulePkg/Universal/StatusCodeHandler/Pei/StatusCodeHandlerPei.inf
  80. INF MinPlatformPkg/PlatformInit/PlatformInitPei/PlatformInitPreMem.inf
  81. INF QemuOpenBoardPkg/PlatformInitPei/PlatformInitPei.inf
  82. FILE FV_IMAGE = 90B948EA-FF73-4689-B90A-A54F86C1FC01 {
  83. SECTION FV_IMAGE = FvAdvancedPreMemory
  84. }
  85. [FV.FvAdvancedPreMemory]
  86. !include MinPlatformPkg/Include/Fdf/CommonSpiFvHeaderInfo.fdf
  87. FvNameGuid = 43528CE0-812B-4074-B77E-C49E7A2F4FE1
  88. [FV.FvFspT]
  89. !include MinPlatformPkg/Include/Fdf/CommonSpiFvHeaderInfo.fdf
  90. FvNameGuid = 958CAF39-0B6C-40F1-B190-EC91C536CFF9
  91. [FV.FvFspM]
  92. !include MinPlatformPkg/Include/Fdf/CommonSpiFvHeaderInfo.fdf
  93. FvNameGuid = 03982cf7-246a-4356-b6ba-436a2251595c
  94. INF MdeModulePkg/Core/Pei/PeiMain.inf
  95. FILE FV_IMAGE = 83B39C64-BFB9-42EC-A7A3-527854A5C4C3 {
  96. SECTION FV_IMAGE = FvPreMemorySilicon
  97. }
  98. [FV.FvPreMemorySilicon]
  99. !include MinPlatformPkg/Include/Fdf/CommonSpiFvHeaderInfo.fdf
  100. FvNameGuid = F0205C0E-0AD1-499C-A5F9-96BAF98248A0
  101. INF MinPlatformPkg/PlatformInit/SiliconPolicyPei/SiliconPolicyPeiPreMem.inf
  102. !if $(SMM_REQUIRED) == TRUE
  103. INF OvmfPkg/SmmAccess/SmmAccessPei.inf
  104. !endif
  105. [FV.FvFspS]
  106. !include MinPlatformPkg/Include/Fdf/CommonSpiFvHeaderInfo.fdf
  107. FvNameGuid = C6786443-AFCA-471B-A8FC-E8C330708F99
  108. [FV.FvPostMemorySilicon]
  109. !include MinPlatformPkg/Include/Fdf/CommonSpiFvHeaderInfo.fdf
  110. FvNameGuid = EF76DFDC-2B7D-423D-BFE4-8FD4BB22E770
  111. ###########################
  112. #
  113. # Stage 2 Firmware Volumes
  114. #
  115. ###########################
  116. [FV.FvPostMemory]
  117. !include MinPlatformPkg/Include/Fdf/CommonSpiFvHeaderInfo.fdf
  118. FvNameGuid = 5A1D6978-BABE-42F9-A629-F7B3B6A1E1BD
  119. INF UefiCpuPkg/CpuMpPei/CpuMpPei.inf
  120. INF MinPlatformPkg/PlatformInit/SiliconPolicyPei/SiliconPolicyPeiPostMem.inf
  121. INF MinPlatformPkg/PlatformInit/PlatformInitPei/PlatformInitPostMem.inf
  122. INF MdeModulePkg/Core/DxeIplPeim/DxeIpl.inf
  123. INF MdeModulePkg/Universal/ResetSystemRuntimeDxe/ResetSystemRuntimeDxe.inf
  124. INF MdeModulePkg/Bus/Pci/PciHostBridgeDxe/PciHostBridgeDxe.inf
  125. [FV.FvBsp]
  126. !include MinPlatformPkg/Include/Fdf/CommonSpiFvHeaderInfo.fdf
  127. FvNameGuid = FCA0BC4A-994D-4EF9-BD56-A8C45872C2A8
  128. ###########################
  129. #
  130. # Stage 3 Firmware Volumes
  131. #
  132. ###########################
  133. [FV.FvUefiBootUnCompressed]
  134. !include MinPlatformPkg/Include/Fdf/CommonSpiFvHeaderInfo.fdf
  135. FvNameGuid = D2F110DB-2388-4963-BEFD-5889EEE01569
  136. INF MdeModulePkg/Universal/PCD/Dxe/Pcd.inf
  137. INF MdeModulePkg/Universal/ReportStatusCodeRouter/RuntimeDxe/ReportStatusCodeRouterRuntimeDxe.inf
  138. INF MdeModulePkg/Universal/StatusCodeHandler/RuntimeDxe/StatusCodeHandlerRuntimeDxe.inf
  139. INF MdeModulePkg/Universal/Metronome/Metronome.inf
  140. INF PcAtChipsetPkg/HpetTimerDxe/HpetTimerDxe.inf
  141. INF UefiCpuPkg/CpuIo2Dxe/CpuIo2Dxe.inf
  142. INF UefiCpuPkg/CpuDxe/CpuDxe.inf
  143. INF MdeModulePkg/Universal/WatchdogTimerDxe/WatchdogTimer.inf
  144. INF PcAtChipsetPkg/PcatRealTimeClockRuntimeDxe/PcatRealTimeClockRuntimeDxe.inf
  145. INF MdeModulePkg/Core/RuntimeDxe/RuntimeDxe.inf
  146. INF MdeModulePkg/Universal/FaultTolerantWriteDxe/FaultTolerantWriteDxe.inf
  147. INF MdeModulePkg/Universal/Variable/RuntimeDxe/VariableRuntimeDxe.inf
  148. INF MdeModulePkg/Universal/MonotonicCounterRuntimeDxe/MonotonicCounterRuntimeDxe.inf
  149. INF MdeModulePkg/Universal/Console/TerminalDxe/TerminalDxe.inf
  150. INF MdeModulePkg/Universal/SecurityStubDxe/SecurityStubDxe.inf
  151. INF MdeModulePkg/Universal/CapsuleRuntimeDxe/CapsuleRuntimeDxe.inf
  152. INF MdeModulePkg/Universal/Acpi/S3SaveStateDxe/S3SaveStateDxe.inf
  153. INF MdeModulePkg/Universal/BdsDxe/BdsDxe.inf
  154. INF OvmfPkg/IoMmuDxe/IoMmuDxe.inf
  155. INF OvmfPkg/PlatformDxe/Platform.inf
  156. INF MdeModulePkg/Bus/Pci/PciBusDxe/PciBusDxe.inf
  157. INF MdeModulePkg/Universal/Disk/UnicodeCollation/EnglishDxe/EnglishDxe.inf
  158. INF MdeModulePkg/Universal/Console/GraphicsOutputDxe/GraphicsOutputDxe.inf
  159. INF MdeModulePkg/Universal/Console/GraphicsConsoleDxe/GraphicsConsoleDxe.inf
  160. INF MdeModulePkg/Universal/Console/ConSplitterDxe/ConSplitterDxe.inf
  161. INF MdeModulePkg/Universal/Console/ConPlatformDxe/ConPlatformDxe.inf
  162. INF MdeModulePkg/Universal/HiiDatabaseDxe/HiiDatabaseDxe.inf
  163. INF MdeModulePkg/Universal/DevicePathDxe/DevicePathDxe.inf
  164. INF MdeModulePkg/Application/BootManagerMenuApp/BootManagerMenuApp.inf
  165. INF MdeModulePkg/Universal/SetupBrowserDxe/SetupBrowserDxe.inf
  166. INF ShellPkg/Application/Shell/Shell.inf
  167. INF OvmfPkg/SioBusDxe/SioBusDxe.inf
  168. INF MdeModulePkg/Universal/SerialDxe/SerialDxe.inf
  169. INF MdeModulePkg/Bus/Pci/PciSioSerialDxe/PciSioSerialDxe.inf
  170. [FV.FvUefiBoot]
  171. !include MinPlatformPkg/Include/Fdf/CommonSpiFvHeaderInfo.fdf
  172. FvNameGuid = D0C15ADB-FE38-4331-841C-0E96C1B0FBFA
  173. INF MdeModulePkg/Core/Dxe/DxeMain.inf
  174. FILE FV_IMAGE = D2F110DB-2388-4963-BEFD-5889EEE01569 {
  175. SECTION GUIDED EE4E5898-3914-4259-9D6E-DC7BD79403CF PROCESSING_REQUIRED = TRUE {
  176. SECTION FV_IMAGE = FvUefiBootUncompressed
  177. }
  178. }
  179. ###########################
  180. #
  181. # Stage 4 Firmware Volumes
  182. #
  183. ###########################
  184. [FV.FvOsBootUncompressed]
  185. !include MinPlatformPkg/Include/Fdf/CommonSpiFvHeaderInfo.fdf
  186. FvNameGuid = 4bb59c22-e1b8-414e-9de8-559db4054c4c
  187. INF OvmfPkg/QemuVideoDxe/QemuVideoDxe.inf
  188. INF PcAtChipsetPkg/Bus/Pci/IdeControllerDxe/IdeControllerDxe.inf
  189. INF MdeModulePkg/Universal/Disk/DiskIoDxe/DiskIoDxe.inf
  190. INF MdeModulePkg/Universal/Disk/PartitionDxe/PartitionDxe.inf
  191. INF FatPkg/EnhancedFatDxe/Fat.inf
  192. INF MdeModulePkg/Bus/Isa/IsaBusDxe/IsaBusDxe.inf
  193. INF MdeModulePkg/Bus/Isa/Ps2KeyboardDxe/Ps2KeyboardDxe.inf
  194. # ACPI
  195. INF MdeModulePkg/Universal/Acpi/AcpiTableDxe/AcpiTableDxe.inf
  196. INF OvmfPkg/AcpiPlatformDxe/AcpiPlatformDxe.inf
  197. # Buses
  198. INF MdeModulePkg/Bus/Pci/UhciDxe/UhciDxe.inf
  199. INF MdeModulePkg/Bus/Pci/EhciDxe/EhciDxe.inf
  200. INF MdeModulePkg/Bus/Pci/XhciDxe/XhciDxe.inf
  201. INF MdeModulePkg/Bus/Usb/UsbBusDxe/UsbBusDxe.inf
  202. INF MdeModulePkg/Bus/Usb/UsbKbDxe/UsbKbDxe.inf
  203. INF MdeModulePkg/Bus/Scsi/ScsiBusDxe/ScsiBusDxe.inf
  204. INF MdeModulePkg/Bus/Scsi/ScsiDiskDxe/ScsiDiskDxe.inf
  205. INF OvmfPkg/SataControllerDxe/SataControllerDxe.inf
  206. INF MdeModulePkg/Bus/Ata/AtaAtapiPassThru/AtaAtapiPassThru.inf
  207. INF MdeModulePkg/Bus/Ata/AtaBusDxe/AtaBusDxe.inf
  208. INF MdeModulePkg/Bus/Pci/NvmExpressDxe/NvmExpressDxe.inf
  209. !if $(SMM_REQUIRED) == TRUE
  210. INF OvmfPkg/SmmAccess/SmmAccess2Dxe.inf
  211. INF OvmfPkg/SmmControl2Dxe/SmmControl2Dxe.inf
  212. INF MdeModulePkg/Core/PiSmmCore/PiSmmIpl.inf
  213. INF MdeModulePkg/Core/PiSmmCore/PiSmmCore.inf
  214. INF MdeModulePkg/Universal/LockBox/SmmLockBox/SmmLockBox.inf
  215. INF MdeModulePkg/Universal/ReportStatusCodeRouter/Smm/ReportStatusCodeRouterSmm.inf
  216. INF MdeModulePkg/Universal/StatusCodeHandler/Smm/StatusCodeHandlerSmm.inf
  217. INF UefiCpuPkg/PiSmmCpuDxeSmm/PiSmmCpuDxeSmm.inf
  218. INF UefiCpuPkg/CpuIo2Smm/CpuIo2Smm.inf
  219. INF MdeModulePkg/Universal/FaultTolerantWriteDxe/FaultTolerantWriteSmm.inf
  220. INF IntelSiliconPkg/Feature/Flash/SpiFvbService/SpiFvbServiceSmm.inf
  221. !endif
  222. INF MdeModulePkg/Universal/SmbiosDxe/SmbiosDxe.inf
  223. INF OvmfPkg/SmbiosPlatformDxe/SmbiosPlatformDxe.inf
  224. [FV.FvOsBoot]
  225. !include MinPlatformPkg/Include/Fdf/CommonSpiFvHeaderInfo.fdf
  226. FvNameGuid = AE8F0EA0-1614-422D-ABC1-C518596F1678
  227. FILE FV_IMAGE = 4bb59c22-e1b8-414e-9de8-559db4054c4c {
  228. SECTION GUIDED EE4E5898-3914-4259-9D6E-DC7BD79403CF PROCESSING_REQUIRED = TRUE {
  229. SECTION FV_IMAGE = FvOsBootUncompressed
  230. }
  231. }
  232. ###########################
  233. #
  234. # Stage 5 Firmware Volumes
  235. #
  236. ###########################
  237. [FV.FvSecurity]
  238. !include MinPlatformPkg/Include/Fdf/CommonSpiFvHeaderInfo.fdf
  239. FvNameGuid = 1AE6AB90-9431-425B-9A92-ED2708A4E982
  240. !include MinPlatformPkg/Include/Fdf/CoreSecurityLateInclude.fdf
  241. !include MinPlatformPkg/Include/Fdf/CoreSecurityPreMemoryInclude.fdf
  242. ###########################
  243. #
  244. # Stage 6 Firmware Volumes
  245. #
  246. ###########################
  247. [FV.FvAdvanced]
  248. !include MinPlatformPkg/Include/Fdf/CommonSpiFvHeaderInfo.fdf
  249. FvNameGuid = 936D6D65-CB6C-4B87-A51C-70D56511CB55
  250. ###########################
  251. #
  252. # File Construction Rules
  253. #
  254. ###########################
  255. !include MinPlatformPkg/Include/Fdf/RuleInclude.fdf