Messages in this thread Patch in this message | | | Date | Sun, 29 Jul 2007 11:16:43 +0300 | From | Avi Kivity <> | Subject | Re: 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; | |