History log of /openbsd-current/sys/arch/m88k/m88k/fpu.c
Revision (<<< Hide revision tags) (Show revision tags >>>) Date Author Comments
# 1.4 24-Sep-2021 aoyama

Fix two bugs in m88k fcmp{,u} emulation.

- Use of goto will skip zeroing of 88110-specific comparison bits (bitn
12-17) in some cases. (Move their zeroing closer to the point of
their computation.)

- Computing of the "in interval" bits should not be performed when the
S2 operand is negative.

Spotted by Tetsuya Isaki (nono project), suggested diff and description
from Miod Vallat. Tested on the real hardware by Isaki and me.


Revision tags: OPENBSD_6_2_BASE OPENBSD_6_3_BASE OPENBSD_6_4_BASE OPENBSD_6_5_BASE OPENBSD_6_6_BASE OPENBSD_6_7_BASE OPENBSD_6_8_BASE OPENBSD_6_9_BASE OPENBSD_7_0_BASE
# 1.3 08-Sep-2017 deraadt

If you use sys/param.h, you don't need sys/types.h


Revision tags: OPENBSD_5_6_BASE OPENBSD_5_7_BASE OPENBSD_5_8_BASE OPENBSD_5_9_BASE OPENBSD_6_0_BASE OPENBSD_6_1_BASE
# 1.2 02-Jul-2014 miod

In fpu_compare(), set the `not equal' bit when the result of the comparison
is `not comparable'. gcc relies upon `not equal' being set when comparing
numbers to infinities.


# 1.1 09-Jun-2014 miod

Replace the unmaintainable assembler code responsible for 88100 precise FPU
fault handling with a C wrapper around the softfloat code, as already done for
88110 kernels.

As a bonus, attempting to read or write FPU control registers but fcr62 and
fcr63 in userland will now correctly signal an illegal instruction, instead
of leaving the destination register unchanged and pretending nothing bad
happened.

Be sure to rm m88100_fp.d in your kernel compile directory after updating your
tree.


Revision tags: OPENBSD_6_2_BASE
# 1.3 08-Sep-2017 deraadt

If you use sys/param.h, you don't need sys/types.h


Revision tags: OPENBSD_5_6_BASE OPENBSD_5_7_BASE OPENBSD_5_8_BASE OPENBSD_5_9_BASE OPENBSD_6_0_BASE OPENBSD_6_1_BASE
# 1.2 02-Jul-2014 miod

In fpu_compare(), set the `not equal' bit when the result of the comparison
is `not comparable'. gcc relies upon `not equal' being set when comparing
numbers to infinities.


# 1.1 09-Jun-2014 miod

Replace the unmaintainable assembler code responsible for 88100 precise FPU
fault handling with a C wrapper around the softfloat code, as already done for
88110 kernels.

As a bonus, attempting to read or write FPU control registers but fcr62 and
fcr63 in userland will now correctly signal an illegal instruction, instead
of leaving the destination register unchanged and pretending nothing bad
happened.

Be sure to rm m88100_fp.d in your kernel compile directory after updating your
tree.