1. retire the FvbServiceLib. Directly locating FVB protocol to access interfaces.
[edk2.git] / DuetPkg / DuetPkg.dsc
blob1d96ce3503831daf55804bb89580d0fad34ebfe5
2 [Defines]
3   PLATFORM_NAME                  = DuetPkg
4   PLATFORM_GUID                  = 199E24E0-0989-42aa-87F2-611A8C397E72
5   PLATFORM_VERSION               = 0.3
6   DSC_SPECIFICATION              = 0x00010005
7   OUTPUT_DIRECTORY               = Build/DuetPkg
8   SUPPORTED_ARCHITECTURES        = IA32|X64
9   BUILD_TARGETS                  = DEBUG
10   SKUID_IDENTIFIER               = DEFAULT
11   FLASH_DEFINITION               = DuetPkg/DuetPkg.fdf
13 [LibraryClasses.common]
14   BaseLib|MdePkg/Library/BaseLib/BaseLib.inf
15   SynchronizationLib|MdePkg/Library/BaseSynchronizationLib/BaseSynchronizationLib.inf
16   DebugLib|IntelFrameworkModulePkg/Library/PeiDxeDebugLibReportStatusCode/PeiDxeDebugLibReportStatusCode.inf
17   BaseMemoryLib|MdePkg/Library/BaseMemoryLib/BaseMemoryLib.inf
18   PcdLib|MdePkg/Library/BasePcdLibNull/BasePcdLibNull.inf
19   PrintLib|MdePkg/Library/BasePrintLib/BasePrintLib.inf
20   PeimEntryPoint|MdePkg/Library/PeimEntryPoint/PeimEntryPoint.inf
21   ReportStatusCodeLib|IntelFrameworkModulePkg/Library/DxeReportStatusCodeLibFramework/DxeReportStatusCodeLib.inf
22   UefiLib|MdePkg/Library/UefiLib/UefiLib.inf
23   UefiBootServicesTableLib|MdePkg/Library/UefiBootServicesTableLib/UefiBootServicesTableLib.inf
24   UefiDriverEntryPoint|MdePkg/Library/UefiDriverEntryPoint/UefiDriverEntryPoint.inf
25   HiiLib|MdeModulePkg/Library/UefiHiiLib/UefiHiiLib.inf
26   UefiRuntimeServicesTableLib|MdePkg/Library/UefiRuntimeServicesTableLib/UefiRuntimeServicesTableLib.inf
27   DevicePathLib|MdePkg/Library/UefiDevicePathLib/UefiDevicePathLib.inf
28   DxeServicesTableLib|MdePkg/Library/DxeServicesTableLib/DxeServicesTableLib.inf
29   DevicePathLib|MdePkg/Library/UefiDevicePathLib/UefiDevicePathLib.inf
30   UefiDriverEntryPoint|MdePkg/Library/UefiDriverEntryPoint/UefiDriverEntryPoint.inf
31   UefiRuntimeLib|MdePkg/Library/UefiRuntimeLib/UefiRuntimeLib.inf
32   UefiApplicationEntryPoint|MdePkg/Library/UefiApplicationEntryPoint/UefiApplicationEntryPoint.inf
33   ExtractGuidedSectionLib|MdePkg/Library/DxeExtractGuidedSectionLib/DxeExtractGuidedSectionLib.inf
34   PlatformBdsLib|DuetPkg/Library/DuetBdsLib/PlatformBds.inf
35   IfrSupportLib|MdeModulePkg/Library/UefiIfrSupportLib/UefiIfrSupportLib.inf
36   ExtendedIfrSupportLib|MdeModulePkg/Library/ExtendedIfrSupportLib/ExtendedIfrSupportLib.inf
37   GenericBdsLib|IntelFrameworkModulePkg/Library/GenericBdsLib/GenericBdsLib.inf
38   PerformanceLib|MdePkg/Library/BasePerformanceLibNull/BasePerformanceLibNull.inf
39   ExtendedHiiLib|MdeModulePkg/Library/ExtendedHiiLib/ExtendedHiiLib.inf
40   CapsuleLib|MdeModulePkg/Library/DxeCapsuleLibNull/DxeCapsuleLibNull.inf
41   DxeServicesLib|MdePkg/Library/DxeServicesLib/DxeServicesLib.inf
42   PeCoffGetEntryPointLib|MdePkg/Library/BasePeCoffGetEntryPointLib/BasePeCoffGetEntryPointLib.inf
43   DevicePathLib|MdePkg/Library/UefiDevicePathLib/UefiDevicePathLib.inf
44   CacheMaintenanceLib|MdePkg/Library/BaseCacheMaintenanceLib/BaseCacheMaintenanceLib.inf
45   PeCoffLib|MdePkg/Library/BasePeCoffLib/BasePeCoffLib.inf
46   PeCoffExtraActionLib|MdePkg/Library/BasePeCoffExtraActionLibNull/BasePeCoffExtraActionLibNull.inf
47   OemHookStatusCodeLib|IntelFrameworkModulePkg/Library/OemHookStatusCodeLibNull/OemHookStatusCodeLibNull.inf
48   PrintLib|MdePkg/Library/BasePrintLib/BasePrintLib.inf
49   IoLib|MdePkg/Library/BaseIoLibIntrinsic/BaseIoLibIntrinsic.inf
50   TimerLib|DuetPkg/Library/DuetTimerLib/DuetTimerLib.inf
51   UefiUsbLib|MdePkg/Library/UefiUsbLib/UefiUsbLib.inf
52   HobLib|MdePkg/Library/DxeHobLib/DxeHobLib.inf
54 [LibraryClasses.common.DXE_DRIVER]
55   MemoryAllocationLib|MdePkg/Library/UefiMemoryAllocationLib/UefiMemoryAllocationLib.inf
56   HobLib|MdePkg/Library/DxeHobLib/DxeHobLib.inf
57   SerialPortLib|PcAtChipsetPkg/Library/SerialIoLib/SerialIoLib.inf
58   MemoryAllocationLib|MdePkg/Library/UefiMemoryAllocationLib/UefiMemoryAllocationLib.inf
59   IoLib|MdePkg/Library/BaseIoLibIntrinsic/BaseIoLibIntrinsic.inf
60   UefiUsbLib|MdePkg/Library/UefiUsbLib/UefiUsbLib.inf
61   DebugLib|IntelFrameworkModulePkg/Library/PeiDxeDebugLibReportStatusCode/PeiDxeDebugLibReportStatusCode.inf
63 [LibraryClasses.common.DXE_CORE]
64   HobLib|MdePkg/Library/DxeCoreHobLib/DxeCoreHobLib.inf
65   PeCoffLib|MdePkg/Library/BasePeCoffLib/BasePeCoffLib.inf
66   PeCoffExtraActionLib|MdePkg/Library/BasePeCoffExtraActionLibNull/BasePeCoffExtraActionLibNull.inf
67   DxeCoreEntryPoint|MdePkg/Library/DxeCoreEntryPoint/DxeCoreEntryPoint.inf
68   MemoryAllocationLib|MdeModulePkg/Library/DxeCoreMemoryAllocationLib/DxeCoreMemoryAllocationLib.inf
69   UefiDecompressLib|MdePkg/Library/BaseUefiDecompressLib/BaseUefiDecompressLib.inf
70   DebugLib|IntelFrameworkModulePkg/Library/PeiDxeDebugLibReportStatusCode/PeiDxeDebugLibReportStatusCode.inf
71   ReportStatusCodeLib|DuetPkg/Library/DxeCoreReportStatusCodeLibFromHob/DxeCoreReportStatusCodeLibFromHob.inf
72   SerialPortLib|PcAtChipsetPkg/Library/SerialIoLib/SerialIoLib.inf
73   PcdLib|MdePkg/Library/BasePcdLibNull/BasePcdLibNull.inf
74   ExtractGuidedSectionLib|MdePkg/Library/DxeExtractGuidedSectionLib/DxeExtractGuidedSectionLib.inf
77 [LibraryClasses.common.DXE_RUNTIME_DRIVER]
78   MemoryAllocationLib|MdePkg/Library/UefiMemoryAllocationLib/UefiMemoryAllocationLib.inf
79   HobLib|MdePkg/Library/DxeHobLib/DxeHobLib.inf
80   SerialPortLib|PcAtChipsetPkg/Library/SerialIoLib/SerialIoLib.inf
81   IoLib|MdePkg/Library/BaseIoLibIntrinsic/BaseIoLibIntrinsic.inf
82   DebugLib|IntelFrameworkModulePkg/Library/PeiDxeDebugLibReportStatusCode/PeiDxeDebugLibReportStatusCode.inf
84 [LibraryClasses.common.UEFI_DRIVER]
85   MemoryAllocationLib|MdePkg/Library/UefiMemoryAllocationLib/UefiMemoryAllocationLib.inf
86   SerialPortLib|PcAtChipsetPkg/Library/SerialIoLib/SerialIoLib.inf
87   DebugLib|IntelFrameworkModulePkg/Library/PeiDxeDebugLibReportStatusCode/PeiDxeDebugLibReportStatusCode.inf
89 [LibraryClasses.common.UEFI_APPLICATION]
90   MemoryAllocationLib|MdePkg/Library/UefiMemoryAllocationLib/UefiMemoryAllocationLib.inf
91   SerialPortLib|PcAtChipsetPkg/Library/SerialIoLib/SerialIoLib.inf
92   DebugLib|IntelFrameworkModulePkg/Library/PeiDxeDebugLibReportStatusCode/PeiDxeDebugLibReportStatusCode.inf
94 [PcdsFixedAtBuild]
95   gEfiMdePkgTokenSpaceGuid.PcdReportStatusCodePropertyMask|0x07
96   gEfiMdePkgTokenSpaceGuid.PcdDebugPropertyMask|0x2F
98 [PcdsPatchableInModule]
99   gEfiMdePkgTokenSpaceGuid.PcdDebugPrintErrorLevel|0x80000042
100   gEfiIntelFrameworkModulePkgTokenSpaceGuid.PcdStatusCodeMemorySize|1
101   gEfiSioTokenSpaceGuid.PcdSerialRegisterBase|0x3F8
102   gEfiSioTokenSpaceGuid.PcdSerialLineControl|0x07
103   gEfiSioTokenSpaceGuid.PcdSerialBoudRate|115200
104   gEfiMdePkgTokenSpaceGuid.PcdDebugPropertyMask|0x2F
106 [PcdsFeatureFlag]
107   gEfiIntelFrameworkModulePkgTokenSpaceGuid.PcdStatusCodeUseHardSerial|TRUE
109 ###################################################################################################
111 # Components Section - list of the modules and components that will be processed by compilation
112 #                      tools and the EDK II tools to generate PE32/PE32+/Coff image files.
114 # Note: The EDK II DSC file is not used to specify how compiled binary images get placed
115 #       into firmware volume images. This section is just a list of modules to compile from
116 #       source into UEFI-compliant binaries.
117 #       It is the FDF file that contains information on combining binary files into firmware
118 #       volume images, whose concept is beyond UEFI and is described in PI specification.
119 #       Binary modules do not need to be listed in this section, as they should be
120 #       specified in the FDF file. For example: Shell binary (Shell_Full.efi), FAT binary (Fat.efi),
121 #       Logo (Logo.bmp), and etc.
122 #       There may also be modules listed in this section that are not required in the FDF file,
123 #       When a module listed here is excluded from FDF file, then UEFI-compliant binary will be
124 #       generated for it, but the binary will not be put into any firmware volume.
126 ###################################################################################################
128 [Components.common]
129   DuetPkg/DxeIpl/DxeIpl.inf {
130     <LibraryClasses>
131       DebugLib|MdePkg/Library/BaseDebugLibNull/BaseDebugLibNull.inf
132   }
134   MdeModulePkg/Core/Dxe/DxeMain.inf
135   MdeModulePkg/Universal/PCD/Dxe/Pcd.inf
136   MdeModulePkg/Universal/WatchdogTimerDxe/WatchdogTimer.inf
137   MdeModulePkg/Core/RuntimeDxe/RuntimeDxe.inf
138   MdeModulePkg/Universal/MonotonicCounterRuntimeDxe/MonotonicCounterRuntimeDxe.inf
140   DuetPkg/FSVariable/FSVariable.inf
141   MdeModulePkg/Universal/CapsuleRuntimeDxe/CapsuleRuntimeDxe.inf
142   MdeModulePkg/Universal/MemoryTest/NullMemoryTestDxe/NullMemoryTestDxe.inf
143   MdeModulePkg/Universal/SecurityStubDxe/SecurityStubDxe.inf
144   IntelFrameworkModulePkg/Universal/StatusCode/Dxe/DxeStatusCode.inf
145   MdeModulePkg/Universal/Console/ConPlatformDxe/ConPlatformDxe.inf
146   MdeModulePkg/Universal/Console/ConSplitterDxe/ConSplitterDxe.inf {
147     <LibraryClasses>
148       PcdLib|MdePkg/Library/DxePcdLib/DxePcdLib.inf
149   }
150   MdeModulePkg/Universal/HiiDatabaseDxe/HiiDatabaseDxe.inf
151   MdeModulePkg/Universal/SetupBrowserDxe/SetupBrowserDxe.inf
153   IntelFrameworkModulePkg/Universal/DataHubDxe/DataHubDxe.inf
154   MdeModulePkg/Universal/Console/GraphicsConsoleDxe/GraphicsConsoleDxe.inf
155   MdeModulePkg/Universal/Console/TerminalDxe/TerminalDxe.inf
156   MdeModulePkg/Universal/DevicePathDxe/DevicePathDxe.inf
159   DuetPkg/DataHubGenDxe/DataHubGen.inf
160   #DuetPkg/FvbRuntimeService/DUETFwh.inf
161   DuetPkg/EfiLdr/EfiLdr.inf {
162     <LibraryClasses>
163       DebugLib|MdePkg/Library/BaseDebugLibNull/BaseDebugLibNull.inf
164   }
165   IntelFrameworkModulePkg/Universal/BdsDxe/BdsDxe.inf {
166     <LibraryClasses>
167       PcdLib|MdePkg/Library/DxePcdLib/DxePcdLib.inf
168   }
169   UefiCpuPkg/CpuIoDxe/CpuIo.inf
170   DuetPkg/CpuDxe/Cpu.inf
171   PcAtChipsetPkg/8259InterruptControllerDxe/8259.inf
172   PcAtChipsetPkg/KbcResetDxe/Reset.inf
173   DuetPkg/LegacyMetronome/Metronome.inf
175   PcAtChipsetPkg/PcRtc/RealTimeClock.inf
176   PcAtChipsetPkg/8254TimerDxe/8254Timer.inf
177   DuetPkg/PciRootBridgeNoEnumerationDxe/PciRootBridgeNoEnumeration.inf
178   DuetPkg/PciBusNoEnumerationDxe/PciBusNoEnumeration.inf
179   IntelFrameworkModulePkg/Bus/Pci/VgaMiniPortDxe/VgaMiniPortDxe.inf
180   IntelFrameworkModulePkg/Universal/Console/VgaClassDxe/VgaClassDxe.inf
182   # IDE Support
183   #IntelFrameworkModulePkg/Bus/Pci/IdeBusDxe/IdeBusDxe.inf
185   # Usb Support
186   MdeModulePkg/Bus/Pci/UhciDxe/UhciDxe.inf
187   MdeModulePkg/Bus/Usb/UsbBusDxe/UsbBusDxe.inf
188   MdeModulePkg/Bus/Usb/UsbKbDxe/UsbKbDxe.inf
189   MdeModulePkg/Bus/Usb/UsbMassStorageDxe/UsbMassStorageDxe.inf
191   # ISA Support
192   PcAtChipsetPkg/IsaAcpiDxe/IsaAcpi.inf
193   IntelFrameworkModulePkg/Bus/Isa/IsaBusDxe/IsaBusDxe.inf
194   IntelFrameworkModulePkg/Bus/Isa/IsaSerialDxe/IsaSerialDxe.inf
195   IntelFrameworkModulePkg/Bus/Isa/Ps2KeyboardDxe/Ps2keyboardDxe.inf
196   IntelFrameworkModulePkg/Bus/Isa/IsaFloppyDxe/IsaFloppyDxe.inf
198   MdeModulePkg/Universal/Disk/DiskIoDxe/DiskIoDxe.inf
199   MdeModulePkg/Universal/Disk/UnicodeCollation/EnglishDxe/EnglishDxe.inf
200   MdeModulePkg/Universal/Disk/PartitionDxe/PartitionDxe.inf
202   # Bios Thunk
203   DuetPkg/BiosVideoThunkDxe/BiosVideo.inf
205 [Components.IA32]
206   DuetPkg/BootSector/BootSector.inf
208 [BuildOptions.common]
209   MSFT:*_*_*_CC_FLAGS = /FAsc /FR$(@R).SBR
210   MSFT:*_*_IA32_CC_FLAGS = /D EFI32
211   MSFT:*_*_X64_CC_FLAGS = /D EFIX64
212   MSFT:*_*_IPF_CC_FLAGS = /D EFI64