Deric Cole f6ce1a5cd8 EmulatorPkg/PeiTimerLib: Bug fix in NanoSecondDelay 1 рік тому
..
Application a550d468a6 EmulatorPkg: Apply uncrustify changes 2 роки тому
AutoScanPei a550d468a6 EmulatorPkg: Apply uncrustify changes 2 роки тому
BootModePei a550d468a6 EmulatorPkg: Apply uncrustify changes 2 роки тому
CpuRuntimeDxe a550d468a6 EmulatorPkg: Apply uncrustify changes 2 роки тому
EmuBlockIoDxe a550d468a6 EmulatorPkg: Apply uncrustify changes 2 роки тому
EmuBusDriverDxe a550d468a6 EmulatorPkg: Apply uncrustify changes 2 роки тому
EmuGopDxe b422b0fcf9 EmulatorPkg/EmuGopDxe: Set ModeInfo after Open successfully 2 роки тому
EmuSimpleFileSystemDxe a550d468a6 EmulatorPkg: Apply uncrustify changes 2 роки тому
EmuSnpDxe a550d468a6 EmulatorPkg: Apply uncrustify changes 2 роки тому
EmuThunkDxe a550d468a6 EmulatorPkg: Apply uncrustify changes 2 роки тому
FirmwareVolumePei a550d468a6 EmulatorPkg: Apply uncrustify changes 2 роки тому
FlashMapPei a550d468a6 EmulatorPkg: Apply uncrustify changes 2 роки тому
FvbServicesRuntimeDxe a550d468a6 EmulatorPkg: Apply uncrustify changes 2 роки тому
Include f6ce1a5cd8 EmulatorPkg/PeiTimerLib: Bug fix in NanoSecondDelay 1 рік тому
Library f6ce1a5cd8 EmulatorPkg/PeiTimerLib: Bug fix in NanoSecondDelay 1 рік тому
PlatformCI 5f8b749c73 EmulatorPkg: CI: use ubuntu-22.04 vm_image (Linux only) 1 рік тому
PlatformSmbiosDxe a550d468a6 EmulatorPkg: Apply uncrustify changes 2 роки тому
RealTimeClockRuntimeDxe a550d468a6 EmulatorPkg: Apply uncrustify changes 2 роки тому
ResetRuntimeDxe a550d468a6 EmulatorPkg: Apply uncrustify changes 2 роки тому
Sec a550d468a6 EmulatorPkg: Apply uncrustify changes 2 роки тому
ThunkPpiToProtocolPei a550d468a6 EmulatorPkg: Apply uncrustify changes 2 роки тому
TimerDxe a550d468a6 EmulatorPkg: Apply uncrustify changes 2 роки тому
Unix 8a485e4bb8 EmulatorPkg: Record Argc, Argv and Envp in EmuThunk Ppi 1 рік тому
Win 8a485e4bb8 EmulatorPkg: Record Argc, Argv and Envp in EmuThunk Ppi 1 рік тому
EmulatorPkg.ci.yaml 2c284027b2 EmulatorPkg: Remove unnecessary dependency on EmbeddedPkg 1 рік тому
EmulatorPkg.dec 22f73b6d2d EmulatorPkg: Add persistent memory in EmuThunkPpi 1 рік тому
EmulatorPkg.dsc f193b945ea EmulatorPkg: Pipeline: Resolve SecureBootVariableLib dependency 1 рік тому
EmulatorPkg.fdf 484e869dfd EmulatorPkg: Redfish related changes on EmulatorPkg 3 роки тому
Readme.md 89c2e2b1d3 EmulatorPkg: strip trailing whitespace 4 роки тому
build.sh 32e55c9f18 EmulatorPkg: Fix XCODE5 lldb issues 4 роки тому

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