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

TOMOYO Linux Cross Reference
Linux/arch/mips/kernel/scall64-o32.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/mips/kernel/scall64-o32.S (Version linux-6.12-rc7) and /arch/mips/kernel/scall64-o32.S (Version linux-2.6.0)


  1 /*                                                  1 /*
  2  * This file is subject to the terms and condi      2  * This file is subject to the terms and conditions of the GNU General Public
  3  * License.  See the file "COPYING" in the mai      3  * License.  See the file "COPYING" in the main directory of this archive
  4  * for more details.                                4  * for more details.
  5  *                                                  5  *
  6  * Copyright (C) 1995 - 2000, 2001 by Ralf Bae      6  * Copyright (C) 1995 - 2000, 2001 by Ralf Baechle
  7  * Copyright (C) 1999, 2000 Silicon Graphics,       7  * Copyright (C) 1999, 2000 Silicon Graphics, Inc.
  8  * Copyright (C) 2001 MIPS Technologies, Inc.       8  * Copyright (C) 2001 MIPS Technologies, Inc.
  9  * Copyright (C) 2004 Thiemo Seufer            << 
 10  *                                                  9  *
 11  * Hairy, the userspace application uses a dif     10  * Hairy, the userspace application uses a different argument passing
 12  * convention than the kernel, so we have to t     11  * convention than the kernel, so we have to translate things from o32
 13  * to ABI64 calling convention.  64-bit syscal !!  12  * to ABI64 calling convention.  64-bit syscalls are also processed
 14  * here for now.                                   13  * here for now.
 15  */                                                14  */
 16 #include <linux/errno.h>                           15 #include <linux/errno.h>
 17 #include <asm/asm.h>                               16 #include <asm/asm.h>
 18 #include <asm/asmmacro.h>                          17 #include <asm/asmmacro.h>
 19 #include <asm/irqflags.h>                      << 
 20 #include <asm/mipsregs.h>                          18 #include <asm/mipsregs.h>
 21 #include <asm/regdef.h>                            19 #include <asm/regdef.h>
 22 #include <asm/stackframe.h>                        20 #include <asm/stackframe.h>
 23 #include <asm/thread_info.h>                   << 
 24 #include <asm/unistd.h>                            21 #include <asm/unistd.h>
 25 #include <asm/sysmips.h>                           22 #include <asm/sysmips.h>
 26                                                    23 
 27         .align  5                              !!  24         .align  5
 28 NESTED(handle_sys, PT_SIZE, sp)                    25 NESTED(handle_sys, PT_SIZE, sp)
 29         .set    noat                               26         .set    noat
 30         SAVE_SOME                                  27         SAVE_SOME
 31         TRACE_IRQS_ON_RELOAD                   << 
 32         STI                                        28         STI
 33         .set    at                                 29         .set    at
 34         ld      t1, PT_EPC(sp)          # skip     30         ld      t1, PT_EPC(sp)          # skip syscall on return
 35                                                    31 
 36         dsubu   t0, v0, __NR_O32_Linux  # chec !!  32         subu    t0, v0, __NR_O32_Linux  # check syscall number
 37         sltiu   t0, t0, __NR_O32_Linux_syscall !!  33         sltiu   t0, t0, __NR_O32_Linux_syscalls + 1
 38         daddiu  t1, 4                   # skip     34         daddiu  t1, 4                   # skip to next instruction
 39         sd      t1, PT_EPC(sp)                 << 
 40         beqz    t0, not_o32_scall                  35         beqz    t0, not_o32_scall
                                                   >>  36         sd      t1, PT_EPC(sp)
 41 #if 0                                              37 #if 0
 42  SAVE_ALL                                          38  SAVE_ALL
 43  move a1, v0                                       39  move a1, v0
 44  ASM_PRINT("Scall %ld\n")                      !!  40  PRINT("Scall %ld\n")
 45  RESTORE_ALL                                       41  RESTORE_ALL
 46 #endif                                             42 #endif
 47                                                    43 
 48         /* We don't want to stumble over broke << 
 49            userland. O32 does never use the up << 
 50         sll     a0, a0, 0                          44         sll     a0, a0, 0
 51         sll     a1, a1, 0                          45         sll     a1, a1, 0
 52         sll     a2, a2, 0                          46         sll     a2, a2, 0
 53         sll     a3, a3, 0                          47         sll     a3, a3, 0
 54                                                    48 
 55         sd      a3, PT_R26(sp)          # save !!  49         /* XXX Put both in one cacheline, should save a bit. */
 56                                                !!  50         dsll    t0, v0, 3               # offset into table
 57         /*                                     !!  51         ld      t2, (sys_call_table - (__NR_O32_Linux * 8))(t0)
 58          * More than four arguments.  Try to d !!  52         lbu     t3, (sys_narg_table - __NR_O32_Linux)(v0)
 59          * stack arguments from the user stack << 
 60          * This Sucks (TM).                    << 
 61          *                                     << 
 62          * We intentionally keep the kernel st << 
 63          * userspace so we don't have to do a  << 
 64          */                                    << 
 65         ld      t0, PT_R29(sp)          # get  << 
 66         daddu   t1, t0, 32                     << 
 67         bltz    t1, bad_stack                  << 
 68                                                << 
 69 load_a4: lw     a4, 16(t0)              # argu << 
 70 load_a5: lw     a5, 20(t0)              # argu << 
 71 load_a6: lw     a6, 24(t0)              # argu << 
 72 load_a7: lw     a7, 28(t0)              # argu << 
 73 loads_done:                                    << 
 74                                                << 
 75         .section __ex_table,"a"                << 
 76         PTR_WD  load_a4, bad_stack_a4          << 
 77         PTR_WD  load_a5, bad_stack_a5          << 
 78         PTR_WD  load_a6, bad_stack_a6          << 
 79         PTR_WD  load_a7, bad_stack_a7          << 
 80         .previous                              << 
 81                                                << 
 82         /*                                     << 
 83          * absolute syscall number is in v0 un << 
 84          * where the real syscall number is in << 
 85          * note: NR_syscall is the first O32 s << 
 86          * only defined when compiling with -m << 
 87          * therefore __NR_O32_Linux is used (4 << 
 88          */                                    << 
 89                                                    53 
 90         subu    t2, v0,  __NR_O32_Linux        !!  54         subu    t0, t3, 5               # 5 or more arguments?
 91         bnez    t2, 1f /* __NR_syscall at offs !!  55         sd      a3, PT_R26(sp)          # save a3 for syscall restarting
 92         LONG_S  a0, TI_SYSCALL($28)     # Save !!  56         bgez    t0, stackargs
 93         b       2f                             << 
 94 1:                                             << 
 95         LONG_S  v0, TI_SYSCALL($28)     # Save << 
 96 2:                                             << 
 97                                                    57 
 98         li      t1, _TIF_WORK_SYSCALL_ENTRY    !!  58 stack_done:
 99         LONG_L  t0, TI_FLAGS($28)       # sysc !!  59         LONG_L  t0, TI_FLAGS($28)
100         and     t0, t1, t0                     !!  60                                         # syscall tracing enabled?
101         bnez    t0, trace_a_syscall                61         bnez    t0, trace_a_syscall
102                                                    62 
103 syscall_common:                                << 
104         dsll    t0, v0, 3               # offs << 
105         ld      t2, (sys32_call_table - (__NR_ << 
106                                                << 
107         jalr    t2                      # Do T     63         jalr    t2                      # Do The Real Thing (TM)
108                                                    64 
109         li      t0, -EMAXERRNO - 1      # erro     65         li      t0, -EMAXERRNO - 1      # error?
110         sltu    t0, t0, v0                         66         sltu    t0, t0, v0
111         sd      t0, PT_R7(sp)           # set      67         sd      t0, PT_R7(sp)           # set error flag
112         beqz    t0, 1f                             68         beqz    t0, 1f
113                                                    69 
114         ld      t1, PT_R2(sp)           # sysc !!  70         negu    v0                      # error
115         dnegu   v0                      # erro !!  71         sd      v0, PT_R0(sp)           # flag for syscall restarting
116         sd      t1, PT_R0(sp)           # save << 
117 1:      sd      v0, PT_R2(sp)           # resu     72 1:      sd      v0, PT_R2(sp)           # result
118                                                    73 
119 o32_syscall_exit:                              !!  74 FEXPORT(o32_syscall_exit)
120         j       syscall_exit_partial           !!  75         local_irq_disable               # make need_resched and
                                                   >>  76                                         # signals dont change between
                                                   >>  77                                         # sampling and return
                                                   >>  78         LONG_L  a2, TI_FLAGS($28)
                                                   >>  79         bnez    a2, o32_syscall_exit_work
                                                   >>  80 
                                                   >>  81         RESTORE_SOME
                                                   >>  82         RESTORE_SP_AND_RET
                                                   >>  83 
                                                   >>  84 o32_syscall_exit_work:
                                                   >>  85         SAVE_STATIC
                                                   >>  86         j       syscall_exit_work
121                                                    87 
122 /* -------------------------------------------     88 /* ------------------------------------------------------------------------ */
123                                                    89 
124 trace_a_syscall:                                   90 trace_a_syscall:
125         SAVE_STATIC                                91         SAVE_STATIC
126         sd      a4, PT_R8(sp)           # Save !!  92         sd      a4, PT_R8(sp)
127         sd      a5, PT_R9(sp)                      93         sd      a5, PT_R9(sp)
128         sd      a6, PT_R10(sp)                     94         sd      a6, PT_R10(sp)
129         sd      a7, PT_R11(sp)          # For  !!  95         sd      a7, PT_R11(sp)
130                                                    96 
131         move    a0, sp                         !!  97         sd      t2,PT_R1(sp)
132         jal     syscall_trace_enter            !!  98         jal     do_syscall_trace
                                                   >>  99         ld      t2,PT_R1(sp)
