- Optimized the CPUID module and added support for setting two new CPUID leaves (#335).
- Fixed some vulnerability issues of loading DRs and MSRs (#347).
- Fixed some minor issues from static code scan (#351).
- Fixed the download URL in the homepage (#348).
This is the first release of HAXM Check Tool, a utility that is used to check the host system environment for HAXM. Its usage can be found in the README document.
It supports to check below system status:
- Intel CPU vendor
- Long (64-bit) mode support status
- VMX support status
- VMX enabling status
- EPT support status
- NX support status
- NX enabling status
- Hyper-V disabling status
- OS version
- OS architecture
- Guest occupancy status
- Optimized internal storage structure for CPUID feature set (#315).
- Fixed a performance issue caused by a regression (#312).
- Fixed some warnings from static code scan (#313).
- Introduced a new installer framework for Windows.
- Added a new IOCTL to enable setting CPUID feature for guest VCPUs (#277, #281, #282).
- Enabled PAT as HAXM supported CPUID feature and added IA32_CR_PAT VMX handling (#204).
- Changed to return deterministic cache parameters by host cache values (#204).
- Cleaned up the legacy EPT engine (#261).
- Enabled support for running on the system with more than 64 host CPUs (#255, #257).
- Improved the handling of undefined instructions by generating #UD exception (#247).
- Improved the CPUID features initialization and processing logic (#245).
- Updated the compilation configurations for Windows and macOS (#243, #244).
- Added VM pause support to fix the crash issue of loading snapshot (#239).
- Fixed incorrect interruptibility_state to resolve an issue on loading snapshot (#233).
- Fixed a bug during mapping memory slots (#237).
- Fixed incorrect VMX_ENTRY_CONTROLS loading (#225).
- Enabled PCLMULQDQ feature in CPUID emulation if supported by the host (#231).
- Optimized the log interfaces and enhanced the logging mechanism on Windows (#215, #232).
- Fixed the compilation warnings and errors on Linux (#223).
- Added support for ROM devices (#213).
- Fixed an issue by saving and restoring host flags before and after executing FASTOP instruction (#216).
- No longer supported dual signing with SHA-1 hashing algorithm for HAXM driver.
- Fixed an issue where preparation of a CPU for entry into guest mode could lead to a host kernel panic on NetBSD (#168).
- Enabled emulation of the CMPS instruction (#176).
- Improved IA32_EFER virtualization (#188, #198).
- Added support for stand-alone memory mappings (#197).
- Enabled emulation of PUSH and POP instructions (#185).
- Fixed misemulation of instructions that access legacy low-byte registers (#185).
- Added support for debugging guest code using breakpoints (#66, #81, #114).
- Enabled/improved emulation of TEST and BT instructions (#104, #122, #135).
- Added experimental support for Linux and NetBSD hosts (#108, #137).
- Enabled support for running up to 64 guests simultaneously (#141).
- Enabled some 32-bit Windows guests to boot under HAXM (#152).
- Fixed a host crash issue specific to very old Intel CPU models (#101).
- Fixed a potential Android Emulator hang (#161).
- Other enhancements and optimizations (#117, #119, #145, etc.).
This is the first release of HaxmLoader, a tool that helps HAXM developers test their own build of the HAXM driver on Windows. It is not meant to be used by end users. HAXM developers can find its usage in the README document.
If you get a missing DLL error, please install Microsoft Visual C++ Redistributable for Visual Studio 2017.