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

TOMOYO Linux Cross Reference
Linux/arch/parisc/include/asm/unistd.h

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/parisc/include/asm/unistd.h (Architecture sparc) and /arch/sparc64/include/asm-sparc64/unistd.h (Architecture sparc64)


  1 /* SPDX-License-Identifier: GPL-2.0 */              1 
  2 #ifndef _ASM_PARISC_UNISTD_H_                     
  3 #define _ASM_PARISC_UNISTD_H_                     
  4                                                   
  5 #include <uapi/asm/unistd.h>                      
  6                                                   
  7 #define __NR_Linux_syscalls     __NR_syscalls     
  8                                                   
  9 #ifndef __ASSEMBLY__                              
 10                                                   
 11 #define SYS_ify(syscall_name)   __NR_##syscall    
 12                                                   
 13 #define __IGNORE_fadvise64              /* fad    
 14                                                   
 15 #ifndef ASM_LINE_SEP                              
 16 # define ASM_LINE_SEP ;                           
 17 #endif                                            
 18                                                   
 19 /* Definition taken from glibc 2.3.3              
 20  * sysdeps/unix/sysv/linux/hppa/sysdep.h          
 21  */                                               
 22                                                   
 23 #ifndef DONT_USE_PIC                              
 24 /* WARNING: CANNOT BE USED IN A NOP! */           
 25 # define K_STW_ASM_PIC  "       copy %%r19, %%    
 26 # define K_LDW_ASM_PIC  "       copy %%r4, %%r    
 27 # define K_USING_GR4    "%r4",                    
 28 #else                                             
 29 # define K_STW_ASM_PIC  " \n"                     
 30 # define K_LDW_ASM_PIC  " \n"                     
 31 # define K_USING_GR4                              
 32 #endif                                            
 33                                                   
 34 /* GCC has to be warned that a syscall may clo    
 35    registers listed as "caller-saves", see pag    
 36    in section 2.2.6 of the PA-RISC RUN-TIME ar    
 37    document. However! r28 is the result and wi    
 38    the clobber list so it is left out. Also th    
 39    registers r20 -> r26 will conflict with the    
 40    are treated specially. Although r19 is clob    
 41    we cannot say this because it would violate    
 42    r4 is clobbered and use that register to sa    
 43    across the syscall. */                         
 44                                                   
 45 #define K_CALL_CLOB_REGS "%r1", "%r2", K_USING    
 46                          "%r20", "%r29", "%r31    
 47                                                   
 48 #undef K_INLINE_SYSCALL                           
 49 #define K_INLINE_SYSCALL(name, nr, args...)       
 50         long __sys_res;                           
 51         {                                         
 52                 register unsigned long __res _    
 53                 K_LOAD_ARGS_##nr(args)            
 54                 /* FIXME: HACK stw/ldw r19 aro    
 55                 __asm__ volatile(                 
 56                         K_STW_ASM_PIC             
 57                         "       ble  0x100(%%s    
 58                         "       ldi %1, %%r20\    
 59                         K_LDW_ASM_PIC             
 60                         : "=r" (__res)            
 61                         : "i" (name) K_ASM_ARG    
 62                         : "memory", K_CALL_CLO    
 63                 );                                
 64                 __sys_res = (long)__res;          
 65         }                                         
 66         __sys_res;                                
 67 })                                                
 68                                                   
 69 #define K_LOAD_ARGS_0()                           
 70 #define K_LOAD_ARGS_1(r26)                        
 71         register unsigned long __r26 __asm__("    
 72         K_LOAD_ARGS_0()                           
 73 #define K_LOAD_ARGS_2(r26,r25)                    
 74         register unsigned long __r25 __asm__("    
 75         K_LOAD_ARGS_1(r26)                        
 76 #define K_LOAD_ARGS_3(r26,r25,r24)                
 77         register unsigned long __r24 __asm__("    
 78         K_LOAD_ARGS_2(r26,r25)                    
 79 #define K_LOAD_ARGS_4(r26,r25,r24,r23)            
 80         register unsigned long __r23 __asm__("    
 81         K_LOAD_ARGS_3(r26,r25,r24)                
 82 #define K_LOAD_ARGS_5(r26,r25,r24,r23,r22)        
 83         register unsigned long __r22 __asm__("    
 84         K_LOAD_ARGS_4(r26,r25,r24,r23)            
 85 #define K_LOAD_ARGS_6(r26,r25,r24,r23,r22,r21)    
 86         register unsigned long __r21 __asm__("    
 87         K_LOAD_ARGS_5(r26,r25,r24,r23,r22)        
 88                                                   
 89 /* Even with zero args we use r20 for the sysc    
 90 #define K_ASM_ARGS_0                              
 91 #define K_ASM_ARGS_1 K_ASM_ARGS_0, "r" (__r26)    
 92 #define K_ASM_ARGS_2 K_ASM_ARGS_1, "r" (__r25)    
 93 #define K_ASM_ARGS_3 K_ASM_ARGS_2, "r" (__r24)    
 94 #define K_ASM_ARGS_4 K_ASM_ARGS_3, "r" (__r23)    
 95 #define K_ASM_ARGS_5 K_ASM_ARGS_4, "r" (__r22)    
 96 #define K_ASM_ARGS_6 K_ASM_ARGS_5, "r" (__r21)    
 97                                                   
 98 /* The registers not listed as inputs but clob    
 99 #define K_CLOB_ARGS_6                             
100 #define K_CLOB_ARGS_5 K_CLOB_ARGS_6, "%r21"       
101 #define K_CLOB_ARGS_4 K_CLOB_ARGS_5, "%r22"       
102 #define K_CLOB_ARGS_3 K_CLOB_ARGS_4, "%r23"       
103 #define K_CLOB_ARGS_2 K_CLOB_ARGS_3, "%r24"       
104 #define K_CLOB_ARGS_1 K_CLOB_ARGS_2, "%r25"       
105 #define K_CLOB_ARGS_0 K_CLOB_ARGS_1, "%r26"       
106                                                   
107 #define syscall0(name)                            
108         K_INLINE_SYSCALL(name, 0)                 
109 #define syscall1(name, arg1)                      
110         K_INLINE_SYSCALL(name, 1, arg1)           
111 #define syscall2(name, arg1, arg2)                
112         K_INLINE_SYSCALL(name, 2, arg1, arg2)     
113 #define syscall3(name, arg1, arg2, arg3)          
114         K_INLINE_SYSCALL(name, 3, arg1, arg2,     
115 #define syscall4(name, arg1, arg2, arg3, arg4)    
116         K_INLINE_SYSCALL(name, 4, arg1, arg2,     
117 #define syscall5(name, arg1, arg2, arg3, arg4,    
118         K_INLINE_SYSCALL(name, 5, arg1, arg2,     
119                                                   
120 #define __ARCH_WANT_NEW_STAT                      
121 #define __ARCH_WANT_STAT64                        
122 #define __ARCH_WANT_SYS_ALARM                     
123 #define __ARCH_WANT_SYS_GETHOSTNAME               
124 #define __ARCH_WANT_SYS_PAUSE                     
125 #define __ARCH_WANT_SYS_SIGNAL                    
126 #define __ARCH_WANT_SYS_TIME32                    
127 #define __ARCH_WANT_COMPAT_SYS_SCHED_RR_GET_IN    
128 #define __ARCH_WANT_SYS_UTIME32                   
129 #define __ARCH_WANT_SYS_WAITPID                   
130 #define __ARCH_WANT_SYS_SOCKETCALL                
131 #define __ARCH_WANT_SYS_FADVISE64                 
132 #define __ARCH_WANT_SYS_GETPGRP                   
133 #define __ARCH_WANT_SYS_NICE                      
134 #define __ARCH_WANT_SYS_SIGPENDING                
135 #define __ARCH_WANT_SYS_SIGPROCMASK               
136 #define __ARCH_WANT_SYS_FORK                      
137 #define __ARCH_WANT_SYS_VFORK                     
138 #define __ARCH_WANT_SYS_CLONE                     
139 #define __ARCH_WANT_COMPAT_SYS_SENDFILE           
140 #define __ARCH_WANT_COMPAT_STAT                   
141                                                   
142 #ifdef CONFIG_64BIT                               
143 #define __ARCH_WANT_SYS_TIME                      
144 #define __ARCH_WANT_SYS_UTIME                     
145 #endif                                            
146                                                   
147 #endif /* __ASSEMBLY__ */                         
148                                                   
149 #undef STR                                        
150                                                   
151 #endif /* _ASM_PARISC_UNISTD_H_ */                
152                                                   

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