|
|
|
|
|
|
|
|
|
|
xen-devel
[Xen-devel] 64 bit Intel HVM Weirdness - setjmp\longjump fp exception in
(Please excuse double posting - I was told xen-users was not the right
list, to put it on xen-devel, as it was not a technical support query,
but an issue.)
The following program will crash with a fp exception on an INTEL 64 bit
HVM domU only:
#include <setjmp.h>
jmp_buf env; main() { if(setjmp(env)) return; longjmp(env, 1); }
This can be seen using both Linux and Windows 64 bit Guests.
My machine is a Core 2 Duo with both VT-D and VT-X extensions enabled.
Unfortunately, this is blocking our usage of 64 bit HVM Windows guests.
A similar issue was reported in KVM and recently fixed, some of their
analysis is below:
--------------------------------------------------
>> It seems that the problem can be reproduced by compiling the
>> following simple program using cygwin's gcc. The program crashes on
>> w2k3-amd64 on kvm-83 on core2-duo, and it does not crash on the
>> same w2k3-amd64 installation on kvm-83 on AMD Phenom.
>>
>> #include <setjmp.h>
>>
>> jmp_buf env; main() { if(setjmp(env)) return; longjmp(env, 1); }
>>
>> The problem seems to be in the instruction ``mov gs,ax'' (Intel
>> syntax) in the longjmp() code. If I let the virtual machine execute
>> the instruction, the program crashes. However, if I step over the
>> instruction using the vs2008 debugger, the program completes
>> without crashing. Thus, I think that this is the instruction that
>> Avi is looking for, but I don't know how to proceed from here.
>> -------------------------------------------------------
http://markmail.org/message/owy3x7pf6oywdx5e#query:+page:1+mid:spz6vmdothb2njfb+state:results
Anyone have a solution to this? :)
Allan
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel
|
<Prev in Thread] |
Current Thread |
[Next in Thread>
|
- [Xen-devel] 64 bit Intel HVM Weirdness - setjmp\longjump fp exception in Xen, not on real hardware or AMD HVM,
Allan Graves <=
|
|
|
|
|