]> git.proxmox.com Git - mirror_edk2.git/blobdiff - DuetPkg/DuetPkg.dsc
1. Correct File header to ## @file
[mirror_edk2.git] / DuetPkg / DuetPkg.dsc
index ca120502dcc03ad38bf430b32128789ea24b5ebb..aab4f006330d72bfb40d09ee98f29f5167e2373c 100644 (file)
@@ -1,3 +1,20 @@
+## @file\r
+#  An EFI/Framework Emulation Platform with UEFI HII interface supported. \r
+#\r
+#  Developer's UEFI Emulation. DUET provides an EFI/UEFI IA32/X64 environment on legacy BIOS, \r
+#  to help developing and debugging native EFI/UEFI drivers.\r
+#  \r
+#  Copyright (c) 2010 - 2010, Intel Corporation. All rights reserved. <BR>\r
+#\r
+#  This program and the accompanying materials\r
+#  are licensed and made available under the terms and conditions of the BSD License\r
+#  which accompanies this distribution. The full text of the license may be found at\r
+#  http://opensource.org/licenses/bsd-license.php\r
+#\r
+#  THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
+#  WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
+#\r
+##\r
 \r
 [Defines]\r
   PLATFORM_NAME                  = DuetPkg\r
   SKUID_IDENTIFIER               = DEFAULT\r
   FLASH_DEFINITION               = DuetPkg/DuetPkg.fdf\r
 \r
-[LibraryClasses.common]\r
+[LibraryClasses]\r
   BaseLib|MdePkg/Library/BaseLib/BaseLib.inf\r
-  DebugLib|IntelFrameworkModulePkg/Library/PeiDxeDebugLibReportStatusCode/PeiDxeDebugLibReportStatusCode.inf\r
+  SynchronizationLib|MdePkg/Library/BaseSynchronizationLib/BaseSynchronizationLib.inf\r
   BaseMemoryLib|MdePkg/Library/BaseMemoryLib/BaseMemoryLib.inf\r
   PcdLib|MdePkg/Library/BasePcdLibNull/BasePcdLibNull.inf\r
   PrintLib|MdePkg/Library/BasePrintLib/BasePrintLib.inf\r
   PeimEntryPoint|MdePkg/Library/PeimEntryPoint/PeimEntryPoint.inf\r
-  ReportStatusCodeLib|DuetPkg/Library/DuetDxeReportStatusCodeLib/DuetDxeReportStatusCodeLib.inf\r
   UefiLib|MdePkg/Library/UefiLib/UefiLib.inf\r
   UefiBootServicesTableLib|MdePkg/Library/UefiBootServicesTableLib/UefiBootServicesTableLib.inf\r
   UefiDriverEntryPoint|MdePkg/Library/UefiDriverEntryPoint/UefiDriverEntryPoint.inf\r
+  UefiHiiServicesLib|MdeModulePkg/Library/UefiHiiServicesLib/UefiHiiServicesLib.inf\r
   HiiLib|MdeModulePkg/Library/UefiHiiLib/UefiHiiLib.inf\r
   UefiRuntimeServicesTableLib|MdePkg/Library/UefiRuntimeServicesTableLib/UefiRuntimeServicesTableLib.inf\r
-  DevicePathLib|MdePkg/Library/UefiDevicePathLib/UefiDevicePathLib.inf\r
   DxeServicesTableLib|MdePkg/Library/DxeServicesTableLib/DxeServicesTableLib.inf\r
-  DevicePathLib|MdePkg/Library/UefiDevicePathLib/UefiDevicePathLib.inf\r
   UefiDriverEntryPoint|MdePkg/Library/UefiDriverEntryPoint/UefiDriverEntryPoint.inf\r
   UefiRuntimeLib|MdePkg/Library/UefiRuntimeLib/UefiRuntimeLib.inf\r
   UefiApplicationEntryPoint|MdePkg/Library/UefiApplicationEntryPoint/UefiApplicationEntryPoint.inf\r
   ExtractGuidedSectionLib|MdePkg/Library/DxeExtractGuidedSectionLib/DxeExtractGuidedSectionLib.inf\r
   PlatformBdsLib|DuetPkg/Library/DuetBdsLib/PlatformBds.inf\r
