]> git.proxmox.com Git - mirror_edk2.git/blob - QuarkSocPkg/QuarkSocPkg.dsc
UefiCpuPkg/PiSmmCpuDxeSmm: patch "gSmbase" with PatchInstructionX86()
[mirror_edk2.git] / QuarkSocPkg / QuarkSocPkg.dsc
1 ## @file
2 # INTEL Quark SoC Module Package Reference Implementations
3 #
4 # This DSC file is used for Package Level build.
5 #
6 # This Module provides FRAMEWORK reference implementation for INTEL Quark SoC.
7 # Copyright (c) 2013-2016 Intel Corporation.
8 #
9 # This program and the accompanying materials
10 # are licensed and made available under the terms and conditions of the BSD License
11 # which accompanies this distribution. The full text of the license may be found at
12 # http://opensource.org/licenses/bsd-license.php
13 #
14 # THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
15 # WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
16 #
17 ##
18
19 ################################################################################
20 #
21 # Defines Section - statements that will be processed to create a Makefile.
22 #
23 ################################################################################
24 [Defines]
25 PLATFORM_NAME = QuarkSocPkg
26 PLATFORM_GUID = 5F9864F4-EAFB-4ded-A41A-CA501EE50502
27 PLATFORM_VERSION = 0.1
28 DSC_SPECIFICATION = 0x00010005
29 OUTPUT_DIRECTORY = Build/QuarkSocPkg
30 SUPPORTED_ARCHITECTURES = IA32
31 BUILD_TARGETS = DEBUG|RELEASE
32 SKUID_IDENTIFIER = DEFAULT
33
34 ################################################################################
35 #
36 # SKU Identification section - list of all SKU IDs supported by this
37 # Platform.
38 #
39 ################################################################################
40 [SkuIds]
41 0|DEFAULT # The entry: 0|DEFAULT is reserved and always required.
42
43 ################################################################################
44 #
45 # Library Class section - list of all Library Classes needed by this Platform.
46 #
47 ################################################################################
48 [LibraryClasses]
49 #
50 # Entry point
51 #
52 PeimEntryPoint|MdePkg/Library/PeimEntryPoint/PeimEntryPoint.inf
53 UefiDriverEntryPoint|MdePkg/Library/UefiDriverEntryPoint/UefiDriverEntryPoint.inf
54 #
55 # Basic
56 #
57 BaseLib|MdePkg/Library/BaseLib/BaseLib.inf
58 BaseMemoryLib|MdePkg/Library/BaseMemoryLibRepStr/BaseMemoryLibRepStr.inf
59 PrintLib|MdePkg/Library/BasePrintLib/BasePrintLib.inf
60 CpuLib|MdePkg/Library/BaseCpuLib/BaseCpuLib.inf
61 IoLib|MdePkg/Library/BaseIoLibIntrinsic/BaseIoLibIntrinsic.inf
62 PciLib|MdePkg/Library/BasePciLibCf8/BasePciLibCf8.inf
63 PciSegmentLib|MdePkg/Library/BasePciSegmentLibPci/BasePciSegmentLibPci.inf
64 PciCf8Lib|MdePkg/Library/BasePciCf8Lib/BasePciCf8Lib.inf
65 PciExpressLib|MdePkg/Library/BasePciExpressLib/BasePciExpressLib.inf
66 CacheMaintenanceLib|MdePkg/Library/BaseCacheMaintenanceLib/BaseCacheMaintenanceLib.inf
67 PeCoffLib|MdePkg/Library/BasePeCoffLib/BasePeCoffLib.inf
68 !if $(CFG_SOURCE_DEBUG) == 1
69 PeCoffExtraActionLib|SourceLevelDebugPkg/Library/PeCoffExtraActionLibDebug/PeCoffExtraActionLibDebug.inf
70 !else
71 PeCoffExtraActionLib|MdePkg/Library/BasePeCoffExtraActionLibNull/BasePeCoffExtraActionLibNull.inf
72 !endif
73 #
74 # UEFI & PI
75 #
76 UefiBootServicesTableLib|MdePkg/Library/UefiBootServicesTableLib/UefiBootServicesTableLib.inf
77 UefiRuntimeServicesTableLib|MdePkg/Library/UefiRuntimeServicesTableLib/UefiRuntimeServicesTableLib.inf
78 UefiRuntimeLib|MdePkg/Library/UefiRuntimeLib/UefiRuntimeLib.inf
79 UefiLib|MdePkg/Library/UefiLib/UefiLib.inf
80 DevicePathLib|MdePkg/Library/UefiDevicePathLib/UefiDevicePathLib.inf
81 PeiServicesTablePointerLib|MdePkg/Library/PeiServicesTablePointerLibIdt/PeiServicesTablePointerLibIdt.inf
82 PeiServicesLib|MdePkg/Library/PeiServicesLib/PeiServicesLib.inf
83 DxeServicesLib|MdePkg/Library/DxeServicesLib/DxeServicesLib.inf
84 DxeServicesTableLib|MdePkg/Library/DxeServicesTableLib/DxeServicesTableLib.inf
85 UefiCpuLib|UefiCpuPkg/Library/BaseUefiCpuLib/BaseUefiCpuLib.inf
86 #
87 # Framework
88 #
89 S3BootScriptLib|MdeModulePkg/Library/PiDxeS3BootScriptLib/DxeS3BootScriptLib.inf
90 S3IoLib|MdePkg/Library/BaseS3IoLib/BaseS3IoLib.inf
91 S3PciLib|MdePkg/Library/BaseS3PciLib/BaseS3PciLib.inf
92 #
93 # Generic Modules
94 #
95 OemHookStatusCodeLib|MdeModulePkg/Library/OemHookStatusCodeLibNull/OemHookStatusCodeLibNull.inf
96
97 #
98 # CPU
99 #
100 MtrrLib|QuarkSocPkg/QuarkNorthCluster/Library/MtrrLib/MtrrLib.inf
101 #
102 # Quark North Cluster
103 #
104 SmmLib|QuarkSocPkg/QuarkNorthCluster/Library/QNCSmmLib/QNCSmmLib.inf
105 SmbusLib|QuarkSocPkg/QuarkNorthCluster/Library/SmbusLib/SmbusLib.inf
106 TimerLib|PcAtChipsetPkg/Library/AcpiTimerLib/DxeAcpiTimerLib.inf
107 ResetSystemLib|QuarkSocPkg/QuarkNorthCluster/Library/ResetSystemLib/ResetSystemLib.inf
108 IntelQNCLib|QuarkSocPkg/QuarkNorthCluster/Library/IntelQNCLib/IntelQNCLib.inf
109 QNCAccessLib|QuarkSocPkg/QuarkNorthCluster/Library/QNCAccessLib/QNCAccessLib.inf
110 #
111 # Quark South Cluster
112 #
113 IohLib|QuarkSocPkg/QuarkSouthCluster/Library/IohLib/IohLib.inf
114 SerialPortLib|MdeModulePkg/Library/BaseSerialPortLib16550/BaseSerialPortLib16550.inf
115 PlatformHookLib|MdeModulePkg/Library/BasePlatformHookLibNull/BasePlatformHookLibNull.inf
116 #
117 # Misc
118 #
119 DebugLib|MdeModulePkg/Library/PeiDxeDebugLibReportStatusCode/PeiDxeDebugLibReportStatusCode.inf
120 DebugPrintErrorLevelLib|MdePkg/Library/BaseDebugPrintErrorLevelLib/BaseDebugPrintErrorLevelLib.inf
121 PerformanceLib|MdePkg/Library/BasePerformanceLibNull/BasePerformanceLibNull.inf
122 PcdLib|MdePkg/Library/BasePcdLibNull/BasePcdLibNull.inf
123 !if $(CFG_SOURCE_DEBUG) == TRUE
124 DebugCommunicationLib|SourceLevelDebugPkg/Library/DebugCommunicationLibSerialPort/DebugCommunicationLibSerialPort.inf
125 !else
126 DebugAgentLib|MdeModulePkg/Library/DebugAgentLibNull/DebugAgentLibNull.inf
127 !endif
128
129 [LibraryClasses.IA32.PEIM,LibraryClasses.IA32.PEI_CORE]
130 #
131 # SEC and PEI phase common
132 #
133 PcdLib|MdePkg/Library/PeiPcdLib/PeiPcdLib.inf
134 HobLib|MdePkg/Library/PeiHobLib/PeiHobLib.inf
135 MemoryAllocationLib|MdePkg/Library/PeiMemoryAllocationLib/PeiMemoryAllocationLib.inf
136 ReportStatusCodeLib|MdeModulePkg/Library/PeiReportStatusCodeLib/PeiReportStatusCodeLib.inf
137 LockBoxLib|MdeModulePkg/Library/SmmLockBoxLib/SmmLockBoxPeiLib.inf
138 PerformanceLib|MdeModulePkg/Library/PeiPerformanceLib/PeiPerformanceLib.inf
139 !if $(CFG_SOURCE_DEBUG) == TRUE
140 DebugAgentLib|SourceLevelDebugPkg/Library/DebugAgent/SecPeiDebugAgentLib.inf
141 !endif
142 TimerLib|PcAtChipsetPkg/Library/AcpiTimerLib/BaseAcpiTimerLib.inf
143
144 [LibraryClasses.IA32.SEC]
145 #
146 # SEC specific phase
147 #
148 ReportStatusCodeLib|MdePkg/Library/BaseReportStatusCodeLibNull/BaseReportStatusCodeLibNull.inf
149 DebugLib|MdePkg/Library/BaseDebugLibNull/BaseDebugLibNull.inf
150 PcdLib|MdePkg/Library/BasePcdLibNull/BasePcdLibNull.inf
151 TimerLib|PcAtChipsetPkg/Library/AcpiTimerLib/BaseAcpiTimerLib.inf
152
153 [LibraryClasses.IA32]
154 #
155 # DXE phase common
156 #
157 PcdLib|MdePkg/Library/DxePcdLib/DxePcdLib.inf
158 HobLib|MdePkg/Library/DxeHobLib/DxeHobLib.inf
159 MemoryAllocationLib|MdePkg/Library/UefiMemoryAllocationLib/UefiMemoryAllocationLib.inf
160 ReportStatusCodeLib|MdeModulePkg/Library/DxeReportStatusCodeLib/DxeReportStatusCodeLib.inf
161 LockBoxLib|MdeModulePkg/Library/SmmLockBoxLib/SmmLockBoxDxeLib.inf
162 !if $(CFG_SOURCE_DEBUG) == 1
163 DebugAgentLib|SourceLevelDebugPkg/Library/DebugAgent/DxeDebugAgentLib.inf
164 !endif
165
166 [LibraryClasses.IA32.DXE_SMM_DRIVER]
167 SmmServicesTableLib|MdePkg/Library/SmmServicesTableLib/SmmServicesTableLib.inf
168 ReportStatusCodeLib|MdeModulePkg/Library/SmmReportStatusCodeLib/SmmReportStatusCodeLib.inf
169 MemoryAllocationLib|MdePkg/Library/SmmMemoryAllocationLib/SmmMemoryAllocationLib.inf
170 LockBoxLib|MdeModulePkg/Library/SmmLockBoxLib/SmmLockBoxSmmLib.inf
171 !if $(CFG_SOURCE_DEBUG) == TRUE
172 DebugAgentLib|SourceLevelDebugPkg/Library/DebugAgent/SmmDebugAgentLib.inf
173 !endif
174
175 [LibraryClasses.IA32.SMM_CORE]
176 ReportStatusCodeLib|MdeModulePkg/Library/SmmReportStatusCodeLib/SmmReportStatusCodeLib.inf
177
178 [LibraryClasses.IA32.DXE_RUNTIME_DRIVER]
179 ReportStatusCodeLib|MdeModulePkg/Library/RuntimeDxeReportStatusCodeLib/RuntimeDxeReportStatusCodeLib.inf
180
181 [LibraryClasses.IA32.UEFI_DRIVER,LibraryClasses.IA32.UEFI_APPLICATION]
182 PcdLib|MdePkg/Library/BasePcdLibNull/BasePcdLibNull.inf
183
184 ################################################################################
185 #
186 # Pcd Section - list of all EDK II PCD Entries defined by this Platform
187 #
188 ################################################################################
189
190 [PcdsFixedAtBuild]
191 gEfiMdeModulePkgTokenSpaceGuid.PcdSerialLineControl|0x03
192 gEfiMdeModulePkgTokenSpaceGuid.PcdSerialFifoControl|0x07
193 gEfiMdeModulePkgTokenSpaceGuid.PcdSerialDetectCable|FALSE
194 gEfiMdeModulePkgTokenSpaceGuid.PcdSerialClockRate|44236800
195 gEfiMdeModulePkgTokenSpaceGuid.PcdSerialPciDeviceInfo|{0x14, 0x05, 0x84, 0x00, 0xFF}
196 gEfiMdeModulePkgTokenSpaceGuid.PcdSerialRegisterStride|4
197
198 gPcAtChipsetPkgTokenSpaceGuid.PcdAcpiIoPciBusNumber |0
199 gPcAtChipsetPkgTokenSpaceGuid.PcdAcpiIoPciDeviceNumber |31
200 gPcAtChipsetPkgTokenSpaceGuid.PcdAcpiIoPciFunctionNumber |0
201 gPcAtChipsetPkgTokenSpaceGuid.PcdAcpiIoPciEnableRegisterOffset|0x4b
202 gPcAtChipsetPkgTokenSpaceGuid.PcdAcpiIoBarEnableMask |0x80
203 gPcAtChipsetPkgTokenSpaceGuid.PcdAcpiIoPciBarRegisterOffset |0x48
204 gPcAtChipsetPkgTokenSpaceGuid.PcdAcpiIoPortBaseAddress |0x1000
205 gPcAtChipsetPkgTokenSpaceGuid.PcdAcpiPm1TmrOffset |0x0008
206
207 [PcdsFeatureFlag]
208
209 ################################################################################
210 #
211 # Pcd Dynamic Section - list of all EDK II PCD Entries defined by this Platform
212 #
213 ################################################################################
214
215 [PcdsDynamicDefault.common.DEFAULT]
216
217 ###################################################################################################
218 #
219 # Components Section - list of the modules and components that will be processed by compilation
220 # tools and the EDK II tools to generate PE32/PE32+/Coff image files.
221 #
222 # Note: The EDK II DSC file is not used to specify how compiled binary images get placed
223 # into firmware volume images. This section is just a list of modules to compile from
224 # source into UEFI-compliant binaries.
225 # It is the FDF file that contains information on combining binary files into firmware
226 # volume images, whose concept is beyond UEFI and is described in PI specification.
227 # Binary modules do not need to be listed in this section, as they should be
228 # specified in the FDF file. For example: Shell binary (Shell_Full.efi), FAT binary (Fat.efi),
229 # Logo (Logo.bmp), and etc.
230 # There may also be modules listed in this section that are not required in the FDF file,
231 # When a module listed here is excluded from FDF file, then UEFI-compliant binary will be
232 # generated for it, but the binary will not be put into any firmware volume.
233 #
234 ###################################################################################################
235
236 [Components]
237 QuarkSocPkg/QuarkNorthCluster/MemoryInit/Pei/MemoryInitPei.inf
238 QuarkSocPkg/QuarkNorthCluster/Smm/Pei/SmmAccessPei/SmmAccessPei.inf
239 QuarkSocPkg/QuarkNorthCluster/Smm/Pei/SmmControlPei/SmmControlPei.inf
240 QuarkSocPkg/QuarkNorthCluster/QNCInit/Dxe/QNCInitDxe.inf
241 QuarkSocPkg/QuarkNorthCluster/Smm/Dxe/SmmAccessDxe/SmmAccess.inf
242 QuarkSocPkg/QuarkNorthCluster/Spi/PchSpiRuntime.inf {
243 <LibraryClasses>
244 PciExpressLib|MdePkg/Library/DxeRuntimePciExpressLib/DxeRuntimePciExpressLib.inf
245 }
246 QuarkSocPkg/QuarkNorthCluster/Spi/PchSpiSmm.inf
247 QuarkSocPkg/QuarkNorthCluster/S3Support/Dxe/QncS3Support.inf {
248 <LibraryClasses>
249 DebugLib|MdePkg/Library/BaseDebugLibSerialPort/BaseDebugLibSerialPort.inf
250 PcdLib|MdePkg/Library/DxePcdLib/DxePcdLib.inf
251 }
252 QuarkSocPkg/QuarkNorthCluster/Smm/Dxe/SmmControlDxe/SmmControlDxe.inf
253 QuarkSocPkg/QuarkNorthCluster/Smm/DxeSmm/QncSmmDispatcher/QNCSmmDispatcher.inf
254
255 QuarkSocPkg/QuarkSouthCluster/Usb/Common/Pei/UsbPei.inf
256 QuarkSocPkg/QuarkSouthCluster/Usb/Ohci/Pei/OhciPei.inf
257 QuarkSocPkg/QuarkSouthCluster/IohInit/Dxe/IohInitDxe.inf
258 QuarkSocPkg/QuarkSouthCluster/Usb/Ohci/Dxe/OhciDxe.inf
259 QuarkSocPkg/QuarkSouthCluster/Sdio/Dxe/SDControllerDxe/SDControllerDxe.inf
260 QuarkSocPkg/QuarkSouthCluster/Sdio/Dxe/SDMediaDeviceDxe/SDMediaDeviceDxe.inf