Hi!

I've some problems with qemu-system-sparc and programs using floating point 
instructions. Each time at least two floating point programs are started in 
qemu simultaneously, one or both are killed by the linux kernel with a SIGSEV 
signal (sometimes because of a corrupted stack or invalid register values). 
If I start only one program no error occurs. It looks like it has something 
to do with the disabled-floating-point-unit-trap, which is executed each time 
a process tries to access the fpu while another process has used it before. 
This interrupt calls the linux function do_fpd_trap which then saves the old 
FPU-state and restores the new one. When only one program uses the FPU this 
trap is never executed.

I've checked a lot of the executed instructions in qemu and cannot find any 
problems up to now. Does somebody else has an idea what to check? The test 
program simply adds two float variables (fadds-instruction) in a loop and 
this crashes the program reproducible.

regards,
Jörg


_______________________________________________
Qemu-devel mailing list
Qemu-devel@nongnu.org
http://lists.nongnu.org/mailman/listinfo/qemu-devel

Reply via email to