## @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
PerformanceLib|MdePkg/Library/BasePerformanceLibNull/BasePerformanceLibNull.inf\r
DebugAgentLib|MdeModulePkg/Library/DebugAgentLibNull/DebugAgentLibNull.inf\r
DebugLib|MdePkg/Library/BaseDebugLibSerialPort/BaseDebugLibSerialPort.inf\r
-\r
+ PeiServicesTablePointerLib|InOsEmuPkg/Library/PeiServicesTablePointerLibMagicPage/PeiServicesTablePointerLibMagicPage.inf\r
\r
[LibraryClasses.common.SEC]\r
PeiServicesLib|InOsEmuPkg/Library/SecPeiServicesLib/SecPeiServicesLib.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
\r
[LibraryClasses.common.PEI_CORE]\r
PcdLib|MdePkg/Library/BasePcdLibNull/BasePcdLibNull.inf\r
- PeiServicesTablePointerLib|InOsEmuPkg/Library/PeiCoreServicesTablePointerLib/PeiCoreServicesTablePointerLib.inf\r
\r
[LibraryClasses.common.PEIM]\r
PcdLib|MdePkg/Library/PeiPcdLib/PeiPcdLib.inf\r
- PeiServicesTablePointerLib|InOsEmuPkg/Library/PeiServicesTablePointerLib/PeiServicesTablePointerLib.inf\r
\r
[LibraryClasses.common.DXE_CORE]\r
HobLib|MdePkg/Library/DxeCoreHobLib/DxeCoreHobLib.inf\r
\r
gInOsEmuPkgTokenSpaceGuid.PcdEmuApCount|L"1"\r
\r
- gInOsEmuPkgTokenSpaceGuid.PcdEmuPhysicalDisk|L"E:RW;245760;512"\r
- gInOsEmuPkgTokenSpaceGuid.PcdEmuVirtualDisk|L"FW;40960;512"\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
gInOsEmuPkgTokenSpaceGuid.PcdEmuSerialPort|L"/dev/ttyS0"\r
gInOsEmuPkgTokenSpaceGuid.PcdEmuCpuModel|L"Intel(R) Processor Model"\r
gInOsEmuPkgTokenSpaceGuid.PcdEmuCpuSpeed|L"3000"\r
\r
+ # 0-PCANSI, 1-VT100, 2-VT00+, 3-UTF8\r
+ gEfiMdePkgTokenSpaceGuid.PcdDefaultTerminalType|1\r
+\r
################################################################################\r
#\r
# Pcd Dynamic Section - list of all EDK II PCD Entries defined by this Platform\r
# generated for it, but the binary will not be put into any firmware volume.\r
#\r
###################################################################################################\r
+\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
+\r
[Components]\r
!if $(SEC_ONLY)\r
##\r
- # SEC Phase modules\r
+ # Emulator, OS POSIX application\r
##\r
InOsEmuPkg/Unix/Sec/SecMain.inf\r
!else\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
MdeModulePkg/Universal/ReportStatusCodeRouter/RuntimeDxe/ReportStatusCodeRouterRuntimeDxe.inf\r
MdeModulePkg/Universal/StatusCodeHandler/RuntimeDxe/StatusCodeHandlerRuntimeDxe.inf {\r
<LibraryClasses>\r
- SerialPortLib|InOsEmuPkg/Library/DxeEmuSerialPortLib/DxeEmuSerialPortLib.inf \r
+ SerialPortLib|InOsEmuPkg/Library/DxeEmuStdErrSerialPortLib/DxeEmuStdErrSerialPortLib.inf \r
}\r
\r
InOsEmuPkg/MetronomeDxe/Metronome.inf\r
MdeModulePkg/Universal/Console/ConPlatformDxe/ConPlatformDxe.inf\r
MdeModulePkg/Universal/Console/ConSplitterDxe/ConSplitterDxe.inf\r
MdeModulePkg/Universal/Console/GraphicsConsoleDxe/GraphicsConsoleDxe.inf\r
+ EmbeddedPkg/SerialDxe/SerialDxe.inf {\r
+ <LibraryClasses>\r
+ DebugLib|MdePkg/Library/BaseDebugLibNull/BaseDebugLibNull.inf\r
+ SerialPortLib|InOsEmuPkg/Library/DxeEmuSerialPortLib/DxeEmuSerialPortLib.inf \r
+ }\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
-\r
-!if $(0)\r
- UnixPkg/UnixSerialIoDxe/UnixSerialIo.inf\r
- UnixPkg/UnixConsoleDxe/UnixConsole.inf\r
- UnixPkg/UnixSimpleFileSystemDxe/UnixSimpleFileSystem.inf\r
-!endif\r
+ InOsEmuPkg/EmuSnpDxe/EmuSnpDxe.inf\r
\r
MdeModulePkg/Application/HelloWorld/HelloWorld.inf\r
\r
#\r
# Network stack drivers\r
#\r
-##!if $(NETWORK_SUPPORT) & $(0)\r
-!if $(0)\r
- UnixPkg/UnixSnpDxe/UnixSnpDxe.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
+# 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