From patchwork Tue Jan 22 20:25:02 2013 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: [for-1.4, qom-cpu, 2/9] target-i386: kvm: Set vcpu_id to APIC ID instead of CPU index From: Eduardo Habkost X-Patchwork-Id: 214643 Message-Id: <1358886309-26258-3-git-send-email-ehabkost@redhat.com> To: qemu-devel@nongnu.org Cc: kvm@vger.kernel.org, Gleb Natapov , "Michael S. Tsirkin" , Marcelo Tosatti , Igor Mammedov , =?UTF-8?q?Andreas=20F=C3=A4rber?= Date: Tue, 22 Jan 2013 18:25:02 -0200 The CPU ID in KVM is supposed to be the APIC ID, so change the KVM_CREATE_VCPU call to match it. The current behavior didn't break anything yet because today the APIC ID is assumed to be equal to the CPU index, but this won't be true in the future. Signed-off-by: Eduardo Habkost Reviewed-by: Marcelo Tosatti Acked-by: Gleb Natapov --- Cc: kvm@vger.kernel.org Cc: Michael S. Tsirkin Cc: Gleb Natapov Cc: Marcelo Tosatti Changes v2: - Change only i386 code (kvm_arch_vcpu_id()) Changes v3: - Get CPUState as argument instead of CPUArchState --- target-i386/kvm.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/target-i386/kvm.c b/target-i386/kvm.c index 5f3f789..c440809 100644 --- a/target-i386/kvm.c +++ b/target-i386/kvm.c @@ -411,9 +411,10 @@ static void cpu_update_state(void *opaque, int running, RunState state) } } -unsigned long kvm_arch_vcpu_id(CPUState *cpu) +unsigned long kvm_arch_vcpu_id(CPUState *cs) { - return cpu->cpu_index; + X86CPU *cpu = X86_CPU(cs); + return cpu->env.cpuid_apic_id; } int kvm_arch_init_vcpu(CPUState *cs)