[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] Cubietruck: cannot create KVM guests: "kvm_init_vcpu fa
From: |
Richard W.M. Jones |
Subject: |
Re: [Qemu-devel] Cubietruck: cannot create KVM guests: "kvm_init_vcpu failed: Invalid argument" |
Date: |
Tue, 9 Dec 2014 11:25:43 +0000 |
User-agent: |
Mutt/1.5.20 (2009-12-10) |
On Tue, Dec 09, 2014 at 11:50:31AM +0100, Kashyap Chamarthy wrote:
> Booting a minimal KVM guest throws the below error on Cubietruck:
>
> "kvm_init_vcpu failed: Invalid argument"
>
> More context and an easy reproducer in this QEMU bug[1] for Fedora.
>
> Context quoting Rich Jones from comment #2:
>
> "For some reason I thought this had been fixed upstream, but
> now that I've finally got my CT working again, I see that I
> am still carrying that patch in my custom qemu.
>
> diff --git a/target-arm/cpu.c b/target-arm/cpu.c
> index 5ce7350..04d69d1 100644
> --- a/target-arm/cpu.c
> +++ b/target-arm/cpu.c
> @@ -858,7 +858,7 @@ static void cortex_a15_initfn(Object *obj)
> set_feature(&cpu->env, ARM_FEATURE_DUMMY_C15_REGS);
> set_feature(&cpu->env, ARM_FEATURE_CBAR_RO);
> set_feature(&cpu->env, ARM_FEATURE_LPAE);
> - cpu->kvm_target = QEMU_KVM_ARM_TARGET_CORTEX_A15;
> + cpu->kvm_target = QEMU_KVM_ARM_TARGET_CORTEX_A7;
> cpu->midr = 0x412fc0f1;
> cpu->reset_fpsid = 0x410430f0;
> cpu->mvfr0 = 0x10110222;
>
> So that's the answer really, it's a qemu bug. Actually it looks as
> if qemu contains some code to try to get the host CPU type, but it
> doesn't work, or maybe we need to pass a -cpu option ..."
Kashyap,
Can you try modifying src/launch-direct.c to see if we can pass
-cpu cortex-a7
and if that fixes the problem?
If that does solve the problem, the question becomes how to detect the
right CPU (either cortex-a7, cortex-a15, cortex-a57, ...) This
information isn't easily available to libguestfs AFAIK.
I really think that qemu should just "do the right thing" though.
Rich.
--
Richard Jones, Virtualization Group, Red Hat http://people.redhat.com/~rjones
Read my programming and virtualization blog: http://rwmj.wordpress.com
virt-p2v converts physical machines to virtual machines. Boot with a
live CD or over the network (PXE) and turn machines into KVM guests.
http://libguestfs.org/virt-v2v