Orange Pi5 kernel

Deprecated Linux kernel 5.10.110 for OrangePi 5/5B/5+ boards

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