I've checked and changed a lot of code inside the kernel and in qemu and added
debbugging output. The crash is more or less reproducible and the program
crashes after 2-3 FPU disabled traps somewhere inside the libc init routines.
The FPU instructions cannot be the problem, because I disabled the trap in
qemu and nothing crashed. Bit the trap is implemented like any other trap and
all other traps seem to work. Since the crash is only reproducible in, lets
say 95% of all tests, it looks like a timing problem. Unfortunately, I have
no idea about qemu's timer simulation. What else can I check?

I'd still check the ld/stfsr implementation. The V8 spec says that stfsr _may_ zero the ftt field in fsr and what you describe sounds like the trapping happens too often. Just add env->fsr &= ~FSR_FTT_MASK into op_stfsr.

The timer frequency can be changed by modifying CNT_FREQ in slavio_timer.c if you want to try that.

_________________________________________________________________
Express yourself instantly with MSN Messenger! Download today it's FREE! http://messenger.msn.click-url.com/go/onm00200471ave/direct/01/



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

Reply via email to