]> git.proxmox.com Git - mirror_edk2.git/blobdiff - InOsEmuPkg/Unix/UnixX64.dsc
Clarify the requirements for the Destination parameter of UnicodeStrToAsciiStr.
[mirror_edk2.git] / InOsEmuPkg / Unix / UnixX64.dsc
index ce9b088f2aff50676e965356a9c3e9480724b52e..50ad39d59f3ae22e9bd56719fe2ab4d048fe3414 100644 (file)
@@ -1,6 +1,6 @@
 ## @file\r
 #\r
-# EFI/Framework Emulation Platform with UEFI HII interface supported.\r
+# UEFI/PI Emulation Platform with UEFI HII interface supported.\r
 #\r
 # The Emulation Platform can be used to debug individual modules, prior to creating\r
 #       a real platform. This also provides an example for how an DSC is created.\r
   PLATFORM_GUID                  = 05FD064D-1073-E844-936C-A0E16317107D\r
   PLATFORM_VERSION               = 0.3\r
   DSC_ SPECIFICATION             = 0x00010005\r
+!if $(BUILD_32)\r
+  OUTPUT_DIRECTORY               = Build/EmuUnixIa32\r
+!else\r
   OUTPUT_DIRECTORY               = Build/EmuUnixX64\r
-  SUPPORTED_ARCHITECTURES        = X64\r
+!endif\r
+\r
+  SUPPORTED_ARCHITECTURES        = X64|IA32\r
   BUILD_TARGETS                  = DEBUG|RELEASE\r
   SKUID_IDENTIFIER               = DEFAULT\r
   FLASH_DEFINITION               = InOsEmuPkg/Unix/UnixX64.fdf\r
   DebugPrintErrorLevelLib|MdePkg/Library/BaseDebugPrintErrorLevelLib/BaseDebugPrintErrorLevelLib.inf\r
   PerformanceLib|MdePkg/Library/BasePerformanceLibNull/BasePerformanceLibNull.inf\r
   DebugAgentLib|MdeModulePkg/Library/DebugAgentLibNull/DebugAgentLibNull.inf\r
-  DebugLib|MdePkg/Library/BaseDebugLibSerialPort/BaseDebugLibSerialPort.inf\r
-\r
-####  DevicePathTextLib|InOsEmuPkg/Library/DevicePathTextLib/DevicePathTextLib.inf\r
   PeiServicesTablePointerLib|InOsEmuPkg/Library/PeiServicesTablePointerLibMagicPage/PeiServicesTablePointerLibMagicPage.inf\r
+  DebugLib|IntelFrameworkModulePkg/Library/PeiDxeDebugLibReportStatusCode/PeiDxeDebugLibReportStatusCode.inf\r
+\r
 \r
 [LibraryClasses.common.SEC]\r
   PeiServicesLib|InOsEmuPkg/Library/SecPeiServicesLib/SecPeiServicesLib.inf\r
   PeCoffExtraActionLib|InOsEmuPkg/Library/PeiEmuPeCoffExtraActionLib/PeiEmuPeCoffExtraActionLib.inf\r
   SerialPortLib|InOsEmuPkg/Library/PeiEmuSerialPortLib/PeiEmuSerialPortLib.inf\r
   PpiListLib|InOsEmuPkg/Library/SecPpiListLib/SecPpiListLib.inf\r
+  DebugLib|MdePkg/Library/BaseDebugLibSerialPort/BaseDebugLibSerialPort.inf\r
+  TimerLib|InOsEmuPkg/Library/PeiTimerLib/PeiTimerLib.inf\r
 \r
 [LibraryClasses.common.USER_DEFINED, LibraryClasses.common.BASE]\r
   DebugLib|MdePkg/Library/BaseDebugLibNull/BaseDebugLibNull.inf\r
   PpiListLib|InOsEmuPkg/Library/SecPpiListLib/SecPpiListLib.inf\r
   PeiServicesLib|InOsEmuPkg/Library/SecPeiServicesLib/SecPeiServicesLib.inf\r
 \r
-#  PeCoffExtraActionLib|InOsEmuPkg/Library/PeiEmuPeCoffExtraActionLib/PeiEmuPeCoffExtraActionLib.inf\r
-\r
 \r
 [LibraryClasses.common.PEIM, LibraryClasses.common.PEI_CORE]\r
   HobLib|MdePkg/Library/PeiHobLib/PeiHobLib.inf\r
   PeCoffExtraActionLib|InOsEmuPkg/Library/PeiEmuPeCoffExtraActionLib/PeiEmuPeCoffExtraActionLib.inf\r
   ExtractGuidedSectionLib|MdePkg/Library/PeiExtractGuidedSectionLib/PeiExtractGuidedSectionLib.inf\r
   SerialPortLib|InOsEmuPkg/Library/PeiEmuSerialPortLib/PeiEmuSerialPortLib.inf\r
