ba6037f833
Removing rules for Ipf sources file: * Remove the source file which path with "ipf" and also listed in [Sources.IPF] section of INF file. * Remove the source file which listed in [Components.IPF] section of DSC file and not listed in any other [Components] section. * Remove the embedded Ipf code for MDE_CPU_IPF. Removing rules for Inf file: * Remove IPF from VALID_ARCHITECTURES comments. * Remove DXE_SAL_DRIVER from LIBRARY_CLASS in [Defines] section. * Remove the INF which only listed in [Components.IPF] section in DSC. * Remove statements from [BuildOptions] that provide IPF specific flags. * Remove any IPF sepcific sections. Removing rules for Dec file: * Remove [Includes.IPF] section from Dec. Removing rules for Dsc file: * Remove IPF from SUPPORTED_ARCHITECTURES in [Defines] section of DSC. * Remove any IPF specific sections. * Remove statements from [BuildOptions] that provide IPF specific flags. Cc: Jordan Justen <jordan.l.justen@intel.com> Cc: Andrew Fish <afish@apple.com> Cc: Michael D Kinney <michael.d.kinney@intel.com> Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Chen A Chen <chen.a.chen@intel.com> Reviewed-by: Jordan Justen <jordan.l.justen@intel.com> |
||
---|---|---|
.. | ||
AutoScanPei | ||
BootModePei | ||
CpuRuntimeDxe | ||
EmuBlockIoDxe | ||
EmuBusDriverDxe | ||
EmuGopDxe | ||
EmuSimpleFileSystemDxe | ||
EmuSnpDxe | ||
EmuThunkDxe | ||
FirmwareVolumePei | ||
FlashMapPei | ||
FvbServicesRuntimeDxe | ||
Include | ||
Library | ||
MiscSubClassPlatformDxe | ||
PlatformSmbiosDxe | ||
RealTimeClockRuntimeDxe | ||
ResetRuntimeDxe | ||
Sec | ||
ThunkPpiToProtocolPei | ||
TimerDxe | ||
Unix | ||
Win | ||
EmulatorPkg.dec | ||
EmulatorPkg.dsc | ||
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)
- a posix-like environment with X windows
How to Build & Run
You can use the following command to build.
-
32bit emulator in Windows:
build -p EmulatorPkg\EmulatorPkg.dsc -t VS2017 -D WIN_SEC_BUILD -a IA32
-
64bit emulator in Windows:
build -p EmulatorPkg\EmulatorPkg.dsc -t VS2017 -D WIN_SEC_BUILD -a X64
-
32bit emulator in Linux:
build -p EmulatorPkg\EmulatorPkg.dsc -t GCC5 -D UNIX_SEC_BUILD -a IA32
-
64bit emulator in Linux:
build -p EmulatorPkg\EmulatorPkg.dsc -t GCC5 -D UNIX_SEC_BUILD -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