> $ sudo virsh capabilities
> <capabilities>
> <host>
> <cpu>
> <arch>x86_64</arch>
> </cpu>
> <migration_features>
> <live/>
> <uri_transports>
> <uri_transport>tcp</uri_transport>
> </uri_transports>
> </migration_features>
> </host>
> <guest>
> <os_type>hvm</os_type>
> <arch name='i686'>
> <wordsize>32</wordsize>
> <emulator>/usr/bin/qemu</emulator>
> <machine>pc-0.11</machine>
> <machine canonical='pc-0.11'>pc</machine>
> <machine>pc-0.10</machine>
> <machine>isapc</machine>
> <domain type='qemu'>
> </domain>
> </arch>
> <features>
> <pae/>
> <nonpae/>
> <acpi default='on' toggle='yes'/>
> <apic default='on' toggle='no'/>
> </features>
> </guest>
> </capabilities>
Ok, this confirms your host OS is x86_64, but it only shows a single
guest entry for i386. This is because the 'qemu' binar is the 32-bit
emulator. To make x86_64 guests work, you need to install the
qemu-system-x86_64 binary, or a KVM binary called 'kvm' or 'qemu-kvm'.
Once those are installed, you should see another <guest> appear in
that capabilities XML
Unfortunately, I already have the 64bit emulator installed:
$ which qemu-system-x86_64
/usr/local/bin/qemu-system-x86_64
$ ls -l /usr/local/bin/qemu-*
-rwxr-xr-x 1 root root 217184 Jan 14 14:00 /usr/local/bin/qemu-img
-rwxr-xr-x 1 root root 229120 Jan 14 14:00 /usr/local/bin/qemu-io
-rwxr-xr-x 1 root root 210968 Jan 14 14:00 /usr/local/bin/qemu-nbd
-rwxr-xr-x 1 root root 2323328 Jan 14 14:01 /usr/local/bin/qemu-system-x86_64
This was done by building the qemu-kvm-0.12.1.1 package from source.
I am able to run this vm just fine using the qemu-system-x86_64
binary. I've tried rebuilding libvirt several times to make it aware
that the proper binaries are installed, but it can't seem to find them
for some reason.