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