From 39c412e81b0fd83a3e6a656f94de008da4f6c1d4 Mon Sep 17 00:00:00 2001 From: Qing He Date: Thu, 12 Jul 2007 12:33:56 +0300 Subject: [PATCH] --- yaml --- r: 68339 b: refs/heads/master c: dad3795d2baa4e02cbfd161d9089c73dea16b4ba h: refs/heads/master i: 68337: 00f6e2b04d9caa259d44e53c839bdbca3da221aa 68335: d97c4a997f0f8180cb96123b396fcfdce3498862 v: v3 --- [refs] | 2 +- trunk/drivers/kvm/kvm.h | 1 + trunk/drivers/kvm/kvm_main.c | 1 + trunk/drivers/kvm/svm.c | 2 +- trunk/drivers/kvm/vmx.c | 2 +- 5 files changed, 5 insertions(+), 3 deletions(-) diff --git a/[refs] b/[refs] index 7b6f46b9e7fd..0d6d184e541d 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: cd0d91379776cb6850c7b11c0a8843ca75967558 +refs/heads/master: dad3795d2baa4e02cbfd161d9089c73dea16b4ba diff --git a/trunk/drivers/kvm/kvm.h b/trunk/drivers/kvm/kvm.h index 336be86c6f5a..b629a83eb82d 100644 --- a/trunk/drivers/kvm/kvm.h +++ b/trunk/drivers/kvm/kvm.h @@ -328,6 +328,7 @@ void kvm_io_bus_register_dev(struct kvm_io_bus *bus, struct kvm_vcpu { struct kvm *kvm; + int vcpu_id; union { struct vmcs *vmcs; struct vcpu_svm *svm; diff --git a/trunk/drivers/kvm/kvm_main.c b/trunk/drivers/kvm/kvm_main.c index 36a458f13ec4..df9c05e9b34e 100644 --- a/trunk/drivers/kvm/kvm_main.c +++ b/trunk/drivers/kvm/kvm_main.c @@ -2355,6 +2355,7 @@ static int kvm_vm_ioctl_create_vcpu(struct kvm *kvm, int n) goto out; vcpu = &kvm->vcpus[n]; + vcpu->vcpu_id = n; mutex_lock(&vcpu->mutex); diff --git a/trunk/drivers/kvm/svm.c b/trunk/drivers/kvm/svm.c index bc818cc126e3..52a11ccdf0c2 100644 --- a/trunk/drivers/kvm/svm.c +++ b/trunk/drivers/kvm/svm.c @@ -591,7 +591,7 @@ static int svm_create_vcpu(struct kvm_vcpu *vcpu) fx_init(vcpu); vcpu->fpu_active = 1; vcpu->apic_base = 0xfee00000 | MSR_IA32_APICBASE_ENABLE; - if (vcpu == &vcpu->kvm->vcpus[0]) + if (vcpu->vcpu_id == 0) vcpu->apic_base |= MSR_IA32_APICBASE_BSP; return 0; diff --git a/trunk/drivers/kvm/vmx.c b/trunk/drivers/kvm/vmx.c index 80628f69916d..7fa62c780ce4 100644 --- a/trunk/drivers/kvm/vmx.c +++ b/trunk/drivers/kvm/vmx.c @@ -1253,7 +1253,7 @@ static int vmx_vcpu_setup(struct kvm_vcpu *vcpu) vcpu->regs[VCPU_REGS_RDX] = get_rdx_init_val(); vcpu->cr8 = 0; vcpu->apic_base = 0xfee00000 | MSR_IA32_APICBASE_ENABLE; - if (vcpu == &vcpu->kvm->vcpus[0]) + if (vcpu->vcpu_id == 0) vcpu->apic_base |= MSR_IA32_APICBASE_BSP; fx_init(vcpu);