audk/EmulatorPkg
Michael Johnson d652b458f5 EmulatorPkg/TimerLib: Add missing GetTimeInNanoSecond function
Add GetTimeInNanoSecond, already declared in the TimerLib API,
to EmulatorPkg implementations of TimerLib.

Cc: Jordan Justen <jordan.l.justen@intel.com>
Cc: Andrew Fish <afish@apple.com>
Cc: Ray Ni <ray.ni@intel.com>
Signed-off-by: Michael Johnson <michael.johnson@intel.com>
Reviewed-by: Jordan Justen <jordan.l.justen@intel.com>
Reviewed-by: Ray Ni <ray.ni@intel.com>
2019-09-19 14:37:37 +08:00
..
AutoScanPei EmulatorPkg: Replace BSD License with BSD+Patent License 2019-04-09 10:57:59 -07:00
BootModePei EmulatorPkg: Replace BSD License with BSD+Patent License 2019-04-09 10:57:59 -07:00
CpuRuntimeDxe EmulatorPkg: Change the cpu frequency to a non-zero value 2019-05-10 10:48:51 +08:00
EmuBlockIoDxe EmulatorPkg: Replace BSD License with BSD+Patent License 2019-04-09 10:57:59 -07:00
EmuBusDriverDxe EmulatorPkg: Add -D DISABLE_NEW_DEPRECATED_INTERFACES 2019-08-19 09:49:54 -07:00
EmuGopDxe EmulatorPkg: Replace BSD License with BSD+Patent License 2019-04-09 10:57:59 -07:00
EmuSimpleFileSystemDxe EmulatorPkg: Replace BSD License with BSD+Patent License 2019-04-09 10:57:59 -07:00
EmuSnpDxe EmulatorPkg: Add NetworkPkg/NetworkPkg.dec as the package dependency 2019-05-21 10:35:33 +08:00
EmuThunkDxe EmulatorPkg: Replace BSD License with BSD+Patent License 2019-04-09 10:57:59 -07:00
FirmwareVolumePei EmulatorPkg: Replace BSD License with BSD+Patent License 2019-04-09 10:57:59 -07:00
FlashMapPei EmulatorPkg: Add -D DISABLE_NEW_DEPRECATED_INTERFACES 2019-08-19 09:49:54 -07:00
FvbServicesRuntimeDxe EmulatorPkg: Replace BSD License with BSD+Patent License 2019-04-09 10:57:59 -07:00
Include EmulatorPkg: Replace BSD License with BSD+Patent License 2019-04-09 10:57:59 -07:00
Library EmulatorPkg/TimerLib: Add missing GetTimeInNanoSecond function 2019-09-19 14:37:37 +08:00
PlatformSmbiosDxe EmulatorPkg: Replace BSD License with BSD+Patent License 2019-04-09 10:57:59 -07:00
RealTimeClockRuntimeDxe EmulatorPkg: Replace BSD License with BSD+Patent License 2019-04-09 10:57:59 -07:00
ResetRuntimeDxe EmulatorPkg: Replace BSD License with BSD+Patent License 2019-04-09 10:57:59 -07:00
Sec EmulatorPkg/Sec: Change scope of PpiArray[10] 2019-08-19 09:57:28 -07:00
ThunkPpiToProtocolPei EmulatorPkg: Replace BSD License with BSD+Patent License 2019-04-09 10:57:59 -07:00
TimerDxe EmulatorPkg: Replace BSD License with BSD+Patent License 2019-04-09 10:57:59 -07:00
Unix EmulatorPkg/Unix/Host: Remove debug code from BerkeleyPacketFilter.c 2019-08-19 09:57:27 -07:00
Win EmulatorPkg/Win/Host: Fix SecPrint() log line endings 2019-08-27 06:01:59 +08:00
EmulatorPkg.dec EmulatorPkg: Fix VS20xx IA32 boot failure 2019-08-19 09:49:47 -07:00
EmulatorPkg.dsc EmulatorPkg: Disable TftpDynamicCommand and LogoDxe for XCODE5 2019-08-19 09:57:27 -07:00
EmulatorPkg.fdf EmulatorPkg: Disable TftpDynamicCommand and LogoDxe for XCODE5 2019-08-19 09:57:27 -07:00
Readme.md EmulatorPkg: Remove UNIX_SEC_BUILD/WIN_SEC_BUILD 2019-08-19 09:49:49 -07:00
build.sh EmulatorPkg: Fix XCODE5 lldb issues 2019-08-19 09:57:25 -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 -a IA32

  • 64bit emulator in Windows:

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

  • 32bit emulator in Linux:

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

  • 64bit emulator in Linux:

    build -p EmulatorPkg\EmulatorPkg.dsc -t GCC5 -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