From mboxrd@z Thu Jan 1 00:00:00 1970 From: Gerhard Wiesinger Subject: Re: DOS VM problem with QEMU-KVM and newer kernels Date: Sun, 15 Apr 2012 21:03:00 +0200 Message-ID: <4F8B1B64.3090601@wiesinger.com> References: <4F871FB6.4020906@wiesinger.com> <4F8A988A.2000009@redhat.com> Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Cc: Kevin Wolf , Jan Kiszka , qemu-devel@nongnu.org, kvm@vger.kernel.org, "Roedel, Joerg" To: Avi Kivity Return-path: In-Reply-To: <4F8A988A.2000009@redhat.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+gceq-qemu-devel=gmane.org@nongnu.org Sender: qemu-devel-bounces+gceq-qemu-devel=gmane.org@nongnu.org List-Id: kvm.vger.kernel.org On 15.04.2012 11:44, Avi Kivity wrote: > On 04/12/2012 09:32 PM, Gerhard Wiesinger wrote: >> Hello, >> >> I'm having problems with recents kernels and qemu-kvm with a DOS VM: >> TD286 >> System: Bad selector: 0007 >> System: Bad selector: 0D87 >> System: Bad selector: 001F >> System: Bad selector: 0007 >> GP at 0020 21D4 EC 0DC4 >> Error 269 loading D:\BP\BIN\TD286.EXE into extended memory >> >> Another 286 DOS Extender application also rises a general protection >> fault: >> GP at 0020 18A1 CODE 357C >> >> Doesn't depend on the used DOS memory manager and is always >> reproduceable. >> >> Depends only on kernel version and not qemu-kvm and seabios (tried to >> bisect it without success): >> # NOK: Linux 3.3.1-3.fc16.x86_64 #1 SMP Wed Apr 4 18:08:51 UTC 2012 >> x86_64 x86_64 x86_64 GNU/Linux >> # NOK: Linux 3.2.10-3.fc16.x86_64 #1 SMP Thu Mar 15 19:39:46 UTC 2012 >> x86_64 x86_64 x86_64 GNU/Linux >> # OK: Linux 3.1.9-1.fc16.x86_64 #1 SMP Fri Jan 13 16:37:42 UTC 2012 >> x86_64 x86_64 x86_64 GNU/Linux >> # OK: Linux 2.6.41.9-1.fc15.x86_64 #1 SMP Fri Jan 13 16:46:51 UTC 2012 >> x86_64 x86_64 x86_64 GNU/Linux >> >> CPU is an AMD one. >> >> Any ideas how to fix it again? >> Any switches which might help? >> > > The trigger is probably > >> commit f1c1da2bde712812a3e0f9a7a7ebe7a916a4b5f4 >> Author: Jan Kiszka >> Date: Tue Oct 18 18:23:11 2011 +0200 >> >> KVM: SVM: Keep intercepting task switching with NPT enabled >> >> AMD processors apparently have a bug in the hardware task switching >> support when NPT is enabled. If the task switch triggers a NPF, we can >> get wrong EXITINTINFO along with that fault. On resume, spurious >> exceptions may then be injected into the guest. >> >> We were able to reproduce this bug when our guest triggered #SS >> and the >> handler were supposed to run over a separate task with not yet touched >> stack pages. >> >> Work around the issue by continuing to emulate task switches even in >> NPT mode. >> >> Signed-off-by: Jan Kiszka >> Signed-off-by: Marcelo Tosatti > Although it's not the patch's direct fault - it simply exposed an > existing bug in kvm. > > Things to try: > - revert the patch with a newer kernel > - try 3.4-rc2 which has some task switch fixes from Kevin; if you want a > Fedora kernel, use rawhide's [2] > - post traces [1] > > Jan, Joerg, was an AMD erratum published for the bug? > > [1] http://www.linux-kvm.org/page/Tracing > [2] > http://mirrors.kernel.org/fedora/development/rawhide/x86_64/os/Packages/k/kernel-3.4.0-0.rc2.git2.1.fc18.x86_64.rpm > Hello Avi, Tried newer kernel since this version is no longer available: http://mirrors.kernel.org/fedora/development/rawhide/x86_64/os/Packages/k/kernel-3.4.0-0.rc2.git3.1.fc18.x86_64.rpm But I wasn't successfull. Still same GP fault (but with 18A2 instead of 18A1): GP at 0020 18A2 CODE 357C yum install asciidoc udis86 udis86-devel git clone git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/trace-cmd.git cd trace-cmd make ./trace-cmd record -b 20000 -e kvm ./trace-cmd report Very long output, what should I grep/trigger for? Thnx so far. BTW: Where can I find old kernels like (removed on upgrade :-( ): kernel-2.6.41.9-1.fc15.x86_64.rpm kernel-3.1.9-1.fc16.x86_64.rpm kernel-3.2.10-3.fc16.x86_64.rpm kernel-debug-2.6.41.9-1.fc15.x86_64 Ciao, Gerhard