Quark.dsc 43 KB

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