summaryrefslogtreecommitdiffstats
path: root/target-i386/kvm.c
diff options
context:
space:
mode:
authorEduardo Habkost2013-01-22 21:25:02 +0100
committerAndreas Färber2013-01-27 14:34:26 +0100
commit83b17af5e619abdf11721826b08fa4f30e9dc4ee (patch)
tree35585ed841f963736951409fdbc6a92fb57064f6 /target-i386/kvm.c
parentkvm: Create kvm_arch_vcpu_id() function (diff)
downloadqemu-83b17af5e619abdf11721826b08fa4f30e9dc4ee.tar.gz
qemu-83b17af5e619abdf11721826b08fa4f30e9dc4ee.tar.xz
qemu-83b17af5e619abdf11721826b08fa4f30e9dc4ee.zip
target-i386: kvm: Set vcpu_id to APIC ID instead of CPU index
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 <ehabkost@redhat.com> Reviewed-by: Marcelo Tosatti <mtosatti@redhat.com> Acked-by: Gleb Natapov <gleb@redhat.com> Signed-off-by: Andreas Färber <afaerber@suse.de>
Diffstat (limited to 'target-i386/kvm.c')
-rw-r--r--target-i386/kvm.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/target-i386/kvm.c b/target-i386/kvm.c
index 5f3f7894c1..c440809cb2 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)