audk/EmulatorPkg
Michael Kubacki 972e3b0b9d EmulatorPkg: Format with Uncrustify 73.0.8
Cc: Andrew Fish <afish@apple.com>
Cc: Ray Ni <ray.ni@intel.com>
Signed-off-by: Michael Kubacki <michael.kubacki@microsoft.com>
Reviewed-by: Laszlo Ersek <lersek@redhat.com>
Reviewed-by: Ray Ni <ray.ni@intel.com>
2023-11-27 20:14:59 +00:00
..
Application/RedfishPlatformConfig
AutoScanPei
BootModePei
CpuRuntimeDxe
EmuBlockIoDxe
EmuBusDriverDxe
EmuGopDxe
EmuSimpleFileSystemDxe
EmuSnpDxe
EmuThunkDxe
FirmwareVolumePei
FlashMapPei
FvbServicesRuntimeDxe EmulatorPkg: Format with Uncrustify 73.0.8 2023-11-27 20:14:59 +00:00
Include EmulatorPkg/PeiTimerLib: Bug fix in NanoSecondDelay 2023-02-09 02:04:37 +00:00
Library EmulatorPkg: Update code to be more C11 compliant by using __func__ 2023-04-10 14:19:57 +00:00
PlatformCI EmulatorPkg: CI: use ubuntu-22.04 vm_image (Linux only) 2023-01-17 19:06:32 +00:00
PlatformSmbiosDxe
RealTimeClockRuntimeDxe
ResetRuntimeDxe
Sec
ThunkPpiToProtocolPei
TimerDxe
Unix EmulatorPkg: Fix Terminal Issues 2023-09-27 01:00:47 +00:00
Win EmulatorPkg: Fix Terminal Issues 2023-09-27 01:00:47 +00:00
EmulatorPkg.ci.yaml
EmulatorPkg.dec
EmulatorPkg.dsc EmulatorPkg: Add ImagePropertiesRecordLib Instance 2023-11-27 18:55:18 +00:00
EmulatorPkg.fdf
Readme.md
build.sh

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