Fix various 'EFIAPI' inconsistencies found while building MdeModulePkg.
[edk2.git] / DuetPkg / DuetPkg.dsc
blobcfb02df523840a8fd02cc1e39dd8af02581d0473
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   BaseMemoryLib|MdePkg/Library/BaseMemoryLib/BaseMemoryLib.inf
17   PcdLib|MdePkg/Library/BasePcdLibNull/BasePcdLibNull.inf
18   PrintLib|MdePkg/Library/BasePrintLib/BasePrintLib.inf
19   PeimEntryPoint|MdePkg/Library/PeimEntryPoint/PeimEntryPoint.inf
20   UefiLib|MdePkg/Library/UefiLib/UefiLib.inf
21   UefiBootServicesTableLib|MdePkg/Library/UefiBootServicesTableLib/UefiBootServicesTableLib.inf
22   UefiDriverEntryPoint|MdePkg/Library/UefiDriverEntryPoint/UefiDriverEntryPoint.inf
23   HiiLib|MdeModulePkg/Library/UefiHiiLib/UefiHiiLib.inf
24   UefiRuntimeServicesTableLib|MdePkg/Library/UefiRuntimeServicesTableLib/UefiRuntimeServicesTableLib.inf
25   DxeServicesTableLib|MdePkg/Library/DxeServicesTableLib/DxeServicesTableLib.inf
26   UefiDriverEntryPoint|MdePkg/Library/UefiDriverEntryPoint/UefiDriverEntryPoint.inf
27   UefiRuntimeLib|MdePkg/Library/UefiRuntimeLib/UefiRuntimeLib.inf
28   UefiApplicationEntryPoint|MdePkg/Library/UefiApplicationEntryPoint/UefiApplicationEntryPoint.inf
29   ExtractGuidedSectionLib|MdePkg/Library/DxeExtractGuidedSectionLib/DxeExtractGuidedSectionLib.inf
30   PlatformBdsLib|DuetPkg/Library/DuetBdsLib/PlatformBds.inf
31   IfrSupportLib|MdeModulePkg/Library/UefiIfrSupportLib/UefiIfrSupportLib.inf
32   ExtendedIfrSupportLib|MdeModulePkg/Library/ExtendedIfrSupportLib/ExtendedIfrSupportLib.inf
33   GenericBdsLib|IntelFrameworkModulePkg/Library/GenericBdsLib/GenericBdsLib.inf
34   PerformanceLib|MdePkg/Library/BasePerformanceLibNull/BasePerformanceLibNull.inf
35   CapsuleLib|MdeModulePkg/Library/DxeCapsuleLibNull/DxeCapsuleLibNull.inf
36   DxeServicesLib|MdePkg/Library/DxeServicesLib/DxeServicesLib.inf
37   PeCoffGetEntryPointLib|MdePkg/Library/BasePeCoffGetEntryPointLib/BasePeCoffGetEntryPointLib.inf
38   DevicePathLib|MdePkg/Library/UefiDevicePathLib/UefiDevicePathLib.inf
39   CacheMaintenanceLib|MdePkg/Library/BaseCacheMaintenanceLib/BaseCacheMaintenanceLib.inf
40   PeCoffLib|MdePkg/Library/BasePeCoffLib/BasePeCoffLib.inf
41   PeCoffExtraActionLib|MdePkg/Library/BasePeCoffExtraActionLibNull/BasePeCoffExtraActionLibNull.inf
42   OemHookStatusCodeLib|IntelFrameworkModulePkg/Library/OemHookStatusCodeLibNull/OemHookStatusCodeLibNull.inf
43   IoLib|MdePkg/Library/BaseIoLibIntrinsic/BaseIoLibIntrinsic.inf
44   TimerLib|DuetPkg/Library/DuetTimerLib/DuetTimerLib.inf
45   UefiUsbLib|MdePkg/Library/UefiUsbLib/UefiUsbLib.inf
46   HobLib|MdePkg/Library/DxeHobLib/DxeHobLib.inf\r
47   MemoryAllocationLib|MdePkg/Library/UefiMemoryAllocationLib/UefiMemoryAllocationLib.inf\r
48   \r
49   #\r
50   # To save size, use NULL library for DebugLib and ReportStatusCodeLib.\r
51   # If need status code output, do library instance overriden as below DxeMain.inf does\r
52   #
53   DebugLib|MdePkg/Library/BaseDebugLibNull/BaseDebugLibNull.inf\r
54   ReportStatusCodeLib|MdePkg/Library/BaseReportStatusCodeLibNull/BaseReportStatusCodeLibNull.inf\r
55   \r
56 [LibraryClasses.common.DXE_CORE]
57   HobLib|MdePkg/Library/DxeCoreHobLib/DxeCoreHobLib.inf
58   DxeCoreEntryPoint|MdePkg/Library/DxeCoreEntryPoint/DxeCoreEntryPoint.inf
59   MemoryAllocationLib|MdeModulePkg/Library/DxeCoreMemoryAllocationLib/DxeCoreMemoryAllocationLib.inf
60   UefiDecompressLib|MdePkg/Library/BaseUefiDecompressLib/BaseUefiDecompressLib.inf
61   ExtractGuidedSectionLib|MdePkg/Library/DxeExtractGuidedSectionLib/DxeExtractGuidedSectionLib.inf
63 [PcdsFixedAtBuild]
64   gEfiMdePkgTokenSpaceGuid.PcdReportStatusCodePropertyMask|0x0
65   gEfiMdePkgTokenSpaceGuid.PcdDebugPropertyMask|0x0
66   gEfiMdePkgTokenSpaceGuid.PcdDebugPrintErrorLevel|0x0
68 ###################################################################################################
70 # Components Section - list of the modules and components that will be processed by compilation
71 #                      tools and the EDK II tools to generate PE32/PE32+/Coff image files.
73 # Note: The EDK II DSC file is not used to specify how compiled binary images get placed
74 #       into firmware volume images. This section is just a list of modules to compile from
75 #       source into UEFI-compliant binaries.
76 #       It is the FDF file that contains information on combining binary files into firmware
77 #       volume images, whose concept is beyond UEFI and is described in PI specification.
78 #       Binary modules do not need to be listed in this section, as they should be
79 #       specified in the FDF file. For example: Shell binary (Shell_Full.efi), FAT binary (Fat.efi),
80 #       Logo (Logo.bmp), and etc.
81 #       There may also be modules listed in this section that are not required in the FDF file,
82 #       When a module listed here is excluded from FDF file, then UEFI-compliant binary will be
83 #       generated for it, but the binary will not be put into any firmware volume.
85 ###################################################################################################
87 [Components.common]
88   DuetPkg/DxeIpl/DxeIpl.inf {
89     <LibraryClasses>\r
90       #
91       # If no following overriden for ReportStatusCodeLib library class, \r
92       # All other module can *not* output debug information even they are use not NULL library\r
93       # instance for DebugLib and ReportStatusCodeLib\r
94       #\r
95       ReportStatusCodeLib|IntelFrameworkModulePkg/Library/DxeReportStatusCodeLibFramework/DxeReportStatusCodeLib.inf
96   }
98   MdeModulePkg/Core/Dxe/DxeMain.inf {\r
99     #\r
100     # Enable debug output for DxeCore module, this is a sample for how to enable debug output\r
101     # for a module. If need turn on debug output for other module, please copy following overriden\r
102     # PCD and library instance to other module's override section.\r
103     #\r
104     <PcdsFixedAtBuild>\r
105       gEfiMdePkgTokenSpaceGuid.PcdReportStatusCodePropertyMask|0x07\r
106       gEfiMdePkgTokenSpaceGuid.PcdDebugPropertyMask|0x2F\r
107       gEfiMdePkgTokenSpaceGuid.PcdDebugPrintErrorLevel|0x80000042\r
108     <LibraryClasses>\r
109       DebugLib|IntelFrameworkModulePkg/Library/PeiDxeDebugLibReportStatusCode/PeiDxeDebugLibReportStatusCode.inf\r
110       ReportStatusCodeLib|DuetPkg/Library/DxeCoreReportStatusCodeLibFromHob/DxeCoreReportStatusCodeLibFromHob.inf\r
111       SerialPortLib|PcAtChipsetPkg/Library/SerialIoLib/SerialIoLib.inf\r
112   }\r
113   \r
114   MdeModulePkg/Universal/PCD/Dxe/Pcd.inf
115   MdeModulePkg/Universal/WatchdogTimerDxe/WatchdogTimer.inf
116   MdeModulePkg/Core/RuntimeDxe/RuntimeDxe.inf
117   MdeModulePkg/Universal/MonotonicCounterRuntimeDxe/MonotonicCounterRuntimeDxe.inf
119   DuetPkg/FSVariable/FSVariable.inf
120   MdeModulePkg/Universal/CapsuleRuntimeDxe/CapsuleRuntimeDxe.inf
121   MdeModulePkg/Universal/MemoryTest/NullMemoryTestDxe/NullMemoryTestDxe.inf
122   MdeModulePkg/Universal/SecurityStubDxe/SecurityStubDxe.inf
123   MdeModulePkg/Universal/Console/ConPlatformDxe/ConPlatformDxe.inf
124   MdeModulePkg/Universal/Console/ConSplitterDxe/ConSplitterDxe.inf {
125     <LibraryClasses>
126       PcdLib|MdePkg/Library/DxePcdLib/DxePcdLib.inf
127   }
128   MdeModulePkg/Universal/HiiDatabaseDxe/HiiDatabaseDxe.inf
129   MdeModulePkg/Universal/SetupBrowserDxe/SetupBrowserDxe.inf
131   IntelFrameworkModulePkg/Universal/DataHubDxe/DataHubDxe.inf
132   MdeModulePkg/Universal/Console/GraphicsConsoleDxe/GraphicsConsoleDxe.inf
133   MdeModulePkg/Universal/Console/TerminalDxe/TerminalDxe.inf
134   MdeModulePkg/Universal/DevicePathDxe/DevicePathDxe.inf
137   DuetPkg/DataHubGenDxe/DataHubGen.inf
138   #DuetPkg/FvbRuntimeService/DUETFwh.inf
139   DuetPkg/EfiLdr/EfiLdr.inf {
140     <LibraryClasses>
141       DebugLib|MdePkg/Library/BaseDebugLibNull/BaseDebugLibNull.inf
142   }
143   IntelFrameworkModulePkg/Universal/BdsDxe/BdsDxe.inf {
144     <LibraryClasses>
145       PcdLib|MdePkg/Library/DxePcdLib/DxePcdLib.inf
146   }
147   UefiCpuPkg/CpuIoDxe/CpuIo.inf
148   DuetPkg/CpuDxe/Cpu.inf
149   PcAtChipsetPkg/8259InterruptControllerDxe/8259.inf
150   PcAtChipsetPkg/KbcResetDxe/Reset.inf
151   DuetPkg/LegacyMetronome/Metronome.inf
153   PcAtChipsetPkg/PcRtc/RealTimeClock.inf
154   PcAtChipsetPkg/8254TimerDxe/8254Timer.inf
155   DuetPkg/PciRootBridgeNoEnumerationDxe/PciRootBridgeNoEnumeration.inf
156   DuetPkg/PciBusNoEnumerationDxe/PciBusNoEnumeration.inf
157   IntelFrameworkModulePkg/Bus/Pci/VgaMiniPortDxe/VgaMiniPortDxe.inf
158   IntelFrameworkModulePkg/Universal/Console/VgaClassDxe/VgaClassDxe.inf
160   # IDE Support
161   #IntelFrameworkModulePkg/Bus/Pci/IdeBusDxe/IdeBusDxe.inf
163   # Usb Support
164   MdeModulePkg/Bus/Pci/UhciDxe/UhciDxe.inf
165   MdeModulePkg/Bus/Usb/UsbBusDxe/UsbBusDxe.inf
166   MdeModulePkg/Bus/Usb/UsbKbDxe/UsbKbDxe.inf
167   MdeModulePkg/Bus/Usb/UsbMassStorageDxe/UsbMassStorageDxe.inf
169   # ISA Support
170   PcAtChipsetPkg/IsaAcpiDxe/IsaAcpi.inf
171   IntelFrameworkModulePkg/Bus/Isa/IsaBusDxe/IsaBusDxe.inf
172   IntelFrameworkModulePkg/Bus/Isa/IsaSerialDxe/IsaSerialDxe.inf
173   IntelFrameworkModulePkg/Bus/Isa/Ps2KeyboardDxe/Ps2keyboardDxe.inf
174   IntelFrameworkModulePkg/Bus/Isa/IsaFloppyDxe/IsaFloppyDxe.inf
176   MdeModulePkg/Universal/Disk/DiskIoDxe/DiskIoDxe.inf
177   MdeModulePkg/Universal/Disk/UnicodeCollation/EnglishDxe/EnglishDxe.inf
178   MdeModulePkg/Universal/Disk/PartitionDxe/PartitionDxe.inf
180   # Bios Thunk
181   DuetPkg/BiosVideoThunkDxe/BiosVideo.inf
183   #\r
184   # Sample Application\r
185   #\r
186   MdeModulePkg/Application/HelloWorld/HelloWorld.inf\r
187   
188 [Components.IA32]
189   DuetPkg/BootSector/BootSector.inf
191 [BuildOptions.common]
192   MSFT:*_*_*_CC_FLAGS = /FAsc /FR$(@R).SBR
193   MSFT:*_*_IA32_CC_FLAGS = /D EFI32
194   MSFT:*_*_X64_CC_FLAGS = /D EFIX64
195   MSFT:*_*_IPF_CC_FLAGS = /D EFI64