-  IfrSupportLib|MdeModulePkg/Library/UefiIfrSupportLib/UefiIfrSupportLib.inf\r
-  ExtendedIfrSupportLib|MdeModulePkg/Library/ExtendedIfrSupportLib/ExtendedIfrSupportLib.inf\r
   GenericBdsLib|IntelFrameworkModulePkg/Library/GenericBdsLib/GenericBdsLib.inf\r
   PerformanceLib|MdePkg/Library/BasePerformanceLibNull/BasePerformanceLibNull.inf\r
-  ExtendedHiiLib|MdeModulePkg/Library/ExtendedHiiLib/ExtendedHiiLib.inf\r
   CapsuleLib|MdeModulePkg/Library/DxeCapsuleLibNull/DxeCapsuleLibNull.inf\r
   DxeServicesLib|MdePkg/Library/DxeServicesLib/DxeServicesLib.inf\r
   PeCoffGetEntryPointLib|MdePkg/Library/BasePeCoffGetEntryPointLib/BasePeCoffGetEntryPointLib.inf\r
   DevicePathLib|MdePkg/Library/UefiDevicePathLib/UefiDevicePathLib.inf\r
   CacheMaintenanceLib|MdePkg/Library/BaseCacheMaintenanceLib/BaseCacheMaintenanceLib.inf\r
   PeCoffLib|MdePkg/Library/BasePeCoffLib/BasePeCoffLib.inf\r
-  OemHookStatusCodeLib|IntelFrameworkModulePkg/Library/OemHookStatusCodeLibNull/OemHookStatusCodeLibNull.inf\r
-  PrintLib|MdePkg/Library/BasePrintLib/BasePrintLib.inf\r
+  PeCoffExtraActionLib|MdePkg/Library/BasePeCoffExtraActionLibNull/BasePeCoffExtraActionLibNull.inf\r
+  OemHookStatusCodeLib|MdeModulePkg/Library/OemHookStatusCodeLibNull/OemHookStatusCodeLibNull.inf\r
   IoLib|MdePkg/Library/BaseIoLibIntrinsic/BaseIoLibIntrinsic.inf\r
+  PciLib|MdePkg/Library/BasePciLibCf8/BasePciLibCf8.inf\r
+  PciCf8Lib|MdePkg/Library/BasePciCf8Lib/BasePciCf8Lib.inf\r
   TimerLib|DuetPkg/Library/DuetTimerLib/DuetTimerLib.inf\r
   UefiUsbLib|MdePkg/Library/UefiUsbLib/UefiUsbLib.inf\r
   HobLib|MdePkg/Library/DxeHobLib/DxeHobLib.inf\r
-  \r
-[LibraryClasses.common.DXE_DRIVER]\r
   MemoryAllocationLib|MdePkg/Library/UefiMemoryAllocationLib/UefiMemoryAllocationLib.inf\r
-  HobLib|MdePkg/Library/DxeHobLib/DxeHobLib.inf\r
-  SerialPortLib|DuetPkg/Library/DuetSerialIoLib/DuetSerialIoLib.inf\r
-  MemoryAllocationLib|MdePkg/Library/UefiMemoryAllocationLib/UefiMemoryAllocationLib.inf\r
-  IoLib|MdePkg/Library/BaseIoLibIntrinsic/BaseIoLibIntrinsic.inf\r
-  UefiUsbLib|MdePkg/Library/UefiUsbLib/UefiUsbLib.inf\r
-  DebugLib|IntelFrameworkModulePkg/Library/PeiDxeDebugLibReportStatusCode/PeiDxeDebugLibReportStatusCode.inf\r
-\r
+  SecurityManagementLib|MdeModulePkg/Library/DxeSecurityManagementLib/DxeSecurityManagementLib.inf\r
+  \r
+  #\r
+  # To save size, use NULL library for DebugLib and ReportStatusCodeLib.\r
+  # If need status code output, do library instance overriden as below DxeMain.inf does\r
+  #\r
+  DebugLib|MdePkg/Library/BaseDebugLibNull/BaseDebugLibNull.inf\r
+  ReportStatusCodeLib|MdePkg/Library/BaseReportStatusCodeLibNull/BaseReportStatusCodeLibNull.inf\r
+  \r
 [LibraryClasses.common.DXE_CORE]\r
   HobLib|MdePkg/Library/DxeCoreHobLib/DxeCoreHobLib.inf\r
