From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1KqDN0-00008P-OT for qemu-devel@nongnu.org; Wed, 15 Oct 2008 16:53:26 -0400 Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1KqDMz-00006V-MH for qemu-devel@nongnu.org; Wed, 15 Oct 2008 16:53:26 -0400 Received: from [199.232.76.173] (port=39558 helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1KqDMz-00006A-HC for qemu-devel@nongnu.org; Wed, 15 Oct 2008 16:53:25 -0400 Received: from ms01.sssup.it ([193.205.80.99]:50513 helo=sssup.it) by monty-python.gnu.org with esmtp (Exim 4.60) (envelope-from ) id 1KqDMz-0003CI-8P for qemu-devel@nongnu.org; Wed, 15 Oct 2008 16:53:25 -0400 Message-ID: <48F65837.90500@gandalf.sssup.it> Date: Wed, 15 Oct 2008 22:53:11 +0200 From: michael MIME-Version: 1.0 Subject: Re: [Qemu-devel] sh4 linux user emulation on an x86_64 system References: <48F62D38.50001@gandalf.sssup.it> <20081015144403.Y48494@stanley.csl.cornell.edu> In-Reply-To: <20081015144403.Y48494@stanley.csl.cornell.edu> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Reply-To: qemu-devel@nongnu.org List-Id: qemu-devel.nongnu.org List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org Vince Weaver wrote: > Hello > >> On Wed, 15 Oct 2008, michael wrote: >> qemu-sh4-32 I don't have problems. I have the log and the program run >> ok. >> >> If I recompile for the qemu-sh4-64 the system crash. I find the >> reason of the > > I have nothing useful to add, except that I have been trying to track > down a very similar problem with qemu-cris. It works fine on x86, but > gets stuck in x86-64 due to the PC getting mis-set. The problem seems > possibly related to the exception handling code which uses longjmp. > Maybe the problems are related. > > Vince > In the user-mode I see that the expection handling just set the expeciont reason to -1. I will try to track down the problem. I don't find how the tcg avoid the use of low part of a register that is used used for special purpose. The x86_64 has the notion only of the 64bit register but a 64bit register can be used only in the low part. Another thing is the define: #define CODE_GEN_ALIGN 16 /* must be >= of the size of a icache line */ In the x86_64 is not 64? Regards Michael > >