133                                                   100 
134         bltz    v0, 1f                  # secc << 
135                                                << 
136         RESTORE_STATIC                         << 
137         ld      v0, PT_R2(sp)           # Rest << 
138         ld      a0, PT_R4(sp)           # Rest    101         ld      a0, PT_R4(sp)           # Restore argument registers
139         ld      a1, PT_R5(sp)                     102         ld      a1, PT_R5(sp)
140         ld      a2, PT_R6(sp)                     103         ld      a2, PT_R6(sp)
141         ld      a3, PT_R7(sp)                     104         ld      a3, PT_R7(sp)
142         ld      a4, PT_R8(sp)                     105         ld      a4, PT_R8(sp)
143         ld      a5, PT_R9(sp)                     106         ld      a5, PT_R9(sp)
144         ld      a6, PT_R10(sp)                 << 
145         ld      a7, PT_R11(sp)          # For  << 
146                                                   107 
147         dsubu   t0, v0, __NR_O32_Linux  # chec !! 108         jalr    t2
148         sltiu   t0, t0, __NR_O32_Linux_syscall << 
149         beqz    t0, not_o32_scall              << 
150                                                   109 
151         j       syscall_common                 !! 110         li      t0, -EMAXERRNO - 1      # error?
                                                   >> 111         sltu    t0, t0, v0
                                                   >> 112         sd      t0, PT_R7(sp)           # set error flag
                                                   >> 113         beqz    t0, 1f
