PlatformPayloadFeaturePkg.dsc 4.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137
  1. ## @file
  2. # platform Payload Package
  3. #
  4. # Provides platform specific drivers and definitions to create a platform FV
  5. # to work with universal UEFI payload to provide support for common Intel platforms.
  6. #
  7. # Copyright (c) 2022, Intel Corporation. All rights reserved.<BR>
  8. # SPDX-License-Identifier: BSD-2-Clause-Patent
  9. #
  10. ##
  11. ################################################################################
  12. #
  13. # Defines Section - statements that will be processed to create a Makefile.
  14. #
  15. ################################################################################
  16. [Defines]
  17. PLATFORM_NAME = PlatformPayloadFeaturePkg
  18. PLATFORM_GUID = D3C551BE-9BC6-48F5-AA8A-F49425C28CA9
  19. PLATFORM_VERSION = 0.1
  20. DSC_SPECIFICATION = 0x00010005
  21. SUPPORTED_ARCHITECTURES = X64
  22. BUILD_TARGETS = DEBUG|RELEASE|NOOPT
  23. SKUID_IDENTIFIER = DEFAULT
  24. OUTPUT_DIRECTORY = Build/$(PLATFORM_NAME)
  25. FLASH_DEFINITION = $(PLATFORM_NAME)/PlatformPayloadFeaturePkg.fdf
  26. PCD_DYNAMIC_AS_DYNAMICEX = TRUE
  27. DXE_ARCH = X64
  28. !ifndef SMM_VARIABLE
  29. DEFINE SMM_VARIABLE = TRUE
  30. !endif
  31. [Packages]
  32. MinPlatformPkg/MinPlatformPkg.dec
  33. MdePkg/MdePkg.dec
  34. MdeModulePkg/MdeModulePkg.dec
  35. UefiPayloadPkg/UefiPayloadPkg.dec
  36. ################################################################################
  37. #
  38. # SKU Identification section - list of all SKU IDs supported by this Platform.
  39. #
  40. ################################################################################
  41. [SkuIds]
  42. 0|DEFAULT
  43. ################################################################################
  44. #
  45. # Library Class section - list of all Library Classes needed by this Platform.
  46. #
  47. ################################################################################
  48. #
  49. # MinPlatform common include for required feature PCD
  50. # These PCD must be set before the core include files, CoreCommonLib,
  51. # CorePeiLib, and CoreDxeLib.
  52. # Optional MinPlatformPkg features should be enabled after this
  53. #
  54. !include MinPlatformPkg/Include/Dsc/MinPlatformFeaturesPcd.dsc.inc
  55. [PcdsPatchableInModule]
  56. gEfiMdePkgTokenSpaceGuid.PcdReportStatusCodePropertyMask|0x7
  57. gEfiMdePkgTokenSpaceGuid.PcdDebugPrintErrorLevel|0x8000004F
  58. !if $(SOURCE_DEBUG_ENABLE)
  59. gEfiMdePkgTokenSpaceGuid.PcdDebugPropertyMask|0x17
  60. !else
  61. gEfiMdePkgTokenSpaceGuid.PcdDebugPropertyMask|0x2F
  62. !endif
  63. #
  64. # The following parameters are set by Library/PlatformHookLib
  65. #
  66. gEfiMdeModulePkgTokenSpaceGuid.PcdSerialUseMmio|FALSE
  67. gEfiMdeModulePkgTokenSpaceGuid.PcdSerialRegisterBase|0
  68. gEfiMdeModulePkgTokenSpaceGuid.PcdSerialBaudRate|115200
  69. gEfiMdeModulePkgTokenSpaceGuid.PcdSerialRegisterStride|1
  70. ################################################################################
  71. #
  72. # Pcd DynamicEx Section - list of all EDK II PCD Entries defined by this Platform
  73. #
  74. ################################################################################
  75. [PcdsDynamicExDefault]
  76. gEfiMdePkgTokenSpaceGuid.PcdPciExpressBaseAddress|0
  77. gEfiMdePkgTokenSpaceGuid.PcdPciExpressBaseSize|0
  78. #
  79. # Include common libraries
  80. #
  81. !include MinPlatformPkg/Include/Dsc/CoreCommonLib.dsc
  82. !include MinPlatformPkg/Include/Dsc/CorePeiLib.dsc
  83. !include MinPlatformPkg/Include/Dsc/CoreDxeLib.dsc
  84. #
  85. # For standalone platform payload package build there are specific library requirements
  86. #
  87. [LibraryClasses]
  88. !if $(SMM_VARIABLE) == TRUE
  89. PciLib|MdePkg/Library/BasePciLibPciExpress/BasePciLibPciExpress.inf
  90. PciExpressLib|MdePkg/Library/BasePciExpressLib/BasePciExpressLib.inf
  91. #
  92. # Optional for variable modules debug output
  93. #
  94. DebugPrintErrorLevelLib|MdePkg/Library/BaseDebugPrintErrorLevelLib/BaseDebugPrintErrorLevelLib.inf
  95. PrintLib|MdePkg/Library/BasePrintLib/BasePrintLib.inf
  96. DebugLib|MdePkg/Library/BaseDebugLibSerialPort/BaseDebugLibSerialPort.inf
  97. !endif
  98. [LibraryClasses.common.DXE_SMM_DRIVER,LibraryClasses.common.DXE_RUNTIME_DRIVER]
  99. !if $(SMM_VARIABLE) == TRUE
  100. HobLib|UefiPayloadPkg/Library/DxeHobLib/DxeHobLib.inf
  101. TimerLib|UefiCpuPkg/Library/CpuTimerLib/BaseCpuTimerLib.inf
  102. !endif
  103. #
  104. # This package always builds the feature.
  105. #
  106. !include Include/PlatformPayloadFeature.dsc
  107. [BuildOptions]
  108. *_*_*_CC_FLAGS = -D DISABLE_NEW_DEPRECATED_INTERFACES
  109. GCC:*_UNIXGCC_*_CC_FLAGS = -DMDEPKG_NDEBUG
  110. GCC:RELEASE_*_*_CC_FLAGS = -DMDEPKG_NDEBUG
  111. INTEL:RELEASE_*_*_CC_FLAGS = /D MDEPKG_NDEBUG
  112. MSFT:RELEASE_*_*_CC_FLAGS = /D MDEPKG_NDEBUG
  113. [BuildOptions.common.EDKII.DXE_RUNTIME_DRIVER]
  114. GCC:*_*_*_DLINK_FLAGS = -z common-page-size=0x1000
  115. XCODE:*_*_*_DLINK_FLAGS = -seg1addr 0x1000 -segalign 0x1000
  116. XCODE:*_*_*_MTOC_FLAGS = -align 0x1000
  117. CLANGPDB:*_*_*_DLINK_FLAGS = /ALIGN:4096
  118. MSFT:*_*_*_DLINK_FLAGS = /ALIGN:4096