# 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
#\r
-# Copyright (c) 2006 - 2011, Intel Corporation. All rights reserved.<BR>\r
+# Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.<BR>\r
# Portions copyright (c) 2010 - 2011, Apple Inc. All rights reserved.<BR>\r
#\r
# This program and the accompanying materials\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/Emulator32\r
-!else\r
- OUTPUT_DIRECTORY = Build/Emulator\r
-!endif\r
+ OUTPUT_DIRECTORY = Build/Emulator$(ARCH)\r
\r
SUPPORTED_ARCHITECTURES = X64|IA32\r
BUILD_TARGETS = DEBUG|RELEASE\r
PeCoffLib|MdePkg/Library/BasePeCoffLib/BasePeCoffLib.inf\r
PeCoffGetEntryPointLib|MdePkg/Library/BasePeCoffGetEntryPointLib/BasePeCoffGetEntryPointLib.inf\r
BaseMemoryLib|MdePkg/Library/BaseMemoryLib/BaseMemoryLib.inf\r
+ FrameBufferBltLib|MdeModulePkg/Library/FrameBufferBltLib/FrameBufferBltLib.inf\r
\r
#\r
# UEFI & PI\r
PeiServicesLib|MdePkg/Library/PeiServicesLib/PeiServicesLib.inf\r
DxeServicesLib|MdePkg/Library/DxeServicesLib/DxeServicesLib.inf\r
DxeServicesTableLib|MdePkg/Library/DxeServicesTableLib/DxeServicesTableLib.inf\r
+ SmbiosLib|EmulatorPkg/Library/SmbiosLib/SmbiosLib.inf\r
+\r
#\r
# Generic Modules\r
#\r
UdpIoLib|MdeModulePkg/Library/DxeUdpIoLib/DxeUdpIoLib.inf\r
DpcLib|MdeModulePkg/Library/DxeDpcLib/DxeDpcLib.inf\r
OemHookStatusCodeLib|MdeModulePkg/Library/OemHookStatusCodeLibNull/OemHookStatusCodeLibNull.inf\r
- GenericBdsLib|IntelFrameworkModulePkg/Library/GenericBdsLib/GenericBdsLib.inf\r
+ BootLogoLib|MdeModulePkg/Library/BootLogoLib/BootLogoLib.inf\r
+ FileExplorerLib|MdeModulePkg/Library/FileExplorerLib/FileExplorerLib.inf\r
+ UefiBootManagerLib|MdeModulePkg/Library/UefiBootManagerLib/UefiBootManagerLib.inf\r
+ BmpSupportLib|MdeModulePkg/Library/BaseBmpSupportLib/BaseBmpSupportLib.inf\r
+ SafeIntLib|MdePkg/Library/BaseSafeIntLib/BaseSafeIntLib.inf\r
+ CustomizedDisplayLib|MdeModulePkg/Library/CustomizedDisplayLib/CustomizedDisplayLib.inf\r
SecurityManagementLib|MdeModulePkg/Library/DxeSecurityManagementLib/DxeSecurityManagementLib.inf\r
TimerLib|MdePkg/Library/BaseTimerLibNullTemplate/BaseTimerLibNullTemplate.inf\r
SerialPortLib|MdePkg/Library/BaseSerialPortLibNull/BaseSerialPortLibNull.inf\r
#\r
# Platform\r
#\r
- PlatformBdsLib|EmulatorPkg/Library/EmuBdsLib/EmuBdsLib.inf\r
+ PlatformBootManagerLib|EmulatorPkg/Library/PlatformBmLib/PlatformBmLib.inf\r
KeyMapLib|EmulatorPkg/Library/KeyMapLibNull/KeyMapLibNull.inf\r
\r
#\r
PerformanceLib|MdePkg/Library/BasePerformanceLibNull/BasePerformanceLibNull.inf\r
DebugAgentLib|MdeModulePkg/Library/DebugAgentLibNull/DebugAgentLibNull.inf\r
PeiServicesTablePointerLib|EmulatorPkg/Library/PeiServicesTablePointerLibMagicPage/PeiServicesTablePointerLibMagicPage.inf\r
- DebugLib|IntelFrameworkModulePkg/Library/PeiDxeDebugLibReportStatusCode/PeiDxeDebugLibReportStatusCode.inf\r
+ DebugLib|MdeModulePkg/Library/PeiDxeDebugLibReportStatusCode/PeiDxeDebugLibReportStatusCode.inf\r
LockBoxLib|MdeModulePkg/Library/LockBoxNullLib/LockBoxNullLib.inf\r
-\r
+ CpuExceptionHandlerLib|MdeModulePkg/Library/CpuExceptionHandlerLibNull/CpuExceptionHandlerLibNull.inf\r
+ TpmMeasurementLib|MdeModulePkg/Library/TpmMeasurementLibNull/TpmMeasurementLibNull.inf\r
+ AuthVariableLib|MdeModulePkg/Library/AuthVariableLibNull/AuthVariableLibNull.inf\r
+ VarCheckLib|MdeModulePkg/Library/VarCheckLib/VarCheckLib.inf\r
+ SortLib|MdeModulePkg/Library/BaseSortLib/BaseSortLib.inf\r
+ ShellLib|ShellPkg/Library/UefiShellLib/UefiShellLib.inf\r
+ FileHandleLib|MdePkg/Library/UefiFileHandleLib/UefiFileHandleLib.inf\r
\r
[LibraryClasses.common.SEC]\r
PeiServicesLib|EmulatorPkg/Library/SecPeiServicesLib/SecPeiServicesLib.inf\r
ReportStatusCodeLib|MdeModulePkg/Library/DxeReportStatusCodeLib/DxeReportStatusCodeLib.inf\r
TimerLib|EmulatorPkg/Library/DxeTimerLib/DxeTimerLib.inf\r
\r
-[LibraryClasses.common.UEFI_DRIVER]\r
- PcdLib|MdePkg/Library/DxePcdLib/DxePcdLib.inf\r
-\r
-[LibraryClasses.common.UEFI_APPLICATION]\r
- PcdLib|MdePkg/Library/BasePcdLibNull/BasePcdLibNull.inf\r
-\r
-\r
[PcdsFeatureFlag]\r
gEfiMdeModulePkgTokenSpaceGuid.PcdDxeIplSwitchToLongMode|FALSE\r
gEfiMdeModulePkgTokenSpaceGuid.PcdStatusCodeUseSerial|TRUE\r
gEfiMdeModulePkgTokenSpaceGuid.PcdDxeIplBuildPageTables|FALSE\r
\r
[PcdsFixedAtBuild]\r
+ gEfiMdeModulePkgTokenSpaceGuid.PcdImageProtectionPolicy|0x00000000\r
gEfiMdeModulePkgTokenSpaceGuid.PcdResetOnMemoryTypeInformationChange|FALSE\r
gEfiMdePkgTokenSpaceGuid.PcdDebugPrintErrorLevel|0x80000040\r
gEfiMdePkgTokenSpaceGuid.PcdReportStatusCodePropertyMask|0x0f\r
\r
gEmulatorPkgTokenSpaceGuid.PcdEmuMemorySize|L"64!64"\r
\r
-!if $(BUILD_NEW_SHELL)\r
- gEfiIntelFrameworkModulePkgTokenSpaceGuid.PcdShellFile|{ 0x83, 0xA5, 0x04, 0x7C, 0x3E, 0x9E, 0x1C, 0x4F, 0xAD, 0x65, 0xE0, 0x52, 0x68, 0xD0, 0xB4, 0xD1 }\r
-!else\r
-!if $(USE_NEW_SHELL)\r
- gEfiIntelFrameworkModulePkgTokenSpaceGuid.PcdShellFile|{ 0x83, 0xA5, 0x04, 0x7C, 0x3E, 0x9E, 0x1C, 0x4F, 0xAD, 0x65, 0xE0, 0x52, 0x68, 0xD0, 0xB4, 0xD1 }\r
-!endif\r
-!endif\r
+ # Change PcdBootManagerMenuFile to UiApp\r
+ gEfiMdeModulePkgTokenSpaceGuid.PcdBootManagerMenuFile|{ 0x21, 0xaa, 0x2c, 0x46, 0x14, 0x76, 0x03, 0x45, 0x83, 0x6e, 0x8a, 0xb6, 0xf4, 0x66, 0x23, 0x31 }\r
+\r
\r
#define BOOT_WITH_FULL_CONFIGURATION 0x00\r
#define BOOT_WITH_MINIMAL_CONFIGURATION 0x01\r
# For a CD-ROM/DVD use L"diag.dmg:RO:2048"\r
gEmulatorPkgTokenSpaceGuid.PcdEmuVirtualDisk|L"disk.dmg:FW"\r
gEmulatorPkgTokenSpaceGuid.PcdEmuGop|L"GOP Window"\r
- gEmulatorPkgTokenSpaceGuid.PcdEmuFileSystem|L".!../../../../EdkShellBinPkg/Bin"\r
+ gEmulatorPkgTokenSpaceGuid.PcdEmuFileSystem|L"."\r
gEmulatorPkgTokenSpaceGuid.PcdEmuSerialPort|L"/dev/ttyS0"\r
gEmulatorPkgTokenSpaceGuid.PcdEmuNetworkInterface|L"en0"\r
\r
gEmulatorPkgTokenSpaceGuid.PcdEmuCpuModel|L"Intel(R) Processor Model"\r
gEmulatorPkgTokenSpaceGuid.PcdEmuCpuSpeed|L"3000"\r
\r
- # 0-PCANSI, 1-VT100, 2-VT00+, 3-UTF8\r
+ # 0-PCANSI, 1-VT100, 2-VT00+, 3-UTF8, 4-TTYTERM\r
gEfiMdePkgTokenSpaceGuid.PcdDefaultTerminalType|1\r
\r
[PcdsDynamicDefault.common.DEFAULT]\r
[PcdsDynamicHii.common.DEFAULT]\r
gEfiMdeModulePkgTokenSpaceGuid.PcdConOutColumn|L"Setup"|gEmuSystemConfigGuid|0x0|80\r
gEfiMdeModulePkgTokenSpaceGuid.PcdConOutRow|L"Setup"|gEmuSystemConfigGuid|0x4|25\r
-\r
+ gEfiMdePkgTokenSpaceGuid.PcdPlatformBootTimeOut|L"Timeout"|gEfiGlobalVariableGuid|0x0|10\r
\r
[Components]\r
!ifdef $(UNIX_SEC_BUILD)\r
EmulatorPkg/Unix/Host/Host.inf\r
!endif\r
\r
+!ifdef $(WIN_SEC_BUILD)\r
+ ##\r
+ # Emulator, OS WIN application\r
+ ##\r
+ EmulatorPkg/Win/Host/WinHost.inf\r
+!endif\r
+\r
!ifndef $(SKIP_MAIN_BUILD)\r
#\r
# Generic SEC\r
\r
IntelFrameworkModulePkg/Universal/StatusCode/Pei/StatusCodePei.inf\r
EmulatorPkg/BootModePei/BootModePei.inf\r
+ MdeModulePkg/Universal/FaultTolerantWritePei/FaultTolerantWritePei.inf\r
MdeModulePkg/Universal/Variable/Pei/VariablePei.inf\r
EmulatorPkg/AutoScanPei/AutoScanPei.inf\r
EmulatorPkg/FirmwareVolumePei/FirmwareVolumePei.inf\r
EmulatorPkg/FlashMapPei/FlashMapPei.inf\r
EmulatorPkg/ThunkPpiToProtocolPei/ThunkPpiToProtocolPei.inf\r
- MdeModulePkg/Core/DxeIplPeim/DxeIpl.inf \r
+ MdeModulePkg/Core/DxeIplPeim/DxeIpl.inf\r
\r
##\r
# DXE Phase modules\r
SerialPortLib|EmulatorPkg/Library/DxeEmuStdErrSerialPortLib/DxeEmuStdErrSerialPortLib.inf\r
DxeEmuLib|EmulatorPkg/Library/DxeEmuLib/DxeEmuLib.inf\r
NULL|MdeModulePkg/Library/DxeCrc32GuidedSectionExtractLib/DxeCrc32GuidedSectionExtractLib.inf\r
- NULL|IntelFrameworkModulePkg/Library/LzmaCustomDecompressLib/LzmaCustomDecompressLib.inf\r
+ NULL|MdeModulePkg/Library/LzmaCustomDecompressLib/LzmaCustomDecompressLib.inf\r
}\r
MdeModulePkg/Universal/PCD/Dxe/Pcd.inf {\r
<LibraryClasses>\r
EmulatorPkg/EmuThunkDxe/EmuThunk.inf\r
EmulatorPkg/CpuRuntimeDxe/Cpu.inf\r
MdeModulePkg/Universal/FaultTolerantWriteDxe/FaultTolerantWriteDxe.inf\r
- EmulatorPkg/MiscSubClassPlatformDxe/MiscSubClassDriver.inf\r
+ EmulatorPkg/PlatformSmbiosDxe/PlatformSmbiosDxe.inf\r
EmulatorPkg/TimerDxe/Timer.inf\r
\r
\r
- MdeModulePkg/Universal/Variable/RuntimeDxe/VariableRuntimeDxe.inf\r
+ MdeModulePkg/Universal/Variable/RuntimeDxe/VariableRuntimeDxe.inf {\r
+ <LibraryClasses>\r
+ NULL|MdeModulePkg/Library/VarCheckUefiLib/VarCheckUefiLib.inf\r
+ }\r
MdeModulePkg/Universal/WatchdogTimerDxe/WatchdogTimer.inf\r
MdeModulePkg/Universal/MonotonicCounterRuntimeDxe/MonotonicCounterRuntimeDxe.inf\r
MdeModulePkg/Universal/CapsuleRuntimeDxe/CapsuleRuntimeDxe.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
+ MdeModulePkg/Universal/SerialDxe/SerialDxe.inf {\r
<LibraryClasses>\r
DebugLib|MdePkg/Library/BaseDebugLibNull/BaseDebugLibNull.inf\r
SerialPortLib|EmulatorPkg/Library/DxeEmuSerialPortLib/DxeEmuSerialPortLib.inf\r
}\r
\r
MdeModulePkg/Universal/Console/TerminalDxe/TerminalDxe.inf\r
- IntelFrameworkModulePkg/Universal/BdsDxe/BdsDxe.inf\r
+ MdeModulePkg/Universal/BdsDxe/BdsDxe.inf\r
+ MdeModulePkg/Logo/LogoDxe.inf\r
+ MdeModulePkg/Universal/LoadFileOnFv2/LoadFileOnFv2.inf\r
+ MdeModulePkg/Application/UiApp/UiApp.inf {\r
+ <LibraryClasses>\r
+ NULL|MdeModulePkg/Library/DeviceManagerUiLib/DeviceManagerUiLib.inf\r
+ NULL|MdeModulePkg/Library/BootManagerUiLib/BootManagerUiLib.inf\r
+ NULL|MdeModulePkg/Library/BootMaintenanceManagerUiLib/BootMaintenanceManagerUiLib.inf\r
+ }\r
+ MdeModulePkg/Application/BootManagerMenuApp/BootManagerMenuApp.inf\r
+\r
MdeModulePkg/Universal/DevicePathDxe/DevicePathDxe.inf\r
#{\r
# <LibraryClasses>\r
MdeModulePkg/Universal/Network/DpcDxe/DpcDxe.inf\r
MdeModulePkg/Universal/Network/ArpDxe/ArpDxe.inf\r
MdeModulePkg/Universal/Network/Dhcp4Dxe/Dhcp4Dxe.inf\r
- MdeModulePkg/Universal/Network/Ip4ConfigDxe/Ip4ConfigDxe.inf\r
MdeModulePkg/Universal/Network/Ip4Dxe/Ip4Dxe.inf\r
MdeModulePkg/Universal/Network/MnpDxe/MnpDxe.inf\r
MdeModulePkg/Universal/Network/VlanConfigDxe/VlanConfigDxe.inf\r
MdeModulePkg/Universal/Network/Mtftp4Dxe/Mtftp4Dxe.inf\r
- MdeModulePkg/Universal/Network/Tcp4Dxe/Tcp4Dxe.inf\r
MdeModulePkg/Universal/Network/Udp4Dxe/Udp4Dxe.inf\r
+ NetworkPkg/TcpDxe/TcpDxe.inf\r
\r
MdeModulePkg/Universal/SmbiosDxe/SmbiosDxe.inf\r
MdeModulePkg/Universal/HiiDatabaseDxe/HiiDatabaseDxe.inf\r
+ MdeModulePkg/Universal/DisplayEngineDxe/DisplayEngineDxe.inf\r
MdeModulePkg/Universal/SetupBrowserDxe/SetupBrowserDxe.inf\r
MdeModulePkg/Universal/PrintDxe/PrintDxe.inf\r
MdeModulePkg/Universal/DriverSampleDxe/DriverSampleDxe.inf {\r
PcdLib|MdePkg/Library/BasePcdLibNull/BasePcdLibNull.inf\r
}\r
\r
-!if $(BUILD_FAT)\r
FatPkg/EnhancedFatDxe/Fat.inf\r
-!endif\r
\r
-!if $(BUILD_NEW_SHELL)\r
+ ShellPkg/DynamicCommand/TftpDynamicCommand/TftpDynamicCommand.inf {\r
+ <PcdsFixedAtBuild>\r
+ gEfiShellPkgTokenSpaceGuid.PcdShellLibAutoInitialize|FALSE\r
+ }\r
ShellPkg/Application/Shell/Shell.inf {\r
<LibraryClasses>\r
ShellCommandLib|ShellPkg/Library/UefiShellCommandLib/UefiShellCommandLib.inf\r
NULL|ShellPkg/Library/UefiShellInstall1CommandsLib/UefiShellInstall1CommandsLib.inf\r
NULL|ShellPkg/Library/UefiShellNetwork1CommandsLib/UefiShellNetwork1CommandsLib.inf\r
HandleParsingLib|ShellPkg/Library/UefiHandleParsingLib/UefiHandleParsingLib.inf\r
- FileHandleLib|ShellPkg/Library/UefiFileHandleLib/UefiFileHandleLib.inf\r
- ShellLib|ShellPkg/Library/UefiShellLib/UefiShellLib.inf\r
- SortLib|ShellPkg/Library/UefiSortLib/UefiSortLib.inf\r
+ SortLib|MdeModulePkg/Library/UefiSortLib/UefiSortLib.inf\r
PrintLib|MdePkg/Library/BasePrintLib/BasePrintLib.inf\r
- PathLib|ShellPkg/Library/BasePathLib/BasePathLib.inf\r
-# MemoryAllocationLib|EmulatorPkg/Library/GuardUefiMemoryAllocationLib/GuardUefiMemoryAllocationLib.inf\r
# SafeBlockIoLib|ShellPkg/Library/SafeBlockIoLib/SafeBlockIoLib.inf\r
# SafeOpenProtocolLib|ShellPkg/Library/SafeOpenProtocolLib/SafeOpenProtocolLib.inf\r
+ BcfgCommandLib|ShellPkg/Library/UefiShellBcfgCommandLib/UefiShellBcfgCommandLib.inf\r
+ IoLib|MdePkg/Library/BaseIoLibIntrinsic/BaseIoLibIntrinsic.inf\r
\r
<PcdsFixedAtBuild>\r
gEfiMdePkgTokenSpaceGuid.PcdDebugPropertyMask|0xFF\r
gEfiShellPkgTokenSpaceGuid.PcdShellLibAutoInitialize|FALSE\r
gEfiMdePkgTokenSpaceGuid.PcdUefiLibMaxPrintBufferSize|8000\r
}\r
-!endif\r
\r
!endif\r
\r
+[BuildOptions]\r
+ MSFT:DEBUG_*_*_CC_FLAGS = /Od /Oy-\r
+ MSFT:NOOPT_*_*_CC_FLAGS = /Od /Oy-\r
+\r
+ MSFT:*_*_*_DLINK_FLAGS = /ALIGN:4096 /FILEALIGN:4096 /SUBSYSTEM:CONSOLE\r
+ MSFT:DEBUG_*_*_DLINK_FLAGS = /EXPORT:InitializeDriver=$(IMAGE_ENTRY_POINT) /BASE:0x10000\r
+ MSFT:NOOPT_*_*_DLINK_FLAGS = /EXPORT:InitializeDriver=$(IMAGE_ENTRY_POINT) /BASE:0x10000\r
+\r