• Andreas Färber's avatar
    cpu: Partially revert "cpu: Change qemu_init_vcpu() argument to CPUState" · 14a10fc3
    Andreas Färber authored
    Commit c643bed9 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:
        ->device_reset (hotplugged == 1)
    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: default avatarChen Fan <chen.fan.fnst@cn.fujitsu.com>
    Acked-by: Igor Mammedov <imammedo@redhat.com> (for i386)
    Tested-by: Jia Liu <proljc@gmail.com> (for openrisc)
    Signed-off-by: default avatarAndreas Färber <afaerber@suse.de>
cpu.c 3.31 KB