audk/EmulatorPkg
Andrew Fish 6ed2c8bed3 EmulatorPkg: Disable TftpDynamicCommand and LogoDxe for XCODE5
Disable TftpDynamicCommand for XCODE5 because this command
places HII content in an PE/COFF resource section that is not
supported by the XCODE5 tool chain, and the missing HII
content causes the load of this command to ASSERT().

Disable the LogoDxe module that places the logo bitmap in
a PE/COFF resource section that is not supported by the
XCODE5 tool chain, and the missing HII content causes
the load of this module to ASSERT().

Cc: Jordan Justen <jordan.l.justen@intel.com>
Cc: Ray Ni <ray.ni@intel.com>
Cc: Michael D Kinney <michael.d.kinney@intel.com>
Signed-off-by: Andrew Fish <afish@apple.com>
Reviewed-by: Michael D Kinney <michael.d.kinney@intel.com>
Acked-by: Jordan Justen <jordan.l.justen@intel.com>
Tested-by: Andrew Fish <afish@apple.com>
2019-08-19 09:57:27 -07:00
..
AutoScanPei EmulatorPkg: Replace BSD License with BSD+Patent License 2019-04-09 10:57:59 -07:00
BootModePei EmulatorPkg: Replace BSD License with BSD+Patent License 2019-04-09 10:57:59 -07:00
CpuRuntimeDxe EmulatorPkg: Change the cpu frequency to a non-zero value 2019-05-10 10:48:51 +08:00
EmuBlockIoDxe EmulatorPkg: Replace BSD License with BSD+Patent License 2019-04-09 10:57:59 -07:00
EmuBusDriverDxe EmulatorPkg: Add -D DISABLE_NEW_DEPRECATED_INTERFACES 2019-08-19 09:49:54 -07:00
EmuGopDxe EmulatorPkg: Replace BSD License with BSD+Patent License 2019-04-09 10:57:59 -07:00
EmuSimpleFileSystemDxe EmulatorPkg: Replace BSD License with BSD+Patent License 2019-04-09 10:57:59 -07:00
EmuSnpDxe EmulatorPkg: Add NetworkPkg/NetworkPkg.dec as the package dependency 2019-05-21 10:35:33 +08:00
EmuThunkDxe EmulatorPkg: Replace BSD License with BSD+Patent License 2019-04-09 10:57:59 -07:00
FirmwareVolumePei EmulatorPkg: Replace BSD License with BSD+Patent License 2019-04-09 10:57:59 -07:00
FlashMapPei EmulatorPkg: Add -D DISABLE_NEW_DEPRECATED_INTERFACES 2019-08-19 09:49:54 -07:00
FvbServicesRuntimeDxe EmulatorPkg: Replace BSD License with BSD+Patent License 2019-04-09 10:57:59 -07:00
Include EmulatorPkg: Replace BSD License with BSD+Patent License 2019-04-09 10:57:59 -07:00
Library EmulatorPkg: Add -D DISABLE_NEW_DEPRECATED_INTERFACES 2019-08-19 09:49:54 -07:00
PlatformSmbiosDxe EmulatorPkg: Replace BSD License with BSD+Patent License 2019-04-09 10:57:59 -07:00
RealTimeClockRuntimeDxe EmulatorPkg: Replace BSD License with BSD+Patent License 2019-04-09 10:57:59 -07:00
ResetRuntimeDxe EmulatorPkg: Replace BSD License with BSD+Patent License 2019-04-09 10:57:59 -07:00
Sec EmulatorPkg: Replace BSD License with BSD+Patent License 2019-04-09 10:57:59 -07:00
ThunkPpiToProtocolPei EmulatorPkg: Replace BSD License with BSD+Patent License 2019-04-09 10:57:59 -07:00
TimerDxe EmulatorPkg: Replace BSD License with BSD+Patent License 2019-04-09 10:57:59 -07:00
Unix EmulatorPkg/Unix/Host: Remove debug code from BerkeleyPacketFilter.c 2019-08-19 09:57:27 -07:00
Win EmulatorPkg: Add -D DISABLE_NEW_DEPRECATED_INTERFACES 2019-08-19 09:49:54 -07:00
EmulatorPkg.dec EmulatorPkg: Fix VS20xx IA32 boot failure 2019-08-19 09:49:47 -07:00
EmulatorPkg.dsc EmulatorPkg: Disable TftpDynamicCommand and LogoDxe for XCODE5 2019-08-19 09:57:27 -07:00
EmulatorPkg.fdf EmulatorPkg: Disable TftpDynamicCommand and LogoDxe for XCODE5 2019-08-19 09:57:27 -07:00
Readme.md EmulatorPkg: Remove UNIX_SEC_BUILD/WIN_SEC_BUILD 2019-08-19 09:49:49 -07: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