Re: [Qemu-devel] 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:
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<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?

[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,

Status is as follows:
1.) Kernel 3.4.x DIDN'T fix the problem
2.) Reverting f1c1da2bde712812a3e0f9a7a7ebe7a916a4b5f4 FIXED the problem.

So the bug is still in 3.2., 3.3, 3.4rc present and a possible fix doesn't work. Should be fixed in 3.4 release.

How to proceed further?

I can try some patches if you want.

Thnx for all your help.

Ciao,
Gerhard

--
To unsubscribe from this list: send the line "unsubscribe kvm" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [KVM ARM]     [KVM ia64]     [KVM ppc]     [Virtualization Tools]     [Spice Development]     [Libvirt]     [Libvirt Users]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite Questions]     [Linux Kernel]     [Linux SCSI]     [XFree86]
  Powered by Linux