edk2/EmulatorPkg
Michael Kubacki df9111c2d3 Global: Set MarkdownLintCheck plugin to AuditOnly
In preparation for the MarkdownLintCheck plugin being added to the
repo, this change defaults the plugin to `AuditOnly` mode in each
package. This allows package maintainers to enable the plugin as they
see fit.

Continuous-integration-options: PatchCheck.ignore-multi-package
Signed-off-by: Michael Kubacki <michael.kubacki@microsoft.com>
2026-07-29 12:32:09 +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: Update CI to VS2026 2026-07-27 19:09:16 +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 Global: Set MarkdownLintCheck plugin to AuditOnly 2026-07-29 12:32:09 +00:00
EmulatorPkg.dec EmulatorPkg: fix typo. PcdRedfishServie -> PcdRedfishService 2023-12-27 00:09:49 +00:00
EmulatorPkg.dsc EmulatorPkg: Update DSC/Readme for VS2026 2026-07-27 19:09:16 +00:00
EmulatorPkg.fdf EmulatorPkg: Remove Hash2DxeCrypto if NETWORK_ENABLE=FALSE 2026-01-30 11:54:33 +00:00
Readme.md EmulatorPkg: Update DSC/Readme for VS2026 2026-07-27 19:09:16 +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 VS2026 -a IA32

  • 64bit emulator in Windows:

    build -p EmulatorPkg\EmulatorPkg.dsc -t VS2026 -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_VS2026\IA32\ && WinHost.exe

  • 64bit emulator in Windows:

    cd Build\EmulatorX64\DEBUG_VS2026\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