~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

TOMOYO Linux Cross Reference
Linux/arch/m68k/ifpsp060/isp.doc

Version: ~ [ linux-6.12-rc7 ] ~ [ linux-6.11.7 ] ~ [ linux-6.10.14 ] ~ [ linux-6.9.12 ] ~ [ linux-6.8.12 ] ~ [ linux-6.7.12 ] ~ [ linux-6.6.60 ] ~ [ linux-6.5.13 ] ~ [ linux-6.4.16 ] ~ [ linux-6.3.13 ] ~ [ linux-6.2.16 ] ~ [ linux-6.1.116 ] ~ [ linux-6.0.19 ] ~ [ linux-5.19.17 ] ~ [ linux-5.18.19 ] ~ [ linux-5.17.15 ] ~ [ linux-5.16.20 ] ~ [ linux-5.15.171 ] ~ [ linux-5.14.21 ] ~ [ linux-5.13.19 ] ~ [ linux-5.12.19 ] ~ [ linux-5.11.22 ] ~ [ linux-5.10.229 ] ~ [ linux-5.9.16 ] ~ [ linux-5.8.18 ] ~ [ linux-5.7.19 ] ~ [ linux-5.6.19 ] ~ [ linux-5.5.19 ] ~ [ linux-5.4.285 ] ~ [ linux-5.3.18 ] ~ [ linux-5.2.21 ] ~ [ linux-5.1.21 ] ~ [ linux-5.0.21 ] ~ [ linux-4.20.17 ] ~ [ linux-4.19.323 ] ~ [ linux-4.18.20 ] ~ [ linux-4.17.19 ] ~ [ linux-4.16.18 ] ~ [ linux-4.15.18 ] ~ [ linux-4.14.336 ] ~ [ linux-4.13.16 ] ~ [ linux-4.12.14 ] ~ [ linux-4.11.12 ] ~ [ linux-4.10.17 ] ~ [ linux-4.9.337 ] ~ [ linux-4.4.302 ] ~ [ linux-3.10.108 ] ~ [ linux-2.6.32.71 ] ~ [ linux-2.6.0 ] ~ [ linux-2.4.37.11 ] ~ [ unix-v6-master ] ~ [ ccs-tools-1.8.12 ] ~ [ policy-sample ] ~
Architecture: ~ [ i386 ] ~ [ alpha ] ~ [ m68k ] ~ [ mips ] ~ [ ppc ] ~ [ sparc ] ~ [ sparc64 ] ~

Diff markup

