Quark.dsc 43 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953
  1. ## @file
  2. # Clanton Peak CRB platform with 32-bit DXE for 4MB/8MB flash devices.
  3. #
  4. # This package provides Clanton Peak CRB platform specific modules.
  5. # Copyright (c) 2013 - 2023 Intel Corporation.
  6. #
  7. # SPDX-License-Identifier: BSD-2-Clause-Patent
  8. #
  9. ##
  10. ################################################################################
  11. #
  12. # Defines Section - statements that will be processed to create a Makefile.
  13. #
  14. ################################################################################
  15. [Defines]
  16. DSC_SPECIFICATION = 0x00010005
  17. PLATFORM_NAME = Quark
  18. PLATFORM_GUID = F6E7730E-0C7A-4741-9DFC-6BC8B86CD865
  19. PLATFORM_VERSION = 0.1
  20. FLASH_DEFINITION = QuarkPlatformPkg/Quark.fdf
  21. OUTPUT_DIRECTORY = Build/Quark
  22. SUPPORTED_ARCHITECTURES = IA32
  23. BUILD_TARGETS = DEBUG|RELEASE
  24. SKUID_IDENTIFIER = DEFAULT
  25. VPD_TOOL_GUID = 8C3D856A-9BE6-468E-850A-24F7A8D38E08
  26. #
  27. # Platform On/Off features are defined here
  28. #
  29. DEFINE SECURE_BOOT_ENABLE = FALSE
  30. DEFINE MEASURED_BOOT_ENABLE = FALSE
  31. DEFINE SOURCE_DEBUG_ENABLE = FALSE
  32. DEFINE PERFORMANCE_ENABLE = FALSE
  33. DEFINE LOGGING = FALSE
  34. DEFINE CAPSULE_ENABLE = FALSE
  35. DEFINE RECOVERY_ENABLE = FALSE
  36. #
  37. # Galileo board. Options are [GEN1, GEN2]
  38. #
  39. DEFINE GALILEO = GEN2
  40. #
  41. # TPM 1.2 Hardware. Options are [NONE, LPC, ATMEL_I2C, INFINEON_I2C]
  42. #
  43. DEFINE TPM_12_HARDWARE = NONE
  44. !if $(TARGET) == "DEBUG"
  45. DEFINE LOGGING = TRUE
  46. !endif
  47. !if $(PERFORMANCE_ENABLE)
  48. DEFINE SOURCE_DEBUG_ENABLE = FALSE
  49. DEFINE LOGGING = FALSE
  50. !endif
  51. ################################################################################
  52. #
  53. # SKU Identification section - list of all SKU IDs supported by this
  54. # Platform.
  55. #
  56. ################################################################################
  57. [SkuIds]
  58. 0|DEFAULT # The entry: 0|DEFAULT is reserved and always required.
  59. ################################################################################
  60. #
  61. # Library Class section - list of all Library Classes needed by this Platform.
  62. #
  63. ################################################################################
  64. !include MdePkg/MdeLibs.dsc.inc
  65. [LibraryClasses]
  66. #
  67. # Entry point
  68. #
  69. PeiCoreEntryPoint|MdePkg/Library/PeiCoreEntryPoint/PeiCoreEntryPoint.inf
  70. PeimEntryPoint|MdePkg/Library/PeimEntryPoint/PeimEntryPoint.inf
  71. DxeCoreEntryPoint|MdePkg/Library/DxeCoreEntryPoint/DxeCoreEntryPoint.inf
  72. UefiDriverEntryPoint|MdePkg/Library/UefiDriverEntryPoint/UefiDriverEntryPoint.inf
  73. UefiApplicationEntryPoint|MdePkg/Library/UefiApplicationEntryPoint/UefiApplicationEntryPoint.inf
  74. #
  75. # Basic
  76. #
  77. BaseLib|MdePkg/Library/BaseLib/BaseLib.inf
  78. BaseMemoryLib|MdePkg/Library/BaseMemoryLibRepStr/BaseMemoryLibRepStr.inf
  79. PrintLib|MdePkg/Library/BasePrintLib/BasePrintLib.inf
  80. CpuLib|MdePkg/Library/BaseCpuLib/BaseCpuLib.inf
  81. CpuExceptionHandlerLib|UefiCpuPkg/Library/CpuExceptionHandlerLib/DxeCpuExceptionHandlerLib.inf
  82. IoLib|MdePkg/Library/BaseIoLibIntrinsic/BaseIoLibIntrinsic.inf
  83. PciLib|MdePkg/Library/BasePciLibPciExpress/BasePciLibPciExpress.inf
  84. PciSegmentLib|MdePkg/Library/BasePciSegmentLibPci/BasePciSegmentLibPci.inf
  85. PciCf8Lib|MdePkg/Library/BasePciCf8Lib/BasePciCf8Lib.inf
  86. PciExpressLib|MdePkg/Library/BasePciExpressLib/BasePciExpressLib.inf
  87. CacheMaintenanceLib|MdePkg/Library/BaseCacheMaintenanceLib/BaseCacheMaintenanceLib.inf
  88. PeCoffLib|MdePkg/Library/BasePeCoffLib/BasePeCoffLib.inf
  89. !if $(SOURCE_DEBUG_ENABLE)
  90. PeCoffExtraActionLib|SourceLevelDebugPkg/Library/PeCoffExtraActionLibDebug/PeCoffExtraActionLibDebug.inf
  91. DebugCommunicationLib|SourceLevelDebugPkg/Library/DebugCommunicationLibSerialPort/DebugCommunicationLibSerialPort.inf
  92. !else
  93. PeCoffExtraActionLib|MdePkg/Library/BasePeCoffExtraActionLibNull/BasePeCoffExtraActionLibNull.inf
  94. !endif
  95. DebugAgentLib|MdeModulePkg/Library/DebugAgentLibNull/DebugAgentLibNull.inf
  96. PeCoffGetEntryPointLib|MdePkg/Library/BasePeCoffGetEntryPointLib/BasePeCoffGetEntryPointLib.inf
  97. CcExitLib|UefiCpuPkg/Library/CcExitLibNull/CcExitLibNull.inf
  98. #
  99. # UEFI & PI
  100. #
  101. UefiBootServicesTableLib|MdePkg/Library/UefiBootServicesTableLib/UefiBootServicesTableLib.inf
  102. UefiRuntimeServicesTableLib|MdePkg/Library/UefiRuntimeServicesTableLib/UefiRuntimeServicesTableLib.inf
  103. UefiRuntimeLib|MdePkg/Library/UefiRuntimeLib/UefiRuntimeLib.inf
  104. UefiLib|MdePkg/Library/UefiLib/UefiLib.inf
  105. HiiLib|MdeModulePkg/Library/UefiHiiLib/UefiHiiLib.inf
  106. UefiHiiServicesLib|MdeModulePkg/Library/UefiHiiServicesLib/UefiHiiServicesLib.inf
  107. DevicePathLib|MdePkg/Library/UefiDevicePathLib/UefiDevicePathLib.inf
  108. UefiDecompressLib|MdePkg/Library/BaseUefiDecompressLib/BaseUefiTianoCustomDecompressLib.inf
  109. PeiServicesTablePointerLib|MdePkg/Library/PeiServicesTablePointerLibIdt/PeiServicesTablePointerLibIdt.inf
  110. PeiServicesLib|MdePkg/Library/PeiServicesLib/PeiServicesLib.inf
  111. DxeServicesLib|MdePkg/Library/DxeServicesLib/DxeServicesLib.inf
  112. DxeServicesTableLib|MdePkg/Library/DxeServicesTableLib/DxeServicesTableLib.inf
  113. SortLib|MdeModulePkg/Library/UefiSortLib/UefiSortLib.inf
  114. UefiBootManagerLib|MdeModulePkg/Library/UefiBootManagerLib/UefiBootManagerLib.inf
  115. SafeIntLib|MdePkg/Library/BaseSafeIntLib/BaseSafeIntLib.inf
  116. #
  117. # Generic Modules
  118. #
  119. S3BootScriptLib|MdeModulePkg/Library/PiDxeS3BootScriptLib/DxeS3BootScriptLib.inf
  120. S3IoLib|MdePkg/Library/BaseS3IoLib/BaseS3IoLib.inf
  121. S3PciLib|MdePkg/Library/BaseS3PciLib/BaseS3PciLib.inf
  122. UefiUsbLib|MdePkg/Library/UefiUsbLib/UefiUsbLib.inf
  123. UefiScsiLib|MdePkg/Library/UefiScsiLib/UefiScsiLib.inf
  124. NetLib|NetworkPkg/Library/DxeNetLib/DxeNetLib.inf
  125. IpIoLib|NetworkPkg/Library/DxeIpIoLib/DxeIpIoLib.inf
  126. UdpIoLib|NetworkPkg/Library/DxeUdpIoLib/DxeUdpIoLib.inf
  127. DpcLib|NetworkPkg/Library/DxeDpcLib/DxeDpcLib.inf
  128. OemHookStatusCodeLib|MdeModulePkg/Library/OemHookStatusCodeLibNull/OemHookStatusCodeLibNull.inf
  129. SynchronizationLib|MdePkg/Library/BaseSynchronizationLib/BaseSynchronizationLib.inf
  130. SecurityManagementLib|MdeModulePkg/Library/DxeSecurityManagementLib/DxeSecurityManagementLib.inf
  131. SmmCorePlatformHookLib|MdeModulePkg/Library/SmmCorePlatformHookLibNull/SmmCorePlatformHookLibNull.inf
  132. PcdLib|MdePkg/Library/DxePcdLib/DxePcdLib.inf
  133. HobLib|MdePkg/Library/DxeHobLib/DxeHobLib.inf
  134. MemoryAllocationLib|MdePkg/Library/UefiMemoryAllocationLib/UefiMemoryAllocationLib.inf
  135. ReportStatusCodeLib|MdeModulePkg/Library/DxeReportStatusCodeLib/DxeReportStatusCodeLib.inf
  136. ExtractGuidedSectionLib|MdePkg/Library/DxeExtractGuidedSectionLib/DxeExtractGuidedSectionLib.inf
  137. LockBoxLib|MdeModulePkg/Library/SmmLockBoxLib/SmmLockBoxDxeLib.inf
  138. MmUnblockMemoryLib|MdePkg/Library/MmUnblockMemoryLib/MmUnblockMemoryLibNull.inf
  139. VarCheckLib|MdeModulePkg/Library/VarCheckLib/VarCheckLib.inf
  140. VariablePolicyLib|MdeModulePkg/Library/VariablePolicyLib/VariablePolicyLib.inf
  141. VariablePolicyHelperLib|MdeModulePkg/Library/VariablePolicyHelperLib/VariablePolicyHelperLib.inf
  142. DebugPrintErrorLevelLib|MdePkg/Library/BaseDebugPrintErrorLevelLib/BaseDebugPrintErrorLevelLib.inf
  143. !if $(LOGGING)
  144. DebugLib|MdePkg/Library/BaseDebugLibSerialPort/BaseDebugLibSerialPort.inf
  145. !else
  146. DebugLib|MdePkg/Library/BaseDebugLibNull/BaseDebugLibNull.inf
  147. !endif
  148. !if $(PERFORMANCE_ENABLE)
  149. PerformanceLib|MdeModulePkg/Library/DxePerformanceLib/DxePerformanceLib.inf
  150. !else
  151. PerformanceLib|MdePkg/Library/BasePerformanceLibNull/BasePerformanceLibNull.inf
  152. !endif
  153. ShellLib|ShellPkg/Library/UefiShellLib/UefiShellLib.inf
  154. FileHandleLib|MdePkg/Library/UefiFileHandleLib/UefiFileHandleLib.inf
  155. OpensslLib|CryptoPkg/Library/OpensslLib/OpensslLib.inf
  156. IntrinsicLib|CryptoPkg/Library/IntrinsicLib/IntrinsicLib.inf
  157. BaseCryptLib|CryptoPkg/Library/BaseCryptLib/BaseCryptLib.inf
  158. !if $(SECURE_BOOT_ENABLE)
  159. PlatformSecureLib|QuarkPlatformPkg/Library/PlatformSecureLib/PlatformSecureLib.inf
  160. AuthVariableLib|SecurityPkg/Library/AuthVariableLib/AuthVariableLib.inf
  161. !else
  162. AuthVariableLib|MdeModulePkg/Library/AuthVariableLibNull/AuthVariableLibNull.inf
  163. !endif
  164. !if $(MEASURED_BOOT_ENABLE)
  165. TpmMeasurementLib|SecurityPkg/Library/DxeTpmMeasurementLib/DxeTpmMeasurementLib.inf
  166. Tpm12CommandLib|SecurityPkg/Library/Tpm12CommandLib/Tpm12CommandLib.inf
  167. !if $(TPM_12_HARDWARE) == LPC
  168. Tpm12DeviceLib|SecurityPkg/Library/Tpm12DeviceLibDTpm/Tpm12DeviceLibDTpm.inf
  169. !endif
  170. !if $(TPM_12_HARDWARE) == ATMEL_I2C
  171. Tpm12DeviceLib|QuarkPlatformPkg/Library/Tpm12DeviceLibAtmelI2c/Tpm12DeviceLibAtmelI2c.inf
  172. !endif
  173. !if $(TPM_12_HARDWARE) == INFINEON_I2C
  174. Tpm12DeviceLib|QuarkPlatformPkg/Library/Tpm12DeviceLibInfineonI2c/Tpm12DeviceLibInfineonI2c.inf
  175. !endif
  176. TcgPpVendorLib|SecurityPkg/Library/TcgPpVendorLibNull/TcgPpVendorLibNull.inf
  177. !else
  178. TpmMeasurementLib|MdeModulePkg/Library/TpmMeasurementLibNull/TpmMeasurementLibNull.inf
  179. !endif
  180. FileExplorerLib|MdeModulePkg/Library/FileExplorerLib/FileExplorerLib.inf
  181. #
  182. # CPU
  183. #
  184. MtrrLib|QuarkSocPkg/QuarkNorthCluster/Library/MtrrLib/MtrrLib.inf
  185. LocalApicLib|UefiCpuPkg/Library/BaseXApicLib/BaseXApicLib.inf
  186. MpInitLib|UefiCpuPkg/Library/MpInitLibUp/MpInitLibUp.inf
  187. #
  188. # Quark North Cluster
  189. #
  190. SmmLib|QuarkSocPkg/QuarkNorthCluster/Library/QNCSmmLib/QNCSmmLib.inf
  191. SmbusLib|QuarkSocPkg/QuarkNorthCluster/Library/SmbusLib/SmbusLib.inf
  192. TimerLib|PcAtChipsetPkg/Library/AcpiTimerLib/DxeAcpiTimerLib.inf
  193. ResetSystemLib|QuarkSocPkg/QuarkNorthCluster/Library/ResetSystemLib/ResetSystemLib.inf
  194. IntelQNCLib|QuarkSocPkg/QuarkNorthCluster/Library/IntelQNCLib/IntelQNCLib.inf
  195. QNCAccessLib|QuarkSocPkg/QuarkNorthCluster/Library/QNCAccessLib/QNCAccessLib.inf
  196. IoApicLib|PcAtChipsetPkg/Library/BaseIoApicLib/BaseIoApicLib.inf
  197. #
  198. # Quark South Cluster
  199. #
  200. IohLib|QuarkSocPkg/QuarkSouthCluster/Library/IohLib/IohLib.inf
  201. I2cLib|QuarkSocPkg/QuarkSouthCluster/Library/I2cLib/I2cLib.inf
  202. SerialPortLib|MdeModulePkg/Library/BaseSerialPortLib16550/BaseSerialPortLib16550.inf
  203. PlatformHookLib|MdeModulePkg/Library/BasePlatformHookLibNull/BasePlatformHookLibNull.inf
  204. #
  205. # Quark Platform
  206. #
  207. PlatformSecLib|QuarkPlatformPkg/Library/PlatformSecLib/PlatformSecLib.inf
  208. PlatformPcieHelperLib|QuarkPlatformPkg/Library/PlatformPcieHelperLib/PlatformPcieHelperLib.inf
  209. PlatformHelperLib|QuarkPlatformPkg/Library/PlatformHelperLib/DxePlatformHelperLib.inf
  210. !if $(CAPSULE_ENABLE)
  211. CapsuleLib|MdeModulePkg/Library/DxeCapsuleLibFmp/DxeCapsuleLib.inf
  212. BmpSupportLib|MdeModulePkg/Library/BaseBmpSupportLib/BaseBmpSupportLib.inf
  213. SafeIntLib|MdePkg/Library/BaseSafeIntLib/BaseSafeIntLib.inf
  214. !else
  215. CapsuleLib|MdeModulePkg/Library/DxeCapsuleLibNull/DxeCapsuleLibNull.inf
  216. !endif
  217. EdkiiSystemCapsuleLib|SignedCapsulePkg/Library/EdkiiSystemCapsuleLib/EdkiiSystemCapsuleLib.inf
  218. FmpAuthenticationLib|MdeModulePkg/Library/FmpAuthenticationLibNull/FmpAuthenticationLibNull.inf
  219. IniParsingLib|SignedCapsulePkg/Library/IniParsingLib/IniParsingLib.inf
  220. PlatformFlashAccessLib|QuarkPlatformPkg/Feature/Capsule/Library/PlatformFlashAccessLib/PlatformFlashAccessLibDxe.inf
  221. DisplayUpdateProgressLib|MdeModulePkg/Library/DisplayUpdateProgressLibText/DisplayUpdateProgressLibText.inf
  222. [LibraryClasses.common.SEC]
  223. #
  224. # SEC specific phase
  225. #
  226. ReportStatusCodeLib|MdePkg/Library/BaseReportStatusCodeLibNull/BaseReportStatusCodeLibNull.inf
  227. PcdLib|MdePkg/Library/BasePcdLibNull/BasePcdLibNull.inf
  228. TimerLib|PcAtChipsetPkg/Library/AcpiTimerLib/BaseAcpiTimerLib.inf
  229. HobLib|MdePkg/Library/PeiHobLib/PeiHobLib.inf
  230. MemoryAllocationLib|MdePkg/Library/PeiMemoryAllocationLib/PeiMemoryAllocationLib.inf
  231. CpuExceptionHandlerLib|UefiCpuPkg/Library/CpuExceptionHandlerLib/SecPeiCpuExceptionHandlerLib.inf
  232. [LibraryClasses.IA32.PEIM,LibraryClasses.IA32.PEI_CORE]
  233. #
  234. # PEI phase common
  235. #
  236. PcdLib|MdePkg/Library/PeiPcdLib/PeiPcdLib.inf
  237. HobLib|MdePkg/Library/PeiHobLib/PeiHobLib.inf
  238. MemoryAllocationLib|MdePkg/Library/PeiMemoryAllocationLib/PeiMemoryAllocationLib.inf
  239. ReportStatusCodeLib|MdeModulePkg/Library/PeiReportStatusCodeLib/PeiReportStatusCodeLib.inf
  240. ExtractGuidedSectionLib|MdePkg/Library/PeiExtractGuidedSectionLib/PeiExtractGuidedSectionLib.inf
  241. LockBoxLib|MdeModulePkg/Library/SmmLockBoxLib/SmmLockBoxPeiLib.inf
  242. TimerLib|PcAtChipsetPkg/Library/AcpiTimerLib/BaseAcpiTimerLib.inf
  243. PlatformHelperLib|QuarkPlatformPkg/Library/PlatformHelperLib/PeiPlatformHelperLib.inf
  244. CpuExceptionHandlerLib|UefiCpuPkg/Library/CpuExceptionHandlerLib/SecPeiCpuExceptionHandlerLib.inf
  245. BaseCryptLib|CryptoPkg/Library/BaseCryptLib/PeiCryptLib.inf
  246. !if $(PERFORMANCE_ENABLE)
  247. PerformanceLib|MdeModulePkg/Library/PeiPerformanceLib/PeiPerformanceLib.inf
  248. !endif
  249. [LibraryClasses.IA32.DXE_CORE]
  250. HobLib|MdePkg/Library/DxeCoreHobLib/DxeCoreHobLib.inf
  251. MemoryAllocationLib|MdeModulePkg/Library/DxeCoreMemoryAllocationLib/DxeCoreMemoryAllocationLib.inf
  252. CpuExceptionHandlerLib|UefiCpuPkg/Library/CpuExceptionHandlerLib/DxeCpuExceptionHandlerLib.inf
  253. !if $(PERFORMANCE_ENABLE)
  254. PerformanceLib|MdeModulePkg/Library/DxeCorePerformanceLib/DxeCorePerformanceLib.inf
  255. !endif
  256. [LibraryClasses.IA32.DXE_SMM_DRIVER]
  257. MmServicesTableLib|MdePkg/Library/MmServicesTableLib/MmServicesTableLib.inf
  258. SmmServicesTableLib|MdePkg/Library/SmmServicesTableLib/SmmServicesTableLib.inf
  259. ReportStatusCodeLib|MdeModulePkg/Library/SmmReportStatusCodeLib/SmmReportStatusCodeLib.inf
  260. MemoryAllocationLib|MdePkg/Library/SmmMemoryAllocationLib/SmmMemoryAllocationLib.inf
  261. LockBoxLib|MdeModulePkg/Library/SmmLockBoxLib/SmmLockBoxSmmLib.inf
  262. PciLib|MdePkg/Library/BasePciLibCf8/BasePciLibCf8.inf
  263. CpuExceptionHandlerLib|UefiCpuPkg/Library/CpuExceptionHandlerLib/SmmCpuExceptionHandlerLib.inf
  264. SmmMemLib|MdePkg/Library/SmmMemLib/SmmMemLib.inf
  265. BaseCryptLib|CryptoPkg/Library/BaseCryptLib/SmmCryptLib.inf
  266. !if $(PERFORMANCE_ENABLE)
  267. PerformanceLib|MdeModulePkg/Library/SmmPerformanceLib/SmmPerformanceLib.inf
  268. !endif
  269. [LibraryClasses.IA32.SMM_CORE]
  270. SmmServicesTableLib|MdeModulePkg/Library/PiSmmCoreSmmServicesTableLib/PiSmmCoreSmmServicesTableLib.inf
  271. ReportStatusCodeLib|MdeModulePkg/Library/SmmReportStatusCodeLib/SmmReportStatusCodeLib.inf
  272. MemoryAllocationLib|MdeModulePkg/Library/PiSmmCoreMemoryAllocationLib/PiSmmCoreMemoryAllocationLib.inf
  273. PciLib|MdePkg/Library/BasePciLibCf8/BasePciLibCf8.inf
  274. SmmMemLib|MdePkg/Library/SmmMemLib/SmmMemLib.inf
  275. !if $(SECURE_BOOT_ENABLE) || $(MEASURED_BOOT_ENABLE)
  276. BaseCryptLib|CryptoPkg/Library/BaseCryptLib/SmmCryptLib.inf
  277. !endif
  278. !if $(PERFORMANCE_ENABLE)
  279. PerformanceLib|MdeModulePkg/Library/SmmCorePerformanceLib/SmmCorePerformanceLib.inf
  280. !endif
  281. [LibraryClasses.IA32.DXE_RUNTIME_DRIVER]
  282. !if $(LOGGING)
  283. DebugLib|MdePkg/Library/DxeRuntimeDebugLibSerialPort/DxeRuntimeDebugLibSerialPort.inf
  284. !else
  285. DebugLib|MdePkg/Library/BaseDebugLibNull/BaseDebugLibNull.inf
  286. !endif
  287. ReportStatusCodeLib|MdeModulePkg/Library/RuntimeDxeReportStatusCodeLib/RuntimeDxeReportStatusCodeLib.inf
  288. VariablePolicyLib|MdeModulePkg/Library/VariablePolicyLib/VariablePolicyLibRuntimeDxe.inf
  289. QNCAccessLib|QuarkSocPkg/QuarkNorthCluster/Library/QNCAccessLib/RuntimeQNCAccessLib.inf
  290. PciLib|MdePkg/Library/BasePciLibCf8/BasePciLibCf8.inf
  291. !if $(SECURE_BOOT_ENABLE) || $(MEASURED_BOOT_ENABLE)
  292. BaseCryptLib|CryptoPkg/Library/BaseCryptLib/RuntimeCryptLib.inf
  293. !endif
  294. !if $(CAPSULE_ENABLE)
  295. CapsuleLib|MdeModulePkg/Library/DxeCapsuleLibFmp/DxeRuntimeCapsuleLib.inf
  296. !endif
  297. [LibraryClasses.IA32.UEFI_DRIVER,LibraryClasses.IA32.UEFI_APPLICATION]
  298. PcdLib|MdePkg/Library/BasePcdLibNull/BasePcdLibNull.inf
  299. ################################################################################
  300. #
  301. # Pcd Section - list of all EDK II PCD Entries defined by this Platform
  302. #
  303. ################################################################################
  304. [PcdsFeatureFlag]
  305. gEfiMdeModulePkgTokenSpaceGuid.PcdDevicePathSupportDevicePathToText|TRUE
  306. gEfiMdeModulePkgTokenSpaceGuid.PcdDevicePathSupportDevicePathFromText|TRUE
  307. gEfiMdeModulePkgTokenSpaceGuid.PcdSupportUpdateCapsuleReset|TRUE
  308. gEfiMdeModulePkgTokenSpaceGuid.PcdDxeIplSwitchToLongMode|FALSE
  309. gEfiMdeModulePkgTokenSpaceGuid.PcdPciBusHotplugDeviceSupport|FALSE
  310. gEfiMdeModulePkgTokenSpaceGuid.PcdInstallAcpiSdtProtocol|TRUE
  311. !if $(SOURCE_DEBUG_ENABLE)
  312. gUefiCpuPkgTokenSpaceGuid.PcdCpuSmmDebug|TRUE
  313. !endif
  314. !if $(TARGET) == "RELEASE"
  315. gQuarkPlatformTokenSpaceGuid.WaitIfResetDueToError|FALSE
  316. !else
  317. gQuarkPlatformTokenSpaceGuid.WaitIfResetDueToError|TRUE
  318. !endif
  319. [PcdsFixedAtBuild]
  320. gUefiCpuPkgTokenSpaceGuid.PcdCpuMaxLogicalProcessorNumber|1
  321. gQuarkPlatformTokenSpaceGuid.PcdS3AcpiReservedMemorySize|0x20000
  322. gEfiMdeModulePkgTokenSpaceGuid.PcdResetOnMemoryTypeInformationChange|TRUE
  323. !if $(LOGGING)
  324. !if $(SOURCE_DEBUG_ENABLE)
  325. gEfiMdePkgTokenSpaceGuid.PcdDebugPropertyMask|0x17
  326. !else
  327. gEfiMdePkgTokenSpaceGuid.PcdDebugPropertyMask|0x27
  328. !endif
  329. gEfiMdePkgTokenSpaceGuid.PcdReportStatusCodePropertyMask|0x07
  330. !else
  331. gEfiMdePkgTokenSpaceGuid.PcdDebugPropertyMask|0x0
  332. gEfiMdePkgTokenSpaceGuid.PcdPostCodePropertyMask|0x0
  333. gEfiMdePkgTokenSpaceGuid.PcdReportStatusCodePropertyMask|0x3
  334. !endif
  335. gEfiMdePkgTokenSpaceGuid.PcdPostCodePropertyMask|0x18
  336. gEfiMdePkgTokenSpaceGuid.PcdPciExpressBaseAddress|0xE0000000
  337. !if $(GALILEO) == GEN1
  338. gEfiMdePkgTokenSpaceGuid.PcdUartDefaultBaudRate|460800
  339. !endif
  340. !if $(GALILEO) == GEN2
  341. gEfiMdePkgTokenSpaceGuid.PcdUartDefaultBaudRate|921600
  342. !endif
  343. gEfiMdePkgTokenSpaceGuid.PcdUartDefaultDataBits|8
  344. gEfiMdePkgTokenSpaceGuid.PcdUartDefaultParity|1
  345. gEfiMdePkgTokenSpaceGuid.PcdUartDefaultStopBits|1
  346. gEfiMdePkgTokenSpaceGuid.PcdDefaultTerminalType|0
  347. !if $(PERFORMANCE_ENABLE)
  348. gEfiMdePkgTokenSpaceGuid.PcdPerformanceLibraryPropertyMask|0x1
  349. gEfiMdeModulePkgTokenSpaceGuid.PcdMaxPeiPerformanceLogEntries|80
  350. !else
  351. gEfiMdePkgTokenSpaceGuid.PcdPerformanceLibraryPropertyMask|0x00
  352. !endif
  353. gEfiMdeModulePkgTokenSpaceGuid.PcdLoadModuleAtFixAddressEnable|0
  354. !if $(SECURE_BOOT_ENABLE)
  355. gEfiMdeModulePkgTokenSpaceGuid.PcdMaxVariableSize|0x2000
  356. !endif
  357. gEfiMdeModulePkgTokenSpaceGuid.PcdHwErrStorageSize|0x00002000
  358. gEfiMdeModulePkgTokenSpaceGuid.PcdMaxHardwareErrorVariableSize|0x1000
  359. !if $(SECURE_BOOT_ENABLE)
  360. # override the default values from SecurityPkg to ensure images from all sources are verified in secure boot
  361. gEfiSecurityPkgTokenSpaceGuid.PcdOptionRomImageVerificationPolicy|0x04
  362. gEfiSecurityPkgTokenSpaceGuid.PcdFixedMediaImageVerificationPolicy|0x04
  363. gEfiSecurityPkgTokenSpaceGuid.PcdRemovableMediaImageVerificationPolicy|0x04
  364. !endif
  365. gQuarkPlatformTokenSpaceGuid.PcdEsramStage1Base|0x80000000
  366. !if $(SOURCE_DEBUG_ENABLE)
  367. gEfiSourceLevelDebugPkgTokenSpaceGuid.PcdDebugLoadImageMethod|0x2
  368. !endif
  369. gEfiMdeModulePkgTokenSpaceGuid.PcdSerialUseMmio|TRUE
  370. gEfiMdeModulePkgTokenSpaceGuid.PcdSerialRegisterBase|0x9000B000
  371. !if $(GALILEO) == GEN1
  372. gEfiMdeModulePkgTokenSpaceGuid.PcdSerialBaudRate|460800
  373. gEfiMdeModulePkgTokenSpaceGuid.PcdSerialUseHardwareFlowControl|FALSE
  374. !endif
  375. !if $(GALILEO) == GEN2
  376. gEfiMdeModulePkgTokenSpaceGuid.PcdSerialBaudRate|921600
  377. gEfiMdeModulePkgTokenSpaceGuid.PcdSerialUseHardwareFlowControl|FALSE
  378. !endif
  379. gEfiMdeModulePkgTokenSpaceGuid.PcdSerialLineControl|0x03
  380. gEfiMdeModulePkgTokenSpaceGuid.PcdSerialFifoControl|0x07
  381. gEfiMdeModulePkgTokenSpaceGuid.PcdSerialDetectCable|FALSE
  382. gEfiMdeModulePkgTokenSpaceGuid.PcdSerialClockRate|44236800
  383. gEfiMdeModulePkgTokenSpaceGuid.PcdSerialPciDeviceInfo|{0x14, 0x05, 0x84, 0x00, 0xFF}
  384. gEfiMdeModulePkgTokenSpaceGuid.PcdSerialRegisterStride|4
  385. #
  386. # typedef struct {
  387. # UINT16 VendorId; ///< Vendor ID to match the PCI device. The value 0xFFFF terminates the list of entries.
  388. # UINT16 DeviceId; ///< Device ID to match the PCI device
  389. # UINT32 ClockRate; ///< UART clock rate. Set to 0 for default clock rate of 1843200 Hz
  390. # UINT64 Offset; ///< The byte offset into to the BAR
  391. # UINT8 BarIndex; ///< Which BAR to get the UART base address
  392. # UINT8 RegisterStride; ///< UART register stride in bytes. Set to 0 for default register stride of 1 byte.
  393. # UINT16 ReceiveFifoDepth; ///< UART receive FIFO depth in bytes. Set to 0 for a default FIFO depth of 16 bytes.
  394. # UINT16 TransmitFifoDepth; ///< UART transmit FIFO depth in bytes. Set to 0 for a default FIFO depth of 16 bytes.
  395. # UINT8 Reserved[2];
  396. # } PCI_SERIAL_PARAMETER;
  397. #
  398. # Vendor 8086 Device 0936 Prog Interface 2, BAR #0, Offset 0, Stride = 4, Clock 44236800 (0x2a300000)
  399. # Vendor 8086 Device 0936 Prog Interface 2, BAR #0, Offset 0, Stride = 4, Clock 44236800 (0x2a300000)
  400. #
  401. # [Vendor] [Device] [---ClockRate---] [------------Offset-----------] [Bar] [Stride] [RxFifo] [TxFifo] [Rsvd] [Vendor]
  402. gEfiMdeModulePkgTokenSpaceGuid.PcdPciSerialParameters|{0x86,0x80, 0x36,0x09, 0x0,0x0,0xA3,0x02, 0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, 0x00, 0x04, 0x0,0x0, 0x0,0x0, 0x0,0x0, 0xff,0xff}
  403. gPcAtChipsetPkgTokenSpaceGuid.PcdAcpiIoPciBusNumber |0
  404. gPcAtChipsetPkgTokenSpaceGuid.PcdAcpiIoPciDeviceNumber |31
  405. gPcAtChipsetPkgTokenSpaceGuid.PcdAcpiIoPciFunctionNumber |0
  406. gPcAtChipsetPkgTokenSpaceGuid.PcdAcpiIoPciEnableRegisterOffset|0x4b
  407. gPcAtChipsetPkgTokenSpaceGuid.PcdAcpiIoBarEnableMask |0x80
  408. gPcAtChipsetPkgTokenSpaceGuid.PcdAcpiIoPciBarRegisterOffset |0x48
  409. gPcAtChipsetPkgTokenSpaceGuid.PcdAcpiIoPortBaseAddress |0x1000
  410. gPcAtChipsetPkgTokenSpaceGuid.PcdAcpiPm1TmrOffset |0x0008
  411. gEfiMdeModulePkgTokenSpaceGuid.PcdBootManagerMenuFile|{ 0x21, 0xaa, 0x2c, 0x46, 0x14, 0x76, 0x03, 0x45, 0x83, 0x6e, 0x8a, 0xb6, 0xf4, 0x66, 0x23, 0x31 }
  412. gEfiMdeModulePkgTokenSpaceGuid.PcdConInConnectOnDemand|FALSE
  413. !if $(RECOVERY_ENABLE)
  414. gEfiMdeModulePkgTokenSpaceGuid.PcdRecoveryFileName|L"QUARKREC.Cap"
  415. !endif
  416. #
  417. # Quark does not support LFENCE. Use CPUID as speculation barrier
  418. #
  419. gEfiMdePkgTokenSpaceGuid.PcdSpeculationBarrierType|0x02
  420. [PcdsPatchableInModule]
  421. gEfiMdePkgTokenSpaceGuid.PcdDebugPrintErrorLevel|0x803000C7
  422. gEfiMdeModulePkgTokenSpaceGuid.PcdVpdBaseAddress|0x0
  423. [PcdsDynamicExHii.common.DEFAULT]
  424. !if $(PERFORMANCE_ENABLE)
  425. gEfiMdePkgTokenSpaceGuid.PcdPlatformBootTimeOut|L"Timeout"|gEfiGlobalVariableGuid|0x0|0
  426. !else
  427. gEfiMdePkgTokenSpaceGuid.PcdPlatformBootTimeOut|L"Timeout"|gEfiGlobalVariableGuid|0x0|5
  428. !endif
  429. gQuarkPlatformTokenSpaceGuid.PcdBootState|L"BootState"|gQuarkPlatformTokenSpaceGuid|0x0|TRUE
  430. [PcdsDynamicExDefault.common.DEFAULT]
  431. gEfiMdeModulePkgTokenSpaceGuid.PcdS3BootScriptTablePrivateDataPtr|0x0
  432. gQuarkPlatformTokenSpaceGuid.PcdEnableFastBoot|TRUE
  433. gQuarkPlatformTokenSpaceGuid.PcdUserIsPhysicallyPresent|FALSE
  434. gQuarkPlatformTokenSpaceGuid.PcdSpiFlashDeviceSize|0
  435. !if $(CAPSULE_ENABLE) || $(RECOVERY_ENABLE)
  436. gEfiSignedCapsulePkgTokenSpaceGuid.PcdEdkiiSystemFirmwareImageDescriptor|{0x0}|VOID*|0x100
  437. gEfiMdeModulePkgTokenSpaceGuid.PcdSystemFmpCapsuleImageTypeIdGuid|{0xc0, 0x20, 0xaf, 0x62, 0x16, 0x70, 0x4a, 0x42, 0x9b, 0xf8, 0x9c, 0xcc, 0x86, 0x58, 0x40, 0x90}
  438. gEfiSignedCapsulePkgTokenSpaceGuid.PcdEdkiiSystemFirmwareFileGuid|{0x59, 0x3A, 0xD8, 0x14, 0x10, 0xA8, 0x56, 0x45, 0x81, 0x92, 0x1C, 0x0A, 0x59, 0x3C, 0x06, 0x5C}
  439. !endif
  440. !if $(MEASURED_BOOT_ENABLE)
  441. #
  442. # TPM1.2 { 0x8b01e5b6, 0x4f19, 0x46e8, { 0xab, 0x93, 0x1c, 0x53, 0x67, 0x1b, 0x90, 0xcc } }
  443. # TPM2.0 DTPM { 0x286bf25a, 0xc2c3, 0x408c, { 0xb3, 0xb4, 0x25, 0xe6, 0x75, 0x8b, 0x73, 0x17 } }
  444. #
  445. gEfiSecurityPkgTokenSpaceGuid.PcdTpmInstanceGuid|{0xb6, 0xe5, 0x01, 0x8b, 0x19, 0x4f, 0xe8, 0x46, 0xab, 0x93, 0x1c, 0x53, 0x67, 0x1b, 0x90, 0xcc}
  446. gEfiSecurityPkgTokenSpaceGuid.PcdTpmInitializationPolicy|1
  447. gEfiSecurityPkgTokenSpaceGuid.PcdTpmScrtmPolicy|1
  448. !endif
  449. [PcdsDynamicExVpd]
  450. gEfiMdeModulePkgTokenSpaceGuid.PcdFirmwareVendor|*|32|L"EDK II"
  451. gEfiMdeModulePkgTokenSpaceGuid.PcdFirmwareRevision|*|0x01000400
  452. gEfiMdeModulePkgTokenSpaceGuid.PcdFirmwareVersionString|*|64|L"Galileo 1.0.4"
  453. #
  454. # ClantonPeakSVP
  455. # gQuarkPlatformTokenSpaceGuid.PcdPlatformType|*|0x0002
  456. # gQuarkPlatformTokenSpaceGuid.PcdPlatformTypeName|*|64|L"ClantonPeakSVP"
  457. # gEfiQuarkNcSocIdTokenSpaceGuid.PcdMrcParameters|*|40|{0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x01, 0x01, 0x00, 0x03, 0x00, 0x00, 0x02, 0x00, 0x00, 0x01, 0x01, 0x03, 0x7c, 0x92, 0x00, 0x00, 0x10, 0x27, 0x00, 0x00, 0x10, 0x27, 0x00, 0x00, 0x40, 0x9c, 0x00, 0x00, 0x06}
  458. #
  459. # KipsBay
  460. # gQuarkPlatformTokenSpaceGuid.PcdPlatformType|*|0x0003
  461. # gQuarkPlatformTokenSpaceGuid.PcdPlatformTypeName|*|64|L"KipsBay"
  462. # gEfiQuarkNcSocIdTokenSpaceGuid.PcdMrcParameters|*|40|{0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x00, 0x03, 0x00, 0x00, 0x02, 0x00, 0x00, 0x01, 0x01, 0x01, 0x7c, 0x92, 0x00, 0x00, 0x10, 0x27, 0x00, 0x00, 0x10, 0x27, 0x00, 0x00, 0x40, 0x9c, 0x00, 0x00, 0x06}
  463. #
  464. # CrossHill
  465. # gQuarkPlatformTokenSpaceGuid.PcdPlatformType|*|0x0004
  466. # gQuarkPlatformTokenSpaceGuid.PcdPlatformTypeName|*|64|L"CrossHill"
  467. # gEfiQuarkNcSocIdTokenSpaceGuid.PcdMrcParameters|*|40|{0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x00, 0x03, 0x00, 0x00, 0x02, 0x00, 0x00, 0x01, 0x01, 0x03, 0x7c, 0x92, 0x00, 0x00, 0x10, 0x27, 0x00, 0x00, 0x10, 0x27, 0x00, 0x00, 0x40, 0x9c, 0x00, 0x00, 0x06}
  468. #
  469. # ClantonHill
  470. # gQuarkPlatformTokenSpaceGuid.PcdPlatformType|*|0x0005
  471. # gQuarkPlatformTokenSpaceGuid.PcdPlatformTypeName|*|64|L"ClantonHill"
  472. # gEfiQuarkNcSocIdTokenSpaceGuid.PcdMrcParameters|*|40|{0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x00, 0x03, 0x00, 0x00, 0x02, 0x00, 0x00, 0x01, 0x01, 0x02, 0x7c, 0x92, 0x00, 0x00, 0x10, 0x27, 0x00, 0x00, 0x10, 0x27, 0x00, 0x00, 0x40, 0x9c, 0x00, 0x00, 0x06}
  473. #
  474. # Galileo
  475. # gQuarkPlatformTokenSpaceGuid.PcdPlatformType|*|0x0006
  476. # gQuarkPlatformTokenSpaceGuid.PcdPlatformTypeName|*|64|L"Galileo"
  477. # gEfiQuarkNcSocIdTokenSpaceGuid.PcdMrcParameters|*|40|{0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x00, 0x03, 0x00, 0x00, 0x02, 0x00, 0x00, 0x01, 0x01, 0x01, 0x7c, 0x92, 0x00, 0x00, 0x10, 0x27, 0x00, 0x00, 0x10, 0x27, 0x00, 0x00, 0x40, 0x9c, 0x00, 0x00, 0x06}
  478. #
  479. # GalileoGen2
  480. # gQuarkPlatformTokenSpaceGuid.PcdPlatformType|*|0x0008
  481. # gQuarkPlatformTokenSpaceGuid.PcdPlatformTypeName|*|64|L"GalileoGen2"
  482. # gEfiQuarkNcSocIdTokenSpaceGuid.PcdMrcParameters|*|40|{0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x00, 0x03, 0x00, 0x00, 0x02, 0x00, 0x00, 0x01, 0x01, 0x01, 0x7c, 0x92, 0x00, 0x00, 0x10, 0x27, 0x00, 0x00, 0x10, 0x27, 0x00, 0x00, 0x40, 0x9c, 0x00, 0x00, 0x06}
  483. #
  484. !if $(GALILEO) == GEN1
  485. gQuarkPlatformTokenSpaceGuid.PcdPlatformType|*|0x0006
  486. gQuarkPlatformTokenSpaceGuid.PcdPlatformTypeName|*|64|L"Galileo"
  487. gEfiQuarkNcSocIdTokenSpaceGuid.PcdMrcParameters|*|40|{0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x00, 0x03, 0x00, 0x00, 0x02, 0x00, 0x00, 0x01, 0x01, 0x01, 0x7c, 0x92, 0x00, 0x00, 0x10, 0x27, 0x00, 0x00, 0x10, 0x27, 0x00, 0x00, 0x40, 0x9c, 0x00, 0x00, 0x06}
  488. !endif
  489. !if $(GALILEO) == GEN2
  490. gQuarkPlatformTokenSpaceGuid.PcdPlatformType|*|0x0008
  491. gQuarkPlatformTokenSpaceGuid.PcdPlatformTypeName|*|64|L"GalileoGen2"
  492. gEfiQuarkNcSocIdTokenSpaceGuid.PcdMrcParameters|*|40|{0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x00, 0x03, 0x00, 0x00, 0x02, 0x00, 0x00, 0x01, 0x01, 0x01, 0x7c, 0x92, 0x00, 0x00, 0x10, 0x27, 0x00, 0x00, 0x10, 0x27, 0x00, 0x00, 0x40, 0x9c, 0x00, 0x00, 0x06}
  493. !endif
  494. gEfiQuarkSCSocIdTokenSpaceGuid.PcdIohEthernetMac0|*|8|{0xff, 0xff, 0xff, 0xff, 0xff, 0xff}
  495. gEfiQuarkSCSocIdTokenSpaceGuid.PcdIohEthernetMac1|*|8|{0xff, 0xff, 0xff, 0xff, 0xff, 0xff}
  496. ###################################################################################################
  497. #
  498. # Components Section - list of the modules and components that will be processed by compilation
  499. # tools and the EDK II tools to generate PE32/PE32+/Coff image files.
  500. #
  501. # Note: The EDK II DSC file is not used to specify how compiled binary images get placed
  502. # into firmware volume images. This section is just a list of modules to compile from
  503. # source into UEFI-compliant binaries.
  504. # It is the FDF file that contains information on combining binary files into firmware
  505. # volume images, whose concept is beyond UEFI and is described in PI specification.
  506. # Binary modules do not need to be listed in this section, as they should be
  507. # specified in the FDF file. For example: Shell binary, FAT binary (Fat.efi),
  508. # Logo (Logo.bmp), and etc.
  509. # There may also be modules listed in this section that are not required in the FDF file,
  510. # When a module listed here is excluded from FDF file, then UEFI-compliant binary will be
  511. # generated for it, but the binary will not be put into any firmware volume.
  512. #
  513. ###################################################################################################
  514. [Components.IA32]
  515. #
  516. # SEC Core
  517. #
  518. UefiCpuPkg/SecCore/SecCore.inf {
  519. !if $(SOURCE_DEBUG_ENABLE)
  520. <LibraryClasses>
  521. PcdLib|MdePkg/Library/BasePcdLibNull/BasePcdLibNull.inf
  522. DebugAgentLib|SourceLevelDebugPkg/Library/DebugAgent/SecPeiDebugAgentLib.inf
  523. ResetSystemLib|QuarkSocPkg/QuarkNorthCluster/Library/ResetSystemLib/ResetSystemLib.inf
  524. !endif
  525. }
  526. !if $(CAPSULE_ENABLE) || $(RECOVERY_ENABLE)
  527. # FMP image decriptor
  528. QuarkPlatformPkg/Feature/Capsule/SystemFirmwareDescriptor/SystemFirmwareDescriptor.inf
  529. !endif
  530. #
  531. # PEI Core
  532. #
  533. MdeModulePkg/Core/Pei/PeiMain.inf
  534. #
  535. # PEIM
  536. #
  537. MdeModulePkg/Universal/PCD/Pei/Pcd.inf {
  538. <LibraryClasses>
  539. PcdLib|MdePkg/Library/BasePcdLibNull/BasePcdLibNull.inf
  540. }
  541. MdeModulePkg/Universal/ReportStatusCodeRouter/Pei/ReportStatusCodeRouterPei.inf
  542. MdeModulePkg/Universal/StatusCodeHandler/Pei/StatusCodeHandlerPei.inf {
  543. <LibraryClasses>
  544. !if $(LOGGING)
  545. DebugLib|MdePkg/Library/BaseDebugLibSerialPort/BaseDebugLibSerialPort.inf
  546. !else
  547. SerialPortLib|MdePkg/Library/BaseSerialPortLibNull/BaseSerialPortLibNull.inf
  548. !endif
  549. }
  550. MdeModulePkg/Universal/FaultTolerantWritePei/FaultTolerantWritePei.inf
  551. MdeModulePkg/Universal/Variable/Pei/VariablePei.inf
  552. MdeModulePkg/Universal/PcatSingleSegmentPciCfg2Pei/PcatSingleSegmentPciCfg2Pei.inf
  553. UefiCpuPkg/CpuMpPei/CpuMpPei.inf
  554. MdeModulePkg/Universal/CapsulePei/CapsulePei.inf
  555. QuarkSocPkg/QuarkNorthCluster/MemoryInit/Pei/MemoryInitPei.inf
  556. QuarkPlatformPkg/Platform/Pei/PlatformInit/PlatformEarlyInit.inf
  557. QuarkPlatformPkg/Platform/Pei/PlatformConfig/PlatformConfigPei.inf
  558. UefiCpuPkg/PiSmmCommunication/PiSmmCommunicationPei.inf
  559. MdeModulePkg/Core/DxeIplPeim/DxeIpl.inf
  560. #
  561. # S3
  562. #
  563. QuarkSocPkg/QuarkNorthCluster/Smm/Pei/SmmAccessPei/SmmAccessPei.inf
  564. QuarkSocPkg/QuarkNorthCluster/Smm/Pei/SmmControlPei/SmmControlPei.inf
  565. UefiCpuPkg/Universal/Acpi/S3Resume2Pei/S3Resume2Pei.inf
  566. #
  567. # Trusted Platform Module
  568. #
  569. !if $(MEASURED_BOOT_ENABLE)
  570. SecurityPkg/Tcg/Tcg2Config/Tcg2ConfigPei.inf
  571. SecurityPkg/Tcg/TcgPei/TcgPei.inf
  572. !endif
  573. #
  574. # Recovery
  575. #
  576. !if $(RECOVERY_ENABLE)
  577. QuarkSocPkg/QuarkSouthCluster/Usb/Common/Pei/UsbPei.inf
  578. MdeModulePkg/Bus/Pci/EhciPei/EhciPei.inf
  579. QuarkSocPkg/QuarkSouthCluster/Usb/Ohci/Pei/OhciPei.inf
  580. MdeModulePkg/Bus/Usb/UsbBotPei/UsbBotPei.inf
  581. MdeModulePkg/Bus/Usb/UsbBusPei/UsbBusPei.inf
  582. FatPkg/FatPei/FatPei.inf
  583. MdeModulePkg/Universal/Disk/CdExpressPei/CdExpressPei.inf
  584. SignedCapsulePkg/Universal/RecoveryModuleLoadPei/RecoveryModuleLoadPei.inf {
  585. <LibraryClasses>
  586. FmpAuthenticationLib|SecurityPkg/Library/FmpAuthenticationLibRsa2048Sha256/FmpAuthenticationLibRsa2048Sha256.inf
  587. }
  588. !endif
  589. [Components.IA32]
  590. #
  591. # DXE Core
  592. #
  593. MdeModulePkg/Core/Dxe/DxeMain.inf
  594. !if $(SOURCE_DEBUG_ENABLE)
  595. SourceLevelDebugPkg/DebugAgentDxe/DebugAgentDxe.inf {
  596. <LibraryClasses>
  597. DebugAgentLib|SourceLevelDebugPkg/Library/DebugAgent/DxeDebugAgentLib.inf
  598. ResetSystemLib|QuarkSocPkg/QuarkNorthCluster/Library/ResetSystemLib/ResetSystemLib.inf
  599. }
  600. !endif
  601. QuarkPlatformPkg/Platform/Dxe/PlatformInit/PlatformInitDxe.inf
  602. #
  603. # Components that produce the architectural protocols
  604. #
  605. MdeModulePkg/Universal/SecurityStubDxe/SecurityStubDxe.inf {
  606. <LibraryClasses>
  607. !if $(SECURE_BOOT_ENABLE)
  608. NULL|SecurityPkg/Library/DxeImageVerificationLib/DxeImageVerificationLib.inf
  609. !endif
  610. NULL|SecurityPkg/Library/DxeImageAuthenticationStatusLib/DxeImageAuthenticationStatusLib.inf
  611. }
  612. UefiCpuPkg/CpuDxe/CpuDxe.inf
  613. UefiCpuPkg/CpuS3DataDxe/CpuS3DataDxe.inf
  614. MdeModulePkg/Universal/Metronome/Metronome.inf
  615. MdeModulePkg/Universal/WatchdogTimerDxe/WatchdogTimer.inf
  616. MdeModulePkg/Core/RuntimeDxe/RuntimeDxe.inf
  617. MdeModulePkg/Universal/FaultTolerantWriteDxe/FaultTolerantWriteSmm.inf
  618. !if $(SECURE_BOOT_ENABLE)
  619. SecurityPkg/VariableAuthenticated/SecureBootConfigDxe/SecureBootConfigDxe.inf
  620. !endif
  621. MdeModulePkg/Universal/Variable/RuntimeDxe/VariableSmmRuntimeDxe.inf
  622. MdeModulePkg/Universal/Variable/RuntimeDxe/VariableSmm.inf {
  623. <LibraryClasses>
  624. NULL|MdeModulePkg/Library/VarCheckUefiLib/VarCheckUefiLib.inf
  625. NULL|MdeModulePkg/Library/VarCheckPolicyLib/VarCheckPolicyLib.inf
  626. NULL|MdeModulePkg/Library/VarCheckHiiLib/VarCheckHiiLib.inf
  627. NULL|MdeModulePkg/Library/VarCheckPcdLib/VarCheckPcdLib.inf
  628. }
  629. MdeModulePkg/Universal/CapsuleRuntimeDxe/CapsuleRuntimeDxe.inf
  630. MdeModulePkg/Universal/MonotonicCounterRuntimeDxe/MonotonicCounterRuntimeDxe.inf
  631. MdeModulePkg/Universal/ResetSystemRuntimeDxe/ResetSystemRuntimeDxe.inf
  632. PcAtChipsetPkg/PcatRealTimeClockRuntimeDxe/PcatRealTimeClockRuntimeDxe.inf
  633. #
  634. # Following are the DXE drivers (alphabetical order)
  635. #
  636. MdeModulePkg/Universal/DevicePathDxe/DevicePathDxe.inf
  637. MdeModulePkg/Universal/PCD/Dxe/Pcd.inf {
  638. <LibraryClasses>
  639. PcdLib|MdePkg/Library/BasePcdLibNull/BasePcdLibNull.inf
  640. }
  641. QuarkPlatformPkg/Pci/Dxe/PciHostBridge/PciHostBridge.inf
  642. QuarkPlatformPkg/Platform/SpiFvbServices/PlatformSpi.inf
  643. QuarkPlatformPkg/Platform/SpiFvbServices/PlatformSmmSpi.inf
  644. UefiCpuPkg/CpuIo2Dxe/CpuIo2Dxe.inf
  645. #
  646. # Platform
  647. #
  648. MdeModulePkg/Universal/BdsDxe/BdsDxe.inf {
  649. <LibraryClasses>
  650. PlatformBootManagerLib|QuarkPlatformPkg/Library/PlatformBootManagerLib/PlatformBootManagerLib.inf
  651. !if $(CAPSULE_ENABLE)
  652. FmpAuthenticationLib|SecurityPkg/Library/FmpAuthenticationLibPkcs7/FmpAuthenticationLibPkcs7.inf
  653. !else
  654. FmpAuthenticationLib|MdeModulePkg/Library/FmpAuthenticationLibNull/FmpAuthenticationLibNull.inf
  655. !endif
  656. }
  657. MdeModulePkg/Application/UiApp/UiApp.inf {
  658. <LibraryClasses>
  659. NULL|MdeModulePkg/Library/DeviceManagerUiLib/DeviceManagerUiLib.inf
  660. NULL|MdeModulePkg/Library/BootManagerUiLib/BootManagerUiLib.inf
  661. NULL|MdeModulePkg/Library/BootMaintenanceManagerUiLib/BootMaintenanceManagerUiLib.inf
  662. PcdLib|MdePkg/Library/DxePcdLib/DxePcdLib.inf
  663. }
  664. QuarkSocPkg/QuarkNorthCluster/QNCInit/Dxe/QNCInitDxe.inf
  665. PcAtChipsetPkg/HpetTimerDxe/HpetTimerDxe.inf
  666. QuarkSocPkg/QuarkNorthCluster/Smm/Dxe/SmmAccessDxe/SmmAccess.inf
  667. QuarkPlatformPkg/Platform/Dxe/Setup/DxePlatform.inf
  668. QuarkSocPkg/QuarkNorthCluster/Spi/PchSpiRuntime.inf {
  669. <LibraryClasses>
  670. PciExpressLib|MdePkg/Library/DxeRuntimePciExpressLib/DxeRuntimePciExpressLib.inf
  671. }
  672. QuarkSocPkg/QuarkNorthCluster/Spi/PchSpiSmm.inf
  673. QuarkSocPkg/QuarkNorthCluster/S3Support/Dxe/QncS3Support.inf
  674. MdeModulePkg/Universal/SectionExtractionDxe/SectionExtractionDxe.inf
  675. MdeModulePkg/Universal/MemoryTest/NullMemoryTestDxe/NullMemoryTestDxe.inf
  676. MdeModulePkg/Universal/ReportStatusCodeRouter/RuntimeDxe/ReportStatusCodeRouterRuntimeDxe.inf
  677. MdeModulePkg/Universal/StatusCodeHandler/RuntimeDxe/StatusCodeHandlerRuntimeDxe.inf {
  678. <LibraryClasses>
  679. !if $(LOGGING)
  680. DebugLib|MdePkg/Library/BaseDebugLibSerialPort/BaseDebugLibSerialPort.inf
  681. !else
  682. SerialPortLib|MdePkg/Library/BaseSerialPortLibNull/BaseSerialPortLibNull.inf
  683. !endif
  684. }
  685. MdeModulePkg/Universal/ReportStatusCodeRouter/Smm/ReportStatusCodeRouterSmm.inf
  686. MdeModulePkg/Universal/StatusCodeHandler/Smm/StatusCodeHandlerSmm.inf {
  687. <LibraryClasses>
  688. !if $(LOGGING)
  689. DebugLib|MdePkg/Library/BaseDebugLibSerialPort/BaseDebugLibSerialPort.inf
  690. !else
  691. SerialPortLib|MdePkg/Library/BaseSerialPortLibNull/BaseSerialPortLibNull.inf
  692. !endif
  693. }
  694. #
  695. # ACPI
  696. #
  697. QuarkPlatformPkg/Platform/Dxe/SaveMemoryConfig/SaveMemoryConfig.inf
  698. MdeModulePkg/Universal/Acpi/S3SaveStateDxe/S3SaveStateDxe.inf
  699. MdeModulePkg/Universal/Acpi/BootScriptExecutorDxe/BootScriptExecutorDxe.inf {
  700. <LibraryClasses>
  701. !if $(LOGGING)
  702. DebugLib|MdePkg/Library/BaseDebugLibSerialPort/BaseDebugLibSerialPort.inf
  703. !else
  704. SerialPortLib|MdePkg/Library/BaseSerialPortLibNull/BaseSerialPortLibNull.inf
  705. !endif
  706. !if $(SOURCE_DEBUG_ENABLE)
  707. DebugAgentLib|SourceLevelDebugPkg/Library/DebugAgent/DxeDebugAgentLib.inf
  708. ResetSystemLib|QuarkSocPkg/QuarkNorthCluster/Library/ResetSystemLib/ResetSystemLib.inf
  709. !endif
  710. }
  711. MdeModulePkg/Universal/Acpi/AcpiTableDxe/AcpiTableDxe.inf
  712. QuarkPlatformPkg/Acpi/AcpiTables/AcpiTables.inf
  713. QuarkPlatformPkg/Acpi/Dxe/AcpiPlatform/AcpiPlatform.inf
  714. #
  715. # SMM
  716. #
  717. MdeModulePkg/Core/PiSmmCore/PiSmmIpl.inf
  718. MdeModulePkg/Core/PiSmmCore/PiSmmCore.inf
  719. UefiCpuPkg/PiSmmCpuDxeSmm/PiSmmCpuDxeSmm.inf {
  720. <LibraryClasses>
  721. SmmCpuFeaturesLib|QuarkSocPkg/QuarkNorthCluster/Library/SmmCpuFeaturesLib/SmmCpuFeaturesLib.inf
  722. SmmCpuPlatformHookLib|UefiCpuPkg/Library/SmmCpuPlatformHookLibNull/SmmCpuPlatformHookLibNull.inf
  723. !if $(LOGGING)
  724. DebugLib|MdePkg/Library/BaseDebugLibSerialPort/BaseDebugLibSerialPort.inf
  725. !else
  726. SerialPortLib|MdePkg/Library/BaseSerialPortLibNull/BaseSerialPortLibNull.inf
  727. !endif
  728. !if $(SOURCE_DEBUG_ENABLE)
  729. DebugAgentLib|SourceLevelDebugPkg/Library/DebugAgent/SmmDebugAgentLib.inf
  730. ResetSystemLib|QuarkSocPkg/QuarkNorthCluster/Library/ResetSystemLib/ResetSystemLib.inf
  731. !endif
  732. <PcdsPatchableInModule>
  733. #
  734. # Disable DEBUG_CACHE because SMI entry/exit may change MTRRs
  735. #
  736. gEfiMdePkgTokenSpaceGuid.PcdDebugPrintErrorLevel|0x801000C7
  737. }
  738. UefiCpuPkg/CpuIo2Smm/CpuIo2Smm.inf
  739. QuarkSocPkg/QuarkNorthCluster/Smm/Dxe/SmmControlDxe/SmmControlDxe.inf
  740. QuarkSocPkg/QuarkNorthCluster/Smm/DxeSmm/QncSmmDispatcher/QNCSmmDispatcher.inf
  741. QuarkPlatformPkg/Acpi/DxeSmm/AcpiSmm/AcpiSmmPlatform.inf
  742. QuarkPlatformPkg/Acpi/DxeSmm/SmmPowerManagement/SmmPowerManagement.inf
  743. MdeModulePkg/Universal/LockBox/SmmLockBox/SmmLockBox.inf
  744. UefiCpuPkg/PiSmmCommunication/PiSmmCommunicationSmm.inf
  745. #
  746. # SMBIOS
  747. #
  748. MdeModulePkg/Universal/SmbiosDxe/SmbiosDxe.inf
  749. QuarkPlatformPkg/Platform/Dxe/SmbiosMiscDxe/SmbiosMiscDxe.inf
  750. QuarkPlatformPkg/Platform/Dxe/MemorySubClass/MemorySubClass.inf
  751. #
  752. # PCI
  753. #
  754. QuarkPlatformPkg/Pci/Dxe/PciPlatform/PciPlatform.inf
  755. MdeModulePkg/Bus/Pci/PciBusDxe/PciBusDxe.inf
  756. QuarkSocPkg/QuarkSouthCluster/IohInit/Dxe/IohInitDxe.inf
  757. MdeModulePkg/Bus/Pci/PciSioSerialDxe/PciSioSerialDxe.inf
  758. #
  759. # USB
  760. #
  761. MdeModulePkg/Bus/Pci/EhciDxe/EhciDxe.inf
  762. QuarkSocPkg/QuarkSouthCluster/Usb/Ohci/Dxe/OhciDxe.inf
  763. MdeModulePkg/Bus/Usb/UsbBusDxe/UsbBusDxe.inf
  764. MdeModulePkg/Bus/Usb/UsbKbDxe/UsbKbDxe.inf
  765. MdeModulePkg/Bus/Usb/UsbMouseDxe/UsbMouseDxe.inf
  766. MdeModulePkg/Bus/Usb/UsbMassStorageDxe/UsbMassStorageDxe.inf
  767. #
  768. # SDIO
  769. #
  770. QuarkSocPkg/QuarkSouthCluster/Sdio/Dxe/SDControllerDxe/SDControllerDxe.inf {
  771. <PcdsPatchableInModule>
  772. gEfiMdePkgTokenSpaceGuid.PcdDebugPrintErrorLevel|0x80300087
  773. }
  774. QuarkSocPkg/QuarkSouthCluster/Sdio/Dxe/SDMediaDeviceDxe/SDMediaDeviceDxe.inf {
  775. <PcdsPatchableInModule>
  776. gEfiMdePkgTokenSpaceGuid.PcdDebugPrintErrorLevel|0x80300087
  777. }
  778. #
  779. # Console
  780. #
  781. MdeModulePkg/Universal/Console/ConPlatformDxe/ConPlatformDxe.inf
  782. MdeModulePkg/Universal/Console/ConSplitterDxe/ConSplitterDxe.inf {
  783. <LibraryClasses>
  784. PcdLib|MdePkg/Library/DxePcdLib/DxePcdLib.inf
  785. }
  786. MdeModulePkg/Universal/Console/TerminalDxe/TerminalDxe.inf
  787. MdeModulePkg/Universal/HiiDatabaseDxe/HiiDatabaseDxe.inf
  788. MdeModulePkg/Universal/DisplayEngineDxe/DisplayEngineDxe.inf {
  789. <LibraryClasses>
  790. CustomizedDisplayLib|MdeModulePkg/Library/CustomizedDisplayLib/CustomizedDisplayLib.inf
  791. }
  792. MdeModulePkg/Universal/SetupBrowserDxe/SetupBrowserDxe.inf
  793. MdeModulePkg/Universal/Disk/UnicodeCollation/EnglishDxe/EnglishDxe.inf
  794. #
  795. # File System Modules
  796. #
  797. MdeModulePkg/Universal/Disk/DiskIoDxe/DiskIoDxe.inf
  798. MdeModulePkg/Universal/Disk/PartitionDxe/PartitionDxe.inf
  799. FatPkg/EnhancedFatDxe/Fat.inf
  800. #
  801. # Trusted Platform Module
  802. #
  803. !if $(MEASURED_BOOT_ENABLE)
  804. SecurityPkg/Tcg/MemoryOverwriteControl/TcgMor.inf
  805. SecurityPkg/Tcg/TcgDxe/TcgDxe.inf
  806. SecurityPkg/Tcg/TcgSmm/TcgSmm.inf
  807. !endif
  808. #
  809. # Performance Application
  810. #
  811. !if $(PERFORMANCE_ENABLE)
  812. ShellPkg/DynamicCommand/DpDynamicCommand/DpDynamicCommand.inf {
  813. <PcdsFixedAtBuild>
  814. gEfiShellPkgTokenSpaceGuid.PcdShellLibAutoInitialize|FALSE
  815. }
  816. !endif
  817. #
  818. # Force Recovery Application
  819. #
  820. QuarkPlatformPkg/Application/ForceRecovery/ForceRecovery.inf
  821. ShellPkg/Application/Shell/Shell.inf {
  822. <LibraryClasses>
  823. ShellCommandLib|ShellPkg/Library/UefiShellCommandLib/UefiShellCommandLib.inf
  824. NULL|ShellPkg/Library/UefiShellLevel2CommandsLib/UefiShellLevel2CommandsLib.inf
  825. NULL|ShellPkg/Library/UefiShellLevel1CommandsLib/UefiShellLevel1CommandsLib.inf
  826. NULL|ShellPkg/Library/UefiShellLevel3CommandsLib/UefiShellLevel3CommandsLib.inf
  827. NULL|ShellPkg/Library/UefiShellDriver1CommandsLib/UefiShellDriver1CommandsLib.inf
  828. NULL|ShellPkg/Library/UefiShellDebug1CommandsLib/UefiShellDebug1CommandsLib.inf
  829. NULL|ShellPkg/Library/UefiShellInstall1CommandsLib/UefiShellInstall1CommandsLib.inf
  830. NULL|ShellPkg/Library/UefiShellNetwork1CommandsLib/UefiShellNetwork1CommandsLib.inf
  831. HandleParsingLib|ShellPkg/Library/UefiHandleParsingLib/UefiHandleParsingLib.inf
  832. OrderedCollectionLib|MdePkg/Library/BaseOrderedCollectionRedBlackTreeLib/BaseOrderedCollectionRedBlackTreeLib.inf
  833. PrintLib|MdePkg/Library/BasePrintLib/BasePrintLib.inf
  834. BcfgCommandLib|ShellPkg/Library/UefiShellBcfgCommandLib/UefiShellBcfgCommandLib.inf
  835. <PcdsFixedAtBuild>
  836. gEfiMdePkgTokenSpaceGuid.PcdDebugPropertyMask|0xFF
  837. gEfiShellPkgTokenSpaceGuid.PcdShellLibAutoInitialize|FALSE
  838. gEfiMdePkgTokenSpaceGuid.PcdUefiLibMaxPrintBufferSize|8000
  839. }
  840. !if $(CAPSULE_ENABLE)
  841. MdeModulePkg/Universal/EsrtFmpDxe/EsrtFmpDxe.inf
  842. SignedCapsulePkg/Universal/SystemFirmwareUpdate/SystemFirmwareReportDxe.inf {
  843. <LibraryClasses>
  844. FmpAuthenticationLib|SecurityPkg/Library/FmpAuthenticationLibPkcs7/FmpAuthenticationLibPkcs7.inf
  845. }
  846. SignedCapsulePkg/Universal/SystemFirmwareUpdate/SystemFirmwareUpdateDxe.inf {
  847. <LibraryClasses>
  848. FmpAuthenticationLib|SecurityPkg/Library/FmpAuthenticationLibPkcs7/FmpAuthenticationLibPkcs7.inf
  849. }
  850. MdeModulePkg/Application/CapsuleApp/CapsuleApp.inf {
  851. <LibraryClasses>
  852. PcdLib|MdePkg/Library/DxePcdLib/DxePcdLib.inf
  853. }
  854. !endif
  855. [BuildOptions.common.EDKII.DXE_RUNTIME_DRIVER]
  856. MSFT:*_*_*_DLINK_FLAGS = /ALIGN:4096
  857. # Force PE/COFF sections to be aligned at 4KB boundaries to support page level protection of DXE_SMM_DRIVER/SMM_CORE modules
  858. [BuildOptions.common.EDKII.DXE_SMM_DRIVER, BuildOptions.common.EDKII.SMM_CORE]
  859. MSFT:*_*_*_DLINK_FLAGS = /ALIGN:4096
  860. GCC:*_*_*_DLINK_FLAGS = -z common-page-size=0x1000