From 871480933a1c28f8a9fed4c4d34d06c439a7a422 Mon Sep 17 00:00:00 2001 From: Srikant Patnaik Date: Sun, 11 Jan 2015 12:28:04 +0530 Subject: Moved, renamed, and deleted files The original directory structure was scattered and unorganized. Changes are basically to make it look like kernel structure. --- ANDROID_3.4.5/arch/m68k/ifpsp060/ilsp.doc | 150 ------------------------------ 1 file changed, 150 deletions(-) delete mode 100644 ANDROID_3.4.5/arch/m68k/ifpsp060/ilsp.doc (limited to 'ANDROID_3.4.5/arch/m68k/ifpsp060/ilsp.doc') diff --git a/ANDROID_3.4.5/arch/m68k/ifpsp060/ilsp.doc b/ANDROID_3.4.5/arch/m68k/ifpsp060/ilsp.doc deleted file mode 100644 index 4e6292f0..00000000 --- a/ANDROID_3.4.5/arch/m68k/ifpsp060/ilsp.doc +++ /dev/null @@ -1,150 +0,0 @@ -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -MOTOROLA MICROPROCESSOR & MEMORY TECHNOLOGY GROUP -M68000 Hi-Performance Microprocessor Division -M68060 Software Package -Production Release P1.00 -- October 10, 1994 - -M68060 Software Package Copyright © 1993, 1994 Motorola Inc. All rights reserved. - -THE SOFTWARE is provided on an "AS IS" basis and without warranty. -To the maximum extent permitted by applicable law, -MOTOROLA DISCLAIMS ALL WARRANTIES WHETHER EXPRESS OR IMPLIED, -INCLUDING IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE -and any warranty against infringement with regard to the SOFTWARE -(INCLUDING ANY MODIFIED VERSIONS THEREOF) and any accompanying written materials. - -To the maximum extent permitted by applicable law, -IN NO EVENT SHALL MOTOROLA BE LIABLE FOR ANY DAMAGES WHATSOEVER -(INCLUDING WITHOUT LIMITATION, DAMAGES FOR LOSS OF BUSINESS PROFITS, -BUSINESS INTERRUPTION, LOSS OF BUSINESS INFORMATION, OR OTHER PECUNIARY LOSS) -ARISING OF THE USE OR INABILITY TO USE THE SOFTWARE. -Motorola assumes no responsibility for the maintenance and support of the SOFTWARE. - -You are hereby granted a copyright license to use, modify, and distribute the SOFTWARE -so long as this entire notice is retained without alteration in any modified and/or -redistributed versions, and that such modified versions are clearly identified as such. -No licenses are granted by implication, estoppel or otherwise under any patents -or trademarks of Motorola, Inc. -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -68060 INTEGER SOFTWARE PACKAGE (Library version) -------------------------------------------------- - -The file ilsp.s contains the "Library version" of the -68060 Integer Software Package. Routines included in this -module can be used to emulate 64-bit divide and multiply, -and the "cmp2" instruction. These instructions are not -implemented in hardware on the 68060 and normally take -exception vector #61 "Unimplemented Integer Instruction". - -By re-compiling a program that uses these instructions, and -making subroutine calls in place of the unimplemented -instructions, a program can avoid the overhead associated with -taking the exception. - -Release file format: --------------------- -The file ilsp.sa is essentially a hexadecimal image of the -release package. This is the ONLY format which will be supported. -The hex image was created by assembling the source code and -then converting the resulting binary output image into an -ASCII text file. The hexadecimal numbers are listed -using the Motorola Assembly Syntax assembler directive "dc.l" -(define constant longword). The file can be converted to other -assembly syntaxes by using any word processor with a global -search and replace function. - -To assist in assembling and linking this module with other modules, -the installer should add a symbolic label to the top of the file. -This will allow calling routines to access the entry points -of this package. - -The source code ilsp.s has also been included but only for -documentation purposes. - -Release file structure: ------------------------ -The file ilsp.sa contains an "Entry-Point" section and a -code section. The ILSP has no "Call-Out" section. The first section -is the "Entry-Point" section. In order to access a function in the -package, a program must "bsr" or "jsr" to the location listed -below in "68060ILSP Entry Points" that corresponds to the desired -function. A branch instruction located at the selected entry point -within the package will then enter the correct emulation code routine. - -The entry point addresses at the beginning of the package will remain -fixed so that a program calling the routines will not have to be -re-compiled with every new 68060ILSP release. - -For example, to use a 64-bit multiply instruction, -do a "bsr" or "jsr" to the entry point defined by -the 060ILSP entry table. A compiler generated code sequence -for unsigned multiply could look like: - -# mulu.l ,Dh:Dl -# mulu.l _multiplier,%d1:%d0 - - subq.l &0x8,%sp # make room for result on stack - pea (%sp) # pass: result addr on stack - mov.l %d0,-(%sp) # pass: multiplicand on stack - mov.l _multiplier,-(%sp) # pass: multiplier on stack - bsr.l _060LISP_TOP+0x18 # branch to multiply routine - add.l &0xc,%sp # clear arguments from stack - mov.l (%sp)+,%d1 # load result[63:32] - mov.l (%sp)+,%d0 # load result[31:0] - -For a divide: - -# divu.l ,Dr:Dq -# divu.l _divisor,%d1:%d0 - - subq.l &0x8,%sp # make room for result on stack - pea (%sp) # pass: result addr on stack - mov.l %d0,-(%sp) # pass: dividend hi on stack - mov.l %d1,-(%sp) # pass: dividend hi on stack - mov.l _divisor,-(%sp) # pass: divisor on stack - bsr.l _060LISP_TOP+0x08 # branch to divide routine - add.l &0xc,%sp # clear arguments from stack - mov.l (%sp)+,%d1 # load remainder - mov.l (%sp)+,%d0 # load quotient - -The library routines also return the correct condition code -register value. If this is important, then the caller of the library -routine must make sure that the value isn't lost while popping -other items off of the stack. - -An example of using the "cmp2" instruction is as follows: - -# cmp2.l ,Rn -# cmp2.l _bounds,%d0 - - pea _bounds # pass ptr to bounds - mov.l %d0,-(%sp) # pass Rn - bsr.l _060LSP_TOP_+0x48 # branch to "cmp2" routine - mov.w %cc,_tmp # save off condition codes - addq.l &0x8,%sp # clear arguments from stack - -Exception reporting: --------------------- -If the instruction being emulated is a divide and the source -operand is a zero, then the library routine, as its last -instruction, executes an implemented divide using a zero -source operand so that an "Integer Divide-by-Zero" exception -will be taken. Although the exception stack frame will not -point to the correct instruction, the user will at least be able -to record that such an event occurred if desired. - -68060ILSP entry points: ------------------------ -_060ILSP_TOP: -0x000: _060LSP__idivs64_ -0x008: _060LSP__idivu64_ - -0x010: _060LSP__imuls64_ -0x018: _060LSP__imulu64_ - -0x020: _060LSP__cmp2_Ab_ -0x028: _060LSP__cmp2_Aw_ -0x030: _060LSP__cmp2_Al_ -0x038: _060LSP__cmp2_Db_ -0x040: _060LSP__cmp2_Dw_ -0x048: _060LSP__cmp2_Dl_ -- cgit