audk/EmulatorPkg
Doug Flick 024a291b3e EmulatorPkg: Add Hash2DxeCrypto to EmulatorPkg
This patch adds Hash2DxeCrypto to EmulatorPkg. The Hash2DxeCrypto is
used to provide the hashing protocol services.

Cc: Andrew Fish <afish@apple.com>
Cc: Ray Ni <ray.ni@intel.com>

Signed-off-by: Doug Flick [MSFT] <doug.edk2@gmail.com>
Reviewed-by: Ray Ni <ray.ni@Intel.com>
2024-05-24 15:48:52 +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: Apply uncrustify changes 2021-12-07 17:24:28 +00:00
EmuBlockIoDxe EmulatorPkg: Apply uncrustify changes 2021-12-07 17:24:28 +00:00
EmuBusDriverDxe EmulatorPkg: Apply uncrustify changes 2021-12-07 17:24:28 +00:00
EmuGopDxe EmulatorPkg: Update the comments of ReadKeyStroke and ReadKeyStrokeEx 2024-04-03 10:25:06 +08:00
EmuSimpleFileSystemDxe EmulatorPkg: Apply uncrustify changes 2021-12-07 17:24:28 +00:00
EmuSnpDxe EmulatorPkg: Apply uncrustify changes 2021-12-07 17:24: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: Format with Uncrustify 73.0.8 2023-11-27 20:14:59 +00:00
Include Add EFI_STATUS return to EMU_THUNK_PROTOCOL.SetTime() 2024-01-05 20:32:08 +00:00
Library EmulatorPkg: RedfishPlatformHostInterfaceLib: get rid of unused variable 2023-12-27 00:09:49 +00:00
PlatformCI EmulatorPkg: CI: use ubuntu-22.04 vm_image (Linux only) 2023-01-17 19:06:32 +00:00
PlatformSmbiosDxe EmulatorPkg: Apply uncrustify changes 2021-12-07 17:24:28 +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: auto-generate SEC ProcessLibraryConstructorList() decl 2024-03-08 09:09:22 +00:00
ThunkPpiToProtocolPei EmulatorPkg: Apply uncrustify changes 2021-12-07 17:24:28 +00:00
TimerDxe EmulatorPkg: Apply uncrustify changes 2021-12-07 17:24:28 +00:00
Unix Add EFI_STATUS return to EMU_THUNK_PROTOCOL.SetTime() 2024-01-05 20:32:08 +00:00
Win EmulatorPkg: Update MMTimerThread() signature 2024-01-05 20:32:08 +00:00
EmulatorPkg.ci.yaml EmulatorPkg: Remove unnecessary dependency on EmbeddedPkg 2022-12-08 10:44:20 +00:00
EmulatorPkg.dec EmulatorPkg: fix typo. PcdRedfishServie -> PcdRedfishService 2023-12-27 00:09:49 +00:00
EmulatorPkg.dsc EmulatorPkg: Add Hash2DxeCrypto to EmulatorPkg 2024-05-24 15:48:52 +00:00
EmulatorPkg.fdf EmulatorPkg: Add Hash2DxeCrypto to EmulatorPkg 2024-05-24 15:48:52 +00:00
Readme.md EmulatorPkg: strip trailing whitespace 2019-10-04 11:18:32 +01: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