On 15 September 2015 at 01:03, liang yan <lia...@hpe.com> wrote: > Hello, All, > > I am trying to enable kvm for a guest vm on an APM X-Gene Host with latest > qemu, but could not make it work. > > The host is APM X-Gene 8-core, Linux kernel is 4.1.0-rc7-1-arm64, > > Guest kernel is linux-3.16rc3 > > QEMU is latest version > > Host has these dmesg info > [ 2.708259] kvm [1]: GICH base=0x780c0000, GICV base=0x780e0000, IRQ=25 > [ 2.708327] kvm [1]: timer IRQ30 > [ 2.708335] kvm [1]: Hyp mode initialized successfully > > Host has dev/kvm. > > command-line is > aarch64-softmmu/qemu-system-aarch64 -machine virt,kernel_irqchip=off -cpu > cortex-a57 -machine accel=kvm -nographic -smp 1 -m 2048 -kernel > aarch64-linux-3.16rc3-buildroot.img --append "console=ttyAMA0" > > > when using cpu "cortex-a57", got the error "kvm_init_vcpu failed: Invalid > argument" > when using cpu "host", got the error "Failed to retrieve host CPU features!"
-cpu host is the correct option here (as Tushar says, specifying a CPU other than the one your host has won't work until the functionality he's working on is done). The error message you get when you try '-cpu host' indicates that kvm_arm_get_host_cpu_features() failed. That function really just does a "create scratch VM", so it is exercising the basic kernel "create VM" operations. It (and the function kvm_arm_create_scratch_host_vcpu() that it calls) are fairly short and simple, so I would suggest either singlestepping through them with a debugger or adding diagnostic printfs to find out which system call is failing. My gut feeling is that this is a bug or missing feature in your host kernel. thanks -- PMM