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