Quark.dsc 43 KB

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