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