[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-ppc] [PULL for-1.6 1/3] cpu: Partially revert "cpu: Change qem
From: |
Richard Henderson |
Subject: |
Re: [Qemu-ppc] [PULL for-1.6 1/3] cpu: Partially revert "cpu: Change qemu_init_vcpu() argument to CPUState" |
Date: |
Mon, 29 Jul 2013 07:41:18 -1000 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:17.0) Gecko/20130625 Thunderbird/17.0.7 |
On 07/29/2013 05:32 AM, Andreas Färber wrote:
> Commit c643bed99 moved qemu_init_vcpu() calls to common CPUState code.
> This causes x86 cpu-add to fail with "KVM: setting VAPIC address failed".
>
> The reason for the failure is that CPUClass::kvm_fd is not yet
> initialized in the following call graph:
> ->x86_cpu_realizefn
> ->x86_cpu_apic_realize
> ->qdev_init
> ->device_set_realized
> ->device_reset (hotplugged == 1)
> ->apic_reset_common
> ->vapic_base_update
> ->kvm_apic_vapic_base_update
> This causes attempted KVM vCPU ioctls to fail.
>
> By contrast, in the non-hotplug case the APIC is reset much later, when
> the vCPU is already initialized.
>
> As a quick and safe solution, move the qemu_init_vcpu() call back into
> the targets' realize functions.
>
> Reported-by: Chen Fan <address@hidden>
> Acked-by: Igor Mammedov <address@hidden> (for i386)
> Tested-by: Jia Liu <address@hidden> (for openrisc)
> Signed-off-by: Andreas Färber <address@hidden>
Tested-by: Richard Henderson <address@hidden> (for Alpha)
r~