HAXM has been imported into pkgsrc/emulators/haxm.
HAXM is a cross-platform hardware-assisted virtualization engine (hypervisor), widely used as an accelerator for Android Emulator and QEMU. It has always supported running on Windows and macOS, and has been ported to other host operating systems as well, such as Linux and NetBSD.
HAXM runs as a kernel-mode driver on the host operating system, and provides a KVM-like interface to user space, thereby enabling applications like QEMU to utilize the hardware virtualization capabilities built into modern Intel CPUs, namely Intel Virtualization Technology.
More information on the porting process is available on The NetBSD blog: http://blog.netbsd.org/tnf/entry/the_hardware_assisted_virtualization_challenge
NetBSD/amd64 is the only supported host of the package, but it shouldn't be difficult to port to NetBSD/i386 and package support for other supported OSes. The only tested version of the host kernel are 8.0 and HEAD, earlier releases might work (in theory 6.x is the minimal one). HAXM works with unpatched NetBSD kernel.
Users of HAXM shall obtain from the sources at least a copy of syssrc and place it into regular directory /usr/src(/sys).
Guests that are already known to work:
- Windows 7 32-bit
- Linux 64-bit (noapic boot)
- FreeBSD 12 32-bit
- Minix3 i386
- Plan9 i386
Other OSes are either broken or untested.
1. Install emulators/haxm from pkgsrc
2. Install emulators/qemu 3.1.0nb5 or newer from pkgsrc
3. Use auxiliary scripts for HAXM (superuser privileges needed)
4. Append HAXM option to qemu (qemu --accel hax)
Auxiliary scripts in the HAXM package:
- haxm-mknod # creates /dev entries
- haxm-modload # inserts the HAXM kernel module
- haxm-modunload # removes the HAXM module from the NetBSD kernel
Optionally grant access to the HAXM device nodes to user(s):
Future updates to the HAXM support will be tracked directly on The NetBSD Wiki qemu page: http://wiki.netbsd.org/users/kamil/qemu/
By Kamil Rytarowski [http://mail-index.netbsd.org/netbsd-users/2019/02/13/msg022207.html]