CorebootPayloadPkg: Use SerialDxe in MdeModulePkg
[mirror_edk2.git] / CorebootPayloadPkg / CorebootPayloadPkgIa32.dsc
1 ## @file
2 # Coreboot Payload Package
3 #
4 # Provides drivers and definitions to create uefi payload for coreboot.
5 #
6 # Copyright (c) 2014 - 2015, Intel Corporation. All rights reserved.<BR>
7 # This program and the accompanying materials are licensed and made available under
8 # the terms and conditions of the BSD License that accompanies this distribution.
9 # The full text of the license may be found at
10 # http://opensource.org/licenses/bsd-license.php.
11 #
12 # THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
13 # WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
14 #
15 ##
16
17 ################################################################################
18 #
19 # Defines Section - statements that will be processed to create a Makefile.
20 #
21 ################################################################################
22 [Defines]
23 PLATFORM_NAME = CorebootPayloadPkg
24 PLATFORM_GUID = F71608AB-D63D-4491-B744-A99998C8CD96
25 PLATFORM_VERSION = 0.1
26 DSC_SPECIFICATION = 0x00010005
27 SUPPORTED_ARCHITECTURES = IA32
28 BUILD_TARGETS = DEBUG|RELEASE|NOOPT
29 SKUID_IDENTIFIER = DEFAULT
30 OUTPUT_DIRECTORY = Build/CorebootPayloadPkgIA32
31 FLASH_DEFINITION = CorebootPayloadPkg/CorebootPayloadPkg.fdf
32
33 DEFINE SECURE_BOOT_ENABLE = FALSE
34 DEFINE SOURCE_DEBUG_ENABLE = FALSE
35
36 [BuildOptions]
37 GCC:*_UNIXGCC_*_CC_FLAGS = -DMDEPKG_NDEBUG
38 GCC:RELEASE_*_*_CC_FLAGS = -DMDEPKG_NDEBUG
39 INTEL:RELEASE_*_*_CC_FLAGS = /D MDEPKG_NDEBUG
40 MSFT:RELEASE_*_*_CC_FLAGS = /D MDEPKG_NDEBUG
41
42 ################################################################################
43 #
44 # SKU Identification section - list of all SKU IDs supported by this Platform.
45 #
46 ################################################################################
47 [SkuIds]
48 0|DEFAULT
49
50 ################################################################################
51 #
52 # Library Class section - list of all Library Classes needed by this Platform.
53 #
54 ################################################################################
55 [LibraryClasses]
56 #
57 # Entry point
58 #
59 PeiCoreEntryPoint|MdePkg/Library/PeiCoreEntryPoint/PeiCoreEntryPoint.inf
60 PeimEntryPoint|MdePkg/Library/PeimEntryPoint/PeimEntryPoint.inf
61 DxeCoreEntryPoint|MdePkg/Library/DxeCoreEntryPoint/DxeCoreEntryPoint.inf
62 UefiDriverEntryPoint|MdePkg/Library/UefiDriverEntryPoint/UefiDriverEntryPoint.inf
63 UefiApplicationEntryPoint|MdePkg/Library/UefiApplicationEntryPoint/UefiApplicationEntryPoint.inf
64
65 #
66 # Basic
67 #
68 BaseLib|MdePkg/Library/BaseLib/BaseLib.inf
69 BaseMemoryLib|MdePkg/Library/BaseMemoryLibRepStr/BaseMemoryLibRepStr.inf
70 SynchronizationLib|MdePkg/Library/BaseSynchronizationLib/BaseSynchronizationLib.inf
71 PrintLib|MdePkg/Library/BasePrintLib/BasePrintLib.inf
72 CpuLib|MdePkg/Library/BaseCpuLib/BaseCpuLib.inf
73 IoLib|MdePkg/Library/BaseIoLibIntrinsic/BaseIoLibIntrinsic.inf
74 PciLib|MdePkg/Library/BasePciLibCf8/BasePciLibCf8.inf
75 PciCf8Lib|MdePkg/Library/BasePciCf8Lib/BasePciCf8Lib.inf
76 PeCoffLib|MdePkg/Library/BasePeCoffLib/BasePeCoffLib.inf
77 PeCoffGetEntryPointLib|MdePkg/Library/BasePeCoffGetEntryPointLib/BasePeCoffGetEntryPointLib.inf
78 CacheMaintenanceLib|MdePkg/Library/BaseCacheMaintenanceLib/BaseCacheMaintenanceLib.inf
79
80 #
81 # UEFI & PI
82 #
83 UefiBootServicesTableLib|MdePkg/Library/UefiBootServicesTableLib/UefiBootServicesTableLib.inf
84 UefiRuntimeServicesTableLib|MdePkg/Library/UefiRuntimeServicesTableLib/UefiRuntimeServicesTableLib.inf
85 UefiRuntimeLib|MdePkg/Library/UefiRuntimeLib/UefiRuntimeLib.inf
86 UefiLib|MdePkg/Library/UefiLib/UefiLib.inf
87 UefiHiiServicesLib|MdeModulePkg/Library/UefiHiiServicesLib/UefiHiiServicesLib.inf
88 HiiLib|MdeModulePkg/Library/UefiHiiLib/UefiHiiLib.inf
89 DevicePathLib|MdePkg/Library/UefiDevicePathLib/UefiDevicePathLib.inf
90 UefiDecompressLib|MdePkg/Library/BaseUefiDecompressLib/BaseUefiDecompressLib.inf
91 PeiServicesTablePointerLib|MdePkg/Library/PeiServicesTablePointerLibIdt/PeiServicesTablePointerLibIdt.inf
92 PeiServicesLib|MdePkg/Library/PeiServicesLib/PeiServicesLib.inf
93 DxeServicesLib|MdePkg/Library/DxeServicesLib/DxeServicesLib.inf
94 DxeServicesTableLib|MdePkg/Library/DxeServicesTableLib/DxeServicesTableLib.inf
95 UefiCpuLib|UefiCpuPkg/Library/BaseUefiCpuLib/BaseUefiCpuLib.inf
96
97 #
98 # Generic Modules
99 #
100 UefiUsbLib|MdePkg/Library/UefiUsbLib/UefiUsbLib.inf
101 UefiScsiLib|MdePkg/Library/UefiScsiLib/UefiScsiLib.inf
102 OemHookStatusCodeLib|MdeModulePkg/Library/OemHookStatusCodeLibNull/OemHookStatusCodeLibNull.inf
103 CapsuleLib|MdeModulePkg/Library/DxeCapsuleLibNull/DxeCapsuleLibNull.inf
104 SecurityManagementLib|MdeModulePkg/Library/DxeSecurityManagementLib/DxeSecurityManagementLib.inf
105 GenericBdsLib|IntelFrameworkModulePkg/Library/GenericBdsLib/GenericBdsLib.inf
106 CustomizedDisplayLib|MdeModulePkg/Library/CustomizedDisplayLib/CustomizedDisplayLib.inf
107
108 #
109 # CPU
110 #
111 MtrrLib|UefiCpuPkg/Library/MtrrLib/MtrrLib.inf
112 LocalApicLib|UefiCpuPkg/Library/BaseXApicLib/BaseXApicLib.inf
113
114 #
115 # Platform
116 #
117 TimerLib|CorebootPayloadPkg/Library/AcpiTimerLib/AcpiTimerLib.inf
118 ResetSystemLib|CorebootPayloadPkg/Library/ResetSystemLib/ResetSystemLib.inf
119 SerialPortLib|MdeModulePkg/Library/BaseSerialPortLib16550/BaseSerialPortLib16550.inf
120 PlatformHookLib|CorebootPayloadPkg/Library/PlatformHookLib/PlatformHookLib.inf
121 PlatformBdsLib|CorebootPayloadPkg/Library/PlatformBdsLib/PlatformBdsLib.inf
122
123 #
124 # Misc
125 #
126 DebugPrintErrorLevelLib|MdePkg/Library/BaseDebugPrintErrorLevelLib/BaseDebugPrintErrorLevelLib.inf
127 PerformanceLib|MdePkg/Library/BasePerformanceLibNull/BasePerformanceLibNull.inf
128 PcdLib|MdePkg/Library/BasePcdLibNull/BasePcdLibNull.inf
129 !if $(SOURCE_DEBUG_ENABLE) == TRUE
130 PeCoffExtraActionLib|SourceLevelDebugPkg/Library/PeCoffExtraActionLibDebug/PeCoffExtraActionLibDebug.inf
131 DebugCommunicationLib|SourceLevelDebugPkg/Library/DebugCommunicationLibSerialPort/DebugCommunicationLibSerialPort.inf
132 !else
133 PeCoffExtraActionLib|MdePkg/Library/BasePeCoffExtraActionLibNull/BasePeCoffExtraActionLibNull.inf
134 DebugAgentLib|MdeModulePkg/Library/DebugAgentLibNull/DebugAgentLibNull.inf
135 !endif
136 CbParseLib|CorebootModulePkg/Library/CbParseLib/CbParseLib.inf
137 DebugLib|IntelFrameworkModulePkg/Library/PeiDxeDebugLibReportStatusCode/PeiDxeDebugLibReportStatusCode.inf
138
139 [LibraryClasses.IA32.SEC]
140 DebugLib|MdePkg/Library/BaseDebugLibNull/BaseDebugLibNull.inf
141 PcdLib|MdePkg/Library/BasePcdLibNull/BasePcdLibNull.inf
142 HobLib|MdePkg/Library/PeiHobLib/PeiHobLib.inf
143 MemoryAllocationLib|MdePkg/Library/PeiMemoryAllocationLib/PeiMemoryAllocationLib.inf
144 DebugAgentLib|MdeModulePkg/Library/DebugAgentLibNull/DebugAgentLibNull.inf
145 ReportStatusCodeLib|MdePkg/Library/BaseReportStatusCodeLibNull/BaseReportStatusCodeLibNull.inf
146
147 [LibraryClasses.IA32.PEI_CORE, LibraryClasses.IA32.PEIM]
148 PcdLib|MdePkg/Library/PeiPcdLib/PeiPcdLib.inf
149 HobLib|MdePkg/Library/PeiHobLib/PeiHobLib.inf
150 MemoryAllocationLib|MdePkg/Library/PeiMemoryAllocationLib/PeiMemoryAllocationLib.inf
151 ReportStatusCodeLib|MdeModulePkg/Library/PeiReportStatusCodeLib/PeiReportStatusCodeLib.inf
152 ExtractGuidedSectionLib|MdePkg/Library/PeiExtractGuidedSectionLib/PeiExtractGuidedSectionLib.inf
153 !if $(SOURCE_DEBUG_ENABLE)
154 DebugAgentLib|SourceLevelDebugPkg/Library/DebugAgent/SecPeiDebugAgentLib.inf
155 !endif
156
157 [LibraryClasses.common.DXE_CORE]
158 PcdLib|MdePkg/Library/BasePcdLibNull/BasePcdLibNull.inf
159 HobLib|MdePkg/Library/DxeCoreHobLib/DxeCoreHobLib.inf
160 MemoryAllocationLib|MdeModulePkg/Library/DxeCoreMemoryAllocationLib/DxeCoreMemoryAllocationLib.inf
161 ExtractGuidedSectionLib|MdePkg/Library/DxeExtractGuidedSectionLib/DxeExtractGuidedSectionLib.inf
162 ReportStatusCodeLib|MdeModulePkg/Library/DxeReportStatusCodeLib/DxeReportStatusCodeLib.inf
163 !if $(SOURCE_DEBUG_ENABLE)
164 DebugAgentLib|SourceLevelDebugPkg/Library/DebugAgent/DxeDebugAgentLib.inf
165 !endif
166 CpuExceptionHandlerLib|UefiCpuPkg/Library/CpuExceptionHandlerLib/DxeCpuExceptionHandlerLib.inf
167
168 [LibraryClasses.common.DXE_DRIVER]
169 PcdLib|MdePkg/Library/DxePcdLib/DxePcdLib.inf
170 HobLib|MdePkg/Library/DxeHobLib/DxeHobLib.inf
171 MemoryAllocationLib|MdePkg/Library/UefiMemoryAllocationLib/UefiMemoryAllocationLib.inf
172 ExtractGuidedSectionLib|MdePkg/Library/DxeExtractGuidedSectionLib/DxeExtractGuidedSectionLib.inf
173 ReportStatusCodeLib|MdeModulePkg/Library/DxeReportStatusCodeLib/DxeReportStatusCodeLib.inf
174 CpuExceptionHandlerLib|UefiCpuPkg/Library/CpuExceptionHandlerLib/DxeCpuExceptionHandlerLib.inf
175
176 [LibraryClasses.common.DXE_RUNTIME_DRIVER]
177 PcdLib|MdePkg/Library/DxePcdLib/DxePcdLib.inf
178 HobLib|MdePkg/Library/DxeHobLib/DxeHobLib.inf
179 MemoryAllocationLib|MdePkg/Library/UefiMemoryAllocationLib/UefiMemoryAllocationLib.inf
180 ReportStatusCodeLib|MdeModulePkg/Library/RuntimeDxeReportStatusCodeLib/RuntimeDxeReportStatusCodeLib.inf
181
182 [LibraryClasses.common.UEFI_DRIVER,LibraryClasses.common.UEFI_APPLICATION]
183 PcdLib|MdePkg/Library/BasePcdLibNull/BasePcdLibNull.inf
184 MemoryAllocationLib|MdePkg/Library/UefiMemoryAllocationLib/UefiMemoryAllocationLib.inf
185 ReportStatusCodeLib|MdeModulePkg/Library/DxeReportStatusCodeLib/DxeReportStatusCodeLib.inf
186 HobLib|MdePkg/Library/DxeHobLib/DxeHobLib.inf
187
188 ################################################################################
189 #
190 # Pcd Section - list of all EDK II PCD Entries defined by this Platform.
191 #
192 ################################################################################
193 [PcdsFeatureFlag]
194 gEfiMdeModulePkgTokenSpaceGuid.PcdStatusCodeUseSerial|TRUE
195 gEfiMdeModulePkgTokenSpaceGuid.PcdStatusCodeUseMemory|FALSE
196 gEfiMdeModulePkgTokenSpaceGuid.PcdDxeIplSwitchToLongMode|FALSE
197 gEfiMdeModulePkgTokenSpaceGuid.PcdConOutGopSupport|TRUE
198 gEfiMdeModulePkgTokenSpaceGuid.PcdConOutUgaSupport|FALSE
199
200 [PcdsFixedAtBuild]
201 gEfiMdePkgTokenSpaceGuid.PcdReportStatusCodePropertyMask|0x7
202 gEfiMdePkgTokenSpaceGuid.PcdDebugPrintErrorLevel|0x8000004F
203 !if $(SOURCE_DEBUG_ENABLE)
204 gEfiMdePkgTokenSpaceGuid.PcdDebugPropertyMask|0x17
205 !else
206 gEfiMdePkgTokenSpaceGuid.PcdDebugPropertyMask|0x2F
207 !endif
208 gEfiMdeModulePkgTokenSpaceGuid.PcdMaxVariableSize|0x10000
209 gEfiMdeModulePkgTokenSpaceGuid.PcdMaxHardwareErrorVariableSize|0x8000
210 gEfiMdeModulePkgTokenSpaceGuid.PcdVariableStoreSize|0x10000
211
212 gEfiMdeModulePkgTokenSpaceGuid.PcdVpdBaseAddress|0x0
213
214 !if $(SOURCE_DEBUG_ENABLE)
215 gEfiSourceLevelDebugPkgTokenSpaceGuid.PcdDebugLoadImageMethod|0x2
216 !endif
217
218 [PcdsPatchableInModule.common]
219 gEfiMdeModulePkgTokenSpaceGuid.PcdSerialUseMmio|FALSE
220 gEfiMdeModulePkgTokenSpaceGuid.PcdSerialRegisterBase|0x03F8
221
222 ################################################################################
223 #
224 # Pcd Dynamic Section - list of all EDK II PCD Entries defined by this Platform
225 #
226 ################################################################################
227
228 [PcdsDynamicDefault]
229 gEfiMdeModulePkgTokenSpaceGuid.PcdEmuVariableNvStoreReserved|0
230 gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageVariableBase64|0
231 gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageFtwWorkingBase|0
232 gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageFtwSpareBase|0
233
234
235 ################################################################################
236 #
237 # Components Section - list of all EDK II Modules needed by this Platform.
238 #
239 ################################################################################
240 [Components.IA32]
241 #
242 # SEC Core
243 #
244 CorebootModulePkg/SecCore/SecCore.inf
245
246 #
247 # PEI Core
248 #
249 MdeModulePkg/Core/Pei/PeiMain.inf
250
251 #
252 # PEIM
253 #
254 MdeModulePkg/Universal/PCD/Pei/Pcd.inf {
255 <LibraryClasses>
256 PcdLib|MdePkg/Library/BasePcdLibNull/BasePcdLibNull.inf
257 }
258 IntelFrameworkModulePkg/Universal/StatusCode/Pei/StatusCodePei.inf
259
260 CorebootModulePkg/CbSupportPei/CbSupportPei.inf
261 MdeModulePkg/Core/DxeIplPeim/DxeIpl.inf
262
263 [Components.IA32]
264 #
265 # DXE Core
266 #
267 MdeModulePkg/Core/Dxe/DxeMain.inf {
268 <LibraryClasses>
269 NULL|IntelFrameworkModulePkg/Library/LzmaCustomDecompressLib/LzmaCustomDecompressLib.inf
270 }
271
272 #
273 # Components that produce the architectural protocols
274 #
275 MdeModulePkg/Universal/SecurityStubDxe/SecurityStubDxe.inf
276 UefiCpuPkg/CpuDxe/CpuDxe.inf
277 IntelFrameworkModulePkg/Universal/BdsDxe/BdsDxe.inf
278 PcAtChipsetPkg/8254TimerDxe/8254Timer.inf
279 MdeModulePkg/Universal/Metronome/Metronome.inf
280 MdeModulePkg/Universal/WatchdogTimerDxe/WatchdogTimer.inf
281 MdeModulePkg/Core/RuntimeDxe/RuntimeDxe.inf
282 MdeModulePkg/Universal/CapsuleRuntimeDxe/CapsuleRuntimeDxe.inf
283 MdeModulePkg/Universal/MonotonicCounterRuntimeDxe/MonotonicCounterRuntimeDxe.inf
284 MdeModulePkg/Universal/ResetSystemRuntimeDxe/ResetSystemRuntimeDxe.inf
285 PcAtChipsetPkg/PcatRealTimeClockRuntimeDxe/PcatRealTimeClockRuntimeDxe.inf
286 MdeModulePkg/Universal/Variable/EmuRuntimeDxe/EmuVariableRuntimeDxe.inf
287
288 #
289 # Following are the DXE drivers
290 #
291 MdeModulePkg/Universal/PCD/Dxe/Pcd.inf {
292 <LibraryClasses>
293 PcdLib|MdePkg/Library/BasePcdLibNull/BasePcdLibNull.inf
294 }
295
296 IntelFrameworkModulePkg/Universal/StatusCode/RuntimeDxe/StatusCodeRuntimeDxe.inf
297 UefiCpuPkg/CpuIo2Dxe/CpuIo2Dxe.inf
298 MdeModulePkg/Universal/DevicePathDxe/DevicePathDxe.inf
299 MdeModulePkg/Universal/MemoryTest/NullMemoryTestDxe/NullMemoryTestDxe.inf
300 PcAtChipsetPkg/8259InterruptControllerDxe/8259.inf
301 MdeModulePkg/Universal/HiiDatabaseDxe/HiiDatabaseDxe.inf
302 MdeModulePkg/Universal/SetupBrowserDxe/SetupBrowserDxe.inf
303 MdeModulePkg/Universal/DisplayEngineDxe/DisplayEngineDxe.inf
304
305 CorebootModulePkg/CbSupportDxe/CbSupportDxe.inf
306
307 #
308 # SMBIOS Support
309 #
310 MdeModulePkg/Universal/SmbiosDxe/SmbiosDxe.inf
311
312 #
313 # ACPI Support
314 #
315 MdeModulePkg/Universal/Acpi/AcpiTableDxe/AcpiTableDxe.inf
316
317 #
318 # PCI Support
319 #
320 DuetPkg/PciRootBridgeNoEnumerationDxe/PciRootBridgeNoEnumeration.inf
321 DuetPkg/PciBusNoEnumerationDxe/PciBusNoEnumeration.inf
322
323 #
324 # SCSI/ATA/IDE/DISK Support
325 #
326 MdeModulePkg/Universal/Disk/DiskIoDxe/DiskIoDxe.inf
327 MdeModulePkg/Universal/Disk/PartitionDxe/PartitionDxe.inf
328 MdeModulePkg/Universal/Disk/UnicodeCollation/EnglishDxe/EnglishDxe.inf
329 DuetPkg/SataControllerDxe/SataControllerDxe.inf
330 MdeModulePkg/Bus/Ata/AtaBusDxe/AtaBusDxe.inf
331 MdeModulePkg/Bus/Ata/AtaAtapiPassThru/AtaAtapiPassThru.inf
332 MdeModulePkg/Bus/Scsi/ScsiBusDxe/ScsiBusDxe.inf
333 MdeModulePkg/Bus/Scsi/ScsiDiskDxe/ScsiDiskDxe.inf
334
335 #
336 # Usb Support
337 #
338 MdeModulePkg/Bus/Pci/UhciDxe/UhciDxe.inf
339 MdeModulePkg/Bus/Pci/EhciDxe/EhciDxe.inf
340 MdeModulePkg/Bus/Pci/XhciDxe/XhciDxe.inf
341 MdeModulePkg/Bus/Usb/UsbBusDxe/UsbBusDxe.inf
342 MdeModulePkg/Bus/Usb/UsbKbDxe/UsbKbDxe.inf
343 MdeModulePkg/Bus/Usb/UsbMassStorageDxe/UsbMassStorageDxe.inf
344
345 #
346 # ISA Support
347 #
348 MdeModulePkg/Universal/SerialDxe/SerialDxe.inf
349
350 #
351 # Console Support
352 #
353 MdeModulePkg/Universal/Console/ConPlatformDxe/ConPlatformDxe.inf
354 MdeModulePkg/Universal/Console/ConSplitterDxe/ConSplitterDxe.inf
355 MdeModulePkg/Universal/Console/GraphicsConsoleDxe/GraphicsConsoleDxe.inf
356 MdeModulePkg/Universal/Console/TerminalDxe/TerminalDxe.inf
357
358
359 #
360 # Framebuffer Gop
361 #
362 CorebootPayloadPkg/FbGop/FbGop.inf
363
364
365