
On Mon, Dec 21, 2015 at 10:15:13AM +0000, Daniel P. Berrange wrote:
On Sun, Dec 20, 2015 at 04:49:20PM +0100, Kashyap Chamarthy wrote:
On Tue, Dec 15, 2015 at 04:42:13PM +0000, Peter Maydell wrote:
On 15 December 2015 at 16:35, Andrew Jones <drjones@redhat.com> wrote:
This is probably good for guests that happy with both. Guests that need/want a specific choice will put their integer there, and then we need a way to do a capabilities check before launching that guest on an arbitrary host.
OK, so how do we typically do that? I notice I have a 'kvm-ok' script on my machine which helpfully reports things like whether KVM is enabled, and it seems like it might be helpful to extend that to know a bit more about ARM hosts. But I'm guessing libvirt doesn't use that for its capability checking ?
libvirt ships a tool called `virt-host-validate` that performs a bunch of checks along with whether KVM is enabled or not in the BIOS:
$ sudo virt-host-validate QEMU: Checking for hardware virtualization : PASS QEMU: Checking for device /dev/kvm : PASS QEMU: Checking for device /dev/vhost-net : PASS QEMU: Checking for device /dev/net/tun : PASS LXC: Checking for Linux >= 2.6.26 : PASS
The only ARM machine I have access to is an AArch64 one, running on it results in:
$ sudo virt-host-validate QEMU: Checking for hardware virtualization : WARN (Only emulated CPUs are available, performance will be significantly limited)
This check needs to be fixed to work on Arm hosts, or indeed any non-x86 hosts. It currently checks for 'svm' and 'vmx' flags in CPU.
So let me summarize the things we need to do: - patch libvirt to allow <gic version='host' /> - patch libvirt to properly probe for GICv2 and GICv3 support - patch libvirt to generally handle virt-host-validate on ARM And that should be enough for other tools such as OpenStack with Nova to probe and create the VMs it wishes. Does that about capture it? Thanks, -Christoffer