-  PeCoffLib|MdePkg/Library/BasePeCoffLib/BasePeCoffLib.inf\r
   DxeCoreEntryPoint|MdePkg/Library/DxeCoreEntryPoint/DxeCoreEntryPoint.inf\r
   MemoryAllocationLib|MdeModulePkg/Library/DxeCoreMemoryAllocationLib/DxeCoreMemoryAllocationLib.inf\r
   UefiDecompressLib|MdePkg/Library/BaseUefiDecompressLib/BaseUefiDecompressLib.inf\r
-  DebugLib|IntelFrameworkModulePkg/Library/PeiDxeDebugLibReportStatusCode/PeiDxeDebugLibReportStatusCode.inf\r
-  ReportStatusCodeLib|DuetPkg/Library/DuetDxeReportStatusCodeLib/DuetDxeReportStatusCodeLib.inf\r
-  SerialPortLib|DuetPkg/Library/DuetSerialIoLib/DuetSerialIoLib.inf\r
-  PcdLib|MdePkg/Library/BasePcdLibNull/BasePcdLibNull.inf\r
   ExtractGuidedSectionLib|MdePkg/Library/DxeExtractGuidedSectionLib/DxeExtractGuidedSectionLib.inf\r
-  \r
-  \r
-[LibraryClasses.common.DXE_RUNTIME_DRIVER]\r
-  MemoryAllocationLib|MdePkg/Library/UefiMemoryAllocationLib/UefiMemoryAllocationLib.inf\r
-  HobLib|MdePkg/Library/DxeHobLib/DxeHobLib.inf\r
-  SerialPortLib|DuetPkg/Library/DuetSerialIoLib/DuetSerialIoLib.inf\r
-  IoLib|MdePkg/Library/BaseIoLibIntrinsic/BaseIoLibIntrinsic.inf\r
-  DebugLib|IntelFrameworkModulePkg/Library/PeiDxeDebugLibReportStatusCode/PeiDxeDebugLibReportStatusCode.inf\r
-\r
-[LibraryClasses.common.UEFI_DRIVER]\r
-  MemoryAllocationLib|MdePkg/Library/UefiMemoryAllocationLib/UefiMemoryAllocationLib.inf\r
-  SerialPortLib|DuetPkg/Library/DuetSerialIoLib/DuetSerialIoLib.inf\r
-  DebugLib|IntelFrameworkModulePkg/Library/PeiDxeDebugLibReportStatusCode/PeiDxeDebugLibReportStatusCode.inf\r
-\r
-[LibraryClasses.common.UEFI_APPLICATION]\r
-  MemoryAllocationLib|MdePkg/Library/UefiMemoryAllocationLib/UefiMemoryAllocationLib.inf\r
-  SerialPortLib|DuetPkg/Library/DuetSerialIoLib/DuetSerialIoLib.inf\r
-  DebugLib|IntelFrameworkModulePkg/Library/PeiDxeDebugLibReportStatusCode/PeiDxeDebugLibReportStatusCode.inf\r
 \r
 [PcdsFixedAtBuild]\r
