Re: 2.6.23-rc1, KVM-AMD problem

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Alistair John Strachan wrote:
On Sunday 29 July 2007 14:47:57 you wrote:
Alistair John Strachan wrote:
On Sunday 29 July 2007 12:34:28 you wrote:
[snip]

Doesn't help, I still get the same crashes. I tried 2.6.22 again and
it's rock solid by comparison.
Do you mean, kvm-33 on top of 2.6.22, or the kvm modules from 2.6.22?
Please describe your configuration *exactly*.
I'm using the kvm-33 *userspace* package (based on Debian's kvm-28
packaging) and 2.6.23-rc1's KVM modules. I patched 2.6.23-rc1 with the
patch you provided in your last email. So I'm not using -git HEAD.

Maybe there's been additional necessary fixes to -git requiring me to
update to HEAD? That wasn't clear from your last email.
No,  that patch is the only potential fix post -rc1.  There are a few
other fixes there, but they are intended to avoid guest crashes, not
host crashes.

What guest are you running?  Maybe I can reproduce it here.

Right now, Windows XP. I'm pretty sure Linux (well, Debian Etch) works fine. I could only get Windows to install with -no-acpi, but I run it with the following (if this is at all useful):

kvm -no-acpi -m 256 -hda $IMAGE -net nic -net tap,script=/etc/kvm/kvm-ifup

Basically, the installer seems to work fine, but Windows seemed to have problems after installing post-SP2 updates. Maybe that's why not everybody is seeing it yet.


How about the attached patch? (I haven't yet tried to reproduce, but this can cause an AMD-only oops).

--
error compiling committee.c: too many arguments to function

commit 80917728e43e248155c019f743655806b582b099
Author: Avi Kivity <[email protected]>
Date:   Mon Jul 30 15:56:36 2007 +0300

    KVM: x86 emulator: disable writeback for debug register instructions
    
    These are handled internally by the instruction.
    
    Signed-off-by: Avi Kivity <[email protected]>

diff --git a/drivers/kvm/x86_emulate.c b/drivers/kvm/x86_emulate.c
index 1a90ba0..2136da5 100644
--- a/drivers/kvm/x86_emulate.c
+++ b/drivers/kvm/x86_emulate.c
@@ -1222,11 +1222,13 @@ twobyte_insn:
 		}
 		break;
 	case 0x21: /* mov from dr to reg */
+		no_wb = 1;
 		if (modrm_mod != 3)
 			goto cannot_emulate;
 		rc = emulator_get_dr(ctxt, modrm_reg, &_regs[modrm_rm]);
 		break;
 	case 0x23: /* mov from reg to dr */
+		no_wb = 1;
 		if (modrm_mod != 3)
 			goto cannot_emulate;
 		rc = emulator_set_dr(ctxt, modrm_reg, _regs[modrm_rm]);

[Index of Archives]     [Kernel Newbies]     [Netfilter]     [Bugtraq]     [Photo]     [Stuff]     [Gimp]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Video 4 Linux]     [Linux for the blind]     [Linux Resources]
  Powered by Linux