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

TOMOYO Linux Cross Reference
Linux/arch/powerpc/lib/copypage_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/powerpc/lib/copypage_64.S (Architecture sparc64) and /arch/i386/lib/copypage_64.S (Architecture i386)


  1 /* SPDX-License-Identifier: GPL-2.0-or-later *    
  2 /*                                                
  3  * Copyright (C) 2008 Mark Nelson, IBM Corp.      
  4  */                                               
  5 #include <linux/export.h>                         
  6 #include <asm/page.h>                             
  7 #include <asm/processor.h>                        
  8 #include <asm/ppc_asm.h>                          
  9 #include <asm/asm-offsets.h>                      
 10 #include <asm/feature-fixups.h>                   
 11                                                   
 12 _GLOBAL_TOC(copy_page)                            
 13 BEGIN_FTR_SECTION                                 
 14         lis     r5,PAGE_SIZE@h                    
 15 FTR_SECTION_ELSE                                  
 16 #ifdef CONFIG_PPC_BOOK3S_64                       
 17         b       copypage_power7                   
 18 #endif                                            
 19 ALT_FTR_SECTION_END_IFCLR(CPU_FTR_VMX_COPY)       
 20         ori     r5,r5,PAGE_SIZE@l                 
 21 #ifdef CONFIG_PPC_KERNEL_PCREL                    
 22         /*                                        
 23          * Hack for toolchain - prefixed instr    
 24          * be non-constant even if 8 byte alig    
 25          * be put in FTR sections.                
 26          */                                       
 27         LOAD_REG_ADDR(r10, ppc64_caches)          
 28 BEGIN_FTR_SECTION                                 
 29 #else                                             
 30 BEGIN_FTR_SECTION                                 
 31         LOAD_REG_ADDR(r10, ppc64_caches)          
 32 #endif                                            
 33         lwz     r11,DCACHEL1LOGBLOCKSIZE(r10)     
 34         lwz     r12,DCACHEL1BLOCKSIZE(r10)        
 35         li      r9,0                              
 36         srd     r8,r5,r11                         
 37                                                   
 38         mtctr   r8                                
 39 .Lsetup:                                          
 40         dcbt    r9,r4                             
 41         dcbz    r9,r3                             
 42         add     r9,r9,r12                         
 43         bdnz    .Lsetup                           
 44 END_FTR_SECTION_IFSET(CPU_FTR_CP_USE_DCBTZ)       
 45         addi    r3,r3,-8                          
 46         srdi    r8,r5,7         /* page is cop    
 47         addi    r8,r8,-1        /* one stride     
 48                                                   
 49         mtctr   r8                                
 50                                                   
 51         ld      r5,0(r4)                          
 52         ld      r6,8(r4)                          
 53         ld      r7,16(r4)                         
 54         ldu     r8,24(r4)                         
 55 1:      std     r5,8(r3)                          
 56         std     r6,16(r3)                         
 57         ld      r9,8(r4)                          
 58         ld      r10,16(r4)                        
 59         std     r7,24(r3)                         
 60         std     r8,32(r3)                         
 61         ld      r11,24(r4)                        
 62         ld      r12,32(r4)                        
 63         std     r9,40(r3)                         
 64         std     r10,48(r3)                        
 65         ld      r5,40(r4)                         
 66         ld      r6,48(r4)                         
 67         std     r11,56(r3)                        
 68         std     r12,64(r3)                        
 69         ld      r7,56(r4)                         
 70         ld      r8,64(r4)                         
 71         std     r5,72(r3)                         
 72         std     r6,80(r3)                         
 73         ld      r9,72(r4)                         
 74         ld      r10,80(r4)                        
 75         std     r7,88(r3)                         
 76         std     r8,96(r3)                         
 77         ld      r11,88(r4)                        
 78         ld      r12,96(r4)                        
 79         std     r9,104(r3)                        
 80         std     r10,112(r3)                       
 81         ld      r5,104(r4)                        
 82         ld      r6,112(r4)                        
 83         std     r11,120(r3)                       
 84         stdu    r12,128(r3)                       
 85         ld      r7,120(r4)                        
 86         ldu     r8,128(r4)                        
 87         bdnz    1b                                
 88                                                   
 89         std     r5,8(r3)                          
 90         std     r6,16(r3)                         
 91         ld      r9,8(r4)                          
 92         ld      r10,16(r4)                        
 93         std     r7,24(r3)                         
 94         std     r8,32(r3)                         
 95         ld      r11,24(r4)                        
 96         ld      r12,32(r4)                        
 97         std     r9,40(r3)                         
 98         std     r10,48(r3)                        
 99         ld      r5,40(r4)                         
100         ld      r6,48(r4)                         
101         std     r11,56(r3)                        
102         std     r12,64(r3)                        
103         ld      r7,56(r4)                         
104         ld      r8,64(r4)                         
105         std     r5,72(r3)                         
106         std     r6,80(r3)                         
107         ld      r9,72(r4)                         
108         ld      r10,80(r4)                        
109         std     r7,88(r3)                         
110         std     r8,96(r3)                         
111         ld      r11,88(r4)                        
112         ld      r12,96(r4)                        
113         std     r9,104(r3)                        
114         std     r10,112(r3)                       
115         std     r11,120(r3)                       
116         std     r12,128(r3)                       
117         blr                                       
118 EXPORT_SYMBOL(copy_page)                          
                                                      

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