audk/EmulatorPkg
Ruiyu Ni f4eaaf1a6d Emulator/Win: Fix build failure using VS2015x86 or old WinSDK
When build with WinSDK <= Win10 TH2, the terminal over CMD.exe
doesn't work. Because Win10 later than TH2 starts to support VT
terminal.

Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Ruiyu Ni <ruiyu.ni@intel.com>
Cc: Michael D Kinney <michael.d.kinney@intel.com>
Reviewed-by: Hao A Wu <hao.a.wu@intel.com>
2018-09-10 10:29:35 +08:00
..
AutoScanPei EmulatorPkg/AutoScanPei: Report the correct CPU address size 2018-08-31 10:40:15 +08:00
BootModePei EmulatorPkg: Remove all trailing whitespace 2011-06-28 16:50:26 +00:00
CpuRuntimeDxe EmulatorPkg: formalize line endings 2018-08-30 09:26:54 +08:00
EmuBlockIoDxe EmulatorPkg: IoThunk->Close() is called too early, may causing hang 2018-08-31 10:40:20 +08:00
EmuBusDriverDxe EmulatorPkg: Fix bug with missing &. Causes a link failure on TOT clang. 2011-07-15 19:01:16 +00:00
EmuGopDxe EmulatorPkg/EmuGopDxe: Clear screen to black in GOP.SetMode 2018-08-31 10:40:08 +08:00
EmuSimpleFileSystemDxe EmulatorPkg: IoThunk->Close() is called too early, may causing hang 2018-08-31 10:40:20 +08:00
EmuSnpDxe EmulatorPkg: IoThunk->Close() is called too early, may causing hang 2018-08-31 10:40:20 +08:00
EmuThunkDxe EmulatorPkg: Remove all trailing whitespace 2011-06-28 16:50:26 +00:00
FirmwareVolumePei EmulatorPkg: Fix typos in comments and variables 2016-10-19 13:32:20 -07:00
FlashMapPei EmulatorPkg: Remove all trailing whitespace 2011-06-28 16:50:26 +00:00
FvbServicesRuntimeDxe EmulatorPkg/FvbServicesRuntimeDxe: correct NumOfLba vararg type in EraseBlocks() 2017-05-18 23:38:45 +02:00
Include EmulatorPkg: formalize line endings 2018-08-30 09:26:54 +08:00
Library EmulatorPkg/PlatformBmLib: Fix GCC build failure 2018-09-06 14:43:17 +08:00
MiscSubClassPlatformDxe EmulatorPkg: formalize line endings 2018-08-30 09:26:54 +08:00
PlatformSmbiosDxe EmulatorPkg: formalize line endings 2018-08-30 09:26:54 +08:00
RealTimeClockRuntimeDxe EmulatorPkg: Remove all trailing whitespace 2011-06-28 16:50:26 +00:00
ResetRuntimeDxe EmulatorPkg: Remove all trailing whitespace 2011-06-28 16:50:26 +00:00
Sec EmulatorPkg: formalize line endings 2018-08-30 09:26:54 +08:00
ThunkPpiToProtocolPei EmulatorPkg: Remove all trailing whitespace 2011-06-28 16:50:26 +00:00
TimerDxe EmulatorPkg: Fix typos in comments 2016-07-25 16:56:57 -07:00
Unix EmulatorPkg: formalize line endings 2018-08-30 09:26:54 +08:00
Win Emulator/Win: Fix build failure using VS2015x86 or old WinSDK 2018-09-10 10:29:35 +08:00
EmulatorPkg.dec Add a new SMBIOS Library, and platform SMBIOS driver that does not use Framework or Hii. 2012-01-30 18:57:30 +00:00
EmulatorPkg.dsc EmulatorPkg: Use MdeModulePkg/Bds module 2018-08-31 10:40:18 +08:00
EmulatorPkg.fdf EmulatorPkg: Use MdeModulePkg/Bds module 2018-08-31 10:40:18 +08:00
Readme.md EmulatorPkg: Update package level Readme.md 2018-09-10 10:29:34 +08:00
build.sh EmulatorPkg/build.sh: Merge GCC toolchain detection from OVMF 2017-06-02 17:44:00 -07:00

Readme.md

Overview

EmulatorPkg provides an environment where a UEFI environment can be emulated under an environment where a full UEFI compatible environment is not possible. (For example, running under an OS where an OS process hosts the UEFI emulation environment.)

https://github.com/tianocore/tianocore.github.io/wiki/EmulatorPkg

Status

  • Builds and runs under
    • a posix-like environment with X windows
      • Linux
      • OS X
    • Windows environment
      • Win10 (verified)
      • Win8 (not verified)

How to Build & Run

You can use the following command to build.

  • 32bit emulator in Windows:

    build -p EmulatorPkg\EmulatorPkg.dsc -t VS2017 -D WIN_SEC_BUILD -a IA32

  • 64bit emulator in Windows:

    build -p EmulatorPkg\EmulatorPkg.dsc -t VS2017 -D WIN_SEC_BUILD -a X64

  • 32bit emulator in Linux:

    build -p EmulatorPkg\EmulatorPkg.dsc -t GCC5 -D UNIX_SEC_BUILD -a IA32

  • 64bit emulator in Linux:

    build -p EmulatorPkg\EmulatorPkg.dsc -t GCC5 -D UNIX_SEC_BUILD -a X64

You can start/run the emulator using the following command:

  • 32bit emulator in Windows:

    cd Build\EmulatorIA32\DEBUG_VS2017\IA32\ && WinHost.exe

  • 64bit emulator in Windows:

    cd Build\EmulatorX64\DEBUG_VS2017\X64\ && WinHost.exe

  • 32bit emulator in Linux:

    cd Build/EmulatorIA32/DEBUG_GCC5/IA32/ && ./Host

  • 64bit emulator in Linux:

    cd Build/EmulatorX64/DEBUG_GCC5/X64/ && ./Host

On posix-like environment with the bash shell you can use EmulatorPkg/build.sh to simplify building and running emulator.

For example, to build + run:

$ EmulatorPkg/build.sh
$ EmulatorPkg/build.sh run

The build architecture will match your host machine's architecture.

On X64 host machines, you can build + run IA32 mode as well:

$ EmulatorPkg/build.sh -a IA32
$ EmulatorPkg/build.sh -a IA32 run