152                                                   114 
153 1:      j       syscall_exit                   !! 115         negu    v0                      # error
                                                   >> 116         sd      v0, PT_R0(sp)           # set flag for syscall restarting
                                                   >> 117 1:      sd      v0, PT_R2(sp)           # result
                                                   >> 118 
                                                   >> 119         j       syscall_exit
154                                                   120 
155 /* -------------------------------------------    121 /* ------------------------------------------------------------------------ */
156                                                   122 
157         /*                                        123         /*
                                                   >> 124          * More than four arguments.  Try to deal with it by copying the
                                                   >> 125          * stack arguments from the user stack to the kernel stack.
                                                   >> 126          * This Sucks (TM).
                                                   >> 127          */
                                                   >> 128 stackargs:
                                                   >> 129         ld      t0, PT_R29(sp)          # get old user stack pointer
                                                   >> 130         subu    t3, 4
                                                   >> 131         sll     t1, t3, 2               # stack valid?
                                                   >> 132 
                                                   >> 133         addu    t1, t0                  # end address
                                                   >> 134         or      t0, t1
                                                   >> 135         bltz    t0, bad_stack           # -> sp is bad
                                                   >> 136 
                                                   >> 137         ld      t0, PT_R29(sp)          # get old user stack pointer
                                                   >> 138         PTR_LA  t1, 3f                  # copy 1 to 2 arguments
                                                   >> 139         sll     t3, t3, 2
                                                   >> 140         subu    t1, t3
                                                   >> 141         jr      t1
                                                   >> 142 
                                                   >> 143         /* Ok, copy the args from the luser stack to the kernel stack */
                                                   >> 144         .set    push
                                                   >> 145         .set    noreorder
                                                   >> 146         .set    nomacro
                                                   >> 147 1:      lw      a5, 20(t0)              # argument #6 from usp
                                                   >> 148 2:      lw      a4, 16(t0)              # argument #5 from usp
                                                   >> 149 3:      .set    pop
                                                   >> 150 
                                                   >> 151         j       stack_done              # go back
                                                   >> 152 
                                                   >> 153         .section __ex_table,"a"
                                                   >> 154         PTR     1b, bad_stack
                                                   >> 155         PTR     2b, bad_stack
                                                   >> 156         .previous
                                                   >> 157 
                                                   >> 158         /*
158          * The stackpointer for a call with mo    159          * The stackpointer for a call with more than 4 arguments is bad.
159          */                                       160          */
160 bad_stack:                                        161 bad_stack:
161         li      v0, EFAULT                     !! 162         negu    v0                      # error
                                                   >> 163         sd      v0, PT_R0(sp)
