From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1FglAr-0001cZ-D4 for qemu-devel@nongnu.org; Thu, 18 May 2006 12:16:29 -0400 Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1FglAl-0001cI-V1 for qemu-devel@nongnu.org; Thu, 18 May 2006 12:16:28 -0400 Received: from [199.232.76.173] (helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1FglAl-0001cE-Mt for qemu-devel@nongnu.org; Thu, 18 May 2006 12:16:23 -0400 Received: from [212.8.0.13] (helo=rosi.naasa.net) by monty-python.gnu.org with esmtp (Exim 4.52) id 1FglDt-00018S-Ae for qemu-devel@nongnu.org; Thu, 18 May 2006 12:19:37 -0400 From: Joerg Platte Date: Thu, 18 May 2006 18:16:11 +0200 MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Disposition: inline Message-Id: <200605181816.12353.lists@naasa.net> Content-Transfer-Encoding: quoted-printable Subject: [Qemu-devel] fpu problems with qemu-system-sparc Reply-To: jplatte@naasa.net, 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 Hi! I've some problems with qemu-system-sparc and programs using floating poi= nt=20 instructions. Each time at least two floating point programs are started = in=20 qemu simultaneously, one or both are killed by the linux kernel with a SI= GSEV=20 signal (sometimes because of a corrupted stack or invalid register values= ).=20 If I start only one program no error occurs. It looks like it has somethi= ng=20 to do with the disabled-floating-point-unit-trap, which is executed each = time=20 a process tries to access the fpu while another process has used it befor= e.=20 This interrupt calls the linux function do_fpd_trap which then saves the = old=20 FPU-state and restores the new one. When only one program uses the FPU th= is=20 trap is never executed. I've checked a lot of the executed instructions in qemu and cannot find a= ny=20 problems up to now. Does somebody else has an idea what to check? The tes= t=20 program simply adds two float variables (fadds-instruction) in a loop and= =20 this crashes the program reproducible. regards, J=C3=B6rg