EmbeddedPkg.dsc 11 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254
  1. #/** @file
  2. # Embedded Package
  3. #
  4. #
  5. # Copyright (c) 2007 - 2021, Intel Corporation. All rights reserved.<BR>
  6. # Copyright (c) 2012-2015, ARM Ltd. All rights reserved.<BR>
  7. # Copyright (c) 2016, Linaro Ltd. All rights reserved.<BR>
  8. #
  9. # SPDX-License-Identifier: BSD-2-Clause-Patent
  10. #
  11. #**/
  12. ################################################################################
  13. #
  14. # Defines Section - statements that will be processed to create a Makefile.
  15. #
  16. ################################################################################
  17. [Defines]
  18. PLATFORM_NAME = Embedded
  19. PLATFORM_GUID = 8DBB580B-CF89-4D57-95C6-DFE96C44686E
  20. PLATFORM_VERSION = 0.1
  21. DSC_SPECIFICATION = 0x00010005
  22. OUTPUT_DIRECTORY = Build/Embedded
  23. SUPPORTED_ARCHITECTURES = IA32|X64|ARM|AARCH64
  24. BUILD_TARGETS = DEBUG|RELEASE|NOOPT
  25. SKUID_IDENTIFIER = DEFAULT
  26. ################################################################################
  27. #
  28. # SKU Identification section - list of all SKU IDs supported by this
  29. # Platform.
  30. #
  31. ################################################################################
  32. [SkuIds]
  33. 0|DEFAULT # The entry: 0|DEFAULT is reserved and always required.
  34. ################################################################################
  35. #
  36. # Library Class section - list of all Library Classes needed by this Platform.
  37. #
  38. ################################################################################
  39. !include MdePkg/MdeLibs.dsc.inc
  40. [LibraryClasses.common]
  41. # DebugLib|MdePkg/Library/UefiDebugLibConOut/UefiDebugLibConOut.inf
  42. DebugLib|MdePkg/Library/BaseDebugLibNull/BaseDebugLibNull.inf
  43. AndroidBootImgLib|EmbeddedPkg/Library/AndroidBootImgLib/AndroidBootImgLib.inf
  44. BaseLib|MdePkg/Library/BaseLib/BaseLib.inf
  45. BaseMemoryLib|MdePkg/Library/BaseMemoryLib/BaseMemoryLib.inf
  46. PciLib|MdePkg/Library/BasePciLibCf8/BasePciLibCf8.inf
  47. PerformanceLib|MdePkg/Library/BasePerformanceLibNull/BasePerformanceLibNull.inf
  48. PrintLib|MdePkg/Library/BasePrintLib/BasePrintLib.inf
  49. UefiDecompressLib|MdePkg/Library/BaseUefiDecompressLib/BaseUefiDecompressLib.inf
  50. ReportStatusCodeLib|MdeModulePkg/Library/PeiDxeDebugLibReportStatusCode/PeiDxeDebugLibReportStatusCode.inf
  51. PeCoffGetEntryPointLib|MdePkg/Library/BasePeCoffGetEntryPointLib/BasePeCoffGetEntryPointLib.inf
  52. PeCoffLib|MdePkg/Library/BasePeCoffLib/BasePeCoffLib.inf
  53. PeCoffExtraActionLib|MdePkg/Library/BasePeCoffExtraActionLibNull/BasePeCoffExtraActionLibNull.inf
  54. CacheMaintenanceLib|MdePkg/Library/BaseCacheMaintenanceLib/BaseCacheMaintenanceLib.inf
  55. PrePiLib|EmbeddedPkg/Library/PrePiLib/PrePiLib.inf
  56. SerialPortLib|MdePkg/Library/BaseSerialPortLibNull/BaseSerialPortLibNull.inf
  57. RealTimeClockLib|EmbeddedPkg/Library/TemplateRealTimeClockLib/TemplateRealTimeClockLib.inf
  58. EfiResetSystemLib|EmbeddedPkg/Library/TemplateResetSystemLib/TemplateResetSystemLib.inf
  59. GdbSerialLib|EmbeddedPkg/Library/GdbSerialLib/GdbSerialLib.inf
  60. #
  61. # Need to change this for IPF
  62. #
  63. IoLib|MdePkg/Library/BaseIoLibIntrinsic/BaseIoLibIntrinsic.inf
  64. MemoryAllocationLib|MdePkg/Library/UefiMemoryAllocationLib/UefiMemoryAllocationLib.inf
  65. UefiLib|MdePkg/Library/UefiLib/UefiLib.inf
  66. HobLib|MdePkg/Library/DxeHobLib/DxeHobLib.inf
  67. UefiRuntimeLib|MdePkg/Library/UefiRuntimeLib/UefiRuntimeLib.inf
  68. UefiRuntimeServicesTableLib|MdePkg/Library/UefiRuntimeServicesTableLib/UefiRuntimeServicesTableLib.inf
  69. DevicePathLib|MdePkg/Library/UefiDevicePathLib/UefiDevicePathLib.inf
  70. UefiBootServicesTableLib|MdePkg/Library/UefiBootServicesTableLib/UefiBootServicesTableLib.inf
  71. ExtractGuidedSectionLib|MdePkg/Library/DxeExtractGuidedSectionLib/DxeExtractGuidedSectionLib.inf
  72. DxeServicesTableLib|MdePkg/Library/DxeServicesTableLib/DxeServicesTableLib.inf
  73. UefiDriverEntryPoint|MdePkg/Library/UefiDriverEntryPoint/UefiDriverEntryPoint.inf
  74. UefiApplicationEntryPoint|MdePkg/Library/UefiApplicationEntryPoint/UefiApplicationEntryPoint.inf
  75. PcdLib|MdePkg/Library/BasePcdLibNull/BasePcdLibNull.inf
  76. AcpiLib|EmbeddedPkg/Library/AcpiLib/AcpiLib.inf
  77. FdtLib|EmbeddedPkg/Library/FdtLib/FdtLib.inf
  78. # Shell libraries
  79. ShellLib|ShellPkg/Library/UefiShellLib/UefiShellLib.inf
  80. FileHandleLib|MdePkg/Library/UefiFileHandleLib/UefiFileHandleLib.inf
  81. SortLib|MdeModulePkg/Library/UefiSortLib/UefiSortLib.inf
  82. # Networking Requirements
  83. !include NetworkPkg/NetworkLibs.dsc.inc
  84. HiiLib|MdeModulePkg/Library/UefiHiiLib/UefiHiiLib.inf
  85. UefiHiiServicesLib|MdeModulePkg/Library/UefiHiiServicesLib/UefiHiiServicesLib.inf
  86. DxeServicesLib|MdePkg/Library/DxeServicesLib/DxeServicesLib.inf
  87. DtPlatformDtbLoaderLib|EmbeddedPkg/Library/DxeDtPlatformDtbLoaderLibDefault/DxeDtPlatformDtbLoaderLibDefault.inf
  88. TimeBaseLib|EmbeddedPkg/Library/TimeBaseLib/TimeBaseLib.inf
  89. [LibraryClasses.common.DXE_DRIVER]
  90. PcdLib|MdePkg/Library/DxePcdLib/DxePcdLib.inf
  91. ReportStatusCodeLib|MdeModulePkg/Library/DxeReportStatusCodeLib/DxeReportStatusCodeLib.inf
  92. [LibraryClasses.common.UEFI_APPLICATION]
  93. PcdLib|MdePkg/Library/DxePcdLib/DxePcdLib.inf
  94. ReportStatusCodeLib|MdeModulePkg/Library/DxeReportStatusCodeLib/DxeReportStatusCodeLib.inf
  95. [LibraryClasses.common.UEFI_DRIVER]
  96. PcdLib|MdePkg/Library/DxePcdLib/DxePcdLib.inf
  97. ReportStatusCodeLib|MdeModulePkg/Library/DxeReportStatusCodeLib/DxeReportStatusCodeLib.inf
  98. [LibraryClasses.common.SEC]
  99. ExtractGuidedSectionLib|EmbeddedPkg/Library/PrePiExtractGuidedSectionLib/PrePiExtractGuidedSectionLib.inf
  100. [LibraryClasses.ARM, LibraryClasses.AARCH64]
  101. ArmGicLib|ArmPkg/Drivers/ArmGic/ArmGicLib.inf
  102. ArmSmcLib|ArmPkg/Library/ArmSmcLib/ArmSmcLib.inf
  103. SemihostLib|ArmPkg/Library/SemihostLib/SemihostLib.inf
  104. NULL|ArmPkg/Library/CompilerIntrinsicsLib/CompilerIntrinsicsLib.inf
  105. # Add support for GCC stack protector
  106. NULL|MdePkg/Library/BaseStackCheckLib/BaseStackCheckLib.inf
  107. ArmLib|ArmPkg/Library/ArmLib/ArmBaseLib.inf
  108. ################################################################################
  109. #
  110. # Pcd Section - list of all PCD Entries defined by this Platform
  111. #
  112. ################################################################################
  113. [PcdsFeatureFlag.common]
  114. gEfiMdePkgTokenSpaceGuid.PcdComponentNameDisable|FALSE
  115. gEfiMdePkgTokenSpaceGuid.PcdDriverDiagnosticsDisable|FALSE
  116. gEfiMdePkgTokenSpaceGuid.PcdComponentName2Disable|FALSE
  117. gEfiMdePkgTokenSpaceGuid.PcdDriverDiagnostics2Disable|FALSE
  118. gEmbeddedTokenSpaceGuid.PcdPrePiProduceMemoryTypeInformationHob|FALSE
  119. [PcdsFixedAtBuild.common]
  120. gEfiMdePkgTokenSpaceGuid.PcdMaximumUnicodeStringLength|1000000
  121. gEfiMdePkgTokenSpaceGuid.PcdMaximumAsciiStringLength|1000000
  122. gEfiMdePkgTokenSpaceGuid.PcdMaximumLinkedListLength|1000000
  123. gEfiMdePkgTokenSpaceGuid.PcdSpinLockTimeout|10000000
  124. gEfiMdePkgTokenSpaceGuid.PcdDebugPropertyMask|0x0f
  125. gEfiMdePkgTokenSpaceGuid.PcdDebugPrintErrorLevel|0x80000000
  126. gEfiMdePkgTokenSpaceGuid.PcdReportStatusCodePropertyMask|0x06
  127. gEfiMdePkgTokenSpaceGuid.PcdDebugClearMemoryValue|0xAF
  128. gEfiMdePkgTokenSpaceGuid.PcdPerformanceLibraryPropertyMask|0
  129. gEfiMdePkgTokenSpaceGuid.PcdPostCodePropertyMask|0
  130. gEfiMdePkgTokenSpaceGuid.PcdPciExpressBaseAddress|0xE0000000
  131. gEfiMdePkgTokenSpaceGuid.PcdFSBClock|200000000
  132. gEfiMdePkgTokenSpaceGuid.PcdUefiLibMaxPrintBufferSize|320
  133. gEfiMdePkgTokenSpaceGuid.PcdDebugPrintErrorLevel|0x80000000
  134. gEfiMdePkgTokenSpaceGuid.PcdPciExpressBaseAddress|0xE0000000
  135. gEfiMdePkgTokenSpaceGuid.PcdFSBClock|200000000
  136. gEmbeddedTokenSpaceGuid.PcdPrePiStackBase|0
  137. gEmbeddedTokenSpaceGuid.PcdPrePiStackSize|0
  138. #
  139. # Optinal feature to help prevent EFI memory map fragments
  140. # Turned on and off via: PcdPrePiProduceMemoryTypeInformationHob
  141. # Values are in EFI Pages (4K). DXE Core will make sure that
  142. # at least this much of each type of memory can be allocated
  143. # from a single memory range. This way you only end up with
  144. # maximum of two fragments for each type in the memory map
  145. # (the memory used, and the free memory that was prereserved
  146. # but not used).
  147. #
  148. gEmbeddedTokenSpaceGuid.PcdMemoryTypeEfiACPIReclaimMemory|0
  149. gEmbeddedTokenSpaceGuid.PcdMemoryTypeEfiACPIMemoryNVS|0
  150. gEmbeddedTokenSpaceGuid.PcdMemoryTypeEfiReservedMemoryType|0
  151. gEmbeddedTokenSpaceGuid.PcdMemoryTypeEfiRuntimeServicesData|0
  152. gEmbeddedTokenSpaceGuid.PcdMemoryTypeEfiRuntimeServicesCode|0
  153. gEmbeddedTokenSpaceGuid.PcdMemoryTypeEfiBootServicesCode|0
  154. gEmbeddedTokenSpaceGuid.PcdMemoryTypeEfiBootServicesData|0
  155. gEmbeddedTokenSpaceGuid.PcdMemoryTypeEfiLoaderCode|0
  156. gEmbeddedTokenSpaceGuid.PcdMemoryTypeEfiLoaderData|0
  157. #
  158. # Timer config for this platform
  159. #
  160. gEmbeddedTokenSpaceGuid.PcdTimerBaseAddress|0x3c700000
  161. gEmbeddedTokenSpaceGuid.PcdTimerVector|7
  162. gEmbeddedTokenSpaceGuid.PcdTimerPeriod|100000
  163. [BuildOptions]
  164. *_*_*_CC_FLAGS = -DDISABLE_NEW_DEPRECATED_INTERFACES
  165. ################################################################################
  166. #
  167. # Components Section - list of all Modules needed by this Platform
  168. #
  169. ################################################################################
  170. [Components.common]
  171. EmbeddedPkg/Library/GdbSerialDebugPortLib/GdbSerialDebugPortLib.inf
  172. EmbeddedPkg/Library/GdbSerialLib/GdbSerialLib.inf
  173. EmbeddedPkg/Library/PrePiExtractGuidedSectionLib/PrePiExtractGuidedSectionLib.inf
  174. EmbeddedPkg/Library/PrePiLib/PrePiLib.inf
  175. EmbeddedPkg/Library/TemplateResetSystemLib/TemplateResetSystemLib.inf
  176. EmbeddedPkg/Library/TemplateRealTimeClockLib/TemplateRealTimeClockLib.inf
  177. EmbeddedPkg/Library/CoherentDmaLib/CoherentDmaLib.inf
  178. EmbeddedPkg/Library/NonCoherentDmaLib/NonCoherentDmaLib.inf
  179. EmbeddedPkg/Library/DxeDtPlatformDtbLoaderLibDefault/DxeDtPlatformDtbLoaderLibDefault.inf
  180. EmbeddedPkg/Library/VirtualRealTimeClockLib/VirtualRealTimeClockLib.inf
  181. EmbeddedPkg/EmbeddedMonotonicCounter/EmbeddedMonotonicCounter.inf
  182. EmbeddedPkg/RealTimeClockRuntimeDxe/RealTimeClockRuntimeDxe.inf
  183. EmbeddedPkg/ResetRuntimeDxe/ResetRuntimeDxe.inf
  184. EmbeddedPkg/SimpleTextInOutSerial/SimpleTextInOutSerial.inf
  185. EmbeddedPkg/MetronomeDxe/MetronomeDxe.inf {
  186. <LibraryClasses>
  187. TimerLib|MdePkg/Library/BaseTimerLibNullTemplate/BaseTimerLibNullTemplate.inf
  188. }
  189. EmbeddedPkg/Universal/MmcDxe/MmcDxe.inf
  190. EmbeddedPkg/Library/AcpiLib/AcpiLib.inf
  191. EmbeddedPkg/Library/DebugAgentTimerLibNull/DebugAgentTimerLibNull.inf
  192. EmbeddedPkg/Library/FdtLib/FdtLib.inf
  193. EmbeddedPkg/Library/PrePiHobLib/PrePiHobLib.inf
  194. EmbeddedPkg/Library/PrePiMemoryAllocationLib/PrePiMemoryAllocationLib.inf
  195. EmbeddedPkg/Drivers/ConsolePrefDxe/ConsolePrefDxe.inf
  196. EmbeddedPkg/Drivers/DtPlatformDxe/DtPlatformDxe.inf
  197. EmbeddedPkg/Drivers/FdtClientDxe/FdtClientDxe.inf
  198. EmbeddedPkg/Drivers/NonCoherentIoMmuDxe/NonCoherentIoMmuDxe.inf {
  199. <LibraryClasses>
  200. DmaLib|EmbeddedPkg/Library/NonCoherentDmaLib/NonCoherentDmaLib.inf
  201. }
  202. [Components.ARM, Components.AARCH64]
  203. EmbeddedPkg/Application/AndroidBoot/AndroidBootApp.inf
  204. EmbeddedPkg/Application/AndroidFastboot/AndroidFastbootApp.inf
  205. EmbeddedPkg/Drivers/AndroidFastbootTransportUsbDxe/FastbootTransportUsbDxe.inf
  206. EmbeddedPkg/Drivers/AndroidFastbootTransportTcpDxe/FastbootTransportTcpDxe.inf
  207. [Components.IA32, Components.X64, Components.ARM]
  208. EmbeddedPkg/GdbStub/GdbStub.inf