diff options
author | 2013-09-05 20:40:32 +0000 | |
---|---|---|
committer | 2013-09-05 20:40:32 +0000 | |
commit | e7ef6004396edfb7856e664fef9a077105a95984 (patch) | |
tree | fb31723dcf081c1011200a47f2872c99aad922c3 /sys/dev/usb/usbdi.c | |
parent | ugold(4) is a driver for PCsensor's USB gold TEMPer temperature (diff) | |
download | wireguard-openbsd-e7ef6004396edfb7856e664fef9a077105a95984.tar.xz wireguard-openbsd-e7ef6004396edfb7856e664fef9a077105a95984.zip |
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!
Diffstat (limited to 'sys/dev/usb/usbdi.c')
0 files changed, 0 insertions, 0 deletions