Update from Ken Nakata.

This commit is contained in:
briggs 1995-11-05 04:23:00 +00:00
parent 8b79bcb9e7
commit f028be21e6
1 changed files with 18 additions and 12 deletions

View File

@ -1,7 +1,7 @@
* $NetBSD: README,v 1.3 1995/11/05 00:35:09 briggs Exp $
* $NetBSD: README,v 1.4 1995/11/05 04:23:00 briggs Exp $
* NetBSD/m68k FPE (floating point emulation) README file
* Created Oct/??/95 by kenn@romulus.rutgers.edu (Ken Nakata)
* Last updated Nov/02/95 by kenn
* Created Oct/??/95 by kenn@remus.rutgers.edu (Ken Nakata)
* Last updated Nov/04/95 by kenn
1. INSTALLATION AND COMPILATION
@ -16,8 +16,7 @@ debugging purpose, add "options DEBUG_WITH_FPU" as well.
NOTE: If you add "options DEBUG_WITH_FPU", FPE will accept cpID=6 as
emulated FPU. You will need a modified gas that generates cpID=6 for
floating point instructions, instead of normal cpID=1. Mount unionfs
or copy the gas source directory as you did with the kernel source tree,
and apply the following patch:
or copy the gas source directory and apply the following patch:
*** /usr/src/gnu/usr.bin/gas/config/tc-m68k.c Mon Nov 21 16:30:41 1994
--- gas/config/tc-m68k.c Fri Sep 29 07:59:06 1995
@ -58,15 +57,15 @@ than welcome to write such functions if you wish to.
3. IMPLEMENTED INSTRUCTIONS
This is the list of implemented and unimplemented FPU instructions.
Most 040's directly supported type 0 instructions are already
implemented except FSGLDIV, FSGLMUL, FMOVE(M) FPcr, and FMOVECR.
All 040's directly supported type 0 instructions are already
implemented except FSGLDIV and FSGLMUL.
Type field = bit 8-6 of opcode word
* Implemented Instructions
Type=0: FMOVE (mem->FPr), FINT, FINTRZ, FSQRT, FABS, FNEG, FGETEXP,
FGETMAN, FDIV, FADD, FMUL, FSGLDIV, FSCALE, FSGLMUL, FSUB,
FGETMAN, FDIV, FADD, FMUL, FSGLDIV(*), FSCALE, FSGLMUL(*), FSUB,
FCMP, FTST, FMOVE (FPr->mem), FMOVEM (FPr), FMOVEM (FPcr),
FMOVECR, FLOGNP1, FLOGN, FLOG10, FLOG2, FMOD, FREM
@ -154,8 +153,15 @@ the following rules:
5) Condition code need not be calculated. It's taken care of in
fpu_emul_arith().
Actually, after above was written, stubs for the missing functions
are added to the source, so you do not have to change fpu_emul_arith()
at all. Function names and prototypes are in fpu_arith_proto.h, and
all (except fpu_sincos()) follows the rules above.
Actually, after above was written, stubs for the missing functions were
added to the source, so you do not have to change fpu_emul_arith() at
all. Function names and prototypes are in fpu_arith_proto.h, and all
except fpu_sincos() follow the rules above. fpu_sincos() is declared
as
struct fpn *fpu_sincos(struct fpemu *fe, int cosreg);
where cosreg is the FP register number to which cosine of the argument
is calculated and assigned. Sine of the argument is stored into the
destination register in the same manner as the other arithmetic
functions.