Home | History | Annotate | Download | only in fpe
History log of /src/sys/arch/m68k/fpe/fpu_fstore.c
RevisionDateAuthorComments
 1.17  06-Jan-2025  isaki m68k/fpe: Remove redundant code.
This was assigned before the function was called.
 1.16  03-Jan-2025  isaki m68k/fpe: Check an illegal mod/reg before decoding it.
This avoids a kernel panic if an instruction has illegal mod/reg bits
like FMOVE.X FPn,#imm (Of course normally assemblers never emit these).
XXX Other instructions probably need such treatment...
 1.15  03-Jan-2025  isaki m68k/fpe: Add a missing return.
FMOVE.P FPn,<ea> now raises SIGFPE. (Our FPE doesn't support .P)
 1.14  26-Mar-2013  isaki branches: 1.14.72;
u_int -> uint32_t
 1.13  18-Jul-2011  isaki branches: 1.13.2; 1.13.12;
fix indent again.
- "Second level indents are four spaces." pointed out by tsutsui@
- fold long line.
 1.12  18-Jul-2011  isaki fix indent. no functional changes.
 1.11  14-Mar-2009  dsl Change about 4500 of the K&R function definitions to ANSI ones.
There are still about 1600 left, but they have ',' or /* ... */
in the actual variable definitions - which my awk script doesn't handle.
There are also many that need () -> (void).
(The script does handle misordered arguments.)
 1.10  09-Mar-2007  tsutsui branches: 1.10.44; 1.10.52; 1.10.58;
Make these compile with options DEBUG_FPE.
 1.9  11-Dec-2005  christos branches: 1.9.24; 1.9.26;
merge ktrace-lwp.
 1.8  15-Jul-2003  lukem branches: 1.8.14; 1.8.16;
__KERNEL_RCSID()
 1.7  30-May-1999  briggs branches: 1.7.36;
PR 7220 from Ken Nakata:
I've fixed most (not all) m68k FPE bugs that give bogus
calculation results, esp. fsqrt instruction. Also, the internal FP
representation has been reduced from 115-bit mantissa to 67-bit
mantissa which reduced the required mantissa operation roughly by one
fourth. I've done an extensive (though not exhaustive - it's
impossible!) test on the internal routines by feeding them randomly
generated FP numbers, and found that the new code is more precise than
MC68040 FPU (it seems to have a rounding bug).

[ Only change was to keep fpu_calcea.c's name instead of renaming to
fpu_ea.c in Ken's patch. --akb ]
 1.6  19-Jul-1997  is branches: 1.6.14; 1.6.16; 1.6.18;
Fix my own PR port-m68k/3871, nee port-amiga/3871:
- don't erase FPSR exception bits _after_ doing most of the operations in
fpu_implode(), erase them before doing arith and store operations. This fixes
losing the DZ bit.
- create FPSR_OVFL and FPSR_UNFL bits in fpu_implode(). This showed up when
the first error was fixed.
XXX some more work needs to be done. E.g., creating OPERR together with
OVFL looks bogus, but I'm too tired know to re-check docs; and at least we
pass our own regression tests know.
 1.5  13-Oct-1996  christos backout previous kprintf change
 1.4  11-Oct-1996  christos printf -> kprintf, sprintf -> ksprintf
 1.3  30-Apr-1996  briggs Update for -Wall -Wstrict-prototypes -Wmissing-prototypes -Wno-uninitialized.
 1.2  05-Nov-1995  briggs Fixes from Ken Nakata. Mainly renaming debug_level to fpu_debug_level.
 1.1  03-Nov-1995  briggs Still incomplete, but much more complete FPE from Ken Nakata
<kenn@remus.rutgers.edu>. This emulator does not yet emulate
the following functions:
FSINH, FETOXM1, FTANH, FATAN, FASIN, FATANH, FSIN, FTAN,
FETOX, FTWOTOX, FTENTOX, FCOSH, FACOS, FCOS, FSINCOS
It is sufficient, however, to allow programs like df, w, and newfs,
to run to completion with correct results.
Portions of this code were based on the sparc fpe and on initial
work by gwr.
 1.6.18.1  30-Nov-1999  itojun bring in latest KAME (as of 19991130, KAME/NetBSD141) into kame branch
just for reference purposes.
This commit includes 1.4 -> 1.4.1 sync for kame branch.

The branch does not compile at all (due to the lack of ALTQ and some other
source code). Please do not try to modify the branch, this is just for
referenre purposes.

synchronization to latest KAME will take place on HEAD branch soon.
 1.6.16.1  21-Jun-1999  thorpej Sync w/ -current.
 1.6.14.2  06-Feb-2000  he Apply patch (requested by is):
Revert floating point emulation software to the version released
as NetBSD 1.4. The upgrade done in 1.4.1 had problems.
 1.6.14.1  21-Jun-1999  perry pullup 1.6->1.7 (briggs): fix FPE
 1.7.36.3  21-Sep-2004  skrll Fix the sync with head I botched.
 1.7.36.2  18-Sep-2004  skrll Sync with HEAD.
 1.7.36.1  03-Aug-2004  skrll Sync with HEAD
 1.8.16.1  03-Sep-2007  yamt sync with head.
 1.8.14.1  31-Mar-2007  bouyer Pull up following revision(s) (requested by tsutsui in ticket #1703):
sys/arch/m68k/fpe/fpu_emulate.c: revision 1.27
sys/arch/m68k/fpe/fpu_calcea.c: revision 1.18
sys/arch/m68k/fpe/fpu_fstore.c: revision 1.10
Make these compile with options DEBUG_FPE.
Don't disable EA_DIRECT in fpu_load_ea(), which seems disabled
accidentally in rev 1.11 about six years ago, otherwise
fmovel %dN,%fpN instructions cause unexpected memory access.
 1.9.26.1  12-Mar-2007  rmind Sync with HEAD.
 1.9.24.1  31-Mar-2007  bouyer Pull up following revision(s) (requested by tsutsui in ticket #526):
sys/arch/m68k/fpe/fpu_emulate.c: revision 1.27
sys/arch/m68k/fpe/fpu_calcea.c: revision 1.18
sys/arch/m68k/fpe/fpu_fstore.c: revision 1.10
Make these compile with options DEBUG_FPE.
Don't disable EA_DIRECT in fpu_load_ea(), which seems disabled
accidentally in rev 1.11 about six years ago, otherwise
fmovel %dN,%fpN instructions cause unexpected memory access.
 1.10.58.1  13-May-2009  jym Sync with HEAD.

Commit is split, to avoid a "too many arguments" protocol error.
 1.10.52.1  28-Apr-2009  skrll Sync with HEAD.
 1.10.44.1  04-May-2009  yamt sync with head.
 1.13.12.1  23-Jun-2013  tls resync from head
 1.13.2.1  22-May-2014  yamt sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.14.72.1  02-Aug-2025  perseant Sync with HEAD

RSS XML Feed