71 lines
		
	
	
		
			3.7 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			71 lines
		
	
	
		
			3.7 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
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.
 | 
						|
-------------------------------------------------------------------------------
 |