-  gEfiMdePkgTokenSpaceGuid.PcdReportStatusCodePropertyMask|0x07\r
-  gEfiMdePkgTokenSpaceGuid.PcdDebugPropertyMask|0x2F\r
-  \r
-[PcdsPatchableInModule]\r
-  gEfiMdePkgTokenSpaceGuid.PcdDebugPrintErrorLevel|0x80000042\r
-  gEfiIntelFrameworkModulePkgTokenSpaceGuid.PcdStatusCodeMemorySize|1\r
-  gEfiSioTokenSpaceGuid.PcdSerialRegisterBase|0x3F8\r
-  gEfiSioTokenSpaceGuid.PcdSerialLineControl|0x07\r
-  gEfiSioTokenSpaceGuid.PcdSerialBoudRate|115200\r
-  gEfiMdePkgTokenSpaceGuid.PcdDebugPropertyMask|0x2F\r
+  gEfiMdePkgTokenSpaceGuid.PcdReportStatusCodePropertyMask|0x0\r
+  gEfiMdePkgTokenSpaceGuid.PcdDebugPropertyMask|0x0\r
+  gEfiMdePkgTokenSpaceGuid.PcdDebugPrintErrorLevel|0x0\r
 \r
 [PcdsFeatureFlag]\r
-  gEfiIntelFrameworkModulePkgTokenSpaceGuid.PcdStatusCodeUseHardSerial|TRUE\r
+  gEfiMdeModulePkgTokenSpaceGuid.PcdTurnOffUsbLegacySupport|TRUE\r
+\r
+[PcdsDynamicHii.common.DEFAULT]\r
+  gEfiIntelFrameworkModulePkgTokenSpaceGuid.PcdPlatformBootTimeOut|L"Timeout"|gEfiGlobalVariableGuid|0x0|10 # Variable: L"Timeout"\r
+  gEfiMdeModulePkgTokenSpaceGuid.PcdConOutColumn|L"ConOutConfig"|gDuetConsoleOutConfigGuid|0x0|80\r
+  gEfiMdeModulePkgTokenSpaceGuid.PcdConOutRow|L"ConOutConfig"|gDuetConsoleOutConfigGuid|0x4|25\r
+\r
+###################################################################################################\r
+#\r
+# Components Section - list of the modules and components that will be processed by compilation\r
+#                      tools and the EDK II tools to generate PE32/PE32+/Coff image files.\r
+#\r
+# Note: The EDK II DSC file is not used to specify how compiled binary images get placed\r
+#       into firmware volume images. This section is just a list of modules to compile from\r
+#       source into UEFI-compliant binaries.\r
+#       It is the FDF file that contains information on combining binary files into firmware\r
+#       volume images, whose concept is beyond UEFI and is described in PI specification.\r
+#       Binary modules do not need to be listed in this section, as they should be\r
+#       specified in the FDF file. For example: Shell binary (Shell_Full.efi), FAT binary (Fat.efi),\r
+#       Logo (Logo.bmp), and etc.\r
+#       There may also be modules listed in this section that are not required in the FDF file,\r
+#       When a module listed here is excluded from FDF file, then UEFI-compliant binary will be\r
+#       generated for it, but the binary will not be put into any firmware volume.\r
+#\r
+###################################################################################################\r
 \r
-[Components.common]\r
+[Components]\r
   DuetPkg/DxeIpl/DxeIpl.inf {\r
     <LibraryClasses>\r
-      DebugLib|MdePkg/Library/BaseDebugLibNull/BaseDebugLibNull.inf\r
+      #\r
+      # If no following overriden for ReportStatusCodeLib library class, \r
+      # All other module can *not* output debug information even they are use not NULL library\r
+      # instance for DebugLib and ReportStatusCodeLib\r
+      #\r
+      ReportStatusCodeLib|MdeModulePkg/Library/DxeReportStatusCodeLib/DxeReportStatusCodeLib.inf\r
   }\r
 \r