162         sd      v0, PT_R2(sp)                     164         sd      v0, PT_R2(sp)
163         li      t0, 1                   # set     165         li      t0, 1                   # set error flag
164         sd      t0, PT_R7(sp)                     166         sd      t0, PT_R7(sp)
165         j       o32_syscall_exit                  167         j       o32_syscall_exit
166                                                   168 
167 bad_stack_a4:                                  << 
168         li      a4, 0                          << 
169         b       load_a5                        << 
170                                                << 
171 bad_stack_a5:                                  << 
172         li      a5, 0                          << 
173         b       load_a6                        << 
174                                                << 
175 bad_stack_a6:                                  << 
176         li      a6, 0                          << 
177         b       load_a7                        << 
178                                                << 
179 bad_stack_a7:                                  << 
180         li      a7, 0                          << 
181         b       loads_done                     << 
182                                                << 
183 not_o32_scall:                                    169 not_o32_scall:
184         /*                                        170         /*
185          * This is not an o32 compatibility sy    171          * This is not an o32 compatibility syscall, pass it on
186          * to the 64-bit syscall handlers.        172          * to the 64-bit syscall handlers.
187          */                                       173          */
188 #ifdef CONFIG_MIPS32_N32                          174 #ifdef CONFIG_MIPS32_N32
189         j       handle_sysn32                     175         j       handle_sysn32
190 #else                                             176 #else
191         j       handle_sys64                      177         j       handle_sys64
192 #endif                                            178 #endif
                                                   >> 179 
                                                   >> 180 illegal_syscall:
                                                   >> 181         /* This also isn't a 64-bit syscall, throw an error.  */
                                                   >> 182         li      v0, ENOSYS              # error
                                                   >> 183         sd      v0, PT_R2(sp)
                                                   >> 184         li      t0, 1                   # set error flag
                                                   >> 185         sd      t0, PT_R7(sp)
                                                   >> 186         j       o32_syscall_exit
193         END(handle_sys)                           187         END(handle_sys)
194                                                   188 
195 LEAF(sys32_syscall)                               189 LEAF(sys32_syscall)
196         subu    t0, a0, __NR_O32_Linux  # chec !! 190         ld      t0, PT_R29(sp)          # user sp
197         sltiu   v0, t0, __NR_O32_Linux_syscall !! 191 
198         beqz    t0, einval              # do n !! 192         sltu    v0, a0, __NR_O32_Linux + __NR_O32_Linux_syscalls + 1
199         dsll    t1, t0, 3                      !! 193         beqz    v0, enosys
200         beqz    v0, einval                     !! 194 
201         ld      t2, sys32_call_table(t1)       !! 195         dsll    v0, a0, 3
                                                   >> 196         dla     v1, sys32_syscall
                                                   >> 197         ld      t2, (sys_call_table - (__NR_O32_Linux * 8))(v0)
                                                   >> 198         lbu     t3, (sys_narg_table - __NR_O32_Linux)(a0)
                                                   >> 199 
                                                   >> 200         li      v0, -EINVAL
                                                   >> 201         beq     t2, v1, out             # do not recurse
                                                   >> 202 
                                                   >> 203         beqz    t2, enosys              # null function pointer?
                                                   >> 204 
                                                   >> 205         andi    v0, t0, 0x3             # unaligned stack pointer?
                                                   >> 206         bnez    v0, sigsegv
                                                   >> 207 
                                                   >> 208         daddiu  v0, t0, 16              # v0 = usp + 16
                                                   >> 209         daddu   t1, v0, 12              # 3 32-bit arguments
                                                   >> 210         ld      v1, TI_ADDR_LIMIT($28)
                                                   >> 211         or      v0, v0, t1
                                                   >> 212         and     v1, v1, v0
                                                   >> 213         bnez    v1, efault
202                                                   214 
203         move    a0, a1                  # shif    215         move    a0, a1                  # shift argument registers
204         move    a1, a2                            216         move    a1, a2
205         move    a2, a3                            217         move    a2, a3
206         move    a3, a4                         !! 218 
207         move    a4, a5                         !! 219 1:      lw      a3, 16(t0)
208         move    a5, a6                         !! 220 2:      lw      t3, 20(t0)
209         move    a6, a7                         !! 221 3:      lw      t1, 24(t0)
                                                   >> 222 
                                                   >> 223         .section __ex_table,"a"
                                                   >> 224         PTR     1b, efault
                                                   >> 225         PTR     2b, efault
                                                   >> 226         PTR     3b, efault
                                                   >> 227         .previous
                                                   >> 228 
                                                   >> 229         sw      t3, 16(sp)              # put into new stackframe
                                                   >> 230         sw      t1, 20(sp)
                                                   >> 231 
                                                   >> 232         bnez    t1, 1f                  # zero arguments?
                                                   >> 233         daddu   a0, sp, 32              # then pass sp in a0
                                                   >> 234 1:
                                                   >> 235 
                                                   >> 236         sw      t3, 16(sp)
                                                   >> 237         sw      v1, 20(sp)
