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

TOMOYO Linux Cross Reference
Linux/arch/sparc/kernel/una_asm_64.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/sparc/kernel/una_asm_64.S (Architecture i386) and /arch/sparc64/kernel/una_asm_64.S (Architecture sparc64)


  1 /* SPDX-License-Identifier: GPL-2.0 */            
  2 /* una_asm.S: Kernel unaligned trap assembler     
  3  *                                                
  4  * Copyright (C) 1996,2005 David S. Miller (da    
  5  * Copyright (C) 1996,1997 Jakub Jelinek (jj@s    
  6  */                                               
  7                                                   
  8         .text                                     
  9                                                   
 10         .globl  __do_int_store                    
 11 __do_int_store:                                   
 12         rd      %asi, %o4                         
 13         wr      %o3, 0, %asi                      
 14         mov     %o2, %g3                          
 15         cmp     %o1, 2                            
 16         be,pn   %icc, 2f                          
 17          cmp    %o1, 4                            
 18         be,pt   %icc, 1f                          
 19          srlx   %g3, 24, %g2                      
 20         srlx    %g3, 56, %g1                      
 21         srlx    %g3, 48, %g7                      
 22 4:      stba    %g1, [%o0] %asi                   
 23         srlx    %g3, 40, %g1                      
 24 5:      stba    %g7, [%o0 + 1] %asi               
 25         srlx    %g3, 32, %g7                      
 26 6:      stba    %g1, [%o0 + 2] %asi               
 27 7:      stba    %g7, [%o0 + 3] %asi               
 28         srlx    %g3, 16, %g1                      
 29 8:      stba    %g2, [%o0 + 4] %asi               
 30         srlx    %g3, 8, %g7                       
 31 9:      stba    %g1, [%o0 + 5] %asi               
 32 10:     stba    %g7, [%o0 + 6] %asi               
 33         ba,pt   %xcc, 0f                          
 34 11:      stba   %g3, [%o0 + 7] %asi               
 35 1:      srl     %g3, 16, %g7                      
 36 12:     stba    %g2, [%o0] %asi                   
 37         srl     %g3, 8, %g2                       
 38 13:     stba    %g7, [%o0 + 1] %asi               
 39 14:     stba    %g2, [%o0 + 2] %asi               
 40         ba,pt   %xcc, 0f                          
 41 15:      stba   %g3, [%o0 + 3] %asi               
 42 2:      srl     %g3, 8, %g2                       
 43 16:     stba    %g2, [%o0] %asi                   
 44 17:     stba    %g3, [%o0 + 1] %asi               
 45 0:                                                
 46         wr      %o4, 0x0, %asi                    
 47         retl                                      
 48          mov    0, %o0                            
 49         .size   __do_int_store, .-__do_int_sto    
 50                                                   
 51         .section        __ex_table,"a"            
 52         .word           4b, __retl_efault         
 53         .word           5b, __retl_efault         
 54         .word           6b, __retl_efault         
 55         .word           7b, __retl_efault         
 56         .word           8b, __retl_efault         
 57         .word           9b, __retl_efault         
 58         .word           10b, __retl_efault        
 59         .word           11b, __retl_efault        
 60         .word           12b, __retl_efault        
 61         .word           13b, __retl_efault        
 62         .word           14b, __retl_efault        
 63         .word           15b, __retl_efault        
 64         .word           16b, __retl_efault        
 65         .word           17b, __retl_efault        
 66         .previous                                 
 67                                                   
 68         .globl  do_int_load                       
 69 do_int_load:                                      
 70         rd      %asi, %o5                         
 71         wr      %o4, 0, %asi                      
 72         cmp     %o1, 8                            
 73         bge,pn  %icc, 9f                          
 74          cmp    %o1, 4                            
 75         be,pt   %icc, 6f                          
 76 4:       lduba  [%o2] %asi, %g2                   
 77 5:      lduba   [%o2 + 1] %asi, %g3               
 78         sll     %g2, 8, %g2                       
 79         brz,pt  %o3, 3f                           
 80          add    %g2, %g3, %g2                     
 81         sllx    %g2, 48, %g2                      
 82         srax    %g2, 48, %g2                      
 83 3:      ba,pt   %xcc, 0f                          
 84          stx    %g2, [%o0]                        
 85 6:      lduba   [%o2 + 1] %asi, %g3               
 86         sll     %g2, 24, %g2                      
 87 7:      lduba   [%o2 + 2] %asi, %g7               
 88         sll     %g3, 16, %g3                      
 89 8:      lduba   [%o2 + 3] %asi, %g1               
 90         sll     %g7, 8, %g7                       
 91         or      %g2, %g3, %g2                     
 92         or      %g7, %g1, %g7                     
 93         or      %g2, %g7, %g2                     
 94         brnz,a,pt %o3, 3f                         
 95          sra    %g2, 0, %g2                       
 96 3:      ba,pt   %xcc, 0f                          
 97          stx    %g2, [%o0]                        
 98 9:      lduba   [%o2] %asi, %g2                   
 99 10:     lduba   [%o2 + 1] %asi, %g3               
100         sllx    %g2, 56, %g2                      
101 11:     lduba   [%o2 + 2] %asi, %g7               
102         sllx    %g3, 48, %g3                      
103 12:     lduba   [%o2 + 3] %asi, %g1               
104         sllx    %g7, 40, %g7                      
105         sllx    %g1, 32, %g1                      
106         or      %g2, %g3, %g2                     
107         or      %g7, %g1, %g7                     
108 13:     lduba   [%o2 + 4] %asi, %g3               
109         or      %g2, %g7, %g7                     
110 14:     lduba   [%o2 + 5] %asi, %g1               
111         sllx    %g3, 24, %g3                      
112 15:     lduba   [%o2 + 6] %asi, %g2               
113         sllx    %g1, 16, %g1                      
114         or      %g7, %g3, %g7                     
115 16:     lduba   [%o2 + 7] %asi, %g3               
116         sllx    %g2, 8, %g2                       
117         or      %g7, %g1, %g7                     
118         or      %g2, %g3, %g2                     
119         or      %g7, %g2, %g7                     
120         cmp     %o1, 8                            
121         be,a,pt %icc, 0f                          
122          stx    %g7, [%o0]                        
123         srlx    %g7, 32, %g2                      
124         sra     %g7, 0, %g7                       
125         stx     %g2, [%o0]                        
126         stx     %g7, [%o0 + 8]                    
127 0:                                                
128         wr      %o5, 0x0, %asi                    
129         retl                                      
130          mov    0, %o0                            
131         .size   do_int_load, .-do_int_load        
132                                                   
133         .section        __ex_table,"a"            
134         .word           4b, __retl_efault         
135         .word           5b, __retl_efault         
136         .word           6b, __retl_efault         
137         .word           7b, __retl_efault         
138         .word           8b, __retl_efault         
139         .word           9b, __retl_efault         
140         .word           10b, __retl_efault        
141         .word           11b, __retl_efault        
142         .word           12b, __retl_efault        
143         .word           13b, __retl_efault        
144         .word           14b, __retl_efault        
145         .word           15b, __retl_efault        
146         .word           16b, __retl_efault        
147         .previous                                 
                                                      

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