+  ReportStatusCodeLib|MdeModulePkg/Library/PeiReportStatusCodeLib/PeiReportStatusCodeLib.inf\r
+  TimerLib|InOsEmuPkg/Library/PeiTimerLib/PeiTimerLib.inf\r
 \r
 [LibraryClasses.common.PEI_CORE]\r
   PcdLib|MdePkg/Library/BasePcdLibNull/BasePcdLibNull.inf\r
   PeCoffExtraActionLib|InOsEmuPkg/Library/DxeEmuPeCoffExtraActionLib/DxeEmuPeCoffExtraActionLib.inf\r
   ExtractGuidedSectionLib|MdePkg/Library/DxeExtractGuidedSectionLib/DxeExtractGuidedSectionLib.inf\r
   PcdLib|MdePkg/Library/BasePcdLibNull/BasePcdLibNull.inf\r
+  TimerLib|InOsEmuPkg/Library/DxeCoreTimerLib/DxeCoreTimerLib.inf\r
+  EmuThunkLib|InOsEmuPkg/Library/DxeEmuLib/DxeEmuLib.inf\r
 \r
 [LibraryClasses.common.DXE_RUNTIME_DRIVER, LibraryClasses.common.UEFI_DRIVER, LibraryClasses.common.DXE_DRIVER, LibraryClasses.common.UEFI_APPLICATION]\r
   HobLib|MdePkg/Library/DxeHobLib/DxeHobLib.inf\r
   ReportStatusCodeLib|MdeModulePkg/Library/DxeReportStatusCodeLib/DxeReportStatusCodeLib.inf\r
   EmuThunkLib|InOsEmuPkg/Library/DxeEmuLib/DxeEmuLib.inf\r
   PeCoffExtraActionLib|InOsEmuPkg/Library/DxeEmuPeCoffExtraActionLib/DxeEmuPeCoffExtraActionLib.inf\r
+  ReportStatusCodeLib|MdeModulePkg/Library/DxeReportStatusCodeLib/DxeReportStatusCodeLib.inf\r
+  TimerLib|InOsEmuPkg/Library/DxeTimerLib/DxeTimerLib.inf\r
 \r
 [LibraryClasses.common.UEFI_DRIVER]\r
   PcdLib|MdePkg/Library/DxePcdLib/DxePcdLib.inf\r
   \r
   gInOsEmuPkgTokenSpaceGuid.PcdEmuApCount|L"1"\r
 \r
+  # For a CD-ROM/DVD use L"diag.dmg:RO:2048"\r
   gInOsEmuPkgTokenSpaceGuid.PcdEmuVirtualDisk|L"disk.dmg:FW"\r
   gInOsEmuPkgTokenSpaceGuid.PcdEmuGop|L"GOP Window"\r
   gInOsEmuPkgTokenSpaceGuid.PcdEmuFileSystem|L".!../../../../EdkShellBinPkg/Bin"\r
 #       generated for it, but the binary will not be put into any firmware volume.\r
 #\r
 ###################################################################################################\r
+\r
+!ifndef $(SKIP_MAIN_BUILD)\r
+[Components.X64]\r
+  MdeModulePkg/Core/DxeIplPeim/DxeIpl.inf {\r
+    <LibraryClasses>\r
+      # turn off CR3 write so that DXE IPL will not crash emulator\r
+      BaseLib|UnixPkg/Library/UnixBaseLib/UnixBaseLib.inf\r
+  }\r
+\r
+[Components.IA32]\r
+  MdeModulePkg/Core/DxeIplPeim/DxeIpl.inf \r
+!endif\r
+\r
 [Components]\r
-!if $(SEC_ONLY)\r
+!ifdef $(UNIX_SEC_BUILD)\r
   ##\r
-  #  SEC Phase modules\r
+  #  Emulator, OS POSIX application\r
   ##\r
   InOsEmuPkg/Unix/Sec/SecMain.inf\r
-!else\r
+!endif\r
+\r
+!ifndef $(SKIP_MAIN_BUILD)\r
   #\r
   # Generic SEC\r
   #\r
   InOsEmuPkg/FirmwareVolumePei/FirmwareVolumePei.inf\r
   InOsEmuPkg/FlashMapPei/FlashMapPei.inf\r
   InOsEmuPkg/ThunkPpiToProtocolPei/ThunkPpiToProtocolPei.inf\r
