CVSROOT: /cvs Module name: src Changes by: m...@cvs.openbsd.org 2013/09/05 14:40:32
Modified files: sys/arch/m88k/include: trap.h sys/arch/m88k/m88k: eh_common.S m88100_fp.S trap.c Log message: Service the 88100 floating-point exceptions through trap(), keeping the existing assembly code for now. Make sure the trapframe images of %fpsr and %fpcr are updated by the assembly handlers (in addition to the real registers which were already updated). When returning into trap(), check these updated value to decide whether a signal ought to be sent to the userland process. With these changes, computations which ought to cause a signal to be delivered will indeed trigger the signal, even when they are handled by the completion code in the floating point exception handlers. This fixes the libc/ieeefp/except and lib/fenv regress tests on 88100 systems, finally!