lkml.org 
[lkml]   [2007]   [Jul]   [29]   [last100]   RSS Feed
Views: [more markup]  [less markup]  [headers]  [forward] 
 
Messages in this thread
Patch in this message
/
DateSun, 29 Jul 2007 11:16:43 +0300
FromAvi Kivity <>
SubjectRe: 2.6.23-rc1, KVM-AMD problem
Alistair John Strachan wrote:
> Hi,
>
> I'm getting periodic oopses running KVM-33 on 2.6.23-rc1. Here is a digital 
> photo of the oops. Alarmingly, a lot of the time it triple faults the machine 
> and I don't get a chance to grab it. This time I was lucky, though.
>
> http://devzero.co.uk/~alistair/kvm-2.6.23-rc1.jpg
>
> Unfortunately, some of the oops text scrolled out of the screen. I will 
> endeavour to reproduce the bug over serial console, but I can make no 
> guarantees.
>
> The CPU is an AMD X2 BE-2350, chipset is AMD 690G.
>
> 

If you are using the modules from 2.6.23-rc1, try upgrading to latest 
-git, which contains a patch that might fix this problem.  If you are 
using the modules from kvm-33, try applying the attached patch.


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

commit bfa6c62f98bd0602025d7b48e267d817082f5d07
Author: Aurelien Jarno <aurelien@aurel32.net>
Date:   Wed Jul 25 10:19:54 2007 +0200

    KVM: disable writeback for 0x0f 0x01 instructions.

    0x0f 0x01 instructions (ie lgdt, lidt, smsw, lmsw and invlpg) does
    not use writeback. This patch set no_wb=1 when emulating those
    instructions.

    This fixes a regression booting the FreeBSD kernel on AMD.

    Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
    Signed-off-by: Avi Kivity <avi@qumranet.com>

diff --git a/drivers/kvm/x86_emulate.c b/drivers/kvm/x86_emulate.c
index 21ce977..cbbb9c5 100644
--- a/drivers/kvm/x86_emulate.c
+++ b/drivers/kvm/x86_emulate.c
@@ -1183,6 +1183,8 @@ pop_instruction:
 twobyte_insn:
 	switch (b) {
 	case 0x01: /* lgdt, lidt, lmsw */
+		/* Disable writeback. */
+		no_wb = 1;
 		switch (modrm_reg) {
 			u16 size;
 			unsigned long address;
\
 
 \ /
  Last update: 2007-07-29 10:19    [from the cache]
©2003-2008