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

TOMOYO Linux Cross Reference
Linux/arch/sparc/kernel/helpers.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/helpers.S (Version linux-6.12-rc7) and /arch/i386/kernel/helpers.S (Version linux-4.17.19)


  1 /* SPDX-License-Identifier: GPL-2.0-only */       
  2         .align  32                                
  3         .globl  __flushw_user                     
  4         .type   __flushw_user,#function           
  5 __flushw_user:                                    
  6         rdpr    %otherwin, %g1                    
  7         brz,pn  %g1, 2f                           
  8          clr    %g2                               
  9 1:      save    %sp, -128, %sp                    
 10         rdpr    %otherwin, %g1                    
 11         brnz,pt %g1, 1b                           
 12          add    %g2, 1, %g2                       
 13 1:      sub     %g2, 1, %g2                       
 14         brnz,pt %g2, 1b                           
 15          restore %g0, %g0, %g0                    
 16 2:      retl                                      
 17          nop                                      
 18         .size   __flushw_user,.-__flushw_user     
 19 EXPORT_SYMBOL(__flushw_user)                      
 20                                                   
 21         /* Flush %fp and %i7 to the stack for     
 22          * windows active inside of the cpu.      
 23          * show_stack_trace() to avoid using a    
 24          * 'flushw'.                              
 25          */                                       
 26         .globl          stack_trace_flush         
 27         .type           stack_trace_flush,#fun    
 28 stack_trace_flush:                                
 29         rdpr            %pstate, %o0              
 30         wrpr            %o0, PSTATE_IE, %pstat    
 31                                                   
 32         rdpr            %cwp, %g1                 
 33         rdpr            %canrestore, %g2          
 34         sub             %g1, 1, %g3               
 35                                                   
 36 1:      brz,pn          %g2, 2f                   
 37          sub            %g2, 1, %g2               
 38         wrpr            %g3, %cwp                 
 39         stx             %fp, [%sp + STACK_BIAS    
 40         stx             %i7, [%sp + STACK_BIAS    
 41         ba,pt           %xcc, 1b                  
 42          sub            %g3, 1, %g3               
 43                                                   
 44 2:      wrpr            %g1, %cwp                 
 45         wrpr            %o0, %pstate              
 46                                                   
 47         retl                                      
 48          nop                                      
 49         .size           stack_trace_flush,.-st    
 50                                                   
 51 #ifdef CONFIG_SMP                                 
 52         .globl          hard_smp_processor_id     
 53         .type           hard_smp_processor_id,    
 54 hard_smp_processor_id:                            
 55 #endif                                            
 56         .globl          real_hard_smp_processo    
 57         .type           real_hard_smp_processo    
 58 real_hard_smp_processor_id:                       
 59         __GET_CPUID(%o0)                          
 60         retl                                      
 61          nop                                      
 62 #ifdef CONFIG_SMP                                 
 63         .size           hard_smp_processor_id,    
 64 #endif                                            
 65         .size           real_hard_smp_processo    
 66 EXPORT_SYMBOL_GPL(real_hard_smp_processor_id)     
                                                      

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