-  MdeModulePkg/Core/DxeIplPeim/DxeIpl.inf {\r
-    <LibraryClasses>\r
-      # turn off CR3 write so that DXE IPL will not crash emulator\r
-      BaseLib|UnixPkg/Library/UnixBaseLib/UnixBaseLib.inf\r
-  }\r
 \r
   ##\r
   #  DXE Phase modules\r
   ##\r
   MdeModulePkg/Core/Dxe/DxeMain.inf {\r
     <LibraryClasses>\r
+      DebugLib|MdePkg/Library/BaseDebugLibSerialPort/BaseDebugLibSerialPort.inf\r
       NULL|MdeModulePkg/Library/DxeCrc32GuidedSectionExtractLib/DxeCrc32GuidedSectionExtractLib.inf\r
       NULL|IntelFrameworkModulePkg/Library/LzmaCustomDecompressLib/LzmaCustomDecompressLib.inf\r
   }\r
   MdeModulePkg/Universal/ReportStatusCodeRouter/RuntimeDxe/ReportStatusCodeRouterRuntimeDxe.inf\r
   MdeModulePkg/Universal/StatusCodeHandler/RuntimeDxe/StatusCodeHandlerRuntimeDxe.inf {\r
    <LibraryClasses>\r
+      DebugLib|MdePkg/Library/BaseDebugLibSerialPort/BaseDebugLibSerialPort.inf\r
       SerialPortLib|InOsEmuPkg/Library/DxeEmuStdErrSerialPortLib/DxeEmuStdErrSerialPortLib.inf    \r
   }\r
 \r
-  InOsEmuPkg/MetronomeDxe/Metronome.inf\r
+  MdeModulePkg/Universal/Metronome/Metronome.inf\r
   InOsEmuPkg/RealTimeClockRuntimeDxe/RealTimeClock.inf\r
   InOsEmuPkg/ResetRuntimeDxe/Reset.inf\r
   MdeModulePkg/Core/RuntimeDxe/RuntimeDxe.inf\r
   \r
   MdeModulePkg/Universal/Console/TerminalDxe/TerminalDxe.inf\r
   IntelFrameworkModulePkg/Universal/BdsDxe/BdsDxe.inf\r
-  MdeModulePkg/Universal/DevicePathDxe/DevicePathDxe.inf\r
+  MdeModulePkg/Universal/DevicePathDxe/DevicePathDxe.inf \r
+  #{\r
+  #  <LibraryClasses>  \r
+  #    NULL|InOsEmuPkg/Library/DevicePathTextLib/DevicePathTextLib.inf\r
+  #}\r
+  \r
   MdeModulePkg/Universal/Disk/DiskIoDxe/DiskIoDxe.inf\r
   MdeModulePkg/Universal/Disk/PartitionDxe/PartitionDxe.inf\r
   MdeModulePkg/Universal/Disk/UnicodeCollation/EnglishDxe/EnglishDxe.inf\r
   InOsEmuPkg/EmuGopDxe/EmuGopDxe.inf\r
   InOsEmuPkg/EmuSimpleFileSystemDxe/EmuSimpleFileSystemDxe.inf\r
   InOsEmuPkg/EmuBlockIoDxe/EmuBlockIoDxe.inf\r
+  InOsEmuPkg/EmuSnpDxe/EmuSnpDxe.inf\r
 \r
   MdeModulePkg/Application/HelloWorld/HelloWorld.inf\r
 \r
   #\r
   # Network stack drivers\r
   #\r
-!if $(NETWORK_SUPPORT) \r
-  InOsEmuPkg/EmuSnpDxe/EmuSnpDxe.inf\r
-!endif\r
   MdeModulePkg/Universal/Network/DpcDxe/DpcDxe.inf\r
   MdeModulePkg/Universal/Network/ArpDxe/ArpDxe.inf\r
   MdeModulePkg/Universal/Network/Dhcp4Dxe/Dhcp4Dxe.inf\r
       ShellLib|ShellPkg/Library/UefiShellLib/UefiShellLib.inf\r
       SortLib|ShellPkg/Library/UefiSortLib/UefiSortLib.inf\r
       PrintLib|MdePkg/Library/BasePrintLib/BasePrintLib.inf\r
+      MemoryAllocationLib|InOsEmuPkg/Library/GuardUefiMemoryAllocationLib/GuardUefiMemoryAllocationLib.inf\r
+      SafeBlockIoLib|ShellPkg/Library/SafeBlockIoLib/SafeBlockIoLib.inf\r
+      SafeOpenProtocolLib|ShellPkg/Library/SafeOpenProtocolLib/SafeOpenProtocolLib.inf\r
+\r
     <PcdsFixedAtBuild>\r
       gEfiMdePkgTokenSpaceGuid.PcdDebugPropertyMask|0xFF\r
       gEfiShellPkgTokenSpaceGuid.PcdShellLibAutoInitialize|FALSE\r
   }\r
 !endif\r
 \r
-!endif  \r
+!endif\r
+\r