210         jr      t2                                238         jr      t2
211         /* Unreached */                           239         /* Unreached */
212                                                   240 
213 einval: li      v0, -ENOSYS                    !! 241 enosys: li      v0, -ENOSYS
214         jr      ra                             !! 242         b       out
                                                   >> 243 
                                                   >> 244 sigsegv:
                                                   >> 245         li      a0, _SIGSEGV
                                                   >> 246         move    a1, $28
                                                   >> 247         jal     force_sig
                                                   >> 248         /* Fall through */
                                                   >> 249 
                                                   >> 250 efault: li      v0, -EFAULT
                                                   >> 251 
                                                   >> 252 out:    jr      ra
215         END(sys32_syscall)                        253         END(sys32_syscall)
216                                                   254 
217 #define __SYSCALL_WITH_COMPAT(nr, native, comp !! 255         .macro  syscalltable
218 #define __SYSCALL(nr, entry)    PTR_WD entry   !! 256         sys     sys32_syscall   0                       /* 4000 */
                                                   >> 257         sys     sys_exit        1
                                                   >> 258         sys     sys_fork        0
                                                   >> 259         sys     sys_read        3
                                                   >> 260         sys     sys_write       3
                                                   >> 261         sys     sys_open        3                       /* 4005 */
                                                   >> 262         sys     sys_close       1
                                                   >> 263         sys     sys_waitpid     3
                                                   >> 264         sys     sys_creat       2
                                                   >> 265         sys     sys_link        2
                                                   >> 266         sys     sys_unlink      1                       /* 4010 */
                                                   >> 267         sys     sys32_execve    0
                                                   >> 268         sys     sys_chdir       1
                                                   >> 269         sys     sys_time        1
                                                   >> 270         sys     sys_mknod       3
                                                   >> 271         sys     sys_chmod       2                       /* 4015 */
                                                   >> 272         sys     sys_lchown      3
                                                   >> 273         sys     sys_ni_syscall  0
                                                   >> 274         sys     sys_ni_syscall  0                       /* was sys_stat */
                                                   >> 275         sys     sys_lseek       3
                                                   >> 276         sys     sys_getpid      0                       /* 4020 */
                                                   >> 277         sys     sys_mount       5
                                                   >> 278         sys     sys_oldumount   1
                                                   >> 279         sys     sys_setuid      1
                                                   >> 280         sys     sys_getuid      0
                                                   >> 281         sys     sys_stime       1                       /* 4025 */
                                                   >> 282         sys     sys32_ptrace    4
                                                   >> 283         sys     sys_alarm       1
                                                   >> 284         sys     sys_ni_syscall  0                       /* was sys_fstat */
                                                   >> 285         sys     sys_pause       0
                                                   >> 286         sys     compat_sys_utime        2                       /* 4030 */
                                                   >> 287         sys     sys_ni_syscall  0
                                                   >> 288         sys     sys_ni_syscall  0
                                                   >> 289         sys     sys_access      2
                                                   >> 290         sys     sys_nice        1
                                                   >> 291         sys     sys_ni_syscall  0                       /* 4035 */
                                                   >> 292         sys     sys_sync        0
                                                   >> 293         sys     sys_kill        2
                                                   >> 294         sys     sys_rename      2
                                                   >> 295         sys     sys_mkdir       2
                                                   >> 296         sys     sys_rmdir       1                       /* 4040 */
                                                   >> 297         sys     sys_dup         1
                                                   >> 298         sys     sys_pipe        0
                                                   >> 299         sys     compat_sys_times        1
                                                   >> 300         sys     sys_ni_syscall  0
                                                   >> 301         sys     sys_brk         1                       /* 4045 */
                                                   >> 302         sys     sys_setgid      1
                                                   >> 303         sys     sys_getgid      0
                                                   >> 304         sys     sys_ni_syscall  0       /* was signal   2 */
                                                   >> 305         sys     sys_geteuid     0
                                                   >> 306         sys     sys_getegid     0                       /* 4050 */
                                                   >> 307         sys     sys_acct        0
                                                   >> 308         sys     sys_umount      2
                                                   >> 309         sys     sys_ni_syscall  0
                                                   >> 310         sys     compat_sys_ioctl        3
                                                   >> 311         sys     compat_sys_fcntl        3               /* 4055 */
                                                   >> 312         sys     sys_ni_syscall  2
                                                   >> 313         sys     sys_setpgid     2
                                                   >> 314         sys     sys_ni_syscall, 0
                                                   >> 315         sys     sys_olduname    1
                                                   >> 316         sys     sys_umask       1                       /* 4060 */
                                                   >> 317         sys     sys_chroot      1
                                                   >> 318         sys     sys_ustat       2
                                                   >> 319         sys     sys_dup2        2
                                                   >> 320         sys     sys_getppid     0
                                                   >> 321         sys     sys_getpgrp     0                       /* 4065 */
                                                   >> 322         sys     sys_setsid      0
                                                   >> 323         sys     sys32_sigaction 3
                                                   >> 324         sys     sys_sgetmask    0
                                                   >> 325         sys     sys_ssetmask    1
                                                   >> 326         sys     sys_setreuid    2                       /* 4070 */
                                                   >> 327         sys     sys_setregid    2
                                                   >> 328         sys     sys32_sigsuspend        0
                                                   >> 329         sys     compat_sys_sigpending   1
                                                   >> 330         sys     sys_sethostname 2
                                                   >> 331         sys     compat_sys_setrlimit    2               /* 4075 */
                                                   >> 332         sys     compat_sys_getrlimit    2
                                                   >> 333         sys     compat_sys_getrusage    2
                                                   >> 334         sys     sys32_gettimeofday 2
                                                   >> 335         sys     sys32_settimeofday 2
                                                   >> 336         sys     sys_getgroups   2                       /* 4080 */
                                                   >> 337         sys     sys_setgroups   2
                                                   >> 338         sys     sys_ni_syscall  0                       /* old_select */
                                                   >> 339         sys     sys_symlink     2
                                                   >> 340         sys     sys_ni_syscall  0                       /* was sys_lstat */
                                                   >> 341         sys     sys_readlink    3                       /* 4085 */
                                                   >> 342         sys     sys_uselib      1
                                                   >> 343         sys     sys_swapon      2
                                                   >> 344         sys     sys_reboot      3
                                                   >> 345         sys     sys32_readdir   3
                                                   >> 346         sys     old_mmap        6                       /* 4090 */
                                                   >> 347         sys     sys_munmap      2
                                                   >> 348         sys     sys_truncate    2
                                                   >> 349         sys     sys_ftruncate   2
                                                   >> 350         sys     sys_fchmod      2
                                                   >> 351         sys     sys_fchown      3                       /* 4095 */
                                                   >> 352         sys     sys_getpriority 2
                                                   >> 353         sys     sys_setpriority 3
                                                   >> 354         sys     sys_ni_syscall  0
                                                   >> 355         sys     compat_sys_statfs       2
                                                   >> 356         sys     compat_sys_fstatfs      2               /* 4100 */
                                                   >> 357         sys     sys_ni_syscall          0               /* sys_ioperm */
                                                   >> 358         sys     sys_socketcall          2
                                                   >> 359         sys     sys_syslog              3
                                                   >> 360         sys     compat_sys_setitimer    3
                                                   >> 361         sys     compat_sys_getitimer    2       /* 4105 */
                                                   >> 362         sys     compat_sys_newstat      2
                                                   >> 363         sys     compat_sys_newlstat     2
                                                   >> 364         sys     compat_sys_newfstat     2
                                                   >> 365         sys     sys_uname               1
                                                   >> 366         sys     sys_ni_syscall          0       /* sys_ioperm  *//* 4110 */
                                                   >> 367         sys     sys_vhangup             0
                                                   >> 368         sys     sys_ni_syscall          0       /* was sys_idle  */
                                                   >> 369         sys     sys_ni_syscall          0       /* sys_vm86 */
                                                   >> 370         sys     sys32_wait4             4
                                                   >> 371         sys     sys_swapoff             1       /* 4115 */
                                                   >> 372         sys     sys32_sysinfo           1
                                                   >> 373         sys     sys32_ipc               6
                                                   >> 374         sys     sys_fsync       1
                                                   >> 375         sys     sys32_sigreturn 0
                                                   >> 376         sys     sys_clone       0                       /* 4120 */
                                                   >> 377         sys     sys_setdomainname 2
                                                   >> 378         sys     sys32_newuname  1
                                                   >> 379         sys     sys_ni_syscall  0       /* sys_modify_ldt */
                                                   >> 380         sys     sys32_adjtimex  1
                                                   >> 381         sys     sys_mprotect    3                       /* 4125 */
                                                   >> 382         sys     compat_sys_sigprocmask  3
                                                   >> 383         sys     sys_ni_syscall  0                       /* was creat_module */
                                                   >> 384         sys     sys_init_module 5
                                                   >> 385         sys     sys_delete_module 1
                                                   >> 386         sys     sys_ni_syscall  0               /* 4130, get_kernel_syms */
                                                   >> 387         sys     sys_quotactl    0
                                                   >> 388         sys     sys_getpgid     1
                                                   >> 389         sys     sys_fchdir      1
                                                   >> 390         sys     sys_bdflush     2
                                                   >> 391         sys     sys_sysfs       3                       /* 4135 */
                                                   >> 392         sys     sys32_personality       1
                                                   >> 393         sys     sys_ni_syscall  0 /* for afs_syscall */
                                                   >> 394         sys     sys_setfsuid    1
                                                   >> 395         sys     sys_setfsgid    1
                                                   >> 396         sys     sys32_llseek    5                       /* 4140 */
                                                   >> 397         sys     sys32_getdents  3
                                                   >> 398         sys     sys32_select    5
                                                   >> 399         sys     sys_flock       2
                                                   >> 400         sys     sys_msync       3
                                                   >> 401         sys     sys32_readv     3                       /* 4145 */
                                                   >> 402         sys     sys32_writev    3
                                                   >> 403         sys     sys_cacheflush  3
                                                   >> 404         sys     sys_cachectl    3
                                                   >> 405         sys     sys_sysmips     4
                                                   >> 406         sys     sys_ni_syscall  0                       /* 4150 */
                                                   >> 407         sys     sys_getsid      1
                                                   >> 408         sys     sys_fdatasync   0
                                                   >> 409         sys     sys32_sysctl    1
                                                   >> 410         sys     sys_mlock       2
                                                   >> 411         sys     sys_munlock     2                       /* 4155 */
                                                   >> 412         sys     sys_mlockall    1
                                                   >> 413         sys     sys_munlockall  0
                                                   >> 414         sys     sys_sched_setparam 2
                                                   >> 415         sys     sys_sched_getparam 2
                                                   >> 416         sys     sys_sched_setscheduler 3                /* 4160 */
                                                   >> 417         sys     sys_sched_getscheduler 1
                                                   >> 418         sys     sys_sched_yield 0
                                                   >> 419         sys     sys_sched_get_priority_max 1
                                                   >> 420         sys     sys_sched_get_priority_min 1
                                                   >> 421         sys     sys32_sched_rr_get_interval 2           /* 4165 */
                                                   >> 422         sys     compat_sys_nanosleep    2
                                                   >> 423         sys     sys_mremap      4
                                                   >> 424         sys     sys_accept      3
                                                   >> 425         sys     sys_bind        3
                                                   >> 426         sys     sys_connect     3                       /* 4170 */
                                                   >> 427         sys     sys_getpeername 3
                                                   >> 428         sys     sys_getsockname 3
                                                   >> 429         sys     sys_getsockopt  5
                                                   >> 430         sys     sys_listen      2
                                                   >> 431         sys     sys_recv        4                       /* 4175 */
                                                   >> 432         sys     sys_recvfrom    6
                                                   >> 433         sys     compat_sys_recvmsg      3
                                                   >> 434         sys     sys_send        4
                                                   >> 435         sys     compat_sys_sendmsg      3
                                                   >> 436         sys     sys_sendto      6                       /* 4180 */
                                                   >> 437         sys     compat_sys_setsockopt   5
                                                   >> 438         sys     sys_shutdown    2
                                                   >> 439         sys     sys_socket      3
                                                   >> 440         sys     sys_socketpair  4
                                                   >> 441         sys     sys_setresuid   3                       /* 4185 */
                                                   >> 442         sys     sys_getresuid   3
                                                   >> 443         sys     sys_ni_syscall  0                       /* was query_module */
                                                   >> 444         sys     sys_poll        3
                                                   >> 445         sys     sys_nfsservctl  3
                                                   >> 446         sys     sys_setresgid   3                       /* 4190 */
                                                   >> 447         sys     sys_getresgid   3
                                                   >> 448         sys     sys_prctl       5
                                                   >> 449         sys     sys32_rt_sigreturn 0
                                                   >> 450         sys     sys32_rt_sigaction 4
                                                   >> 451         sys     sys32_rt_sigprocmask 4                  /* 4195 */
                                                   >> 452         sys     sys32_rt_sigpending 2
                                                   >> 453         sys     sys32_rt_sigtimedwait 4
                                                   >> 454         sys     sys32_rt_sigqueueinfo 3
                                                   >> 455         sys     sys32_rt_sigsuspend 0
                                                   >> 456         sys     sys32_pread     6                       /* 4200 */
                                                   >> 457         sys     sys32_pwrite    6
                                                   >> 458         sys     sys_chown       3
                                                   >> 459         sys     sys_getcwd      2
                                                   >> 460         sys     sys_capget      2
                                                   >> 461         sys     sys_capset      2                       /* 4205 */
                                                   >> 462         sys     sys32_sigaltstack       0
                                                   >> 463         sys     sys32_sendfile  4
                                                   >> 464         sys     sys_ni_syscall  0
                                                   >> 465         sys     sys_ni_syscall  0
                                                   >> 466         sys     sys32_mmap2     6                       /* 4210 */
                                                   >> 467         sys     sys32_truncate64        4
                                                   >> 468         sys     sys32_ftruncate64       4
                                                   >> 469         sys     sys_newstat     2
                                                   >> 470         sys     sys_newlstat    2
                                                   >> 471         sys     sys_newfstat    2                       /* 4215 */
                                                   >> 472         sys     sys_pivot_root  2
                                                   >> 473         sys     sys_mincore     3
                                                   >> 474         sys     sys_madvise     3
                                                   >> 475         sys     sys_getdents64  3
                                                   >> 476         sys     compat_sys_fcntl64      3               /* 4220 */
                                                   >> 477         sys     sys_ni_syscall  0
                                                   >> 478         sys     sys_gettid      0
                                                   >> 479         sys     sys32_readahead 5
                                                   >> 480         sys     sys_setxattr    5
                                                   >> 481         sys     sys_lsetxattr   5                       /* 4225 */
                                                   >> 482         sys     sys_fsetxattr   5
                                                   >> 483         sys     sys_getxattr    4
                                                   >> 484         sys     sys_lgetxattr   4
                                                   >> 485         sys     sys_fgetxattr   4
                                                   >> 486         sys     sys_listxattr   3                       /* 4230 */
                                                   >> 487         sys     sys_llistxattr  3
                                                   >> 488         sys     sys_flistxattr  3
                                                   >> 489         sys     sys_removexattr 2
                                                   >> 490         sys     sys_lremovexattr        2
                                                   >> 491         sys     sys_fremovexattr        2               /* 4235 */
                                                   >> 492         sys     sys_tkill               2
                                                   >> 493         sys     sys_sendfile64          5
                                                   >> 494         sys     compat_sys_futex        5
                                                   >> 495         sys     sys32_sched_setaffinity 3
                                                   >> 496         sys     sys32_sched_getaffinity 3               /* 4240 */
                                                   >> 497         sys     sys_io_setup            2
                                                   >> 498         sys     sys_io_destroy          1
                                                   >> 499         sys     sys_io_getevents        5
                                                   >> 500         sys     sys_io_submit           3
                                                   >> 501         sys     sys_io_cancel           3               /* 4245 */
                                                   >> 502         sys     sys_exit_group          1
                                                   >> 503         sys     sys_lookup_dcookie      3
                                                   >> 504         sys     sys_epoll_create        1
                                                   >> 505         sys     sys_epoll_ctl           4
                                                   >> 506         sys     sys_epoll_wait          3               /* 4250 */
                                                   >> 507         sys     sys_remap_file_pages    5
                                                   >> 508         sys     sys_set_tid_address     1
                                                   >> 509         sys     sys_restart_syscall     0
                                                   >> 510         sys     sys_fadvise64           6
                                                   >> 511         sys     sys_statfs64            3               /* 4255 */
                                                   >> 512         sys     sys_fstatfs64           2
                                                   >> 513         sys     sys_timer_create        3
                                                   >> 514         sys     sys_timer_settime       4
                                                   >> 515         sys     sys_timer_gettime       2
                                                   >> 516         sys     sys_timer_getoverrun    1               /* 4260 */
                                                   >> 517         sys     sys_timer_delete        1
                                                   >> 518         sys     sys_clock_settime       2
                                                   >> 519         sys     sys_clock_gettime       2
                                                   >> 520         sys     sys_clock_getres        2
                                                   >> 521         sys     sys_clock_nanosleep     4               /* 4265 */
                                                   >> 522         sys     sys_tgkill              3
                                                   >> 523         sys     compat_sys_utimes       2
                                                   >> 524 
                                                   >> 525         .endm
                                                   >> 526 
                                                   >> 527         .macro  sys function, nargs
                                                   >> 528         PTR     \function
                                                   >> 529         .endm
                                                   >> 530 
219         .align  3                                 531         .align  3
220         .type   sys32_call_table,@object       !! 532 sys_call_table:
221 EXPORT(sys32_call_table)                       !! 533         syscalltable
222 #include <asm/syscall_table_o32.h>             !! 534 
                                                   >> 535         .macro  sys function, nargs
                                                   >> 536         .byte   \nargs
                                                   >> 537         .endm
                                                   >> 538 
                                                   >> 539 sys_narg_table:
                                                   >> 540         syscalltable
                                                      

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