# QEMU/KVM hypervisor driver

The libvirt QEMU driver can manage any QEMU emulator from version 0.8.1 or later. It can also manage anything that provides the same QEMU command line syntax and monitor interaction. This includes KVM, and Xenner.

## Deployment pre-requisites

- QEMU emulators: The driver will probe `/usr/bin` for the presence of `qemu`, `qemu-system-x86_64`, `qemu-system-mips`,`qemu-system-mipsel`, `qemu-system-sparc`,`qemu-system-ppc`. The results of this can be seen from the capabilities XML output.
- KVM hypervisor: The driver will probe `/usr/bin` for the presence of `qemu-kvm` and `/dev/kvm` device node. If both are found, then KVM fullyvirtualized, hardware accelerated guests will be available.
- Xenner hypervisor: The driver will probe `/usr/bin` for the presence of `xenner` and `/dev/kvm` device node. If both are found, then Xen paravirtualized guests can be run using the KVM hardware acceleration.

## Example domain XML config

### QEMU emulated guest on x86_64

    <domain type='qemu'>
      <name>QEmu-fedora-i686</name>
      <uuid>c7a5fdbd-cdaf-9455-926a-d65c16db1809</uuid>
      <memory>219200</memory>
      <currentMemory>219200</currentMemory>
      <vcpu>2</vcpu>
      <os>
        <type arch='i686' machine='pc'>hvm</type>
        <boot dev='cdrom'/>
      </os>
      <devices>
        <emulator>/usr/bin/qemu-system-x86_64</emulator>
        <disk type='file' device='cdrom'>
          <source file='/home/user/boot.iso'/>
          <target dev='hdc'/>
          <readonly/>
        </disk>
        <disk type='file' device='disk'>
          <source file='/home/user/fedora.img'/>
          <target dev='hda'/>
        </disk>
        <interface type='network'>
          <source network='default'/>
        </interface>
        <graphics type='vnc' port='-1'/>
      </devices>
    </domain>

### KVM hardware accelerated guest on i686

    <domain type='kvm'>
      <name>demo2</name>
      <uuid>4dea24b3-1d52-d8f3-2516-782e98a23fa0</uuid>
      <memory>131072</memory>
      <vcpu>1</vcpu>
      <os>
        <type arch="i686">hvm</type>
      </os>
      <clock sync="localtime"/>
      <devices>
        <emulator>/usr/bin/qemu-kvm</emulator>
        <disk type='file' device='disk'>
          <source file='/var/lib/libvirt/images/demo2.img'/>
          <target dev='hda'/>
        </disk>
        <interface type='network'>
          <source network='default'/>
          <mac address='24:42:53:21:52:45'/>
        </interface>
        <graphics type='vnc' port='-1'/>
      </devices>
    </domain>

### Xen paravirtualized guests with hardware acceleration