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