Re: DOS VM problem with QEMU-KVM and newer kernels

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

On 15.04.2012 11:44, Avi Kivity wrote:
On 04/12/2012 09:32 PM, Gerhard Wiesinger wrote:

I'm having problems with recents kernels and qemu-kvm with a DOS VM:
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
GP at 0020 18A1 CODE 357C

Doesn't depend on the used DOS memory manager and is always

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 #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<jan.kiszka@xxxxxxxxxxx>
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<jan.kiszka@xxxxxxxxxxx>
     Signed-off-by: Marcelo Tosatti<mtosatti@xxxxxxxxxx>
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?


Hello Avi,

Tried newer kernel since this version is no longer available:

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://
cd trace-cmd
./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 :-( ):


To unsubscribe from this list: send the line "unsubscribe kvm" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at

[KVM ARM]     [KVM ia64]     [KVM ppc]     [Spice Development]     [Libvirt]     [Libvirt Users]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Photo]     [Yosemite News]    [Yosemite Photos]    [Linux Kernel]     [Linux SCSI]     [XFree86]

Add to Google Powered by Linux