lkml.org 
[lkml]   [2007]   [Jul]   [30]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
Patch in this message
/
Date
From
SubjectRe: 2.6.23-rc1, KVM-AMD problem
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 <avi@qumranet.com>
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 <avi@qumranet.com>

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]);
\
 
 \ /
  Last update: 2007-07-30 15:03    [W:0.049 / U:2.556 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site