From mboxrd@z Thu Jan 1 00:00:00 1970 From: Allan Graves Subject: 64 bit Intel HVM Weirdness - setjmp\longjump fp exception in Xen, not on real hardware or AMD HVM Date: Thu, 29 Oct 2009 21:23:04 -0400 Message-ID: <4AEA3FF8.6050109@oracle.com> Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Return-path: List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Sender: xen-devel-bounces@lists.xensource.com Errors-To: xen-devel-bounces@lists.xensource.com To: xen-devel@lists.xensource.com List-Id: xen-devel@lists.xenproject.org (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 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 > >> > >> 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