ArmVExpress.dsc.inc 23 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486
  1. #
  2. # Copyright (c) 2011-2022, Arm Limited. All rights reserved.
  3. #
  4. # SPDX-License-Identifier: BSD-2-Clause-Patent
  5. #
  6. #
  7. [Defines]
  8. !ifndef SECURE_BOOT_ENABLE
  9. SECURE_BOOT_ENABLE = FALSE
  10. !endif
  11. !ifndef INCLUDE_TFTP_COMMAND
  12. INCLUDE_TFTP_COMMAND = TRUE
  13. !endif
  14. #
  15. # Network definition
  16. #
  17. !ifndef NETWORK_SNP_ENABLE
  18. DEFINE NETWORK_SNP_ENABLE = FALSE
  19. !endif
  20. !ifndef NETWORK_IP6_ENABLE
  21. DEFINE NETWORK_IP6_ENABLE = FALSE
  22. !endif
  23. !ifndef NETWORK_TLS_ENABLE
  24. DEFINE NETWORK_TLS_ENABLE = FALSE
  25. !endif
  26. !ifndef NETWORK_HTTP_BOOT_ENABLE
  27. DEFINE NETWORK_HTTP_BOOT_ENABLE = FALSE
  28. !endif
  29. [BuildOptions.common]
  30. *_*_*_CC_FLAGS = -DDISABLE_NEW_DEPRECATED_INTERFACES
  31. [BuildOptions.common.EDKII.DXE_CORE,BuildOptions.common.EDKII.DXE_DRIVER,BuildOptions.common.EDKII.UEFI_DRIVER,BuildOptions.common.EDKII.UEFI_APPLICATION]
  32. GCC:*_*_*_DLINK_FLAGS = -z common-page-size=0x1000
  33. [BuildOptions.common.EDKII.DXE_RUNTIME_DRIVER]
  34. GCC:*_*_ARM_DLINK_FLAGS = -z common-page-size=0x1000
  35. GCC:*_*_AARCH64_DLINK_FLAGS = -z common-page-size=0x10000
  36. [LibraryClasses.common]
  37. !if $(TARGET) == RELEASE
  38. DebugLib|MdePkg/Library/BaseDebugLibNull/BaseDebugLibNull.inf
  39. !else
  40. DebugLib|MdePkg/Library/BaseDebugLibSerialPort/BaseDebugLibSerialPort.inf
  41. !endif
  42. DebugPrintErrorLevelLib|MdePkg/Library/BaseDebugPrintErrorLevelLib/BaseDebugPrintErrorLevelLib.inf
  43. BaseLib|MdePkg/Library/BaseLib/BaseLib.inf
  44. SafeIntLib|MdePkg/Library/BaseSafeIntLib/BaseSafeIntLib.inf
  45. SynchronizationLib|MdePkg/Library/BaseSynchronizationLib/BaseSynchronizationLib.inf
  46. PerformanceLib|MdePkg/Library/BasePerformanceLibNull/BasePerformanceLibNull.inf
  47. PrintLib|MdePkg/Library/BasePrintLib/BasePrintLib.inf
  48. PeCoffGetEntryPointLib|MdePkg/Library/BasePeCoffGetEntryPointLib/BasePeCoffGetEntryPointLib.inf
  49. PeCoffLib|MdePkg/Library/BasePeCoffLib/BasePeCoffLib.inf
  50. IoLib|MdePkg/Library/BaseIoLibIntrinsic/BaseIoLibIntrinsic.inf
  51. UefiDecompressLib|MdePkg/Library/BaseUefiDecompressLib/BaseUefiDecompressLib.inf
  52. CpuLib|MdePkg/Library/BaseCpuLib/BaseCpuLib.inf
  53. UefiLib|MdePkg/Library/UefiLib/UefiLib.inf
  54. HobLib|MdePkg/Library/DxeHobLib/DxeHobLib.inf
  55. UefiRuntimeServicesTableLib|MdePkg/Library/UefiRuntimeServicesTableLib/UefiRuntimeServicesTableLib.inf
  56. DevicePathLib|MdePkg/Library/UefiDevicePathLib/UefiDevicePathLib.inf
  57. UefiBootServicesTableLib|MdePkg/Library/UefiBootServicesTableLib/UefiBootServicesTableLib.inf
  58. DxeServicesTableLib|MdePkg/Library/DxeServicesTableLib/DxeServicesTableLib.inf
  59. UefiDriverEntryPoint|MdePkg/Library/UefiDriverEntryPoint/UefiDriverEntryPoint.inf
  60. UefiApplicationEntryPoint|MdePkg/Library/UefiApplicationEntryPoint/UefiApplicationEntryPoint.inf
  61. HiiLib|MdeModulePkg/Library/UefiHiiLib/UefiHiiLib.inf
  62. UefiHiiServicesLib|MdeModulePkg/Library/UefiHiiServicesLib/UefiHiiServicesLib.inf
  63. UefiRuntimeLib|MdePkg/Library/UefiRuntimeLib/UefiRuntimeLib.inf
  64. #
  65. # Assume everything is fixed at build
  66. #
  67. PcdLib|MdePkg/Library/BasePcdLibNull/BasePcdLibNull.inf
  68. BaseMemoryLib|MdePkg/Library/BaseMemoryLibOptDxe/BaseMemoryLibOptDxe.inf
  69. # ARM Architectural Libraries
  70. CacheMaintenanceLib|ArmPkg/Library/ArmCacheMaintenanceLib/ArmCacheMaintenanceLib.inf
  71. DefaultExceptionHandlerLib|ArmPkg/Library/DefaultExceptionHandlerLib/DefaultExceptionHandlerLib.inf
  72. CpuExceptionHandlerLib|ArmPkg/Library/ArmExceptionLib/ArmExceptionLib.inf
  73. ArmDisassemblerLib|ArmPkg/Library/ArmDisassemblerLib/ArmDisassemblerLib.inf
  74. ArmGicLib|ArmPkg/Drivers/ArmGic/ArmGicLib.inf
  75. ArmGicArchLib|ArmPkg/Library/ArmGicArchLib/ArmGicArchLib.inf
  76. ArmPlatformStackLib|ArmPlatformPkg/Library/ArmPlatformStackLib/ArmPlatformStackLib.inf
  77. ArmSmcLib|ArmPkg/Library/ArmSmcLib/ArmSmcLib.inf
  78. ArmGenericTimerCounterLib|ArmPkg/Library/ArmGenericTimerPhyCounterLib/ArmGenericTimerPhyCounterLib.inf
  79. # Versatile Express Specific Libraries
  80. PlatformPeiLib|ArmPlatformPkg/PlatformPei/PlatformPeiLib.inf
  81. ArmPlatformSysConfigLib|Platform/ARM/VExpressPkg/Library/ArmVExpressSysConfigLib/ArmVExpressSysConfigLib.inf
  82. NorFlashPlatformLib|Platform/ARM/VExpressPkg/Library/NorFlashArmVExpressLib/NorFlashArmVExpressLib.inf
  83. ResetSystemLib|ArmPkg/Library/ArmSmcPsciResetSystemLib/ArmSmcPsciResetSystemLib.inf
  84. # ARM PL031 RTC Driver
  85. RealTimeClockLib|ArmPlatformPkg/Library/PL031RealTimeClockLib/PL031RealTimeClockLib.inf
  86. TimeBaseLib|EmbeddedPkg/Library/TimeBaseLib/TimeBaseLib.inf
  87. # ARM PL011 UART Driver
  88. PL011UartClockLib|ArmPlatformPkg/Library/PL011UartClockLib/PL011UartClockLib.inf
  89. PL011UartLib|ArmPlatformPkg/Library/PL011UartLib/PL011UartLib.inf
  90. SerialPortLib|ArmPlatformPkg/Library/PL011SerialPortLib/PL011SerialPortLib.inf
  91. TimerLib|ArmPkg/Library/ArmArchTimerLib/ArmArchTimerLib.inf
  92. #
  93. # Uncomment (and comment out the next line) For RealView Debugger. The Standard IO window
  94. # in the debugger will show load and unload commands for symbols. You can cut and paste this
  95. # into the command window to load symbols. We should be able to use a script to do this, but
  96. # the version of RVD I have does not support scripts accessing system memory.
  97. #
  98. #PeCoffExtraActionLib|ArmPkg/Library/RvdPeCoffExtraActionLib/RvdPeCoffExtraActionLib.inf
  99. PeCoffExtraActionLib|ArmPkg/Library/DebugPeCoffExtraActionLib/DebugPeCoffExtraActionLib.inf
  100. #PeCoffExtraActionLib|MdePkg/Library/BasePeCoffExtraActionLibNull/BasePeCoffExtraActionLibNull.inf
  101. DebugAgentLib|MdeModulePkg/Library/DebugAgentLibNull/DebugAgentLibNull.inf
  102. DebugAgentTimerLib|EmbeddedPkg/Library/DebugAgentTimerLibNull/DebugAgentTimerLibNull.inf
  103. SemihostLib|ArmPkg/Library/SemihostLib/SemihostLib.inf
  104. # BDS Libraries
  105. UefiBootManagerLib|MdeModulePkg/Library/UefiBootManagerLib/UefiBootManagerLib.inf
  106. PlatformBootManagerLib|ArmPkg/Library/PlatformBootManagerLib/PlatformBootManagerLib.inf
  107. BootLogoLib|MdeModulePkg/Library/BootLogoLib/BootLogoLib.inf
  108. AcpiLib|EmbeddedPkg/Library/AcpiLib/AcpiLib.inf
  109. FdtLib|EmbeddedPkg/Library/FdtLib/FdtLib.inf
  110. # RunAxf support via Dynamic Shell Command protocol
  111. # It uses the Shell libraries.
  112. ArmShellCmdRunAxfLib|Platform/ARM/Library/ArmShellCmdRunAxf/ArmShellCmdRunAxf.inf
  113. ShellLib|ShellPkg/Library/UefiShellLib/UefiShellLib.inf
  114. FileHandleLib|MdePkg/Library/UefiFileHandleLib/UefiFileHandleLib.inf
  115. SortLib|MdeModulePkg/Library/UefiSortLib/UefiSortLib.inf
  116. #
  117. # Secure Boot dependencies
  118. #
  119. !if $(SECURE_BOOT_ENABLE) == TRUE
  120. TpmMeasurementLib|SecurityPkg/Library/DxeTpmMeasurementLib/DxeTpmMeasurementLib.inf
  121. AuthVariableLib|SecurityPkg/Library/AuthVariableLib/AuthVariableLib.inf
  122. SecureBootVariableLib|SecurityPkg/Library/SecureBootVariableLib/SecureBootVariableLib.inf
  123. SecureBootVariableProvisionLib|SecurityPkg/Library/SecureBootVariableProvisionLib/SecureBootVariableProvisionLib.inf
  124. PlatformPKProtectionLib|SecurityPkg/Library/PlatformPKProtectionLibVarPolicy/PlatformPKProtectionLibVarPolicy.inf
  125. # re-use the UserPhysicalPresent() dummy implementation from the ovmf tree
  126. PlatformSecureLib|OvmfPkg/Library/PlatformSecureLib/PlatformSecureLib.inf
  127. !else
  128. TpmMeasurementLib|MdeModulePkg/Library/TpmMeasurementLibNull/TpmMeasurementLibNull.inf
  129. AuthVariableLib|MdeModulePkg/Library/AuthVariableLibNull/AuthVariableLibNull.inf
  130. !endif
  131. BaseCryptLib|CryptoPkg/Library/BaseCryptLib/BaseCryptLib.inf
  132. IntrinsicLib|CryptoPkg/Library/IntrinsicLib/IntrinsicLib.inf
  133. OpensslLib|CryptoPkg/Library/OpensslLib/OpensslLib.inf
  134. RngLib|MdePkg/Library/BaseRngLibTimerLib/BaseRngLibTimerLib.inf
  135. VarCheckLib|MdeModulePkg/Library/VarCheckLib/VarCheckLib.inf
  136. VariableFlashInfoLib|MdeModulePkg/Library/BaseVariableFlashInfoLib/BaseVariableFlashInfoLib.inf
  137. VariablePolicyLib|MdeModulePkg/Library/VariablePolicyLib/VariablePolicyLib.inf
  138. VariablePolicyHelperLib|MdeModulePkg/Library/VariablePolicyHelperLib/VariablePolicyHelperLib.inf
  139. CapsuleLib|MdeModulePkg/Library/DxeCapsuleLibNull/DxeCapsuleLibNull.inf
  140. CustomizedDisplayLib|MdeModulePkg/Library/CustomizedDisplayLib/CustomizedDisplayLib.inf
  141. ReportStatusCodeLib|MdeModulePkg/Library/DxeReportStatusCodeLib/DxeReportStatusCodeLib.inf
  142. [LibraryClasses.common.SEC]
  143. DebugAgentLib|ArmPkg/Library/DebugAgentSymbolsBaseLib/DebugAgentSymbolsBaseLib.inf
  144. !ifdef $(EDK2_SKIP_PEICORE)
  145. PrePiLib|EmbeddedPkg/Library/PrePiLib/PrePiLib.inf
  146. ExtractGuidedSectionLib|EmbeddedPkg/Library/PrePiExtractGuidedSectionLib/PrePiExtractGuidedSectionLib.inf
  147. LzmaDecompressLib|MdeModulePkg/Library/LzmaCustomDecompressLib/LzmaCustomDecompressLib.inf
  148. MemoryAllocationLib|EmbeddedPkg/Library/PrePiMemoryAllocationLib/PrePiMemoryAllocationLib.inf
  149. HobLib|EmbeddedPkg/Library/PrePiHobLib/PrePiHobLib.inf
  150. PrePiHobListPointerLib|ArmPlatformPkg/Library/PrePiHobListPointerLib/PrePiHobListPointerLib.inf
  151. PerformanceLib|MdeModulePkg/Library/PeiPerformanceLib/PeiPerformanceLib.inf
  152. !endif
  153. ArmGicArchLib|ArmPkg/Library/ArmGicArchSecLib/ArmGicArchSecLib.inf
  154. [LibraryClasses.common.PEI_CORE]
  155. HobLib|MdePkg/Library/PeiHobLib/PeiHobLib.inf
  156. PeiServicesLib|MdePkg/Library/PeiServicesLib/PeiServicesLib.inf
  157. MemoryAllocationLib|MdePkg/Library/PeiMemoryAllocationLib/PeiMemoryAllocationLib.inf
  158. PeiCoreEntryPoint|MdePkg/Library/PeiCoreEntryPoint/PeiCoreEntryPoint.inf
  159. PerformanceLib|MdeModulePkg/Library/PeiPerformanceLib/PeiPerformanceLib.inf
  160. ReportStatusCodeLib|MdeModulePkg/Library/PeiReportStatusCodeLib/PeiReportStatusCodeLib.inf
  161. OemHookStatusCodeLib|MdeModulePkg/Library/OemHookStatusCodeLibNull/OemHookStatusCodeLibNull.inf
  162. PeCoffGetEntryPointLib|MdePkg/Library/BasePeCoffGetEntryPointLib/BasePeCoffGetEntryPointLib.inf
  163. ExtractGuidedSectionLib|MdePkg/Library/PeiExtractGuidedSectionLib/PeiExtractGuidedSectionLib.inf
  164. PeiServicesTablePointerLib|ArmPkg/Library/PeiServicesTablePointerLib/PeiServicesTablePointerLib.inf
  165. BaseMemoryLib|MdePkg/Library/BaseMemoryLib/BaseMemoryLib.inf
  166. [LibraryClasses.common.PEIM]
  167. HobLib|MdePkg/Library/PeiHobLib/PeiHobLib.inf
  168. PeiServicesLib|MdePkg/Library/PeiServicesLib/PeiServicesLib.inf
  169. MemoryAllocationLib|MdePkg/Library/PeiMemoryAllocationLib/PeiMemoryAllocationLib.inf
  170. PeimEntryPoint|MdePkg/Library/PeimEntryPoint/PeimEntryPoint.inf
  171. PerformanceLib|MdeModulePkg/Library/PeiPerformanceLib/PeiPerformanceLib.inf
  172. ReportStatusCodeLib|MdeModulePkg/Library/PeiReportStatusCodeLib/PeiReportStatusCodeLib.inf
  173. OemHookStatusCodeLib|MdeModulePkg/Library/OemHookStatusCodeLibNull/OemHookStatusCodeLibNull.inf
  174. PeCoffGetEntryPointLib|MdePkg/Library/BasePeCoffGetEntryPointLib/BasePeCoffGetEntryPointLib.inf
  175. PeiResourcePublicationLib|MdePkg/Library/PeiResourcePublicationLib/PeiResourcePublicationLib.inf
  176. ExtractGuidedSectionLib|MdePkg/Library/PeiExtractGuidedSectionLib/PeiExtractGuidedSectionLib.inf
  177. PeiServicesTablePointerLib|ArmPkg/Library/PeiServicesTablePointerLib/PeiServicesTablePointerLib.inf
  178. [LibraryClasses.common.SEC, LibraryClasses.common.PEIM]
  179. MemoryInitPeiLib|ArmPlatformPkg/MemoryInitPei/MemoryInitPeiLib.inf
  180. BaseMemoryLib|MdePkg/Library/BaseMemoryLib/BaseMemoryLib.inf
  181. [LibraryClasses.common.DXE_CORE]
  182. HobLib|MdePkg/Library/DxeCoreHobLib/DxeCoreHobLib.inf
  183. MemoryAllocationLib|MdeModulePkg/Library/DxeCoreMemoryAllocationLib/DxeCoreMemoryAllocationLib.inf
  184. DxeCoreEntryPoint|MdePkg/Library/DxeCoreEntryPoint/DxeCoreEntryPoint.inf
  185. ExtractGuidedSectionLib|MdePkg/Library/DxeExtractGuidedSectionLib/DxeExtractGuidedSectionLib.inf
  186. DxeServicesLib|MdePkg/Library/DxeServicesLib/DxeServicesLib.inf
  187. PerformanceLib|MdeModulePkg/Library/DxeCorePerformanceLib/DxeCorePerformanceLib.inf
  188. [LibraryClasses.common.DXE_DRIVER]
  189. DxeServicesLib|MdePkg/Library/DxeServicesLib/DxeServicesLib.inf
  190. SecurityManagementLib|MdeModulePkg/Library/DxeSecurityManagementLib/DxeSecurityManagementLib.inf
  191. PerformanceLib|MdeModulePkg/Library/DxePerformanceLib/DxePerformanceLib.inf
  192. MemoryAllocationLib|MdePkg/Library/UefiMemoryAllocationLib/UefiMemoryAllocationLib.inf
  193. [LibraryClasses.common.UEFI_APPLICATION]
  194. PerformanceLib|MdeModulePkg/Library/DxePerformanceLib/DxePerformanceLib.inf
  195. MemoryAllocationLib|MdePkg/Library/UefiMemoryAllocationLib/UefiMemoryAllocationLib.inf
  196. HiiLib|MdeModulePkg/Library/UefiHiiLib/UefiHiiLib.inf
  197. # UiApp dependencies
  198. FileExplorerLib|MdeModulePkg/Library/FileExplorerLib/FileExplorerLib.inf
  199. DxeServicesLib|MdePkg/Library/DxeServicesLib/DxeServicesLib.inf
  200. [LibraryClasses.common.UEFI_DRIVER]
  201. ExtractGuidedSectionLib|MdePkg/Library/DxeExtractGuidedSectionLib/DxeExtractGuidedSectionLib.inf
  202. PerformanceLib|MdeModulePkg/Library/DxePerformanceLib/DxePerformanceLib.inf
  203. DxeServicesLib|MdePkg/Library/DxeServicesLib/DxeServicesLib.inf
  204. MemoryAllocationLib|MdePkg/Library/UefiMemoryAllocationLib/UefiMemoryAllocationLib.inf
  205. [LibraryClasses.common.DXE_RUNTIME_DRIVER]
  206. HobLib|MdePkg/Library/DxeHobLib/DxeHobLib.inf
  207. MemoryAllocationLib|MdePkg/Library/UefiMemoryAllocationLib/UefiMemoryAllocationLib.inf
  208. CapsuleLib|MdeModulePkg/Library/DxeCapsuleLibNull/DxeCapsuleLibNull.inf
  209. ReportStatusCodeLib|MdeModulePkg/Library/RuntimeDxeReportStatusCodeLib/RuntimeDxeReportStatusCodeLib.inf
  210. VariablePolicyLib|MdeModulePkg/Library/VariablePolicyLib/VariablePolicyLibRuntimeDxe.inf
  211. !if $(SECURE_BOOT_ENABLE) == TRUE
  212. BaseCryptLib|CryptoPkg/Library/BaseCryptLib/RuntimeCryptLib.inf
  213. !endif
  214. !if $(TARGET) != RELEASE
  215. DebugLib|MdePkg/Library/DxeRuntimeDebugLibSerialPort/DxeRuntimeDebugLibSerialPort.inf
  216. !endif
  217. VariablePolicyLib|MdeModulePkg/Library/VariablePolicyLib/VariablePolicyLibRuntimeDxe.inf
  218. [LibraryClasses.ARM, LibraryClasses.AARCH64]
  219. #
  220. # It is not possible to prevent the ARM compiler for generic intrinsic functions.
  221. # This library provides the instrinsic functions generate by a given compiler.
  222. # [LibraryClasses.ARM] and NULL mean link this library into all ARM images.
  223. #
  224. NULL|ArmPkg/Library/CompilerIntrinsicsLib/CompilerIntrinsicsLib.inf
  225. # Add support for GCC stack protector
  226. NULL|MdePkg/Library/BaseStackCheckLib/BaseStackCheckLib.inf
  227. [BuildOptions]
  228. GCC:RELEASE_*_*_CC_FLAGS = -DMDEPKG_NDEBUG
  229. ################################################################################
  230. #
  231. # Pcd Section - list of all EDK II PCD Entries defined by this Platform
  232. #
  233. ################################################################################
  234. [PcdsDynamicHii.common.DEFAULT]
  235. # Possible values are:
  236. # 0: Connect Minimal Devices
  237. # 1: Connect Network Devices
  238. # 2: Connect All Devices
  239. gEfiMdeModulePkgTokenSpaceGuid.PcdBootDiscoveryPolicy|L"BootDiscoveryPolicy"|gBootDiscoveryPolicyMgrFormsetGuid|0|0
  240. [PcdsFeatureFlag.common]
  241. gEfiMdePkgTokenSpaceGuid.PcdComponentNameDisable|TRUE
  242. gEfiMdePkgTokenSpaceGuid.PcdDriverDiagnosticsDisable|TRUE
  243. gEfiMdePkgTokenSpaceGuid.PcdComponentName2Disable|TRUE
  244. gEfiMdePkgTokenSpaceGuid.PcdDriverDiagnostics2Disable|TRUE
  245. # Use the Vector Table location in CpuDxe. We will not copy the Vector Table at PcdCpuVectorBaseAddress
  246. gArmTokenSpaceGuid.PcdRelocateVectorTable|FALSE
  247. gEmbeddedTokenSpaceGuid.PcdPrePiProduceMemoryTypeInformationHob|TRUE
  248. gEfiMdeModulePkgTokenSpaceGuid.PcdTurnOffUsbLegacySupport|TRUE
  249. ## Indicates if S3 performance data will be supported in ACPI FPDT table.
  250. # TRUE - S3 performance data will be supported in ACPI FPDT table.
  251. # FALSE - S3 performance data will not be supported in ACPI FPDT table.
  252. gEfiMdeModulePkgTokenSpaceGuid.PcdFirmwarePerformanceDataTableS3Support|FALSE
  253. [PcdsFixedAtBuild.common]
  254. !ifdef $(FIRMWARE_VER)
  255. gEfiMdeModulePkgTokenSpaceGuid.PcdFirmwareVersionString|L"$(FIRMWARE_VER)"
  256. !endif
  257. gEfiMdePkgTokenSpaceGuid.PcdMaximumUnicodeStringLength|1000000
  258. gEfiMdePkgTokenSpaceGuid.PcdMaximumAsciiStringLength|1000000
  259. gEfiMdePkgTokenSpaceGuid.PcdMaximumLinkedListLength|1000000
  260. gEfiMdePkgTokenSpaceGuid.PcdSpinLockTimeout|10000000
  261. gEfiMdePkgTokenSpaceGuid.PcdDebugClearMemoryValue|0xAF
  262. gEfiMdePkgTokenSpaceGuid.PcdPerformanceLibraryPropertyMask|1
  263. gEfiMdePkgTokenSpaceGuid.PcdPostCodePropertyMask|0
  264. gEfiMdePkgTokenSpaceGuid.PcdUefiLibMaxPrintBufferSize|320
  265. # DEBUG_ASSERT_ENABLED 0x01
  266. # DEBUG_PRINT_ENABLED 0x02
  267. # DEBUG_CODE_ENABLED 0x04
  268. # CLEAR_MEMORY_ENABLED 0x08
  269. # ASSERT_BREAKPOINT_ENABLED 0x10
  270. # ASSERT_DEADLOOP_ENABLED 0x20
  271. !if $(TARGET) == RELEASE
  272. gEfiMdePkgTokenSpaceGuid.PcdDebugPropertyMask|0x21
  273. !else
  274. gEfiMdePkgTokenSpaceGuid.PcdDebugPropertyMask|0x2f
  275. !endif
  276. # DEBUG_INIT 0x00000001 // Initialization
  277. # DEBUG_WARN 0x00000002 // Warnings
  278. # DEBUG_LOAD 0x00000004 // Load events
  279. # DEBUG_FS 0x00000008 // EFI File system
  280. # DEBUG_POOL 0x00000010 // Alloc & Free (pool)
  281. # DEBUG_PAGE 0x00000020 // Alloc & Free (page)
  282. # DEBUG_INFO 0x00000040 // Informational debug messages
  283. # DEBUG_DISPATCH 0x00000080 // PEI/DXE/SMM Dispatchers
  284. # DEBUG_VARIABLE 0x00000100 // Variable
  285. # DEBUG_BM 0x00000400 // Boot Manager
  286. # DEBUG_BLKIO 0x00001000 // BlkIo Driver
  287. # DEBUG_NET 0x00004000 // SNP Driver
  288. # DEBUG_UNDI 0x00010000 // UNDI Driver
  289. # DEBUG_LOADFILE 0x00020000 // LoadFile
  290. # DEBUG_EVENT 0x00080000 // Event messages
  291. # DEBUG_GCD 0x00100000 // Global Coherency Database changes
  292. # DEBUG_CACHE 0x00200000 // Memory range cachability changes
  293. # DEBUG_VERBOSE 0x00400000 // Detailed debug messages that may
  294. # // significantly impact boot performance
  295. # DEBUG_ERROR 0x80000000 // Error
  296. gEfiMdePkgTokenSpaceGuid.PcdDebugPrintErrorLevel|0x8000000F
  297. gEfiMdePkgTokenSpaceGuid.PcdReportStatusCodePropertyMask|0x07
  298. #
  299. # Optional feature to help prevent EFI memory map fragments
  300. # Turned on and off via: PcdPrePiProduceMemoryTypeInformationHob
  301. # Values are in EFI Pages (4K). DXE Core will make sure that
  302. # at least this much of each type of memory can be allocated
  303. # from a single memory range. This way you only end up with
  304. # maximum of two fragements for each type in the memory map
  305. # (the memory used, and the free memory that was prereserved
  306. # but not used).
  307. #
  308. gEmbeddedTokenSpaceGuid.PcdMemoryTypeEfiACPIReclaimMemory|0
  309. gEmbeddedTokenSpaceGuid.PcdMemoryTypeEfiACPIMemoryNVS|0
  310. gEmbeddedTokenSpaceGuid.PcdMemoryTypeEfiReservedMemoryType|0
  311. gEmbeddedTokenSpaceGuid.PcdMemoryTypeEfiRuntimeServicesData|80
  312. gEmbeddedTokenSpaceGuid.PcdMemoryTypeEfiRuntimeServicesCode|65
  313. gEmbeddedTokenSpaceGuid.PcdMemoryTypeEfiBootServicesCode|400
  314. gEmbeddedTokenSpaceGuid.PcdMemoryTypeEfiBootServicesData|20000
  315. gEmbeddedTokenSpaceGuid.PcdMemoryTypeEfiLoaderCode|20
  316. gEmbeddedTokenSpaceGuid.PcdMemoryTypeEfiLoaderData|0
  317. # Device path of block device on which Android Fastboot should flash
  318. # partitions. We just use the SD card on VExpress.
  319. gArmVExpressTokenSpaceGuid.PcdAndroidFastbootNvmDevicePath|L"VenHw(09831032-6FA3-4484-AF4F-0A000A8D3A82)"
  320. #
  321. # FileSystem
  322. #
  323. # List of Device Paths that support BootMonFs
  324. gArmBootMonFsTokenSpaceGuid.PcdBootMonFsSupportedDevicePaths|L"VenHw(93E34C7E-B50E-11DF-9223-2443DFD72085,00);VenHw(93E34C7E-B50E-11DF-9223-2443DFD72085,02)"
  325. # RunAxf support via Dynamic Shell Command protocol
  326. # We want to use the Shell Libraries but don't want it to initialise
  327. # automatically. We initialise the libraries when the command is called by the
  328. # Shell.
  329. gEfiShellPkgTokenSpaceGuid.PcdShellLibAutoInitialize|FALSE
  330. gEfiMdeModulePkgTokenSpaceGuid.PcdResetOnMemoryTypeInformationChange|FALSE
  331. # use the TTY terminal type
  332. gEfiMdePkgTokenSpaceGuid.PcdDefaultTerminalType|4
  333. !ifdef EDK2_ENABLE_SMSC_91X
  334. # Ethernet (SMSC 91C111)
  335. gArmVExpressTokenSpaceGuid.PcdLan91xDxeBaseAddress|0x1A000000
  336. !endif
  337. !if $(SECURE_BOOT_ENABLE) == TRUE
  338. # override the default values from SecurityPkg to ensure images from all sources are verified in secure boot
  339. gEfiSecurityPkgTokenSpaceGuid.PcdOptionRomImageVerificationPolicy|0x04
  340. gEfiSecurityPkgTokenSpaceGuid.PcdFixedMediaImageVerificationPolicy|0x04
  341. gEfiSecurityPkgTokenSpaceGuid.PcdRemovableMediaImageVerificationPolicy|0x04
  342. !endif
  343. # GUID of the UI app
  344. gEfiMdeModulePkgTokenSpaceGuid.PcdBootManagerMenuFile|{ 0x21, 0xaa, 0x2c, 0x46, 0x14, 0x76, 0x03, 0x45, 0x83, 0x6e, 0x8a, 0xb6, 0xf4, 0x66, 0x23, 0x31 }
  345. #
  346. # Enable strict image permissions for all images. (This applies
  347. # only to images that were built with >= 4 KB section alignment.)
  348. #
  349. gEfiMdeModulePkgTokenSpaceGuid.PcdImageProtectionPolicy|0x3
  350. #
  351. # Enable NX memory protection for all non-code regions, including OEM and OS
  352. # reserved ones, with the exception of LoaderData regions, of which OS loaders
  353. # (i.e., GRUB) may assume that its contents are executable.
  354. #
  355. gEfiMdeModulePkgTokenSpaceGuid.PcdDxeNxMemoryProtectionPolicy|0xC000000000007FD1
  356. #
  357. # Enable the non-executable DXE stack. (This gets set up by DxeIpl)
  358. #
  359. gEfiMdeModulePkgTokenSpaceGuid.PcdSetNxForStack|TRUE
  360. [PcdsDynamicHii.common.DEFAULT]
  361. gEfiMdePkgTokenSpaceGuid.PcdPlatformBootTimeOut|L"Timeout"|gEfiGlobalVariableGuid|0x0|10
  362. [Components.common]
  363. MdeModulePkg/Universal/PCD/Dxe/Pcd.inf {
  364. <LibraryClasses>
  365. PcdLib|MdePkg/Library/BasePcdLibNull/BasePcdLibNull.inf
  366. }
  367. # Versatile Express FileSystem
  368. Platform/ARM/Drivers/BootMonFs/BootMonFs.inf
  369. #
  370. # Networking stack
  371. #
  372. !include NetworkPkg/Network.dsc.inc
  373. !ifdef EDK2_ENABLE_SMSC_91X
  374. # SMSC LAN 91C111
  375. Platform/ARM/VExpressPkg/Drivers/Lan91xDxe/Lan91xDxe.inf
  376. !endif
  377. #
  378. # Android Fastboot
  379. #
  380. EmbeddedPkg/Application/AndroidFastboot/AndroidFastbootApp.inf
  381. EmbeddedPkg/Drivers/AndroidFastbootTransportUsbDxe/FastbootTransportUsbDxe.inf
  382. Platform/ARM/VExpressPkg/Drivers/ArmVExpressFastBootDxe/ArmVExpressFastBootDxe.inf
  383. # FV Filesystem
  384. MdeModulePkg/Universal/FvSimpleFileSystemDxe/FvSimpleFileSystemDxe.inf
  385. #
  386. # UEFI application (Shell Embedded Boot Loader)
  387. #
  388. ShellPkg/Application/Shell/Shell.inf {
  389. <LibraryClasses>
  390. ShellCommandLib|ShellPkg/Library/UefiShellCommandLib/UefiShellCommandLib.inf
  391. NULL|ShellPkg/Library/UefiShellLevel2CommandsLib/UefiShellLevel2CommandsLib.inf
  392. NULL|ShellPkg/Library/UefiShellLevel1CommandsLib/UefiShellLevel1CommandsLib.inf
  393. NULL|ShellPkg/Library/UefiShellLevel3CommandsLib/UefiShellLevel3CommandsLib.inf
  394. NULL|ShellPkg/Library/UefiShellDriver1CommandsLib/UefiShellDriver1CommandsLib.inf
  395. NULL|ShellPkg/Library/UefiShellAcpiViewCommandLib/UefiShellAcpiViewCommandLib.inf
  396. NULL|ShellPkg/Library/UefiShellDebug1CommandsLib/UefiShellDebug1CommandsLib.inf
  397. NULL|ShellPkg/Library/UefiShellInstall1CommandsLib/UefiShellInstall1CommandsLib.inf
  398. NULL|ShellPkg/Library/UefiShellNetwork1CommandsLib/UefiShellNetwork1CommandsLib.inf
  399. HandleParsingLib|ShellPkg/Library/UefiHandleParsingLib/UefiHandleParsingLib.inf
  400. OrderedCollectionLib|MdePkg/Library/BaseOrderedCollectionRedBlackTreeLib/BaseOrderedCollectionRedBlackTreeLib.inf
  401. PrintLib|MdePkg/Library/BasePrintLib/BasePrintLib.inf
  402. BcfgCommandLib|ShellPkg/Library/UefiShellBcfgCommandLib/UefiShellBcfgCommandLib.inf
  403. }
  404. !if $(INCLUDE_TFTP_COMMAND) == TRUE
  405. ShellPkg/DynamicCommand/TftpDynamicCommand/TftpDynamicCommand.inf
  406. !endif
  407. [Components.ARM]
  408. # ISP1761 USB OTG Controller
  409. Platform/ARM/VExpressPkg/Drivers/Isp1761UsbDxe/Isp1761UsbDxe.inf