QEMU: Difference between revisions

m (retap)
 
===System emulation under a hypervisor===
 
ALternativelyAlternatively, QEMU can use a hypervisor API provided by the host operating system to run the virtual CPUs (vCPUs), which allows it to run operating systems at near native speed.
 
When a given hypervisor is enabled, instead of using TCG to ''emulate'' each vCPU present in the configured machine, QEMU will instead request the hypervisor run the vCPU, greatlywhich increasingwill theuse performancenative virtualization features that are a part of the virtualized systemCPU.
 
Most of QEMU's hardware/system emulation still runs in usermode with a hypervisor enabled. On KVM, chipset emulation functionality is by default moved into the kernel, helping increase performance further.
! API !! Platforms !! Details
|-
| KVM (<kbd>-accel kvm</kbd>) || Linux || Linux's native hypervisor API, which works on x86_64, ppc, arm, aarch64, s390x and others. You can check for KVM support by running the command <kbd>kvm-ok</kbd>, or alternatively <kbd>ls /dev/kvm</kbd>.
|-
| HAXM (<kbd>-accel haxm</kbd>) || Windows, macOS, FreeBSD, Linux || A deprecated hypervisor layer written by Intel for x86 platforms. Not reccomendedrecommended for use.
|-
| WHPX (<kbd>-accel whpx</kbd>) || Windows || Windows Hypervisor Platform. Essentially the hypervisor core of Hyper-V abstracted outturned into an API. This does not run very well, and certain OSes do not run properly or very slowly under it.
|-
| GVM/AEHD (<kbd>-accel kvm</kbd>) || Windows || Google-backed port of KVM to Windows, mainly used for the Android Virtual Device emulator, which is based on QEMU. Needs a [https://github.com/qemu-gvm/qemu-gvm fork] of QEMU patched to support it, and is rather unstable.
|-
| Hypervisor.framework (<kbd>-accel hvf</kbd>) || macOS || macOS specific hypervisor API.
|}
 
Note that you can also use <kbd>-M ...,accel=<hypervisor></kbd> to enable a given hypervisor supportas well.
 
==Table of contents==