diff options
author | Glenn Elliott <gelliott@cs.unc.edu> | 2012-03-04 19:47:13 -0500 |
---|---|---|
committer | Glenn Elliott <gelliott@cs.unc.edu> | 2012-03-04 19:47:13 -0500 |
commit | c71c03bda1e86c9d5198c5d83f712e695c4f2a1e (patch) | |
tree | ecb166cb3e2b7e2adb3b5e292245fefd23381ac8 /arch/m68k/kernel/entry.S | |
parent | ea53c912f8a86a8567697115b6a0d8152beee5c8 (diff) | |
parent | 6a00f206debf8a5c8899055726ad127dbeeed098 (diff) |
Merge branch 'mpi-master' into wip-k-fmlpwip-k-fmlp
Conflicts:
litmus/sched_cedf.c
Diffstat (limited to 'arch/m68k/kernel/entry.S')
-rw-r--r-- | arch/m68k/kernel/entry.S | 774 |
1 files changed, 4 insertions, 770 deletions
diff --git a/arch/m68k/kernel/entry.S b/arch/m68k/kernel/entry.S index 6360c437dcf5..081cf96f243b 100644 --- a/arch/m68k/kernel/entry.S +++ b/arch/m68k/kernel/entry.S | |||
@@ -1,771 +1,5 @@ | |||
1 | /* -*- mode: asm -*- | 1 | #ifdef CONFIG_MMU |
2 | * | 2 | #include "entry_mm.S" |
3 | * linux/arch/m68k/kernel/entry.S | 3 | #else |
4 | * | 4 | #include "entry_no.S" |
5 | * Copyright (C) 1991, 1992 Linus Torvalds | ||
6 | * | ||
7 | * This file is subject to the terms and conditions of the GNU General Public | ||
8 | * License. See the file README.legal in the main directory of this archive | ||
9 | * for more details. | ||
10 | * | ||
11 | * Linux/m68k support by Hamish Macdonald | ||
12 | * | ||
13 | * 68060 fixes by Jesper Skov | ||
14 | * | ||
15 | */ | ||
16 | |||
17 | /* | ||
18 | * entry.S contains the system-call and fault low-level handling routines. | ||
19 | * This also contains the timer-interrupt handler, as well as all interrupts | ||
20 | * and faults that can result in a task-switch. | ||
21 | * | ||
22 | * NOTE: This code handles signal-recognition, which happens every time | ||
23 | * after a timer-interrupt and after each system call. | ||
24 | * | ||
25 | */ | ||
26 | |||
27 | /* | ||
28 | * 12/03/96 Jes: Currently we only support m68k single-cpu systems, so | ||
29 | * all pointers that used to be 'current' are now entry | ||
30 | * number 0 in the 'current_set' list. | ||
31 | * | ||
32 | * 6/05/00 RZ: addedd writeback completion after return from sighandler | ||
33 | * for 68040 | ||
34 | */ | ||
35 | |||
36 | #include <linux/linkage.h> | ||
37 | #include <asm/entry.h> | ||
38 | #include <asm/errno.h> | ||
39 | #include <asm/setup.h> | ||
40 | #include <asm/segment.h> | ||
41 | #include <asm/traps.h> | ||
42 | #include <asm/unistd.h> | ||
43 | |||
44 | #include <asm/asm-offsets.h> | ||
45 | |||
46 | .globl system_call, buserr, trap, resume | ||
47 | .globl sys_call_table | ||
48 | .globl sys_fork, sys_clone, sys_vfork | ||
49 | .globl ret_from_interrupt, bad_interrupt | ||
50 | .globl auto_irqhandler_fixup | ||
51 | .globl user_irqvec_fixup, user_irqhandler_fixup | ||
52 | |||
53 | .text | ||
54 | ENTRY(buserr) | ||
55 | SAVE_ALL_INT | ||
56 | GET_CURRENT(%d0) | ||
57 | movel %sp,%sp@- | stack frame pointer argument | ||
58 | bsrl buserr_c | ||
59 | addql #4,%sp | ||
60 | jra .Lret_from_exception | ||
61 | |||
62 | ENTRY(trap) | ||
63 | SAVE_ALL_INT | ||
64 | GET_CURRENT(%d0) | ||
65 | movel %sp,%sp@- | stack frame pointer argument | ||
66 | bsrl trap_c | ||
67 | addql #4,%sp | ||
68 | jra .Lret_from_exception | ||
69 | |||
70 | | After a fork we jump here directly from resume, | ||
71 | | so that %d1 contains the previous task | ||
72 | | schedule_tail now used regardless of CONFIG_SMP | ||
73 | ENTRY(ret_from_fork) | ||
74 | movel %d1,%sp@- | ||
75 | jsr schedule_tail | ||
76 | addql #4,%sp | ||
77 | jra .Lret_from_exception | ||
78 | |||
79 | do_trace_entry: | ||
80 | movel #-ENOSYS,%sp@(PT_OFF_D0)| needed for strace | ||
81 | subql #4,%sp | ||
82 | SAVE_SWITCH_STACK | ||
83 | jbsr syscall_trace | ||
84 | RESTORE_SWITCH_STACK | ||
85 | addql #4,%sp | ||
86 | movel %sp@(PT_OFF_ORIG_D0),%d0 | ||
87 | cmpl #NR_syscalls,%d0 | ||
88 | jcs syscall | ||
89 | badsys: | ||
90 | movel #-ENOSYS,%sp@(PT_OFF_D0) | ||
91 | jra ret_from_syscall | ||
92 | |||
93 | do_trace_exit: | ||
94 | subql #4,%sp | ||
95 | SAVE_SWITCH_STACK | ||
96 | jbsr syscall_trace | ||
97 | RESTORE_SWITCH_STACK | ||
98 | addql #4,%sp | ||
99 | jra .Lret_from_exception | ||
100 | |||
101 | ENTRY(ret_from_signal) | ||
102 | RESTORE_SWITCH_STACK | ||
103 | addql #4,%sp | ||
104 | /* on 68040 complete pending writebacks if any */ | ||
105 | #ifdef CONFIG_M68040 | ||
106 | bfextu %sp@(PT_OFF_FORMATVEC){#0,#4},%d0 | ||
107 | subql #7,%d0 | bus error frame ? | ||
108 | jbne 1f | ||
109 | movel %sp,%sp@- | ||
110 | jbsr berr_040cleanup | ||
111 | addql #4,%sp | ||
112 | 1: | ||
113 | #endif | 5 | #endif |
114 | jra .Lret_from_exception | ||
115 | |||
116 | ENTRY(system_call) | ||
117 | SAVE_ALL_SYS | ||
118 | |||
119 | GET_CURRENT(%d1) | ||
120 | | save top of frame | ||
121 | movel %sp,%curptr@(TASK_THREAD+THREAD_ESP0) | ||
122 | |||
123 | | syscall trace? | ||
124 | tstb %curptr@(TASK_INFO+TINFO_FLAGS+2) | ||
125 | jmi do_trace_entry | ||
126 | cmpl #NR_syscalls,%d0 | ||
127 | jcc badsys | ||
128 | syscall: | ||
129 | jbsr @(sys_call_table,%d0:l:4)@(0) | ||
130 | movel %d0,%sp@(PT_OFF_D0) | save the return value | ||
131 | ret_from_syscall: | ||
132 | |oriw #0x0700,%sr | ||
133 | movew %curptr@(TASK_INFO+TINFO_FLAGS+2),%d0 | ||
134 | jne syscall_exit_work | ||
135 | 1: RESTORE_ALL | ||
136 | |||
137 | syscall_exit_work: | ||
138 | btst #5,%sp@(PT_OFF_SR) | check if returning to kernel | ||
139 | bnes 1b | if so, skip resched, signals | ||
140 | lslw #1,%d0 | ||
141 | jcs do_trace_exit | ||
142 | jmi do_delayed_trace | ||
143 | lslw #8,%d0 | ||
144 | jmi do_signal_return | ||
145 | pea resume_userspace | ||
146 | jra schedule | ||
147 | |||
148 | |||
149 | ENTRY(ret_from_exception) | ||
150 | .Lret_from_exception: | ||
151 | btst #5,%sp@(PT_OFF_SR) | check if returning to kernel | ||
152 | bnes 1f | if so, skip resched, signals | ||
153 | | only allow interrupts when we are really the last one on the | ||
154 | | kernel stack, otherwise stack overflow can occur during | ||
155 | | heavy interrupt load | ||
156 | andw #ALLOWINT,%sr | ||
157 | |||
158 | resume_userspace: | ||
159 | moveb %curptr@(TASK_INFO+TINFO_FLAGS+3),%d0 | ||
160 | jne exit_work | ||
161 | 1: RESTORE_ALL | ||
162 | |||
163 | exit_work: | ||
164 | | save top of frame | ||
165 | movel %sp,%curptr@(TASK_THREAD+THREAD_ESP0) | ||
166 | lslb #1,%d0 | ||
167 | jmi do_signal_return | ||
168 | pea resume_userspace | ||
169 | jra schedule | ||
170 | |||
171 | |||
172 | do_signal_return: | ||
173 | |andw #ALLOWINT,%sr | ||
174 | subql #4,%sp | dummy return address | ||
175 | SAVE_SWITCH_STACK | ||
176 | pea %sp@(SWITCH_STACK_SIZE) | ||
177 | clrl %sp@- | ||
178 | bsrl do_signal | ||
179 | addql #8,%sp | ||
180 | RESTORE_SWITCH_STACK | ||
181 | addql #4,%sp | ||
182 | tstl %d0 | ||
183 | jeq resume_userspace | ||
184 | | when single stepping into handler stop at the first insn | ||
185 | btst #6,%curptr@(TASK_INFO+TINFO_FLAGS+2) | ||
186 | jeq resume_userspace | ||
187 | |||
188 | do_delayed_trace: | ||
189 | bclr #7,%sp@(PT_OFF_SR) | clear trace bit in SR | ||
190 | pea 1 | send SIGTRAP | ||
191 | movel %curptr,%sp@- | ||
192 | pea LSIGTRAP | ||
193 | jbsr send_sig | ||
194 | addql #8,%sp | ||
195 | addql #4,%sp | ||
196 | jbra resume_userspace | ||
197 | |||
198 | |||
199 | /* This is the main interrupt handler for autovector interrupts */ | ||
200 | |||
201 | ENTRY(auto_inthandler) | ||
202 | SAVE_ALL_INT | ||
203 | GET_CURRENT(%d0) | ||
204 | addqb #1,%curptr@(TASK_INFO+TINFO_PREEMPT+1) | ||
205 | | put exception # in d0 | ||
206 | bfextu %sp@(PT_OFF_FORMATVEC){#4,#10},%d0 | ||
207 | subw #VEC_SPUR,%d0 | ||
208 | |||
209 | movel %sp,%sp@- | ||
210 | movel %d0,%sp@- | put vector # on stack | ||
211 | auto_irqhandler_fixup = . + 2 | ||
212 | jsr __m68k_handle_int | process the IRQ | ||
213 | addql #8,%sp | pop parameters off stack | ||
214 | |||
215 | ret_from_interrupt: | ||
216 | subqb #1,%curptr@(TASK_INFO+TINFO_PREEMPT+1) | ||
217 | jeq ret_from_last_interrupt | ||
218 | 2: RESTORE_ALL | ||
219 | |||
220 | ALIGN | ||
221 | ret_from_last_interrupt: | ||
222 | moveq #(~ALLOWINT>>8)&0xff,%d0 | ||
223 | andb %sp@(PT_OFF_SR),%d0 | ||
224 | jne 2b | ||
225 | |||
226 | /* check if we need to do software interrupts */ | ||
227 | tstl irq_stat+CPUSTAT_SOFTIRQ_PENDING | ||
228 | jeq .Lret_from_exception | ||
229 | pea ret_from_exception | ||
230 | jra do_softirq | ||
231 | |||
232 | /* Handler for user defined interrupt vectors */ | ||
233 | |||
234 | ENTRY(user_inthandler) | ||
235 | SAVE_ALL_INT | ||
236 | GET_CURRENT(%d0) | ||
237 | addqb #1,%curptr@(TASK_INFO+TINFO_PREEMPT+1) | ||
238 | | put exception # in d0 | ||
239 | bfextu %sp@(PT_OFF_FORMATVEC){#4,#10},%d0 | ||
240 | user_irqvec_fixup = . + 2 | ||
241 | subw #VEC_USER,%d0 | ||
242 | |||
243 | movel %sp,%sp@- | ||
244 | movel %d0,%sp@- | put vector # on stack | ||
245 | user_irqhandler_fixup = . + 2 | ||
246 | jsr __m68k_handle_int | process the IRQ | ||
247 | addql #8,%sp | pop parameters off stack | ||
248 | |||
249 | subqb #1,%curptr@(TASK_INFO+TINFO_PREEMPT+1) | ||
250 | jeq ret_from_last_interrupt | ||
251 | RESTORE_ALL | ||
252 | |||
253 | /* Handler for uninitialized and spurious interrupts */ | ||
254 | |||
255 | ENTRY(bad_inthandler) | ||
256 | SAVE_ALL_INT | ||
257 | GET_CURRENT(%d0) | ||
258 | addqb #1,%curptr@(TASK_INFO+TINFO_PREEMPT+1) | ||
259 | |||
260 | movel %sp,%sp@- | ||
261 | jsr handle_badint | ||
262 | addql #4,%sp | ||
263 | |||
264 | subqb #1,%curptr@(TASK_INFO+TINFO_PREEMPT+1) | ||
265 | jeq ret_from_last_interrupt | ||
266 | RESTORE_ALL | ||
267 | |||
268 | |||
269 | ENTRY(sys_fork) | ||
270 | SAVE_SWITCH_STACK | ||
271 | pea %sp@(SWITCH_STACK_SIZE) | ||
272 | jbsr m68k_fork | ||
273 | addql #4,%sp | ||
274 | RESTORE_SWITCH_STACK | ||
275 | rts | ||
276 | |||
277 | ENTRY(sys_clone) | ||
278 | SAVE_SWITCH_STACK | ||
279 | pea %sp@(SWITCH_STACK_SIZE) | ||
280 | jbsr m68k_clone | ||
281 | addql #4,%sp | ||
282 | RESTORE_SWITCH_STACK | ||
283 | rts | ||
284 | |||
285 | ENTRY(sys_vfork) | ||
286 | SAVE_SWITCH_STACK | ||
287 | pea %sp@(SWITCH_STACK_SIZE) | ||
288 | jbsr m68k_vfork | ||
289 | addql #4,%sp | ||
290 | RESTORE_SWITCH_STACK | ||
291 | rts | ||
292 | |||
293 | ENTRY(sys_sigsuspend) | ||
294 | SAVE_SWITCH_STACK | ||
295 | pea %sp@(SWITCH_STACK_SIZE) | ||
296 | jbsr do_sigsuspend | ||
297 | addql #4,%sp | ||
298 | RESTORE_SWITCH_STACK | ||
299 | rts | ||
300 | |||
301 | ENTRY(sys_rt_sigsuspend) | ||
302 | SAVE_SWITCH_STACK | ||
303 | pea %sp@(SWITCH_STACK_SIZE) | ||
304 | jbsr do_rt_sigsuspend | ||
305 | addql #4,%sp | ||
306 | RESTORE_SWITCH_STACK | ||
307 | rts | ||
308 | |||
309 | ENTRY(sys_sigreturn) | ||
310 | SAVE_SWITCH_STACK | ||
311 | jbsr do_sigreturn | ||
312 | RESTORE_SWITCH_STACK | ||
313 | rts | ||
314 | |||
315 | ENTRY(sys_rt_sigreturn) | ||
316 | SAVE_SWITCH_STACK | ||
317 | jbsr do_rt_sigreturn | ||
318 | RESTORE_SWITCH_STACK | ||
319 | rts | ||
320 | |||
321 | resume: | ||
322 | /* | ||
323 | * Beware - when entering resume, prev (the current task) is | ||
324 | * in a0, next (the new task) is in a1,so don't change these | ||
325 | * registers until their contents are no longer needed. | ||
326 | */ | ||
327 | |||
328 | /* save sr */ | ||
329 | movew %sr,%a0@(TASK_THREAD+THREAD_SR) | ||
330 | |||
331 | /* save fs (sfc,%dfc) (may be pointing to kernel memory) */ | ||
332 | movec %sfc,%d0 | ||
333 | movew %d0,%a0@(TASK_THREAD+THREAD_FS) | ||
334 | |||
335 | /* save usp */ | ||
336 | /* it is better to use a movel here instead of a movew 8*) */ | ||
337 | movec %usp,%d0 | ||
338 | movel %d0,%a0@(TASK_THREAD+THREAD_USP) | ||
339 | |||
340 | /* save non-scratch registers on stack */ | ||
341 | SAVE_SWITCH_STACK | ||
342 | |||
343 | /* save current kernel stack pointer */ | ||
344 | movel %sp,%a0@(TASK_THREAD+THREAD_KSP) | ||
345 | |||
346 | /* save floating point context */ | ||
347 | #ifndef CONFIG_M68KFPU_EMU_ONLY | ||
348 | #ifdef CONFIG_M68KFPU_EMU | ||
349 | tstl m68k_fputype | ||
350 | jeq 3f | ||
351 | #endif | ||
352 | fsave %a0@(TASK_THREAD+THREAD_FPSTATE) | ||
353 | |||
354 | #if defined(CONFIG_M68060) | ||
355 | #if !defined(CPU_M68060_ONLY) | ||
356 | btst #3,m68k_cputype+3 | ||
357 | beqs 1f | ||
358 | #endif | ||
359 | /* The 060 FPU keeps status in bits 15-8 of the first longword */ | ||
360 | tstb %a0@(TASK_THREAD+THREAD_FPSTATE+2) | ||
361 | jeq 3f | ||
362 | #if !defined(CPU_M68060_ONLY) | ||
363 | jra 2f | ||
364 | #endif | ||
365 | #endif /* CONFIG_M68060 */ | ||
366 | #if !defined(CPU_M68060_ONLY) | ||
367 | 1: tstb %a0@(TASK_THREAD+THREAD_FPSTATE) | ||
368 | jeq 3f | ||
369 | #endif | ||
370 | 2: fmovemx %fp0-%fp7,%a0@(TASK_THREAD+THREAD_FPREG) | ||
371 | fmoveml %fpcr/%fpsr/%fpiar,%a0@(TASK_THREAD+THREAD_FPCNTL) | ||
372 | 3: | ||
373 | #endif /* CONFIG_M68KFPU_EMU_ONLY */ | ||
374 | /* Return previous task in %d1 */ | ||
375 | movel %curptr,%d1 | ||
376 | |||
377 | /* switch to new task (a1 contains new task) */ | ||
378 | movel %a1,%curptr | ||
379 | |||
380 | /* restore floating point context */ | ||
381 | #ifndef CONFIG_M68KFPU_EMU_ONLY | ||
382 | #ifdef CONFIG_M68KFPU_EMU | ||
383 | tstl m68k_fputype | ||
384 | jeq 4f | ||
385 | #endif | ||
386 | #if defined(CONFIG_M68060) | ||
387 | #if !defined(CPU_M68060_ONLY) | ||
388 | btst #3,m68k_cputype+3 | ||
389 | beqs 1f | ||
390 | #endif | ||
391 | /* The 060 FPU keeps status in bits 15-8 of the first longword */ | ||
392 | tstb %a1@(TASK_THREAD+THREAD_FPSTATE+2) | ||
393 | jeq 3f | ||
394 | #if !defined(CPU_M68060_ONLY) | ||
395 | jra 2f | ||
396 | #endif | ||
397 | #endif /* CONFIG_M68060 */ | ||
398 | #if !defined(CPU_M68060_ONLY) | ||
399 | 1: tstb %a1@(TASK_THREAD+THREAD_FPSTATE) | ||
400 | jeq 3f | ||
401 | #endif | ||
402 | 2: fmovemx %a1@(TASK_THREAD+THREAD_FPREG),%fp0-%fp7 | ||
403 | fmoveml %a1@(TASK_THREAD+THREAD_FPCNTL),%fpcr/%fpsr/%fpiar | ||
404 | 3: frestore %a1@(TASK_THREAD+THREAD_FPSTATE) | ||
405 | 4: | ||
406 | #endif /* CONFIG_M68KFPU_EMU_ONLY */ | ||
407 | |||
408 | /* restore the kernel stack pointer */ | ||
409 | movel %a1@(TASK_THREAD+THREAD_KSP),%sp | ||
410 | |||
411 | /* restore non-scratch registers */ | ||
412 | RESTORE_SWITCH_STACK | ||
413 | |||
414 | /* restore user stack pointer */ | ||
415 | movel %a1@(TASK_THREAD+THREAD_USP),%a0 | ||
416 | movel %a0,%usp | ||
417 | |||
418 | /* restore fs (sfc,%dfc) */ | ||
419 | movew %a1@(TASK_THREAD+THREAD_FS),%a0 | ||
420 | movec %a0,%sfc | ||
421 | movec %a0,%dfc | ||
422 | |||
423 | /* restore status register */ | ||
424 | movew %a1@(TASK_THREAD+THREAD_SR),%sr | ||
425 | |||
426 | rts | ||
427 | |||
428 | .data | ||
429 | ALIGN | ||
430 | sys_call_table: | ||
431 | .long sys_restart_syscall /* 0 - old "setup()" system call, used for restarting */ | ||
432 | .long sys_exit | ||
433 | .long sys_fork | ||
434 | .long sys_read | ||
435 | .long sys_write | ||
436 | .long sys_open /* 5 */ | ||
437 | .long sys_close | ||
438 | .long sys_waitpid | ||
439 | .long sys_creat | ||
440 | .long sys_link | ||
441 | .long sys_unlink /* 10 */ | ||
442 | .long sys_execve | ||
443 | .long sys_chdir | ||
444 | .long sys_time | ||
445 | .long sys_mknod | ||
446 | .long sys_chmod /* 15 */ | ||
447 | .long sys_chown16 | ||
448 | .long sys_ni_syscall /* old break syscall holder */ | ||
449 | .long sys_stat | ||
450 | .long sys_lseek | ||
451 | .long sys_getpid /* 20 */ | ||
452 | .long sys_mount | ||
453 | .long sys_oldumount | ||
454 | .long sys_setuid16 | ||
455 | .long sys_getuid16 | ||
456 | .long sys_stime /* 25 */ | ||
457 | .long sys_ptrace | ||
458 | .long sys_alarm | ||
459 | .long sys_fstat | ||
460 | .long sys_pause | ||
461 | .long sys_utime /* 30 */ | ||
462 | .long sys_ni_syscall /* old stty syscall holder */ | ||
463 | .long sys_ni_syscall /* old gtty syscall holder */ | ||
464 | .long sys_access | ||
465 | .long sys_nice | ||
466 | .long sys_ni_syscall /* 35 */ /* old ftime syscall holder */ | ||
467 | .long sys_sync | ||
468 | .long sys_kill | ||
469 | .long sys_rename | ||
470 | .long sys_mkdir | ||
471 | .long sys_rmdir /* 40 */ | ||
472 | .long sys_dup | ||
473 | .long sys_pipe | ||
474 | .long sys_times | ||
475 | .long sys_ni_syscall /* old prof syscall holder */ | ||
476 | .long sys_brk /* 45 */ | ||
477 | .long sys_setgid16 | ||
478 | .long sys_getgid16 | ||
479 | .long sys_signal | ||
480 | .long sys_geteuid16 | ||
481 | .long sys_getegid16 /* 50 */ | ||
482 | .long sys_acct | ||
483 | .long sys_umount /* recycled never used phys() */ | ||
484 | .long sys_ni_syscall /* old lock syscall holder */ | ||
485 | .long sys_ioctl | ||
486 | .long sys_fcntl /* 55 */ | ||
487 | .long sys_ni_syscall /* old mpx syscall holder */ | ||
488 | .long sys_setpgid | ||
489 | .long sys_ni_syscall /* old ulimit syscall holder */ | ||
490 | .long sys_ni_syscall | ||
491 | .long sys_umask /* 60 */ | ||
492 | .long sys_chroot | ||
493 | .long sys_ustat | ||
494 | .long sys_dup2 | ||
495 | .long sys_getppid | ||
496 | .long sys_getpgrp /* 65 */ | ||
497 | .long sys_setsid | ||
498 | .long sys_sigaction | ||
499 | .long sys_sgetmask | ||
500 | .long sys_ssetmask | ||
501 | .long sys_setreuid16 /* 70 */ | ||
502 | .long sys_setregid16 | ||
503 | .long sys_sigsuspend | ||
504 | .long sys_sigpending | ||
505 | .long sys_sethostname | ||
506 | .long sys_setrlimit /* 75 */ | ||
507 | .long sys_old_getrlimit | ||
508 | .long sys_getrusage | ||
509 | .long sys_gettimeofday | ||
510 | .long sys_settimeofday | ||
511 | .long sys_getgroups16 /* 80 */ | ||
512 | .long sys_setgroups16 | ||
513 | .long sys_old_select | ||
514 | .long sys_symlink | ||
515 | .long sys_lstat | ||
516 | .long sys_readlink /* 85 */ | ||
517 | .long sys_uselib | ||
518 | .long sys_swapon | ||
519 | .long sys_reboot | ||
520 | .long sys_old_readdir | ||
521 | .long sys_old_mmap /* 90 */ | ||
522 | .long sys_munmap | ||
523 | .long sys_truncate | ||
524 | .long sys_ftruncate | ||
525 | .long sys_fchmod | ||
526 | .long sys_fchown16 /* 95 */ | ||
527 | .long sys_getpriority | ||
528 | .long sys_setpriority | ||
529 | .long sys_ni_syscall /* old profil syscall holder */ | ||
530 | .long sys_statfs | ||
531 | .long sys_fstatfs /* 100 */ | ||
532 | .long sys_ni_syscall /* ioperm for i386 */ | ||
533 | .long sys_socketcall | ||
534 | .long sys_syslog | ||
535 | .long sys_setitimer | ||
536 | .long sys_getitimer /* 105 */ | ||
537 | .long sys_newstat | ||
538 | .long sys_newlstat | ||
539 | .long sys_newfstat | ||
540 | .long sys_ni_syscall | ||
541 | .long sys_ni_syscall /* 110 */ /* iopl for i386 */ | ||
542 | .long sys_vhangup | ||
543 | .long sys_ni_syscall /* obsolete idle() syscall */ | ||
544 | .long sys_ni_syscall /* vm86old for i386 */ | ||
545 | .long sys_wait4 | ||
546 | .long sys_swapoff /* 115 */ | ||
547 | .long sys_sysinfo | ||
548 | .long sys_ipc | ||
549 | .long sys_fsync | ||
550 | .long sys_sigreturn | ||
551 | .long sys_clone /* 120 */ | ||
552 | .long sys_setdomainname | ||
553 | .long sys_newuname | ||
554 | .long sys_cacheflush /* modify_ldt for i386 */ | ||
555 | .long sys_adjtimex | ||
556 | .long sys_mprotect /* 125 */ | ||
557 | .long sys_sigprocmask | ||
558 | .long sys_ni_syscall /* old "create_module" */ | ||
559 | .long sys_init_module | ||
560 | .long sys_delete_module | ||
561 | .long sys_ni_syscall /* 130 - old "get_kernel_syms" */ | ||
562 | .long sys_quotactl | ||
563 | .long sys_getpgid | ||
564 | .long sys_fchdir | ||
565 | .long sys_bdflush | ||
566 | .long sys_sysfs /* 135 */ | ||
567 | .long sys_personality | ||
568 | .long sys_ni_syscall /* for afs_syscall */ | ||
569 | .long sys_setfsuid16 | ||
570 | .long sys_setfsgid16 | ||
571 | .long sys_llseek /* 140 */ | ||
572 | .long sys_getdents | ||
573 | .long sys_select | ||
574 | .long sys_flock | ||
575 | .long sys_msync | ||
576 | .long sys_readv /* 145 */ | ||
577 | .long sys_writev | ||
578 | .long sys_getsid | ||
579 | .long sys_fdatasync | ||
580 | .long sys_sysctl | ||
581 | .long sys_mlock /* 150 */ | ||
582 | .long sys_munlock | ||
583 | .long sys_mlockall | ||
584 | .long sys_munlockall | ||
585 | .long sys_sched_setparam | ||
586 | .long sys_sched_getparam /* 155 */ | ||
587 | .long sys_sched_setscheduler | ||
588 | .long sys_sched_getscheduler | ||
589 | .long sys_sched_yield | ||
590 | .long sys_sched_get_priority_max | ||
591 | .long sys_sched_get_priority_min /* 160 */ | ||
592 | .long sys_sched_rr_get_interval | ||
593 | .long sys_nanosleep | ||
594 | .long sys_mremap | ||
595 | .long sys_setresuid16 | ||
596 | .long sys_getresuid16 /* 165 */ | ||
597 | .long sys_getpagesize | ||
598 | .long sys_ni_syscall /* old sys_query_module */ | ||
599 | .long sys_poll | ||
600 | .long sys_nfsservctl | ||
601 | .long sys_setresgid16 /* 170 */ | ||
602 | .long sys_getresgid16 | ||
603 | .long sys_prctl | ||
604 | .long sys_rt_sigreturn | ||
605 | .long sys_rt_sigaction | ||
606 | .long sys_rt_sigprocmask /* 175 */ | ||
607 | .long sys_rt_sigpending | ||
608 | .long sys_rt_sigtimedwait | ||
609 | .long sys_rt_sigqueueinfo | ||
610 | .long sys_rt_sigsuspend | ||
611 | .long sys_pread64 /* 180 */ | ||
612 | .long sys_pwrite64 | ||
613 | .long sys_lchown16; | ||
614 | .long sys_getcwd | ||
615 | .long sys_capget | ||
616 | .long sys_capset /* 185 */ | ||
617 | .long sys_sigaltstack | ||
618 | .long sys_sendfile | ||
619 | .long sys_ni_syscall /* streams1 */ | ||
620 | .long sys_ni_syscall /* streams2 */ | ||
621 | .long sys_vfork /* 190 */ | ||
622 | .long sys_getrlimit | ||
623 | .long sys_mmap2 | ||
624 | .long sys_truncate64 | ||
625 | .long sys_ftruncate64 | ||
626 | .long sys_stat64 /* 195 */ | ||
627 | .long sys_lstat64 | ||
628 | .long sys_fstat64 | ||
629 | .long sys_chown | ||
630 | .long sys_getuid | ||
631 | .long sys_getgid /* 200 */ | ||
632 | .long sys_geteuid | ||
633 | .long sys_getegid | ||
634 | .long sys_setreuid | ||
635 | .long sys_setregid | ||
636 | .long sys_getgroups /* 205 */ | ||
637 | .long sys_setgroups | ||
638 | .long sys_fchown | ||
639 | .long sys_setresuid | ||
640 | .long sys_getresuid | ||
641 | .long sys_setresgid /* 210 */ | ||
642 | .long sys_getresgid | ||
643 | .long sys_lchown | ||
644 | .long sys_setuid | ||
645 | .long sys_setgid | ||
646 | .long sys_setfsuid /* 215 */ | ||
647 | .long sys_setfsgid | ||
648 | .long sys_pivot_root | ||
649 | .long sys_ni_syscall | ||
650 | .long sys_ni_syscall | ||
651 | .long sys_getdents64 /* 220 */ | ||
652 | .long sys_gettid | ||
653 | .long sys_tkill | ||
654 | .long sys_setxattr | ||
655 | .long sys_lsetxattr | ||
656 | .long sys_fsetxattr /* 225 */ | ||
657 | .long sys_getxattr | ||
658 | .long sys_lgetxattr | ||
659 | .long sys_fgetxattr | ||
660 | .long sys_listxattr | ||
661 | .long sys_llistxattr /* 230 */ | ||
662 | .long sys_flistxattr | ||
663 | .long sys_removexattr | ||
664 | .long sys_lremovexattr | ||
665 | .long sys_fremovexattr | ||
666 | .long sys_futex /* 235 */ | ||
667 | .long sys_sendfile64 | ||
668 | .long sys_mincore | ||
669 | .long sys_madvise | ||
670 | .long sys_fcntl64 | ||
671 | .long sys_readahead /* 240 */ | ||
672 | .long sys_io_setup | ||
673 | .long sys_io_destroy | ||
674 | .long sys_io_getevents | ||
675 | .long sys_io_submit | ||
676 | .long sys_io_cancel /* 245 */ | ||
677 | .long sys_fadvise64 | ||
678 | .long sys_exit_group | ||
679 | .long sys_lookup_dcookie | ||
680 | .long sys_epoll_create | ||
681 | .long sys_epoll_ctl /* 250 */ | ||
682 | .long sys_epoll_wait | ||
683 | .long sys_remap_file_pages | ||
684 | .long sys_set_tid_address | ||
685 | .long sys_timer_create | ||
686 | .long sys_timer_settime /* 255 */ | ||
687 | .long sys_timer_gettime | ||
688 | .long sys_timer_getoverrun | ||
689 | .long sys_timer_delete | ||
690 | .long sys_clock_settime | ||
691 | .long sys_clock_gettime /* 260 */ | ||
692 | .long sys_clock_getres | ||
693 | .long sys_clock_nanosleep | ||
694 | .long sys_statfs64 | ||
695 | .long sys_fstatfs64 | ||
696 | .long sys_tgkill /* 265 */ | ||
697 | .long sys_utimes | ||
698 | .long sys_fadvise64_64 | ||
699 | .long sys_mbind | ||
700 | .long sys_get_mempolicy | ||
701 | .long sys_set_mempolicy /* 270 */ | ||
702 | .long sys_mq_open | ||
703 | .long sys_mq_unlink | ||
704 | .long sys_mq_timedsend | ||
705 | .long sys_mq_timedreceive | ||
706 | .long sys_mq_notify /* 275 */ | ||
707 | .long sys_mq_getsetattr | ||
708 | .long sys_waitid | ||
709 | .long sys_ni_syscall /* for sys_vserver */ | ||
710 | .long sys_add_key | ||
711 | .long sys_request_key /* 280 */ | ||
712 | .long sys_keyctl | ||
713 | .long sys_ioprio_set | ||
714 | .long sys_ioprio_get | ||
715 | .long sys_inotify_init | ||
716 | .long sys_inotify_add_watch /* 285 */ | ||
717 | .long sys_inotify_rm_watch | ||
718 | .long sys_migrate_pages | ||
719 | .long sys_openat | ||
720 | .long sys_mkdirat | ||
721 | .long sys_mknodat /* 290 */ | ||
722 | .long sys_fchownat | ||
723 | .long sys_futimesat | ||
724 | .long sys_fstatat64 | ||
725 | .long sys_unlinkat | ||
726 | .long sys_renameat /* 295 */ | ||
727 | .long sys_linkat | ||
728 | .long sys_symlinkat | ||
729 | .long sys_readlinkat | ||
730 | .long sys_fchmodat | ||
731 | .long sys_faccessat /* 300 */ | ||
732 | .long sys_ni_syscall /* Reserved for pselect6 */ | ||
733 | .long sys_ni_syscall /* Reserved for ppoll */ | ||
734 | .long sys_unshare | ||
735 | .long sys_set_robust_list | ||
736 | .long sys_get_robust_list /* 305 */ | ||
737 | .long sys_splice | ||
738 | .long sys_sync_file_range | ||
739 | .long sys_tee | ||
740 | .long sys_vmsplice | ||
741 | .long sys_move_pages /* 310 */ | ||
742 | .long sys_sched_setaffinity | ||
743 | .long sys_sched_getaffinity | ||
744 | .long sys_kexec_load | ||
745 | .long sys_getcpu | ||
746 | .long sys_epoll_pwait /* 315 */ | ||
747 | .long sys_utimensat | ||
748 | .long sys_signalfd | ||
749 | .long sys_timerfd_create | ||
750 | .long sys_eventfd | ||
751 | .long sys_fallocate /* 320 */ | ||
752 | .long sys_timerfd_settime | ||
753 | .long sys_timerfd_gettime | ||
754 | .long sys_signalfd4 | ||
755 | .long sys_eventfd2 | ||
756 | .long sys_epoll_create1 /* 325 */ | ||
757 | .long sys_dup3 | ||
758 | .long sys_pipe2 | ||
759 | .long sys_inotify_init1 | ||
760 | .long sys_preadv | ||
761 | .long sys_pwritev /* 330 */ | ||
762 | .long sys_rt_tgsigqueueinfo | ||
763 | .long sys_perf_event_open | ||
764 | .long sys_get_thread_area | ||
765 | .long sys_set_thread_area | ||
766 | .long sys_atomic_cmpxchg_32 /* 335 */ | ||
767 | .long sys_atomic_barrier | ||
768 | .long sys_fanotify_init | ||
769 | .long sys_fanotify_mark | ||
770 | .long sys_prlimit64 | ||
771 | |||