edk2/EmulatorPkg
Michael Kubacki 84012d29f7 EmulatorPkg: Remove VS2017 Visual Studio solution
VS2017 support is being removed from edk2. This Visual Studio solution
built the EmulatorPkg host with the VS2017 toolchain (`-t VS2017`),
which will no longer exist in tools_def.template. The EmulatorPkg
documentation and CI build with VS2022, so the VS2017 solution is
removed.

Signed-off-by: Michael Kubacki <michael.kubacki@microsoft.com>
2026-06-30 21:42:50 +00:00
..
Application/RedfishPlatformConfig EmulatorPkg: Apply uncrustify changes 2021-12-07 17:24:28 +00:00
AutoScanPei EmulatorPkg: Apply uncrustify changes 2021-12-07 17:24:28 +00:00
BootModePei EmulatorPkg: Apply uncrustify changes 2021-12-07 17:24:28 +00:00
CpuRuntimeDxe EmulatorPkg: Replace include guards with #pragma once 2026-02-23 21:01:28 +00:00
EmuBlockIoDxe EmulatorPkg: Replace include guards with #pragma once 2026-02-23 21:01:28 +00:00
EmuBusDriverDxe EmulatorPkg: Replace include guards with #pragma once 2026-02-23 21:01:28 +00:00
EmuGopDxe EmulatorPkg: Replace include guards with #pragma once 2026-02-23 21:01:28 +00:00
EmuSimpleFileSystemDxe EmulatorPkg: Replace include guards with #pragma once 2026-02-23 21:01:28 +00:00
EmuSnpDxe EmulatorPkg: Replace include guards with #pragma once 2026-02-23 21:01:28 +00:00
EmuThunkDxe EmulatorPkg: Apply uncrustify changes 2021-12-07 17:24:28 +00:00
FirmwareVolumePei EmulatorPkg: Apply uncrustify changes 2021-12-07 17:24:28 +00:00
FlashMapPei EmulatorPkg: Apply uncrustify changes 2021-12-07 17:24:28 +00:00
FvbServicesRuntimeDxe EmulatorPkg: Replace include guards with #pragma once 2026-02-23 21:01:28 +00:00
Include EmulatorPkg: Replace include guards with #pragma once 2026-02-23 21:01:28 +00:00
Library EmulatorPkg/SecPeiServicesLib: Prevent overread with available size macros 2026-04-13 14:12:17 +00:00
PlatformCI EmulatorPkg: Add Windows CLANGPDB CI 2026-04-10 21:11:58 +00:00
PlatformSmbiosDxe EmulatorPkg: Fix EFI_SUCCESS typos 2025-06-12 17:50:45 +00:00
RealTimeClockRuntimeDxe EmulatorPkg: Apply uncrustify changes 2021-12-07 17:24:28 +00:00
ResetRuntimeDxe EmulatorPkg: Apply uncrustify changes 2021-12-07 17:24:28 +00:00
Sec EmulatorPkg: Replace include guards with #pragma once 2026-02-23 21:01:28 +00:00
ThunkPpiToProtocolPei EmulatorPkg: Apply uncrustify changes 2021-12-07 17:24:28 +00:00
TimerDxe EmulatorPkg: Replace include guards with #pragma once 2026-02-23 21:01:28 +00:00
Unix EmulatorPkg: Replace manual alignment checks with helper macros 2026-06-09 07:20:10 +00:00
Win/Host EmulatorPkg: Remove VS2017 Visual Studio solution 2026-06-30 21:42:50 +00:00
build.sh EmulatorPkg: Remove references to GCC5 in scripts and tools 2026-02-26 15:30:52 +00:00
EmulatorPkg.ci.yaml EmulatorPkg/EmulatorPkg.ci.yaml: Add PrEval CI config 2024-09-02 23:20:35 +00:00
EmulatorPkg.dec EmulatorPkg: fix typo. PcdRedfishServie -> PcdRedfishService 2023-12-27 00:09:49 +00:00
EmulatorPkg.dsc EmulatorPkg: Clear DLINK_XIPFLAGS 2026-04-11 00:40:10 +00:00
EmulatorPkg.fdf EmulatorPkg: Remove Hash2DxeCrypto if NETWORK_ENABLE=FALSE 2026-01-30 11:54:33 +00:00
Readme.md EmulatorPkg: Remove references to GCC5 in scripts and tools 2026-02-26 15:30:52 +00:00

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 VS2022 -a IA32

  • 64bit emulator in Windows:

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

  • 32bit emulator in Linux:

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

  • 64bit emulator in Linux:

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

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

  • 32bit emulator in Windows:

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

  • 64bit emulator in Windows:

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

  • 32bit emulator in Linux:

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

  • 64bit emulator in Linux:

    cd Build/EmulatorX64/DEBUG_GCC/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