-  MdeModulePkg/Core/Dxe/DxeMain.inf\r
+  MdeModulePkg/Core/Dxe/DxeMain.inf {\r
+    #\r
+    # Enable debug output for DxeCore module, this is a sample for how to enable debug output\r
+    # for a module. If need turn on debug output for other module, please copy following overriden\r
+    # PCD and library instance to other module's override section.\r
+    #\r
+    <PcdsFixedAtBuild>\r
+      gEfiMdePkgTokenSpaceGuid.PcdReportStatusCodePropertyMask|0x07\r
+      gEfiMdePkgTokenSpaceGuid.PcdDebugPropertyMask|0x2F\r
+      gEfiMdePkgTokenSpaceGuid.PcdDebugPrintErrorLevel|0x80000042\r
+    <LibraryClasses>\r
+      DebugLib|IntelFrameworkModulePkg/Library/PeiDxeDebugLibReportStatusCode/PeiDxeDebugLibReportStatusCode.inf\r
+      ReportStatusCodeLib|DuetPkg/Library/DxeCoreReportStatusCodeLibFromHob/DxeCoreReportStatusCodeLibFromHob.inf\r
+      SerialPortLib|PcAtChipsetPkg/Library/SerialIoLib/SerialIoLib.inf\r
+  }\r
+  \r
+  MdeModulePkg/Universal/PCD/Dxe/Pcd.inf\r
   MdeModulePkg/Universal/WatchdogTimerDxe/WatchdogTimer.inf\r
   MdeModulePkg/Core/RuntimeDxe/RuntimeDxe.inf\r
   MdeModulePkg/Universal/MonotonicCounterRuntimeDxe/MonotonicCounterRuntimeDxe.inf\r
-  \r
+\r
   DuetPkg/FSVariable/FSVariable.inf\r
   MdeModulePkg/Universal/CapsuleRuntimeDxe/CapsuleRuntimeDxe.inf\r
   MdeModulePkg/Universal/MemoryTest/NullMemoryTestDxe/NullMemoryTestDxe.inf\r
   MdeModulePkg/Universal/SecurityStubDxe/SecurityStubDxe.inf\r
-  IntelFrameworkModulePkg/Universal/StatusCode/Dxe/DxeStatusCode.inf \r
   MdeModulePkg/Universal/Console/ConPlatformDxe/ConPlatformDxe.inf\r
-  MdeModulePkg/Universal/Console/ConSplitterDxe/ConSplitterDxe.inf\r
+  MdeModulePkg/Universal/Console/ConSplitterDxe/ConSplitterDxe.inf {\r
+    <LibraryClasses>\r
+      PcdLib|MdePkg/Library/DxePcdLib/DxePcdLib.inf\r
+  }\r
   MdeModulePkg/Universal/HiiDatabaseDxe/HiiDatabaseDxe.inf\r
   MdeModulePkg/Universal/SetupBrowserDxe/SetupBrowserDxe.inf\r
 \r
   MdeModulePkg/Universal/Console/GraphicsConsoleDxe/GraphicsConsoleDxe.inf\r
   MdeModulePkg/Universal/Console/TerminalDxe/TerminalDxe.inf\r
   MdeModulePkg/Universal/DevicePathDxe/DevicePathDxe.inf\r
-  \r
-  \r
-  DuetPkg/DataHubGenDxe/DataHubGen.inf\r
+  MdeModulePkg/Universal/SmbiosDxe/SmbiosDxe.inf\r
+\r
+\r
+  DuetPkg/SmbiosGenDxe/SmbiosGen.inf\r
   #DuetPkg/FvbRuntimeService/DUETFwh.inf\r
   DuetPkg/EfiLdr/EfiLdr.inf {\r
     <LibraryClasses>\r
       DebugLib|MdePkg/Library/BaseDebugLibNull/BaseDebugLibNull.inf\r
+      NULL|IntelFrameworkModulePkg/Library/LzmaCustomDecompressLib/LzmaCustomDecompressLib.inf\r
   }\r
-  MdeModulePkg/Universal/BdsDxe/BdsDxe.inf\r
-  DuetPkg/CpuIoDxe/CpuIo.inf\r
+  IntelFrameworkModulePkg/Universal/BdsDxe/BdsDxe.inf {\r
+    <LibraryClasses>\r
+      PcdLib|MdePkg/Library/DxePcdLib/DxePcdLib.inf\r
+  }\r
+  MdeModulePkg/Universal/EbcDxe/EbcDxe.inf\r
+  UefiCpuPkg/CpuIo2Dxe/CpuIo2Dxe.inf\r
   DuetPkg/CpuDxe/Cpu.inf\r
