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

TOMOYO Linux Cross Reference
Linux/arch/m68k/ifpsp060/fskeleton.S

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/fskeleton.S (Architecture m68k) and /arch/ppc/ifpsp060/fskeleton.S (Architecture ppc)


  1 |~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~    
  2 |MOTOROLA MICROPROCESSOR & MEMORY TECHNOLOGY G    
  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, 19    
  8 |                                                 
  9 |THE SOFTWARE is provided on an "AS IS" basis     
 10 |To the maximum extent permitted by applicable    
 11 |MOTOROLA DISCLAIMS ALL WARRANTIES WHETHER EXP    
 12 |INCLUDING IMPLIED WARRANTIES OF MERCHANTABILI    
 13 |and any warranty against infringement with re    
 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     
 18 |(INCLUDING WITHOUT LIMITATION, DAMAGES FOR LO    
 19 |BUSINESS INTERRUPTION, LOSS OF BUSINESS INFOR    
 20 |ARISING OF THE USE OR INABILITY TO USE THE SO    
 21 |Motorola assumes no responsibility for the ma    
 22 |                                                 
 23 |You are hereby granted a copyright license to    
 24 |so long as this entire notice is retained wit    
 25 |redistributed versions, and that such modifie    
 26 |No licenses are granted by implication, estop    
 27 |or trademarks of Motorola, Inc.                  
 28 |~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~    
 29 | fskeleton.s                                     
 30 |                                                 
 31 | This file contains:                             
 32 |       (1) example "Call-out"s                   
 33 |       (2) example package entry code            
 34 |       (3) example "Call-out" table              
 35 |                                                 
 36                                                   
 37 #include <linux/linkage.h>                        
 38                                                   
 39 |################################                 
 40 | (1) EXAMPLE CALL-OUTS         #                 
 41 |                               #                 
 42 | _060_fpsp_done()              #                 
 43 | _060_real_ovfl()              #                 
 44 | _060_real_unfl()              #                 
 45 | _060_real_operr()             #                 
 46 | _060_real_snan()              #                 
 47 | _060_real_dz()                #                 
 48 | _060_real_inex()              #                 
 49 | _060_real_bsun()              #                 
 50 | _060_real_fline()             #                 
 51 | _060_real_fpu_disabled()      #                 
 52 | _060_real_trap()              #                 
 53 |################################                 
 54                                                   
 55 |                                                 
 56 | _060_fpsp_done():                               
 57 |                                                 
 58 | This is the main exit point for the 68060 Fl    
 59 | Software Package. For a normal exit, all 060    
 60 | routine. The operating system can do system     
 61 | simply execute an "rte" as with the sample c    
 62 |                                                 
 63         .global         _060_fpsp_done            
 64 _060_fpsp_done:                                   
 65         bral     _060_isp_done  | do the same     
 66                                                   
 67 |                                                 
 68 | _060_real_ovfl():                               
 69 |                                                 
 70 | This is the exit point for the 060FPSP when     
 71 | is present. The routine below should point t    
 72 | for enabled overflow conditions. The excepti    
 73 | stack frame. The FP state frame holds the EX    
 74 |                                                 
 75 | The sample routine below simply clears the e    
 76 | does an "rte".                                  
 77 |                                                 
 78         .global         _060_real_ovfl            
 79 _060_real_ovfl:                                   
 80         fsave           -(%sp)                    
 81         move.w          #0x6000,0x2(%sp)          
 82         frestore        (%sp)+                    
 83         bral            trap    | jump to trap    
 84                                                   
 85                                                   
 86 |                                                 
 87 | _060_real_unfl():                               
 88 |                                                 
 89 | This is the exit point for the 060FPSP when     
 90 | is present. The routine below should point t    
 91 | for enabled underflow conditions. The except    
 92 | stack frame. The FP state frame holds the EX    
 93 |                                                 
 94 | The sample routine below simply clears the e    
 95 | does an "rte".                                  
 96 |                                                 
 97         .global         _060_real_unfl            
 98 _060_real_unfl:                                   
 99         fsave           -(%sp)                    
100         move.w          #0x6000,0x2(%sp)          
101         frestore        (%sp)+                    
102         bral            trap    | jump to trap    
103                                                   
104 |                                                 
105 | _060_real_operr():                              
106 |                                                 
107 | This is the exit point for the 060FPSP when     
108 | is present. The routine below should point t    
109 | for enabled operand error exceptions. The ex    
110 | stack frame. The FP state frame holds the so    
111 | instruction.                                    
112 |                                                 
113 | The sample routine below simply clears the e    
114 | does an "rte".                                  
115 |                                                 
116         .global         _060_real_operr           
117 _060_real_operr:                                  
118         fsave           -(%sp)                    
119         move.w          #0x6000,0x2(%sp)          
120         frestore        (%sp)+                    
121         bral            trap    | jump to trap    
122                                                   
123 |                                                 
124 | _060_real_snan():                               
125 |                                                 
126 | This is the exit point for the 060FPSP when     
127 | is present. The routine below should point t    
128 | for enabled signalling NaN exceptions. The e    
129 | stack frame. The FP state frame holds the so    
130 | instruction.                                    
131 |                                                 
132 | The sample routine below simply clears the e    
133 | does an "rte".                                  
134 |                                                 
135         .global         _060_real_snan            
136 _060_real_snan:                                   
137         fsave           -(%sp)                    
138         move.w          #0x6000,0x2(%sp)          
139         frestore        (%sp)+                    
140         bral            trap    | jump to trap    
141                                                   
142 |                                                 
143 | _060_real_dz():                                 
144 |                                                 
145 | This is the exit point for the 060FPSP when     
146 | is present. The routine below should point t    
147 | for enabled divide-by-zero exceptions. The e    
148 | stack frame. The FP state frame holds the so    
149 | instruction.                                    
150 |                                                 
151 | The sample routine below simply clears the e    
152 | does an "rte".                                  
153 |                                                 
154         .global         _060_real_dz              
155 _060_real_dz:                                     
156         fsave           -(%sp)                    
157         move.w          #0x6000,0x2(%sp)          
158         frestore        (%sp)+                    
159         bral            trap    | jump to trap    
160                                                   
161 |                                                 
162 | _060_real_inex():                               
163 |                                                 
164 | This is the exit point for the 060FPSP when     
165 | is present. The routine below should point t    
166 | for enabled inexact exceptions. The exceptio    
167 | stack frame. The FP state frame holds the so    
168 | instruction.                                    
169 |                                                 
170 | The sample routine below simply clears the e    
171 | does an "rte".                                  
172 |                                                 
173         .global         _060_real_inex            
174 _060_real_inex:                                   
175         fsave           -(%sp)                    
176         move.w          #0x6000,0x2(%sp)          
177         frestore        (%sp)+                    
178         bral            trap    | jump to trap    
179                                                   
180 |                                                 
181 | _060_real_bsun():                               
182 |                                                 
183 | This is the exit point for the 060FPSP when     
184 | is present. The routine below should point t    
185 | for enabled bsun exceptions. The exception s    
186 | stack frame.                                    
187 |                                                 
188 | The sample routine below clears the exceptio    
189 | bit in the FPSR, and does an "rte". The inst    
190 | bsun will now be re-executed but with the Na    
191 |                                                 
192         .global         _060_real_bsun            
193 _060_real_bsun:                                   
194 |       fsave           -(%sp)                    
195                                                   
196         fmove.l         %fpsr,-(%sp)              
197         andi.b          #0xfe,(%sp)               
198         fmove.l         (%sp)+,%fpsr              
199                                                   
200         bral            trap    | jump to trap    
201                                                   
202 |                                                 
203 | _060_real_fline():                              
204 |                                                 
205 | This is the exit point for the 060FPSP when     
206 | encountered. Three different types of except    
207 | vector number 11: FP Unimplemented Instructi    
208 | the FPU is disabled, and F-Line Illegal inst    
209 | _fpsp_fline() distinguishes between the thre    
210 | Illegals branch here.                           
211 |                                                 
212         .global         _060_real_fline           
213 _060_real_fline:                                  
214         bral            trap    | jump to trap    
215                                                   
216 |                                                 
217 | _060_real_fpu_disabled():                       
218 |                                                 
219 | This is the exit point for the 060FPSP when     
220 | encountered. Three different types of except    
221 | vector number 11: FP Unimplemented Instructi    
222 | the FPU is disabled, and F-Line Illegal inst    
223 | _fpsp_fline() distinguishes between the thre    
224 | exceptions branch here.                         
225 |                                                 
226 | The sample code below enables the FPU, sets     
227 | frame to the PC of the instruction causing t    
228 | The execution of the instruction then procee    
229 | unit.                                           
230 |                                                 
231         .global         _060_real_fpu_disabled    
232 _060_real_fpu_disabled:                           
233         move.l          %d0,-(%sp)                
234         .long   0x4E7A0808                        
235         bclr            #0x1,%d0                  
236         .long   0x4E7B0808                        
237         move.l          (%sp)+,%d0                
238                                                   
239         move.l          0xc(%sp),0x2(%sp)         
240         rte                                       
241                                                   
242 |                                                 
243 | _060_real_trap():                               
244 |                                                 
245 | This is the exit point for the 060FPSP when     
246 | discovers that the trap condition is true an    
247 | system handler for the trap exception vector    
248 |                                                 
249 | The sample code below simply executes an "rt    
250 |                                                 
251         .global         _060_real_trap            
252 _060_real_trap:                                   
253         bral            trap    | jump to trap    
254                                                   
255 |#############################################    
256                                                   
257 |#################################                
258 | (2) EXAMPLE PACKAGE ENTRY CODE #                
259 |#################################                
260                                                   
261         .global         _060_fpsp_snan            
262 _060_fpsp_snan:                                   
263         bra.l           _FP_CALL_TOP+0x80+0x00    
264                                                   
265         .global         _060_fpsp_operr           
266 _060_fpsp_operr:                                  
267         bra.l           _FP_CALL_TOP+0x80+0x08    
268                                                   
269         .global         _060_fpsp_ovfl            
270 _060_fpsp_ovfl:                                   
271         bra.l           _FP_CALL_TOP+0x80+0x10    
272                                                   
273         .global         _060_fpsp_unfl            
274 _060_fpsp_unfl:                                   
275         bra.l           _FP_CALL_TOP+0x80+0x18    
276                                                   
277         .global         _060_fpsp_dz              
278 _060_fpsp_dz:                                     
279         bra.l           _FP_CALL_TOP+0x80+0x20    
280                                                   
281         .global         _060_fpsp_inex            
282 _060_fpsp_inex:                                   
283         bra.l           _FP_CALL_TOP+0x80+0x28    
284                                                   
285         .global         _060_fpsp_fline           
286 _060_fpsp_fline:                                  
287         bra.l           _FP_CALL_TOP+0x80+0x30    
288                                                   
289         .global         _060_fpsp_unsupp          
290 _060_fpsp_unsupp:                                 
291         bra.l           _FP_CALL_TOP+0x80+0x38    
292                                                   
293         .global         _060_fpsp_effadd          
294 _060_fpsp_effadd:                                 
295         bra.l           _FP_CALL_TOP+0x80+0x40    
296                                                   
297 |#############################################    
298                                                   
299 |###############################                  
300 | (3) EXAMPLE CALL-OUT SECTION #                  
301 |###############################                  
302                                                   
303 | The size of this section MUST be 128 bytes!!    
304                                                   
305 _FP_CALL_TOP:                                     
306         .long   _060_real_bsun          - _FP_    
307         .long   _060_real_snan          - _FP_    
308         .long   _060_real_operr         - _FP_    
309         .long   _060_real_ovfl          - _FP_    
310         .long   _060_real_unfl          - _FP_    
311         .long   _060_real_dz            - _FP_    
312         .long   _060_real_inex          - _FP_    
313         .long   _060_real_fline         - _FP_    
314         .long   _060_real_fpu_disabled  - _FP_    
315         .long   _060_real_trap          - _FP_    
316         .long   _060_real_trace         - _FP_    
317         .long   _060_real_access        - _FP_    
318         .long   _060_fpsp_done          - _FP_    
319                                                   
320         .long   0x00000000, 0x00000000, 0x0000    
321                                                   
322         .long   _060_imem_read          - _FP_    
323         .long   _060_dmem_read          - _FP_    
324         .long   _060_dmem_write         - _FP_    
325         .long   _060_imem_read_word     - _FP_    
326         .long   _060_imem_read_long     - _FP_    
327         .long   _060_dmem_read_byte     - _FP_    
328         .long   _060_dmem_read_word     - _FP_    
329         .long   _060_dmem_read_long     - _FP_    
330         .long   _060_dmem_write_byte    - _FP_    
331         .long   _060_dmem_write_word    - _FP_    
332         .long   _060_dmem_write_long    - _FP_    
333                                                   
334         .long   0x00000000                        
335                                                   
336         .long   0x00000000, 0x00000000, 0x0000    
337                                                   
338 |#############################################    
339                                                   
340 | 060 FPSP KERNEL PACKAGE NEEDS TO GO HERE!!!     
341                                                   
342 #include "fpsp.sa"                                
                                                      

~ [ 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