Lynn Kerby wrote:
Hi KVM developers (and lurkers like myself).
Apologies in advance as this is probably not the right forum for this
question.
It is certainly the right forum.
I've had no success getting an SMP virtual machine running on my AMD
Athlon64 X2 server. The base system is Ubuntu 7.10 (recently
upgraded from 7.04) with a 2.6.22 kernel and I've tried kvm releases
49 & 50 with no success. My memory of whether or not it worked
months ago with kvm-28 on the Ubuntu 2.6.20-16 kernel is no longer
with me :-(. The recent failures have all been BIOS problems at
rombios.c:10605. I'm pretty sure I must have something wrong in my
environment and have spent entirely too much of my spare time trying
various things with no success.
Yes you've been doing something wrong -- you should have reported this
quickly. Worst case somebody would have pointed out something trivial
you're doing wrong and you'd have felt foolish for a bit. But in this
particular case...
Can someone that has actually has an SMP virtual machine running
currently on an AMD processor (preferably a 64-bit guest) give me
some details on the base system kernel, KVM related bits, and the
guest OS?
Turns out kvm smp on amd is broken. I committed a fix for kvm-51, and
now I have FC6 running happily with two vcpus.
If you see problems, please report them soon. I'd rather have noise on
the list than problems going unreported.
I'm attaching the patch which fixes the problem, let us know if it helps
or not (there may be more problems lurking).
--
error compiling committee.c: too many arguments to function
commit 157117844e1d228db58dfe7fbd51c5a225ceafe4
Author: Avi Kivity <[EMAIL PROTECTED]>
Date: Wed Nov 7 12:57:23 2007 +0200
KVM: SVM: Fix SMP with kernel apic
AP processor needs to reset to the SIPI vector, not normal INIT.
Signed-off-by: Avi Kivity <[EMAIL PROTECTED]>
diff --git a/kernel/svm.c b/kernel/svm.c
index 95a3489..ea2cb83 100644
--- a/kernel/svm.c
+++ b/kernel/svm.c
@@ -563,6 +563,12 @@ static int svm_vcpu_reset(struct kvm_vcpu *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;
+ }
+
return 0;
}
-------------------------------------------------------------------------
This SF.net email is sponsored by: Splunk Inc.
Still grepping through log files to find problems? Stop.
Now Search log events and configuration files using AJAX and a browser.
Download your FREE copy of Splunk now >> http://get.splunk.com/
_______________________________________________
kvm-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/kvm-devel