PlatformStandaloneMm.dsc 6.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137
  1. #
  2. # Copyright (c) 2018, ARM Limited. All rights reserved.
  3. #
  4. # SPDX-License-Identifier: BSD-2-Clause-Patent
  5. #
  6. ################################################################################
  7. #
  8. # Defines Section - statements that will be processed to create a Makefile.
  9. #
  10. ################################################################################
  11. [Defines]
  12. PLATFORM_NAME = SgiMmStandalone
  13. PLATFORM_GUID = 34B78C8F-CFD5-49D5-8360-E91143F6106D
  14. PLATFORM_VERSION = 1.0
  15. DSC_SPECIFICATION = 0x00010011
  16. OUTPUT_DIRECTORY = Build/$(PLATFORM_NAME)
  17. SUPPORTED_ARCHITECTURES = AARCH64
  18. BUILD_TARGETS = DEBUG|RELEASE|NOOPT
  19. SKUID_IDENTIFIER = DEFAULT
  20. FLASH_DEFINITION = Platform/ARM/SgiPkg/PlatformStandaloneMm.fdf
  21. DEFINE DEBUG_MESSAGE = TRUE
  22. # LzmaF86
  23. DEFINE COMPRESSION_TOOL_GUID = D42AE6BD-1352-4bfb-909A-CA72A6EAE889
  24. ################################################################################
  25. #
  26. # Library Class section - list of all Library Classes needed by this Platform.
  27. #
  28. ################################################################################
  29. [LibraryClasses]
  30. #
  31. # Basic
  32. #
  33. BaseLib|MdePkg/Library/BaseLib/BaseLib.inf
  34. BaseMemoryLib|MdePkg/Library/BaseMemoryLib/BaseMemoryLib.inf
  35. DebugLib|MdePkg/Library/BaseDebugLibSerialPort/BaseDebugLibSerialPort.inf
  36. DebugPrintErrorLevelLib|MdePkg/Library/BaseDebugPrintErrorLevelLib/BaseDebugPrintErrorLevelLib.inf
  37. ExtractGuidedSectionLib|EmbeddedPkg/Library/PrePiExtractGuidedSectionLib/PrePiExtractGuidedSectionLib.inf
  38. FvLib|StandaloneMmPkg/Library/FvLib/FvLib.inf
  39. HobLib|StandaloneMmPkg/Library/StandaloneMmCoreHobLib/StandaloneMmCoreHobLib.inf
  40. IoLib|MdePkg/Library/BaseIoLibIntrinsic/BaseIoLibIntrinsic.inf
  41. MemLib|StandaloneMmPkg/Library/StandaloneMmMemLib/StandaloneMmMemLib.inf
  42. MemoryAllocationLib|StandaloneMmPkg/Library/StandaloneMmCoreMemoryAllocationLib/StandaloneMmCoreMemoryAllocationLib.inf
  43. PcdLib|MdePkg/Library/BasePcdLibNull/BasePcdLibNull.inf
  44. PeCoffLib|MdePkg/Library/BasePeCoffLib/BasePeCoffLib.inf
  45. PrintLib|MdePkg/Library/BasePrintLib/BasePrintLib.inf
  46. ReportStatusCodeLib|MdePkg/Library/BaseReportStatusCodeLibNull/BaseReportStatusCodeLibNull.inf
  47. #
  48. # Entry point
  49. #
  50. StandaloneMmDriverEntryPoint|MdePkg/Library/StandaloneMmDriverEntryPoint/StandaloneMmDriverEntryPoint.inf
  51. ArmLib|ArmPkg/Library/ArmLib/ArmBaseLib.inf
  52. StandaloneMmMmuLib|ArmPkg/Library/StandaloneMmMmuLib/ArmMmuStandaloneMmLib.inf
  53. ArmSvcLib|ArmPkg/Library/ArmSvcLib/ArmSvcLib.inf
  54. CacheMaintenanceLib|ArmPkg/Library/ArmCacheMaintenanceLib/ArmCacheMaintenanceLib.inf
  55. PeCoffExtraActionLib|StandaloneMmPkg/Library/StandaloneMmPeCoffExtraActionLib/StandaloneMmPeCoffExtraActionLib.inf
  56. # ARM PL011 UART Driver
  57. PL011UartClockLib|ArmPlatformPkg/Library/PL011UartClockLib/PL011UartClockLib.inf
  58. PL011UartLib|ArmPlatformPkg/Library/PL011UartLib/PL011UartLib.inf
  59. SerialPortLib|ArmPlatformPkg/Library/PL011SerialPortLib/PL011SerialPortLib.inf
  60. StandaloneMmCoreEntryPoint|StandaloneMmPkg/Library/StandaloneMmCoreEntryPoint/StandaloneMmCoreEntryPoint.inf
  61. #
  62. # It is not possible to prevent the ARM compiler for generic intrinsic functions.
  63. # This library provides the instrinsic functions generate by a given compiler.
  64. # And NULL mean link this library into all ARM images.
  65. #
  66. NULL|ArmPkg/Library/CompilerIntrinsicsLib/CompilerIntrinsicsLib.inf
  67. [LibraryClasses.common.MM_STANDALONE]
  68. HobLib|StandaloneMmPkg/Library/StandaloneMmHobLib/StandaloneMmHobLib.inf
  69. MmServicesTableLib|MdePkg/Library/StandaloneMmServicesTableLib/StandaloneMmServicesTableLib.inf
  70. MemoryAllocationLib|StandaloneMmPkg/Library/StandaloneMmMemoryAllocationLib/StandaloneMmMemoryAllocationLib.inf
  71. ################################################################################
  72. #
  73. # Pcd Section - list of all EDK II PCD Entries defined by this Platform
  74. #
  75. ################################################################################
  76. [PcdsFixedAtBuild]
  77. gEfiMdePkgTokenSpaceGuid.PcdDebugPrintErrorLevel|0x800000CF
  78. gEfiMdePkgTokenSpaceGuid.PcdDebugPropertyMask|0xff
  79. gEfiMdePkgTokenSpaceGuid.PcdReportStatusCodePropertyMask|0x0f
  80. ## PL011 - Serial Terminal
  81. gEfiMdeModulePkgTokenSpaceGuid.PcdSerialRegisterBase|0x7FF70000
  82. gEfiMdePkgTokenSpaceGuid.PcdUartDefaultBaudRate|115200
  83. gEfiMdePkgTokenSpaceGuid.PcdMaximumGuidedExtractHandler|0x2
  84. ###################################################################################################
  85. #
  86. # Components Section - list of the modules and components that will be processed by compilation
  87. # tools and the EDK II tools to generate PE32/PE32+/Coff image files.
  88. #
  89. # Note: The EDK II DSC file is not used to specify how compiled binary images get placed
  90. # into firmware volume images. This section is just a list of modules to compile from
  91. # source into UEFI-compliant binaries.
  92. # It is the FDF file that contains information on combining binary files into firmware
  93. # volume images, whose concept is beyond UEFI and is described in PI specification.
  94. # Binary modules do not need to be listed in this section, as they should be
  95. # specified in the FDF file. For example: Shell binary (Shell_Full.efi), FAT binary (Fat.efi),
  96. # Logo (Logo.bmp), and etc.
  97. # There may also be modules listed in this section that are not required in the FDF file,
  98. # When a module listed here is excluded from FDF file, then UEFI-compliant binary will be
  99. # generated for it, but the binary will not be put into any firmware volume.
  100. #
  101. ###################################################################################################
  102. [Components.common]
  103. #
  104. # MM Core
  105. #
  106. StandaloneMmPkg/Core/StandaloneMmCore.inf
  107. [Components.AARCH64]
  108. StandaloneMmPkg/Drivers/StandaloneMmCpu/AArch64/StandaloneMmCpu.inf
  109. ###################################################################################################
  110. #
  111. # BuildOptions Section - Define the module specific tool chain flags that should be used as
  112. # the default flags for a module. These flags are appended to any
  113. # standard flags that are defined by the build process. They can be
  114. # applied for any modules or only those modules with the specific
  115. # module style (EDK or EDKII) specified in [Components] section.
  116. #
  117. ###################################################################################################
  118. [BuildOptions.AARCH64]
  119. GCC:*_*_*_DLINK_FLAGS = -z common-page-size=0x1000 -march=armv8-a+nofp
  120. [BuildOptions]
  121. *_*_*_CC_FLAGS = -D DISABLE_NEW_DEPRECATED_INTERFACES