Diff for /wikisrc/users/kamil/qemu.mdwn between versions 1.3 and 1.4

version 1.3, 2018/05/27 09:53:16 version 1.4, 2019/01/30 02:07:44
Line 91  membarrier     | membarrier system call  Line 91  membarrier     | membarrier system call 
 fdt            | fdt device tree                                    | unknown, should work  fdt            | fdt device tree                                    | unknown, should work
 bluez          | bluez stack connectivity                           | unknown  bluez          | bluez stack connectivity                           | unknown
 kvm            | KVM acceleration support                           | N/A , Linux specific kernel APIs required in userland  kvm            | KVM acceleration support                           | N/A , Linux specific kernel APIs required in userland
 hax            | HAX acceleration support                           | not ported, Windows/Darwin specific as of today  hax            | HAX acceleration support                           | mostly works, patches pending
 hvf            | Hypervisor.framework acceleration support          | not ported, Darwin specific  hvf            | Hypervisor.framework acceleration support          | not ported, Darwin specific
 whpx           | Windows Hypervisor Platform acceleration support   | N/A  whpx           | Windows Hypervisor Platform acceleration support   | N/A
 rdma           | Enable RDMA-based migration and PVRDMA support     | unknown, probably not supported  rdma           | Enable RDMA-based migration and PVRDMA support     | unknown, probably not supported
Line 162  capstone       | capstone disassembler s Line 162  capstone       | capstone disassembler s
 2. Make QEMU PaX MPROTECT safe.  2. Make QEMU PaX MPROTECT safe.
   
 3. Develop NetBSD USER emulation, attempt to either share the code with FreeBSD (bsd-user, old broken, downstream patches) or with Linux (linux-user, recent, actively maintained). Preferred approach is to share as much code with linux-user as possible, regardless of the state of bsd-user.  3. Develop NetBSD USER emulation, attempt to either share the code with FreeBSD (bsd-user, old broken, downstream patches) or with Linux (linux-user, recent, actively maintained). Preferred approach is to share as much code with linux-user as possible, regardless of the state of bsd-user.
   
 4. Develop HAXM backend support for the NetBSD kernel.  
   
 ## HAXM hardware assisted virtualization  
   
 Features:  
   
  - Open Source  
  - HAXM is an Intel hardware assisted virtualization.  
  - HAXM supports up to 8 active VMs.  
  - HAXM supports up to 16 active VCPUs per VM.  
  - ioctl(2) based API with statically created devices (/dev/HAX, /dev/haxm_vm/vmXX, /dev/haxm_vm/haxm_vmXX_vcpuYY)  
   
 HAXM porting for NetBSD rationale:  
   
  - Relatively low cost (compared to alternatives) to get it aboard to the NetBSD kernel.  
  - Relatively non-intrusive (compared to alternatives like bhyve and KVM)  
  - Scratch but non-functional port for NetBSD is ready.  
  - Active (paid developers) upstream to maintain this  
  - Clean separation between kernel specific and independent parts (there are at least 2 backends: Darwin and Windows)  
  - QEMU frontend already exists, API is ioctl(2) based  
  - Good license (BSD-3-clause) for the kernel driver  
  - Tailored down for desktop users, initially prepared for Android developers  
   
 HAXM shortcomings:  
   
  - No AMD support  
  - Required relatively recent Intel CPU  
  - Not as flexible as KVM-like solutions for embedded or server usage  
  - Not necessarily ready (not tested) to run every OS in existence, there are known failures to execute some versions of the Linux kernel  
   
 Current HAXM/NetBSD status:  
   
  - The module builds and loads into the kernel (triggering a panic)  
  - Revisit the UVM APIs to ship all the needed features of sharing memory between user and kernel that is used by HAXM  
   
 > https://github.com/krytarowski/haxm/tree/netbsd-1  
 >   
 > $ cd netbsd && make  
   
 External links:  
   
 [https://www.qemu.org/2017/11/22/haxm-usage-windows/](https://www.qemu.org/2017/11/22/haxm-usage-windows/)  
   
 [https://software.intel.com/en-us/articles/intel-hardware-accelerated-execution-manager-intel-haxm](https://software.intel.com/en-us/articles/intel-hardware-accelerated-execution-manager-intel-haxm)  
   
 [https://github.com/intel/haxm](https://github.com/intel/haxm)  

Removed from v.1.3  
changed lines
  Added in v.1.4


CVSweb for NetBSD wikisrc <wikimaster@NetBSD.org> software: FreeBSD-CVSweb