71 lines
3.7 KiB
Text
71 lines
3.7 KiB
Text
|
This directory contains the version 0.92 test release of the NetWinder
|
||
|
Floating Point Emulator.
|
||
|
|
||
|
The majority of the code was written by me, Scott Bambrough It is
|
||
|
written in C, with a small number of routines in inline assembler
|
||
|
where required. It was written quickly, with a goal of implementing a
|
||
|
working version of all the floating point instructions the compiler
|
||
|
emits as the first target. I have attempted to be as optimal as
|
||
|
possible, but there remains much room for improvement.
|
||
|
|
||
|
I have attempted to make the emulator as portable as possible. One of
|
||
|
the problems is with leading underscores on kernel symbols. Elf
|
||
|
kernels have no leading underscores, a.out compiled kernels do. I
|
||
|
have attempted to use the C_SYMBOL_NAME macro wherever this may be
|
||
|
important.
|
||
|
|
||
|
Another choice I made was in the file structure. I have attempted to
|
||
|
contain all operating system specific code in one module (fpmodule.*).
|
||
|
All the other files contain emulator specific code. This should allow
|
||
|
others to port the emulator to NetBSD for instance relatively easily.
|
||
|
|
||
|
The floating point operations are based on SoftFloat Release 2, by
|
||
|
John Hauser. SoftFloat is a software implementation of floating-point
|
||
|
that conforms to the IEC/IEEE Standard for Binary Floating-point
|
||
|
Arithmetic. As many as four formats are supported: single precision,
|
||
|
double precision, extended double precision, and quadruple precision.
|
||
|
All operations required by the standard are implemented, except for
|
||
|
conversions to and from decimal. We use only the single precision,
|
||
|
double precision and extended double precision formats. The port of
|
||
|
SoftFloat to the ARM was done by Phil Blundell, based on an earlier
|
||
|
port of SoftFloat version 1 by Neil Carson for NetBSD/arm32.
|
||
|
|
||
|
The file README.FPE contains a description of what has been implemented
|
||
|
so far in the emulator. The file TODO contains a information on what
|
||
|
remains to be done, and other ideas for the emulator.
|
||
|
|
||
|
Bug reports, comments, suggestions should be directed to me at
|
||
|
<scottb@netwinder.org>. General reports of "this program doesn't
|
||
|
work correctly when your emulator is installed" are useful for
|
||
|
determining that bugs still exist; but are virtually useless when
|
||
|
attempting to isolate the problem. Please report them, but don't
|
||
|
expect quick action. Bugs still exist. The problem remains in isolating
|
||
|
which instruction contains the bug. Small programs illustrating a specific
|
||
|
problem are a godsend.
|
||
|
|
||
|
Legal Notices
|
||
|
-------------
|
||
|
|
||
|
The NetWinder Floating Point Emulator is free software. Everything Rebel.com
|
||
|
has written is provided under the GNU GPL. See the file COPYING for copying
|
||
|
conditions. Excluded from the above is the SoftFloat code. John Hauser's
|
||
|
legal notice for SoftFloat is included below.
|
||
|
|
||
|
-------------------------------------------------------------------------------
|
||
|
SoftFloat Legal Notice
|
||
|
|
||
|
SoftFloat was written by John R. Hauser. This work was made possible in
|
||
|
part by the International Computer Science Institute, located at Suite 600,
|
||
|
1947 Center Street, Berkeley, California 94704. Funding was partially
|
||
|
provided by the National Science Foundation under grant MIP-9311980. The
|
||
|
original version of this code was written as part of a project to build
|
||
|
a fixed-point vector processor in collaboration with the University of
|
||
|
California at Berkeley, overseen by Profs. Nelson Morgan and John Wawrzynek.
|
||
|
|
||
|
THIS SOFTWARE IS DISTRIBUTED AS IS, FOR FREE. Although reasonable effort
|
||
|
has been made to avoid it, THIS SOFTWARE MAY CONTAIN FAULTS THAT WILL AT
|
||
|
TIMES RESULT IN INCORRECT BEHAVIOR. USE OF THIS SOFTWARE IS RESTRICTED TO
|
||
|
PERSONS AND ORGANIZATIONS WHO CAN AND WILL TAKE FULL RESPONSIBILITY FOR ANY
|
||
|
AND ALL LOSSES, COSTS, OR OTHER PROBLEMS ARISING FROM ITS USE.
|
||
|
-------------------------------------------------------------------------------
|