diff --git a/[refs] b/[refs] index bc0c033584da..0dc2724a5484 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 1e35d3c4a7a9682256c887a1388cf3faefdf53df +refs/heads/master: 70433389ccfe2719ef5cd539d04172260294f0f5 diff --git a/trunk/drivers/kvm/svm.c b/trunk/drivers/kvm/svm.c index 729f1cd93606..3910358db79d 100644 --- a/trunk/drivers/kvm/svm.c +++ b/trunk/drivers/kvm/svm.c @@ -561,6 +561,12 @@ static void svm_vcpu_reset(struct kvm_vcpu *vcpu) struct vcpu_svm *svm = to_svm(vcpu); init_vmcb(svm->vmcb); + + if (vcpu->vcpu_id != 0) { + svm->vmcb->save.rip = 0; + svm->vmcb->save.cs.base = svm->vcpu.sipi_vector << 12; + svm->vmcb->save.cs.selector = svm->vcpu.sipi_vector << 8; + } } static struct kvm_vcpu *svm_create_vcpu(struct kvm *kvm, unsigned int id)