-  IntelFrameworkModulePkg/Universal/Legacy8259Dxe/8259.inf\r
-  DuetPkg/KbcResetDxe/Reset.inf\r
+  PcAtChipsetPkg/8259InterruptControllerDxe/8259.inf\r
+  DuetPkg/AcpiResetDxe/Reset.inf\r
   DuetPkg/LegacyMetronome/Metronome.inf\r
 \r
-  DuetPkg/PcRtc/RealTimeClock.inf\r
-  DuetPkg/8254TimerDxe/8254Timer.inf\r
+  PcAtChipsetPkg/PcatRealTimeClockRuntimeDxe/PcatRealTimeClockRuntimeDxe.inf\r
+  PcAtChipsetPkg/8254TimerDxe/8254Timer.inf\r
   DuetPkg/PciRootBridgeNoEnumerationDxe/PciRootBridgeNoEnumeration.inf\r
   DuetPkg/PciBusNoEnumerationDxe/PciBusNoEnumeration.inf\r
   IntelFrameworkModulePkg/Bus/Pci/VgaMiniPortDxe/VgaMiniPortDxe.inf\r
   IntelFrameworkModulePkg/Universal/Console/VgaClassDxe/VgaClassDxe.inf\r
-  \r
+\r
   # IDE Support\r
-  #IntelFrameworkModulePkg/Bus/Pci/IdeBusDxe/IdeBusDxe.inf\r
+  IntelFrameworkModulePkg/Bus/Pci/IdeBusDxe/IdeBusDxe.inf\r
+  PcAtChipsetPkg/Bus/Pci/IdeControllerDxe/IdeControllerDxe.inf\r
   \r
   # Usb Support\r
   MdeModulePkg/Bus/Pci/UhciDxe/UhciDxe.inf\r
+  MdeModulePkg/Bus/Pci/EhciDxe/EhciDxe.inf\r
   MdeModulePkg/Bus/Usb/UsbBusDxe/UsbBusDxe.inf\r
   MdeModulePkg/Bus/Usb/UsbKbDxe/UsbKbDxe.inf\r
   MdeModulePkg/Bus/Usb/UsbMassStorageDxe/UsbMassStorageDxe.inf\r
-  \r
+\r
   # ISA Support\r
-  DuetPkg/IsaAcpiDxe/IsaAcpi.inf\r
+  PcAtChipsetPkg/IsaAcpiDxe/IsaAcpi.inf\r
   IntelFrameworkModulePkg/Bus/Isa/IsaBusDxe/IsaBusDxe.inf\r
   IntelFrameworkModulePkg/Bus/Isa/IsaSerialDxe/IsaSerialDxe.inf\r
   IntelFrameworkModulePkg/Bus/Isa/Ps2KeyboardDxe/Ps2keyboardDxe.inf\r
   MdeModulePkg/Universal/Disk/DiskIoDxe/DiskIoDxe.inf\r
   MdeModulePkg/Universal/Disk/UnicodeCollation/EnglishDxe/EnglishDxe.inf\r
   MdeModulePkg/Universal/Disk/PartitionDxe/PartitionDxe.inf\r
-  \r
-[Components.IA32]  \r
-  DuetPkg/BootSector/BootSector.inf\r
-  \r
-[BuildOptions.common]\r
+\r
+  # Bios Thunk\r
+  DuetPkg/BiosVideoThunkDxe/BiosVideo.inf\r
+\r
+  #\r
+  # Sample Application\r
+  #\r
+  MdeModulePkg/Application/HelloWorld/HelloWorld.inf\r
+\r
+[BuildOptions]\r
   MSFT:*_*_*_CC_FLAGS = /FAsc /FR$(@R).SBR\r
-  MSFT:*_*_IA32_CC_FLAGS = /D EFI32\r
-  MSFT:*_*_X64_CC_FLAGS = /D EFIX64\r
-  MSFT:*_*_IPF_CC_FLAGS = /D EFI64\r
-  
\ No newline at end of file
+\r