Add RELEASE target
[efi/edk2/.git] / edk2 / DuetPkg / DuetPkgX64.dsc
1 ## @file\r
2 #  An EFI/Framework Emulation Platform with UEFI HII interface supported.\r
3 #\r
4 #  Developer's UEFI Emulation. DUET provides an EFI/UEFI IA32/X64 environment on legacy BIOS,\r
5 #  to help developing and debugging native EFI/UEFI drivers.\r
6 #\r
7 #  Copyright (c) 2010 - 2010, Intel Corporation. All rights reserved. <BR>\r
8 #\r
9 #  This program and the accompanying materials\r
10 #  are licensed and made available under the terms and conditions of the BSD License\r
11 #  which accompanies this distribution. The full text of the license may be found at\r
12 #  http://opensource.org/licenses/bsd-license.php\r
13 #\r
14 #  THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
15 #  WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
16 #\r
17 ##\r
18 \r
19 [Defines]\r
20   PLATFORM_NAME                  = DuetPkg\r
21   PLATFORM_GUID                  = 199E24E0-0989-42aa-87F2-611A8C397E72\r
22   PLATFORM_VERSION               = 0.3\r
23   DSC_SPECIFICATION              = 0x00010005\r
24   OUTPUT_DIRECTORY               = Build/DuetPkgX64\r
25   SUPPORTED_ARCHITECTURES        = X64\r
26   BUILD_TARGETS                  = DEBUG|RELEASE\r
27   SKUID_IDENTIFIER               = DEFAULT\r
28   FLASH_DEFINITION               = DuetPkg/DuetPkg.fdf\r
29 \r
30 [LibraryClasses]\r
31   BaseLib|MdePkg/Library/BaseLib/BaseLib.inf\r
32   SynchronizationLib|MdePkg/Library/BaseSynchronizationLib/BaseSynchronizationLib.inf\r
33   BaseMemoryLib|MdePkg/Library/BaseMemoryLib/BaseMemoryLib.inf\r
34   PcdLib|MdePkg/Library/BasePcdLibNull/BasePcdLibNull.inf\r
35   PrintLib|MdePkg/Library/BasePrintLib/BasePrintLib.inf\r
36   PeimEntryPoint|MdePkg/Library/PeimEntryPoint/PeimEntryPoint.inf\r
37   UefiLib|MdePkg/Library/UefiLib/UefiLib.inf\r
38   UefiBootServicesTableLib|MdePkg/Library/UefiBootServicesTableLib/UefiBootServicesTableLib.inf\r
39   UefiDriverEntryPoint|MdePkg/Library/UefiDriverEntryPoint/UefiDriverEntryPoint.inf\r
40   UefiHiiServicesLib|MdeModulePkg/Library/UefiHiiServicesLib/UefiHiiServicesLib.inf\r
41   HiiLib|MdeModulePkg/Library/UefiHiiLib/UefiHiiLib.inf\r
42   UefiRuntimeServicesTableLib|MdePkg/Library/UefiRuntimeServicesTableLib/UefiRuntimeServicesTableLib.inf\r
43   DxeServicesTableLib|MdePkg/Library/DxeServicesTableLib/DxeServicesTableLib.inf\r
44   UefiDriverEntryPoint|MdePkg/Library/UefiDriverEntryPoint/UefiDriverEntryPoint.inf\r
45   UefiRuntimeLib|MdePkg/Library/UefiRuntimeLib/UefiRuntimeLib.inf\r
46   UefiApplicationEntryPoint|MdePkg/Library/UefiApplicationEntryPoint/UefiApplicationEntryPoint.inf\r
47   ExtractGuidedSectionLib|MdePkg/Library/DxeExtractGuidedSectionLib/DxeExtractGuidedSectionLib.inf\r
48   PlatformBdsLib|DuetPkg/Library/DuetBdsLib/PlatformBds.inf\r
49   GenericBdsLib|IntelFrameworkModulePkg/Library/GenericBdsLib/GenericBdsLib.inf\r
50   PerformanceLib|MdePkg/Library/BasePerformanceLibNull/BasePerformanceLibNull.inf\r
51   CapsuleLib|MdeModulePkg/Library/DxeCapsuleLibNull/DxeCapsuleLibNull.inf\r
52   DxeServicesLib|MdePkg/Library/DxeServicesLib/DxeServicesLib.inf\r
53   PeCoffGetEntryPointLib|MdePkg/Library/BasePeCoffGetEntryPointLib/BasePeCoffGetEntryPointLib.inf\r
54   DevicePathLib|MdePkg/Library/UefiDevicePathLib/UefiDevicePathLib.inf\r
55   CacheMaintenanceLib|MdePkg/Library/BaseCacheMaintenanceLib/BaseCacheMaintenanceLib.inf\r
56   PeCoffLib|MdePkg/Library/BasePeCoffLib/BasePeCoffLib.inf\r
57   PeCoffExtraActionLib|MdePkg/Library/BasePeCoffExtraActionLibNull/BasePeCoffExtraActionLibNull.inf\r
58   OemHookStatusCodeLib|MdeModulePkg/Library/OemHookStatusCodeLibNull/OemHookStatusCodeLibNull.inf\r
59   IoLib|MdePkg/Library/BaseIoLibIntrinsic/BaseIoLibIntrinsic.inf\r
60   PciLib|MdePkg/Library/BasePciLibCf8/BasePciLibCf8.inf\r
61   PciCf8Lib|MdePkg/Library/BasePciCf8Lib/BasePciCf8Lib.inf\r
62   TimerLib|DuetPkg/Library/DuetTimerLib/DuetTimerLib.inf\r
63   UefiUsbLib|MdePkg/Library/UefiUsbLib/UefiUsbLib.inf\r
64   HobLib|MdePkg/Library/DxeHobLib/DxeHobLib.inf\r
65   MemoryAllocationLib|MdePkg/Library/UefiMemoryAllocationLib/UefiMemoryAllocationLib.inf\r
66   SecurityManagementLib|MdeModulePkg/Library/DxeSecurityManagementLib/DxeSecurityManagementLib.inf\r
67   DebugAgentLib|MdeModulePkg/Library/DebugAgentLibNull/DebugAgentLibNull.inf\r
68 \r
69   #\r
70   # To save size, use NULL library for DebugLib and ReportStatusCodeLib.\r
71   # If need status code output, do library instance overriden as below DxeMain.inf does\r
72   #\r
73   DebugLib|MdePkg/Library/BaseDebugLibNull/BaseDebugLibNull.inf\r
74   ReportStatusCodeLib|MdePkg/Library/BaseReportStatusCodeLibNull/BaseReportStatusCodeLibNull.inf\r
75 \r
76 [LibraryClasses.common.DXE_CORE]\r
77   HobLib|MdePkg/Library/DxeCoreHobLib/DxeCoreHobLib.inf\r
78   DxeCoreEntryPoint|MdePkg/Library/DxeCoreEntryPoint/DxeCoreEntryPoint.inf\r
79   MemoryAllocationLib|MdeModulePkg/Library/DxeCoreMemoryAllocationLib/DxeCoreMemoryAllocationLib.inf\r
80   UefiDecompressLib|MdePkg/Library/BaseUefiDecompressLib/BaseUefiDecompressLib.inf\r
81   ExtractGuidedSectionLib|MdePkg/Library/DxeExtractGuidedSectionLib/DxeExtractGuidedSectionLib.inf\r
82 \r
83 [PcdsFixedAtBuild]\r
84   gEfiMdePkgTokenSpaceGuid.PcdReportStatusCodePropertyMask|0x0\r
85   gEfiMdePkgTokenSpaceGuid.PcdDebugPropertyMask|0x0\r
86   gEfiMdePkgTokenSpaceGuid.PcdDebugPrintErrorLevel|0x0\r
87 \r
88 [PcdsFeatureFlag]\r
89   gEfiMdeModulePkgTokenSpaceGuid.PcdTurnOffUsbLegacySupport|TRUE\r
90 \r
91 \r
92 ###################################################################################################\r
93 #\r
94 # Components Section - list of the modules and components that will be processed by compilation\r
95 #                      tools and the EDK II tools to generate PE32/PE32+/Coff image files.\r
96 #\r
97 # Note: The EDK II DSC file is not used to specify how compiled binary images get placed\r
98 #       into firmware volume images. This section is just a list of modules to compile from\r
99 #       source into UEFI-compliant binaries.\r
100 #       It is the FDF file that contains information on combining binary files into firmware\r
101 #       volume images, whose concept is beyond UEFI and is described in PI specification.\r
102 #       Binary modules do not need to be listed in this section, as they should be\r
103 #       specified in the FDF file. For example: Shell binary (Shell_Full.efi), FAT binary (Fat.efi),\r
104 #       Logo (Logo.bmp), and etc.\r
105 #       There may also be modules listed in this section that are not required in the FDF file,\r
106 #       When a module listed here is excluded from FDF file, then UEFI-compliant binary will be\r
107 #       generated for it, but the binary will not be put into any firmware volume.\r
108 #\r
109 ###################################################################################################\r
110 \r
111 [Components]\r
112   DuetPkg/DxeIpl/DxeIpl.inf {\r
113     <LibraryClasses>\r
114       #\r
115       # If no following overriden for ReportStatusCodeLib library class,\r
116       # All other module can *not* output debug information even they are use not NULL library\r
117       # instance for DebugLib and ReportStatusCodeLib\r
118       #\r
119       ReportStatusCodeLib|MdeModulePkg/Library/DxeReportStatusCodeLib/DxeReportStatusCodeLib.inf\r
120   }\r
121 \r
122   MdeModulePkg/Core/Dxe/DxeMain.inf {\r
123     #\r
124     # Enable debug output for DxeCore module, this is a sample for how to enable debug output\r
125     # for a module. If need turn on debug output for other module, please copy following overriden\r
126     # PCD and library instance to other module's override section.\r
127     #\r
128     <PcdsFixedAtBuild>\r
129       gEfiMdePkgTokenSpaceGuid.PcdReportStatusCodePropertyMask|0x07\r
130       gEfiMdePkgTokenSpaceGuid.PcdDebugPropertyMask|0x2F\r
131       gEfiMdePkgTokenSpaceGuid.PcdDebugPrintErrorLevel|0x80000042\r
132     <LibraryClasses>\r
133       DebugLib|IntelFrameworkModulePkg/Library/PeiDxeDebugLibReportStatusCode/PeiDxeDebugLibReportStatusCode.inf\r
134       ReportStatusCodeLib|DuetPkg/Library/DxeCoreReportStatusCodeLibFromHob/DxeCoreReportStatusCodeLibFromHob.inf\r
135       SerialPortLib|PcAtChipsetPkg/Library/SerialIoLib/SerialIoLib.inf\r
136   }\r
137 \r
138   MdeModulePkg/Universal/PCD/Dxe/Pcd.inf\r
139   MdeModulePkg/Universal/WatchdogTimerDxe/WatchdogTimer.inf\r
140   MdeModulePkg/Core/RuntimeDxe/RuntimeDxe.inf\r
141   MdeModulePkg/Universal/MonotonicCounterRuntimeDxe/MonotonicCounterRuntimeDxe.inf\r
142 \r
143   DuetPkg/FSVariable/FSVariable.inf\r
144   MdeModulePkg/Universal/CapsuleRuntimeDxe/CapsuleRuntimeDxe.inf\r
145   MdeModulePkg/Universal/MemoryTest/NullMemoryTestDxe/NullMemoryTestDxe.inf\r
146   MdeModulePkg/Universal/SecurityStubDxe/SecurityStubDxe.inf\r
147   MdeModulePkg/Universal/Console/ConPlatformDxe/ConPlatformDxe.inf\r
148   MdeModulePkg/Universal/Console/ConSplitterDxe/ConSplitterDxe.inf {\r
149     <LibraryClasses>\r
150       PcdLib|MdePkg/Library/DxePcdLib/DxePcdLib.inf\r
151   }\r
152   MdeModulePkg/Universal/HiiDatabaseDxe/HiiDatabaseDxe.inf\r
153   MdeModulePkg/Universal/SetupBrowserDxe/SetupBrowserDxe.inf\r
154 \r
155   IntelFrameworkModulePkg/Universal/DataHubDxe/DataHubDxe.inf\r
156   MdeModulePkg/Universal/Console/GraphicsConsoleDxe/GraphicsConsoleDxe.inf\r
157   MdeModulePkg/Universal/Console/TerminalDxe/TerminalDxe.inf\r
158   MdeModulePkg/Universal/DevicePathDxe/DevicePathDxe.inf\r
159   MdeModulePkg/Universal/SmbiosDxe/SmbiosDxe.inf\r
160 \r
161 \r
162   DuetPkg/SmbiosGenDxe/SmbiosGen.inf\r
163   #DuetPkg/FvbRuntimeService/DUETFwh.inf\r
164   DuetPkg/EfiLdr/EfiLdr.inf {\r
165     <LibraryClasses>\r
166       DebugLib|MdePkg/Library/BaseDebugLibNull/BaseDebugLibNull.inf\r
167       NULL|IntelFrameworkModulePkg/Library/LzmaCustomDecompressLib/LzmaCustomDecompressLib.inf\r
168   }\r
169   IntelFrameworkModulePkg/Universal/BdsDxe/BdsDxe.inf {\r
170     <LibraryClasses>\r
171       PcdLib|MdePkg/Library/DxePcdLib/DxePcdLib.inf\r
172   }\r
173   MdeModulePkg/Universal/EbcDxe/EbcDxe.inf\r
174   UefiCpuPkg/CpuIo2Dxe/CpuIo2Dxe.inf\r
175   DuetPkg/CpuDxe/Cpu.inf\r
176   PcAtChipsetPkg/8259InterruptControllerDxe/8259.inf\r
177   DuetPkg/AcpiResetDxe/Reset.inf\r
178   DuetPkg/LegacyMetronome/Metronome.inf\r
179 \r
180   PcAtChipsetPkg/PcatRealTimeClockRuntimeDxe/PcatRealTimeClockRuntimeDxe.inf\r
181   PcAtChipsetPkg/8254TimerDxe/8254Timer.inf\r
182   DuetPkg/PciRootBridgeNoEnumerationDxe/PciRootBridgeNoEnumeration.inf\r
183   DuetPkg/PciBusNoEnumerationDxe/PciBusNoEnumeration.inf\r
184   IntelFrameworkModulePkg/Bus/Pci/VgaMiniPortDxe/VgaMiniPortDxe.inf\r
185   IntelFrameworkModulePkg/Universal/Console/VgaClassDxe/VgaClassDxe.inf\r
186 \r
187   # IDE Support\r
188   IntelFrameworkModulePkg/Bus/Pci/IdeBusDxe/IdeBusDxe.inf\r
189   PcAtChipsetPkg/Bus/Pci/IdeControllerDxe/IdeControllerDxe.inf\r
190 \r
191   # Usb Support\r
192   MdeModulePkg/Bus/Pci/UhciDxe/UhciDxe.inf\r
193   MdeModulePkg/Bus/Pci/EhciDxe/EhciDxe.inf\r
194   MdeModulePkg/Bus/Usb/UsbBusDxe/UsbBusDxe.inf\r
195   MdeModulePkg/Bus/Usb/UsbKbDxe/UsbKbDxe.inf\r
196   MdeModulePkg/Bus/Usb/UsbMassStorageDxe/UsbMassStorageDxe.inf\r
197 \r
198   # ISA Support\r
199   PcAtChipsetPkg/IsaAcpiDxe/IsaAcpi.inf\r
200   IntelFrameworkModulePkg/Bus/Isa/IsaBusDxe/IsaBusDxe.inf\r
201   IntelFrameworkModulePkg/Bus/Isa/IsaSerialDxe/IsaSerialDxe.inf\r
202   IntelFrameworkModulePkg/Bus/Isa/Ps2KeyboardDxe/Ps2keyboardDxe.inf\r
203   IntelFrameworkModulePkg/Bus/Isa/IsaFloppyDxe/IsaFloppyDxe.inf\r
204 \r
205   MdeModulePkg/Universal/Disk/DiskIoDxe/DiskIoDxe.inf\r
206   MdeModulePkg/Universal/Disk/UnicodeCollation/EnglishDxe/EnglishDxe.inf\r
207   MdeModulePkg/Universal/Disk/PartitionDxe/PartitionDxe.inf\r
208 \r
209   # Bios Thunk\r
210   DuetPkg/BiosVideoThunkDxe/BiosVideo.inf\r
211 \r
212   #\r
213   # Sample Application\r
214   #\r
215   MdeModulePkg/Application/HelloWorld/HelloWorld.inf\r
216 \r
217 [BuildOptions]\r
218   MSFT:*_*_*_CC_FLAGS = /FAsc /FR$(@R).SBR\r
219 \r