Differences between /arch/m68k/ifpsp060/isp.doc (Version linux-6.12-rc7) and /arch/i386/ifpsp060/isp.doc (Version linux-4.18.20)


  1 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~    
  2 MOTOROLA MICROPROCESSOR & MEMORY TECHNOLOGY GR    
  3 M68000 Hi-Performance Microprocessor Division     
  4 M68060 Software Package                           
  5 Production Release P1.00 -- October 10, 1994      
  6                                                   
  7 M68060 Software Package Copyright © 1993, 199    
  8                                                   
  9 THE SOFTWARE is provided on an "AS IS" basis a    
 10 To the maximum extent permitted by applicable     
 11 MOTOROLA DISCLAIMS ALL WARRANTIES WHETHER EXPR    
 12 INCLUDING IMPLIED WARRANTIES OF MERCHANTABILIT    
 13 and any warranty against infringement with reg    
 14 (INCLUDING ANY MODIFIED VERSIONS THEREOF) and     
 15                                                   
 16 To the maximum extent permitted by applicable     
 17 IN NO EVENT SHALL MOTOROLA BE LIABLE FOR ANY D    
 18 (INCLUDING WITHOUT LIMITATION, DAMAGES FOR LOS    
 19 BUSINESS INTERRUPTION, LOSS OF BUSINESS INFORM    
 20 ARISING OF THE USE OR INABILITY TO USE THE SOF    
 21 Motorola assumes no responsibility for the mai    
 22                                                   
 23 You are hereby granted a copyright license to     
 24 so long as this entire notice is retained with    
 25 redistributed versions, and that such modified    
 26 No licenses are granted by implication, estopp    
 27 or trademarks of Motorola, Inc.                   
 28 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~    
 29 68060 INTEGER SOFTWARE PACKAGE (Kernel version    
 30 ----------------------------------------------    
 31                                                   
 32 The file isp.sa contains the 68060 Integer Sof    
 33 This package is essentially an exception handl    
 34 integrated into an operating system to handle     
 35 Integer Instruction" exception vector #61.        
 36 This exception is taken when any of the intege    
 37 not hardware implemented on the 68060 are enco    
 38 isp.sa provides full emulation support for the    
 39                                                   
 40 The unimplemented integer instructions are:       
 41         64-bit divide                             
 42         64-bit multiply                           
 43         movep                                     
 44         cmp2                                      
 45         chk2                                      
 46         cas (w/ a misaligned effective address    
 47         cas2                                      
 48                                                   
 49 Release file format:                              
 50 --------------------                              
 51 The file isp.sa is essentially a hexadecimal i    
 52 release package. This is the ONLY format which    
 53 The hex image was created by assembling the so    
 54 then converting the resulting binary output im    
 55 ASCII text file. The hexadecimal numbers are l    
 56 using the Motorola Assembly Syntax assembler d    
 57 (define constant longword). The file can be co    
 58 assembly syntaxes by using any word processor     
 59 search and replace function.                      
 60                                                   
 61 To assist in assembling and linking this modul    
 62 the installer should add a symbolic label to t    
 63 This will allow calling routines to access the    
 64 of this package.                                  
 65                                                   
 66 The source code isp.s has also been included b    
 67 documentation purposes.                           
 68                                                   
 69 Release file structure:                           
 70 -----------------------                           
 71                                                   
 72 (top of module)                                   
 73         -----------------                         
 74         |               | - 128 byte-sized sec    
 75    (1)  |   Call-Out    | - 4 bytes per entry     
 76         |               | - example routines i    
 77         -----------------                         
 78         |               | - 8 bytes per entry     
 79    (2)  | Entry Point   | - user does a "bra"     
 80         |               |                         
 81         -----------------                         
 82         |               | - code section          
 83    (3)  ~               ~                         
 84         |               |                         
 85         -----------------                         
 86 (bottom of module)                                
 87                                                   
 88 The first section of this module is the "Call-    
 89 is NOT INCLUDED in isp.sa (an example "Call-ou    
 90 the end of the file iskeleton.s). The purpose     
 91 the ISP routines to reference external functio    
 92 by the host operating system. This section MUS    
 93 size. There are 32 fields, each 4 bytes in siz    
 94 to a function required by the ISP (these funct    
 95 listed in "68060ISP call-outs" below). Each fi    
 96 the address of the corresponding function RELA    
 97 of the "call-out" section. The "Call-out" sect    
 98 isp.sa image in memory.                           
 99                                                   
100 The second section, the "Entry-point" section,    
101 to access the functions within the ISP. Since     
102 no symbol names, this section contains functio    
103 with respect to the top of the package. The cu    
104 are listed in section "68060 ISP entry points"    
105 would simply execute a "bra" or "jmp" that jum    
106 entry-point.                                      
107                                                   
108 For example, if the 68060 hardware took a "Uni    
109 exception (vector #61), the operating system s    
110 similar to:                                       
111                                                   
112         bra     _060ISP_TOP+128+0                 
113                                                   
114 (_060ISP_TOP is the starting address of the "C    
115 section is 128 bytes long; and the Unimplement    
116 point is located 0 bytes from the top of the "    
117                                                   
118 The third section is the code section. After e    
119 the entry code jumps to the appropriate emulat    
120                                                   
121 68060ISP call-outs: (details in iskeleton.s)      
122 --------------------                              
123 0x000:  _060_real_chk                             
124 0x004:  _060_real_divbyzero                       
125 0x008:  _060_real_trace                           
126 0x00c:  _060_real_access                          
127 0x010:  _060_isp_done                             
128                                                   
129 0x014:  _060_real_cas                             
130 0x018:  _060_real_cas2                            
131 0x01c:  _060_real_lock_page                       
132 0x020:  _060_real_unlock_page                     
133                                                   
134 0x024:  (Motorola reserved)                       
135 0x028:  (Motorola reserved)                       
136 0x02c:  (Motorola reserved)                       
137 0x030:  (Motorola reserved)                       
138 0x034:  (Motorola reserved)                       
139 0x038:  (Motorola reserved)                       
140 0x03c:  (Motorola reserved)                       
141                                                   
142 0x040:  _060_imem_read                            
143 0x044:  _060_dmem_read                            
144 0x048:  _060_dmem_write                           
145 0x04c:  _060_imem_read_word                       
146 0x050:  _060_imem_read_long                       
147 0x054:  _060_dmem_read_byte                       
148 0x058:  _060_dmem_read_word                       
149 0x05c:  _060_dmem_read_long                       
150 0x060:  _060_dmem_write_byte                      
151 0x064:  _060_dmem_write_word                      
152 0x068:  _060_dmem_write_long                      
153                                                   
154 0x06c:  (Motorola reserved)                       
155 0x070:  (Motorola reserved)                       
156 0x074:  (Motorola reserved)                       
157 0x078:  (Motorola reserved)                       
158 0x07c:  (Motorola reserved)                       
159                                                   
160 68060ISP entry points:                            
161 -----------------------                           
162 0x000:  _060_isp_unimp                            
163                                                   
164 0x008:  _060_isp_cas                              
165 0x010:  _060_isp_cas2                             
166 0x018:  _060_isp_cas_finish                       
167 0x020:  _060_isp_cas2_finish                      
168 0x028:  _060_isp_cas_inrange                      
169 0x030:  _060_isp_cas_terminate                    
170 0x038:  _060_isp_cas_restart                      
171                                                   
172 Integrating cas/cas2:                             
173 ---------------------                             
174 The instructions "cas2" and "cas" (when used w    
175 address) take the Unimplemented Integer Instru    
176 060ISP is installed properly, these instructio    
177 _060_isp_unimp() entry point of the ISP.          
178                                                   
179 After the 060ISP decodes the instruction type     
180 data registers, and BEFORE the actual emulated    
181 package calls either the "Call-out" _060_real_    
182 If the emulation code provided by the 060ISP i    
183 host system (see isp.s source code), then thes    
184 made, by the system integrator, to point direc    
185 through the "Entry-point"s _060_isp_cas() or _    
186                                                   
187 One other necessary action by the integrator i    
188 _060_real_lock_page() and _060_real_unlock_pag    
189 defined further in iskeleton.s and the 68060 S    
190                                                   
191 If the "core" emulation routines of either "ca    
192 actions which are too system-specific, then th    
193 supply new emulation code. This new emulation     
194 the functions _060_real_cas() or _060_real_cas    
195 code has completed, then it should re-enter th    
196 "Entry-point" _060_isp_cas_finish() or _060_is    
197 To see what the register state is upon enterin    
198 _060_real_cas2() and what it should be upon re    
199 _060_isp_cas_finish() or _060_isp_cas2_finish(    
200 source code in isp.s.                             
201                                                   
202 Miscellaneous:                                    
203 --------------                                    
204                                                   
205 _060_isp_unimp:                                   
206 ----------------                                  
207 - documented in 2.2 in spec.                      
208 - Basic flow:                                     
209         exception taken ---> enter _060_isp_un    
210                                                   
211                                                   
212             may exit through _060_real_itrace     
213                                                   
214             may exit through _060_real_chk        
215                                                   
216             may exit through _060_real_divbyze    
217                                                   
218             may exit through _060_isp_done        
                                                      

~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

kernel.org | git.kernel.org | LWN.net | Project Home | SVN repository | Mail admin

Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.

sflogo.php