aboutsummaryrefslogtreecommitdiffstats
path: root/arch/s390/kernel/compat_wrapper.S
diff options
context:
space:
mode:
Diffstat (limited to 'arch/s390/kernel/compat_wrapper.S')
-rw-r--r--arch/s390/kernel/compat_wrapper.S1443
1 files changed, 1443 insertions, 0 deletions
diff --git a/arch/s390/kernel/compat_wrapper.S b/arch/s390/kernel/compat_wrapper.S
new file mode 100644
index 000000000000..7a607b1d0380
--- /dev/null
+++ b/arch/s390/kernel/compat_wrapper.S
@@ -0,0 +1,1443 @@
1/*
2* arch/s390/kernel/sys_wrapper31.S
3* wrapper for 31 bit compatible system calls.
4*
5* S390 version
6* Copyright (C) 2000 IBM Deutschland Entwicklung GmbH, IBM Corporation
7* Author(s): Gerhard Tonn (ton@de.ibm.com),
8* Thomas Spatzier (tspat@de.ibm.com)
9*/
10
11 .globl sys32_exit_wrapper
12sys32_exit_wrapper:
13 lgfr %r2,%r2 # int
14 jg sys_exit # branch to sys_exit
15
16 .globl sys32_read_wrapper
17sys32_read_wrapper:
18 llgfr %r2,%r2 # unsigned int
19 llgtr %r3,%r3 # char *
20 llgfr %r4,%r4 # size_t
21 jg sys32_read # branch to sys_read
22
23 .globl sys32_write_wrapper
24sys32_write_wrapper:
25 llgfr %r2,%r2 # unsigned int
26 llgtr %r3,%r3 # const char *
27 llgfr %r4,%r4 # size_t
28 jg sys32_write # branch to system call
29
30 .globl sys32_open_wrapper
31sys32_open_wrapper:
32 llgtr %r2,%r2 # const char *
33 lgfr %r3,%r3 # int
34 lgfr %r4,%r4 # int
35 jg sys_open # branch to system call
36
37 .globl sys32_close_wrapper
38sys32_close_wrapper:
39 llgfr %r2,%r2 # unsigned int
40 jg sys_close # branch to system call
41
42 .globl sys32_creat_wrapper
43sys32_creat_wrapper:
44 llgtr %r2,%r2 # const char *
45 lgfr %r3,%r3 # int
46 jg sys_creat # branch to system call
47
48 .globl sys32_link_wrapper
49sys32_link_wrapper:
50 llgtr %r2,%r2 # const char *
51 llgtr %r3,%r3 # const char *
52 jg sys_link # branch to system call
53
54 .globl sys32_unlink_wrapper
55sys32_unlink_wrapper:
56 llgtr %r2,%r2 # const char *
57 jg sys_unlink # branch to system call
58
59 .globl sys32_chdir_wrapper
60sys32_chdir_wrapper:
61 llgtr %r2,%r2 # const char *
62 jg sys_chdir # branch to system call
63
64 .globl sys32_time_wrapper
65sys32_time_wrapper:
66 llgtr %r2,%r2 # int *
67 jg compat_sys_time # branch to system call
68
69 .globl sys32_mknod_wrapper
70sys32_mknod_wrapper:
71 llgtr %r2,%r2 # const char *
72 lgfr %r3,%r3 # int
73 llgfr %r4,%r4 # dev
74 jg sys_mknod # branch to system call
75
76 .globl sys32_chmod_wrapper
77sys32_chmod_wrapper:
78 llgtr %r2,%r2 # const char *
79 llgfr %r3,%r3 # mode_t
80 jg sys_chmod # branch to system call
81
82 .globl sys32_lchown16_wrapper
83sys32_lchown16_wrapper:
84 llgtr %r2,%r2 # const char *
85 llgfr %r3,%r3 # __kernel_old_uid_emu31_t
86 llgfr %r4,%r4 # __kernel_old_uid_emu31_t
87 jg sys32_lchown16 # branch to system call
88
89 .globl sys32_lseek_wrapper
90sys32_lseek_wrapper:
91 llgfr %r2,%r2 # unsigned int
92 lgfr %r3,%r3 # off_t
93 llgfr %r4,%r4 # unsigned int
94 jg sys_lseek # branch to system call
95
96#sys32_getpid_wrapper # void
97
98 .globl sys32_mount_wrapper
99sys32_mount_wrapper:
100 llgtr %r2,%r2 # char *
101 llgtr %r3,%r3 # char *
102 llgtr %r4,%r4 # char *
103 llgfr %r5,%r5 # unsigned long
104 llgtr %r6,%r6 # void *
105 jg compat_sys_mount # branch to system call
106
107 .globl sys32_oldumount_wrapper
108sys32_oldumount_wrapper:
109 llgtr %r2,%r2 # char *
110 jg sys_oldumount # branch to system call
111
112 .globl sys32_setuid16_wrapper
113sys32_setuid16_wrapper:
114 llgfr %r2,%r2 # __kernel_old_uid_emu31_t
115 jg sys32_setuid16 # branch to system call
116
117#sys32_getuid16_wrapper # void
118
119 .globl sys32_ptrace_wrapper
120sys32_ptrace_wrapper:
121 lgfr %r2,%r2 # long
122 lgfr %r3,%r3 # long
123 llgtr %r4,%r4 # long
124 llgfr %r5,%r5 # long
125 jg sys_ptrace # branch to system call
126
127 .globl sys32_alarm_wrapper
128sys32_alarm_wrapper:
129 llgfr %r2,%r2 # unsigned int
130 jg sys_alarm # branch to system call
131
132#sys32_pause_wrapper # void
133
134 .globl compat_sys_utime_wrapper
135compat_sys_utime_wrapper:
136 llgtr %r2,%r2 # char *
137 llgtr %r3,%r3 # struct compat_utimbuf *
138 jg compat_sys_utime # branch to system call
139
140 .globl sys32_access_wrapper
141sys32_access_wrapper:
142 llgtr %r2,%r2 # const char *
143 lgfr %r3,%r3 # int
144 jg sys_access # branch to system call
145
146 .globl sys32_nice_wrapper
147sys32_nice_wrapper:
148 lgfr %r2,%r2 # int
149 jg sys_nice # branch to system call
150
151#sys32_sync_wrapper # void
152
153 .globl sys32_kill_wrapper
154sys32_kill_wrapper:
155 lgfr %r2,%r2 # int
156 lgfr %r3,%r3 # int
157 jg sys_kill # branch to system call
158
159 .globl sys32_rename_wrapper
160sys32_rename_wrapper:
161 llgtr %r2,%r2 # const char *
162 llgtr %r3,%r3 # const char *
163 jg sys_rename # branch to system call
164
165 .globl sys32_mkdir_wrapper
166sys32_mkdir_wrapper:
167 llgtr %r2,%r2 # const char *
168 lgfr %r3,%r3 # int
169 jg sys_mkdir # branch to system call
170
171 .globl sys32_rmdir_wrapper
172sys32_rmdir_wrapper:
173 llgtr %r2,%r2 # const char *
174 jg sys_rmdir # branch to system call
175
176 .globl sys32_dup_wrapper
177sys32_dup_wrapper:
178 llgfr %r2,%r2 # unsigned int
179 jg sys_dup # branch to system call
180
181 .globl sys32_pipe_wrapper
182sys32_pipe_wrapper:
183 llgtr %r2,%r2 # u32 *
184 jg sys_pipe # branch to system call
185
186 .globl compat_sys_times_wrapper
187compat_sys_times_wrapper:
188 llgtr %r2,%r2 # struct compat_tms *
189 jg compat_sys_times # branch to system call
190
191 .globl sys32_brk_wrapper
192sys32_brk_wrapper:
193 llgtr %r2,%r2 # unsigned long
194 jg sys_brk # branch to system call
195
196 .globl sys32_setgid16_wrapper
197sys32_setgid16_wrapper:
198 llgfr %r2,%r2 # __kernel_old_gid_emu31_t
199 jg sys32_setgid16 # branch to system call
200
201#sys32_getgid16_wrapper # void
202
203 .globl sys32_signal_wrapper
204sys32_signal_wrapper:
205 lgfr %r2,%r2 # int
206 llgtr %r3,%r3 # __sighandler_t
207 jg sys_signal
208
209#sys32_geteuid16_wrapper # void
210
211#sys32_getegid16_wrapper # void
212
213 .globl sys32_acct_wrapper
214sys32_acct_wrapper:
215 llgtr %r2,%r2 # char *
216 jg sys_acct # branch to system call
217
218 .globl sys32_umount_wrapper
219sys32_umount_wrapper:
220 llgtr %r2,%r2 # char *
221 lgfr %r3,%r3 # int
222 jg sys_umount # branch to system call
223
224 .globl compat_sys_ioctl_wrapper
225compat_sys_ioctl_wrapper:
226 llgfr %r2,%r2 # unsigned int
227 llgfr %r3,%r3 # unsigned int
228 llgfr %r4,%r4 # unsigned int
229 jg compat_sys_ioctl # branch to system call
230
231 .globl compat_sys_fcntl_wrapper
232compat_sys_fcntl_wrapper:
233 llgfr %r2,%r2 # unsigned int
234 llgfr %r3,%r3 # unsigned int
235 llgfr %r4,%r4 # unsigned long
236 jg compat_sys_fcntl # branch to system call
237
238 .globl sys32_setpgid_wrapper
239sys32_setpgid_wrapper:
240 lgfr %r2,%r2 # pid_t
241 lgfr %r3,%r3 # pid_t
242 jg sys_setpgid # branch to system call
243
244 .globl sys32_umask_wrapper
245sys32_umask_wrapper:
246 lgfr %r2,%r2 # int
247 jg sys_umask # branch to system call
248
249 .globl sys32_chroot_wrapper
250sys32_chroot_wrapper:
251 llgtr %r2,%r2 # char *
252 jg sys_chroot # branch to system call
253
254 .globl sys32_ustat_wrapper
255sys32_ustat_wrapper:
256 llgfr %r2,%r2 # dev_t
257 llgtr %r3,%r3 # struct ustat *
258 jg sys_ustat
259
260 .globl sys32_dup2_wrapper
261sys32_dup2_wrapper:
262 llgfr %r2,%r2 # unsigned int
263 llgfr %r3,%r3 # unsigned int
264 jg sys_dup2 # branch to system call
265
266#sys32_getppid_wrapper # void
267
268#sys32_getpgrp_wrapper # void
269
270#sys32_setsid_wrapper # void
271
272 .globl sys32_sigaction_wrapper
273sys32_sigaction_wrapper:
274 lgfr %r2,%r2 # int
275 llgtr %r3,%r3 # const struct old_sigaction *
276 llgtr %r4,%r4 # struct old_sigaction32 *
277 jg sys32_sigaction # branch to system call
278
279 .globl sys32_setreuid16_wrapper
280sys32_setreuid16_wrapper:
281 llgfr %r2,%r2 # __kernel_old_uid_emu31_t
282 llgfr %r3,%r3 # __kernel_old_uid_emu31_t
283 jg sys32_setreuid16 # branch to system call
284
285 .globl sys32_setregid16_wrapper
286sys32_setregid16_wrapper:
287 llgfr %r2,%r2 # __kernel_old_gid_emu31_t
288 llgfr %r3,%r3 # __kernel_old_gid_emu31_t
289 jg sys32_setregid16 # branch to system call
290
291#sys32_sigsuspend_wrapper # done in sigsuspend_glue
292
293 .globl compat_sys_sigpending_wrapper
294compat_sys_sigpending_wrapper:
295 llgtr %r2,%r2 # compat_old_sigset_t *
296 jg compat_sys_sigpending # branch to system call
297
298 .globl sys32_sethostname_wrapper
299sys32_sethostname_wrapper:
300 llgtr %r2,%r2 # char *
301 lgfr %r3,%r3 # int
302 jg sys_sethostname # branch to system call
303
304 .globl compat_sys_setrlimit_wrapper
305compat_sys_setrlimit_wrapper:
306 llgfr %r2,%r2 # unsigned int
307 llgtr %r3,%r3 # struct rlimit_emu31 *
308 jg compat_sys_setrlimit # branch to system call
309
310 .globl compat_sys_old_getrlimit_wrapper
311compat_sys_old_getrlimit_wrapper:
312 llgfr %r2,%r2 # unsigned int
313 llgtr %r3,%r3 # struct rlimit_emu31 *
314 jg compat_sys_old_getrlimit # branch to system call
315
316 .globl compat_sys_getrlimit_wrapper
317compat_sys_getrlimit_wrapper:
318 llgfr %r2,%r2 # unsigned int
319 llgtr %r3,%r3 # struct rlimit_emu31 *
320 jg compat_sys_getrlimit # branch to system call
321
322 .globl sys32_mmap2_wrapper
323sys32_mmap2_wrapper:
324 llgtr %r2,%r2 # struct mmap_arg_struct_emu31 *
325 jg sys32_mmap2 # branch to system call
326
327 .globl compat_sys_getrusage_wrapper
328compat_sys_getrusage_wrapper:
329 lgfr %r2,%r2 # int
330 llgtr %r3,%r3 # struct rusage_emu31 *
331 jg compat_sys_getrusage # branch to system call
332
333 .globl sys32_gettimeofday_wrapper
334sys32_gettimeofday_wrapper:
335 llgtr %r2,%r2 # struct timeval_emu31 *
336 llgtr %r3,%r3 # struct timezone *
337 jg sys32_gettimeofday # branch to system call
338
339 .globl sys32_settimeofday_wrapper
340sys32_settimeofday_wrapper:
341 llgtr %r2,%r2 # struct timeval_emu31 *
342 llgtr %r3,%r3 # struct timezone *
343 jg sys32_settimeofday # branch to system call
344
345 .globl sys32_getgroups16_wrapper
346sys32_getgroups16_wrapper:
347 lgfr %r2,%r2 # int
348 llgtr %r3,%r3 # __kernel_old_gid_emu31_t *
349 jg sys32_getgroups16 # branch to system call
350
351 .globl sys32_setgroups16_wrapper
352sys32_setgroups16_wrapper:
353 lgfr %r2,%r2 # int
354 llgtr %r3,%r3 # __kernel_old_gid_emu31_t *
355 jg sys32_setgroups16 # branch to system call
356
357 .globl sys32_symlink_wrapper
358sys32_symlink_wrapper:
359 llgtr %r2,%r2 # const char *
360 llgtr %r3,%r3 # const char *
361 jg sys_symlink # branch to system call
362
363 .globl sys32_readlink_wrapper
364sys32_readlink_wrapper:
365 llgtr %r2,%r2 # const char *
366 llgtr %r3,%r3 # char *
367 lgfr %r4,%r4 # int
368 jg sys_readlink # branch to system call
369
370 .globl sys32_uselib_wrapper
371sys32_uselib_wrapper:
372 llgtr %r2,%r2 # const char *
373 jg sys_uselib # branch to system call
374
375 .globl sys32_swapon_wrapper
376sys32_swapon_wrapper:
377 llgtr %r2,%r2 # const char *
378 lgfr %r3,%r3 # int
379 jg sys_swapon # branch to system call
380
381 .globl sys32_reboot_wrapper
382sys32_reboot_wrapper:
383 lgfr %r2,%r2 # int
384 lgfr %r3,%r3 # int
385 llgfr %r4,%r4 # unsigned int
386 llgtr %r5,%r5 # void *
387 jg sys_reboot # branch to system call
388
389 .globl old32_readdir_wrapper
390old32_readdir_wrapper:
391 llgfr %r2,%r2 # unsigned int
392 llgtr %r3,%r3 # void *
393 llgfr %r4,%r4 # unsigned int
394 jg compat_sys_old_readdir # branch to system call
395
396 .globl old32_mmap_wrapper
397old32_mmap_wrapper:
398 llgtr %r2,%r2 # struct mmap_arg_struct_emu31 *
399 jg old32_mmap # branch to system call
400
401 .globl sys32_munmap_wrapper
402sys32_munmap_wrapper:
403 llgfr %r2,%r2 # unsigned long
404 llgfr %r3,%r3 # size_t
405 jg sys_munmap # branch to system call
406
407 .globl sys32_truncate_wrapper
408sys32_truncate_wrapper:
409 llgtr %r2,%r2 # const char *
410 llgfr %r3,%r3 # unsigned long
411 jg sys_truncate # branch to system call
412
413 .globl sys32_ftruncate_wrapper
414sys32_ftruncate_wrapper:
415 llgfr %r2,%r2 # unsigned int
416 llgfr %r3,%r3 # unsigned long
417 jg sys_ftruncate # branch to system call
418
419 .globl sys32_fchmod_wrapper
420sys32_fchmod_wrapper:
421 llgfr %r2,%r2 # unsigned int
422 llgfr %r3,%r3 # mode_t
423 jg sys_fchmod # branch to system call
424
425 .globl sys32_fchown16_wrapper
426sys32_fchown16_wrapper:
427 llgfr %r2,%r2 # unsigned int
428 llgfr %r3,%r3 # compat_uid_t
429 llgfr %r4,%r4 # compat_uid_t
430 jg sys32_fchown16 # branch to system call
431
432 .globl sys32_getpriority_wrapper
433sys32_getpriority_wrapper:
434 lgfr %r2,%r2 # int
435 lgfr %r3,%r3 # int
436 jg sys_getpriority # branch to system call
437
438 .globl sys32_setpriority_wrapper
439sys32_setpriority_wrapper:
440 lgfr %r2,%r2 # int
441 lgfr %r3,%r3 # int
442 lgfr %r4,%r4 # int
443 jg sys_setpriority # branch to system call
444
445 .globl compat_sys_statfs_wrapper
446compat_sys_statfs_wrapper:
447 llgtr %r2,%r2 # char *
448 llgtr %r3,%r3 # struct compat_statfs *
449 jg compat_sys_statfs # branch to system call
450
451 .globl compat_sys_fstatfs_wrapper
452compat_sys_fstatfs_wrapper:
453 llgfr %r2,%r2 # unsigned int
454 llgtr %r3,%r3 # struct compat_statfs *
455 jg compat_sys_fstatfs # branch to system call
456
457 .globl compat_sys_socketcall_wrapper
458compat_sys_socketcall_wrapper:
459 lgfr %r2,%r2 # int
460 llgtr %r3,%r3 # u32 *
461 jg compat_sys_socketcall # branch to system call
462
463 .globl sys32_syslog_wrapper
464sys32_syslog_wrapper:
465 lgfr %r2,%r2 # int
466 llgtr %r3,%r3 # char *
467 lgfr %r4,%r4 # int
468 jg sys_syslog # branch to system call
469
470 .globl compat_sys_setitimer_wrapper
471compat_sys_setitimer_wrapper:
472 lgfr %r2,%r2 # int
473 llgtr %r3,%r3 # struct itimerval_emu31 *
474 llgtr %r4,%r4 # struct itimerval_emu31 *
475 jg compat_sys_setitimer # branch to system call
476
477 .globl compat_sys_getitimer_wrapper
478compat_sys_getitimer_wrapper:
479 lgfr %r2,%r2 # int
480 llgtr %r3,%r3 # struct itimerval_emu31 *
481 jg compat_sys_getitimer # branch to system call
482
483 .globl compat_sys_newstat_wrapper
484compat_sys_newstat_wrapper:
485 llgtr %r2,%r2 # char *
486 llgtr %r3,%r3 # struct stat_emu31 *
487 jg compat_sys_newstat # branch to system call
488
489 .globl compat_sys_newlstat_wrapper
490compat_sys_newlstat_wrapper:
491 llgtr %r2,%r2 # char *
492 llgtr %r3,%r3 # struct stat_emu31 *
493 jg compat_sys_newlstat # branch to system call
494
495 .globl compat_sys_newfstat_wrapper
496compat_sys_newfstat_wrapper:
497 llgfr %r2,%r2 # unsigned int
498 llgtr %r3,%r3 # struct stat_emu31 *
499 jg compat_sys_newfstat # branch to system call
500
501#sys32_vhangup_wrapper # void
502
503 .globl compat_sys_wait4_wrapper
504compat_sys_wait4_wrapper:
505 lgfr %r2,%r2 # pid_t
506 llgtr %r3,%r3 # unsigned int *
507 lgfr %r4,%r4 # int
508 llgtr %r5,%r5 # struct rusage *
509 jg compat_sys_wait4 # branch to system call
510
511 .globl sys32_swapoff_wrapper
512sys32_swapoff_wrapper:
513 llgtr %r2,%r2 # const char *
514 jg sys_swapoff # branch to system call
515
516 .globl sys32_sysinfo_wrapper
517sys32_sysinfo_wrapper:
518 llgtr %r2,%r2 # struct sysinfo_emu31 *
519 jg sys32_sysinfo # branch to system call
520
521 .globl sys32_ipc_wrapper
522sys32_ipc_wrapper:
523 llgfr %r2,%r2 # uint
524 lgfr %r3,%r3 # int
525 lgfr %r4,%r4 # int
526 lgfr %r5,%r5 # int
527 llgfr %r6,%r6 # u32
528 jg sys32_ipc # branch to system call
529
530 .globl sys32_fsync_wrapper
531sys32_fsync_wrapper:
532 llgfr %r2,%r2 # unsigned int
533 jg sys_fsync # branch to system call
534
535#sys32_sigreturn_wrapper # done in sigreturn_glue
536
537#sys32_clone_wrapper # done in clone_glue
538
539 .globl sys32_setdomainname_wrapper
540sys32_setdomainname_wrapper:
541 llgtr %r2,%r2 # char *
542 lgfr %r3,%r3 # int
543 jg sys_setdomainname # branch to system call
544
545 .globl sys32_newuname_wrapper
546sys32_newuname_wrapper:
547 llgtr %r2,%r2 # struct new_utsname *
548 jg s390x_newuname # branch to system call
549
550 .globl sys32_adjtimex_wrapper
551sys32_adjtimex_wrapper:
552 llgtr %r2,%r2 # struct timex_emu31 *
553 jg sys32_adjtimex # branch to system call
554
555 .globl sys32_mprotect_wrapper
556sys32_mprotect_wrapper:
557 llgtr %r2,%r2 # unsigned long (actually pointer
558 llgfr %r3,%r3 # size_t
559 llgfr %r4,%r4 # unsigned long
560 jg sys_mprotect # branch to system call
561
562 .globl compat_sys_sigprocmask_wrapper
563compat_sys_sigprocmask_wrapper:
564 lgfr %r2,%r2 # int
565 llgtr %r3,%r3 # compat_old_sigset_t *
566 llgtr %r4,%r4 # compat_old_sigset_t *
567 jg compat_sys_sigprocmask # branch to system call
568
569 .globl sys32_init_module_wrapper
570sys32_init_module_wrapper:
571 llgtr %r2,%r2 # void *
572 llgfr %r3,%r3 # unsigned long
573 llgtr %r4,%r4 # char *
574 jg sys32_init_module # branch to system call
575
576 .globl sys32_delete_module_wrapper
577sys32_delete_module_wrapper:
578 llgtr %r2,%r2 # const char *
579 llgfr %r3,%r3 # unsigned int
580 jg sys32_delete_module # branch to system call
581
582 .globl sys32_quotactl_wrapper
583sys32_quotactl_wrapper:
584 llgfr %r2,%r2 # unsigned int
585 llgtr %r3,%r3 # const char *
586 llgfr %r4,%r4 # qid_t
587 llgtr %r5,%r5 # caddr_t
588 jg sys_quotactl # branch to system call
589
590 .globl sys32_getpgid_wrapper
591sys32_getpgid_wrapper:
592 lgfr %r2,%r2 # pid_t
593 jg sys_getpgid # branch to system call
594
595 .globl sys32_fchdir_wrapper
596sys32_fchdir_wrapper:
597 llgfr %r2,%r2 # unsigned int
598 jg sys_fchdir # branch to system call
599
600 .globl sys32_bdflush_wrapper
601sys32_bdflush_wrapper:
602 lgfr %r2,%r2 # int
603 lgfr %r3,%r3 # long
604 jg sys_bdflush # branch to system call
605
606 .globl sys32_sysfs_wrapper
607sys32_sysfs_wrapper:
608 lgfr %r2,%r2 # int
609 llgfr %r3,%r3 # unsigned long
610 llgfr %r4,%r4 # unsigned long
611 jg sys_sysfs # branch to system call
612
613 .globl sys32_personality_wrapper
614sys32_personality_wrapper:
615 llgfr %r2,%r2 # unsigned long
616 jg s390x_personality # branch to system call
617
618 .globl sys32_setfsuid16_wrapper
619sys32_setfsuid16_wrapper:
620 llgfr %r2,%r2 # __kernel_old_uid_emu31_t
621 jg sys32_setfsuid16 # branch to system call
622
623 .globl sys32_setfsgid16_wrapper
624sys32_setfsgid16_wrapper:
625 llgfr %r2,%r2 # __kernel_old_gid_emu31_t
626 jg sys32_setfsgid16 # branch to system call
627
628 .globl sys32_llseek_wrapper
629sys32_llseek_wrapper:
630 llgfr %r2,%r2 # unsigned int
631 llgfr %r3,%r3 # unsigned long
632 llgfr %r4,%r4 # unsigned long
633 llgtr %r5,%r5 # loff_t *
634 llgfr %r6,%r6 # unsigned int
635 jg sys_llseek # branch to system call
636
637 .globl sys32_getdents_wrapper
638sys32_getdents_wrapper:
639 llgfr %r2,%r2 # unsigned int
640 llgtr %r3,%r3 # void *
641 llgfr %r4,%r4 # unsigned int
642 jg compat_sys_getdents # branch to system call
643
644 .globl compat_sys_select_wrapper
645compat_sys_select_wrapper:
646 lgfr %r2,%r2 # int
647 llgtr %r3,%r3 # compat_fd_set *
648 llgtr %r4,%r4 # compat_fd_set *
649 llgtr %r5,%r5 # compat_fd_set *
650 llgtr %r6,%r6 # struct compat_timeval *
651 jg compat_sys_select # branch to system call
652
653 .globl sys32_flock_wrapper
654sys32_flock_wrapper:
655 llgfr %r2,%r2 # unsigned int
656 llgfr %r3,%r3 # unsigned int
657 jg sys_flock # branch to system call
658
659 .globl sys32_msync_wrapper
660sys32_msync_wrapper:
661 llgfr %r2,%r2 # unsigned long
662 llgfr %r3,%r3 # size_t
663 lgfr %r4,%r4 # int
664 jg sys_msync # branch to system call
665
666 .globl compat_sys_readv_wrapper
667compat_sys_readv_wrapper:
668 lgfr %r2,%r2 # int
669 llgtr %r3,%r3 # const struct compat_iovec *
670 llgfr %r4,%r4 # unsigned long
671 jg compat_sys_readv # branch to system call
672
673 .globl compat_sys_writev_wrapper
674compat_sys_writev_wrapper:
675 lgfr %r2,%r2 # int
676 llgtr %r3,%r3 # const struct compat_iovec *
677 llgfr %r4,%r4 # unsigned long
678 jg compat_sys_writev # branch to system call
679
680 .globl sys32_getsid_wrapper
681sys32_getsid_wrapper:
682 lgfr %r2,%r2 # pid_t
683 jg sys_getsid # branch to system call
684
685 .globl sys32_fdatasync_wrapper
686sys32_fdatasync_wrapper:
687 llgfr %r2,%r2 # unsigned int
688 jg sys_fdatasync # branch to system call
689
690#sys32_sysctl_wrapper # tbd
691
692 .globl sys32_mlock_wrapper
693sys32_mlock_wrapper:
694 llgfr %r2,%r2 # unsigned long
695 llgfr %r3,%r3 # size_t
696 jg sys_mlock # branch to system call
697
698 .globl sys32_munlock_wrapper
699sys32_munlock_wrapper:
700 llgfr %r2,%r2 # unsigned long
701 llgfr %r3,%r3 # size_t
702 jg sys_munlock # branch to system call
703
704 .globl sys32_mlockall_wrapper
705sys32_mlockall_wrapper:
706 lgfr %r2,%r2 # int
707 jg sys_mlockall # branch to system call
708
709#sys32_munlockall_wrapper # void
710
711 .globl sys32_sched_setparam_wrapper
712sys32_sched_setparam_wrapper:
713 lgfr %r2,%r2 # pid_t
714 llgtr %r3,%r3 # struct sched_param *
715 jg sys_sched_setparam # branch to system call
716
717 .globl sys32_sched_getparam_wrapper
718sys32_sched_getparam_wrapper:
719 lgfr %r2,%r2 # pid_t
720 llgtr %r3,%r3 # struct sched_param *
721 jg sys_sched_getparam # branch to system call
722
723 .globl sys32_sched_setscheduler_wrapper
724sys32_sched_setscheduler_wrapper:
725 lgfr %r2,%r2 # pid_t
726 lgfr %r3,%r3 # int
727 llgtr %r4,%r4 # struct sched_param *
728 jg sys_sched_setscheduler # branch to system call
729
730 .globl sys32_sched_getscheduler_wrapper
731sys32_sched_getscheduler_wrapper:
732 lgfr %r2,%r2 # pid_t
733 jg sys_sched_getscheduler # branch to system call
734
735#sys32_sched_yield_wrapper # void
736
737 .globl sys32_sched_get_priority_max_wrapper
738sys32_sched_get_priority_max_wrapper:
739 lgfr %r2,%r2 # int
740 jg sys_sched_get_priority_max # branch to system call
741
742 .globl sys32_sched_get_priority_min_wrapper
743sys32_sched_get_priority_min_wrapper:
744 lgfr %r2,%r2 # int
745 jg sys_sched_get_priority_min # branch to system call
746
747 .globl sys32_sched_rr_get_interval_wrapper
748sys32_sched_rr_get_interval_wrapper:
749 lgfr %r2,%r2 # pid_t
750 llgtr %r3,%r3 # struct compat_timespec *
751 jg sys32_sched_rr_get_interval # branch to system call
752
753 .globl compat_sys_nanosleep_wrapper
754compat_sys_nanosleep_wrapper:
755 llgtr %r2,%r2 # struct compat_timespec *
756 llgtr %r3,%r3 # struct compat_timespec *
757 jg compat_sys_nanosleep # branch to system call
758
759 .globl sys32_mremap_wrapper
760sys32_mremap_wrapper:
761 llgfr %r2,%r2 # unsigned long
762 llgfr %r3,%r3 # unsigned long
763 llgfr %r4,%r4 # unsigned long
764 llgfr %r5,%r5 # unsigned long
765 llgfr %r6,%r6 # unsigned long
766 jg sys_mremap # branch to system call
767
768 .globl sys32_setresuid16_wrapper
769sys32_setresuid16_wrapper:
770 llgfr %r2,%r2 # __kernel_old_uid_emu31_t
771 llgfr %r3,%r3 # __kernel_old_uid_emu31_t
772 llgfr %r4,%r4 # __kernel_old_uid_emu31_t
773 jg sys32_setresuid16 # branch to system call
774
775 .globl sys32_getresuid16_wrapper
776sys32_getresuid16_wrapper:
777 llgtr %r2,%r2 # __kernel_old_uid_emu31_t *
778 llgtr %r3,%r3 # __kernel_old_uid_emu31_t *
779 llgtr %r4,%r4 # __kernel_old_uid_emu31_t *
780 jg sys32_getresuid16 # branch to system call
781
782 .globl sys32_poll_wrapper
783sys32_poll_wrapper:
784 llgtr %r2,%r2 # struct pollfd *
785 llgfr %r3,%r3 # unsigned int
786 lgfr %r4,%r4 # long
787 jg sys_poll # branch to system call
788
789 .globl compat_sys_nfsservctl_wrapper
790compat_sys_nfsservctl_wrapper:
791 lgfr %r2,%r2 # int
792 llgtr %r3,%r3 # struct compat_nfsctl_arg*
793 llgtr %r4,%r4 # union compat_nfsctl_res*
794 jg compat_sys_nfsservctl # branch to system call
795
796 .globl sys32_setresgid16_wrapper
797sys32_setresgid16_wrapper:
798 llgfr %r2,%r2 # __kernel_old_gid_emu31_t
799 llgfr %r3,%r3 # __kernel_old_gid_emu31_t
800 llgfr %r4,%r4 # __kernel_old_gid_emu31_t
801 jg sys32_setresgid16 # branch to system call
802
803 .globl sys32_getresgid16_wrapper
804sys32_getresgid16_wrapper:
805 llgtr %r2,%r2 # __kernel_old_gid_emu31_t *
806 llgtr %r3,%r3 # __kernel_old_gid_emu31_t *
807 llgtr %r4,%r4 # __kernel_old_gid_emu31_t *
808 jg sys32_getresgid16 # branch to system call
809
810 .globl sys32_prctl_wrapper
811sys32_prctl_wrapper:
812 lgfr %r2,%r2 # int
813 llgfr %r3,%r3 # unsigned long
814 llgfr %r4,%r4 # unsigned long
815 llgfr %r5,%r5 # unsigned long
816 llgfr %r6,%r6 # unsigned long
817 jg sys_prctl # branch to system call
818
819#sys32_rt_sigreturn_wrapper # done in rt_sigreturn_glue
820
821 .globl sys32_rt_sigaction_wrapper
822sys32_rt_sigaction_wrapper:
823 lgfr %r2,%r2 # int
824 llgtr %r3,%r3 # const struct sigaction_emu31 *
825 llgtr %r4,%r4 # const struct sigaction_emu31 *
826 llgfr %r5,%r5 # size_t
827 jg sys32_rt_sigaction # branch to system call
828
829 .globl sys32_rt_sigprocmask_wrapper
830sys32_rt_sigprocmask_wrapper:
831 lgfr %r2,%r2 # int
832 llgtr %r3,%r3 # old_sigset_emu31 *
833 llgtr %r4,%r4 # old_sigset_emu31 *
834 llgfr %r5,%r5 # size_t
835 jg sys32_rt_sigprocmask # branch to system call
836
837 .globl sys32_rt_sigpending_wrapper
838sys32_rt_sigpending_wrapper:
839 llgtr %r2,%r2 # sigset_emu31 *
840 llgfr %r3,%r3 # size_t
841 jg sys32_rt_sigpending # branch to system call
842
843 .globl compat_sys_rt_sigtimedwait_wrapper
844compat_sys_rt_sigtimedwait_wrapper:
845 llgtr %r2,%r2 # const sigset_emu31_t *
846 llgtr %r3,%r3 # siginfo_emu31_t *
847 llgtr %r4,%r4 # const struct compat_timespec *
848 llgfr %r5,%r5 # size_t
849 jg compat_sys_rt_sigtimedwait # branch to system call
850
851 .globl sys32_rt_sigqueueinfo_wrapper
852sys32_rt_sigqueueinfo_wrapper:
853 lgfr %r2,%r2 # int
854 lgfr %r3,%r3 # int
855 llgtr %r4,%r4 # siginfo_emu31_t *
856 jg sys32_rt_sigqueueinfo # branch to system call
857
858#sys32_rt_sigsuspend_wrapper # done in rt_sigsuspend_glue
859
860 .globl sys32_pread64_wrapper
861sys32_pread64_wrapper:
862 llgfr %r2,%r2 # unsigned int
863 llgtr %r3,%r3 # char *
864 llgfr %r4,%r4 # size_t
865 llgfr %r5,%r5 # u32
866 llgfr %r6,%r6 # u32
867 jg sys32_pread64 # branch to system call
868
869 .globl sys32_pwrite64_wrapper
870sys32_pwrite64_wrapper:
871 llgfr %r2,%r2 # unsigned int
872 llgtr %r3,%r3 # const char *
873 llgfr %r4,%r4 # size_t
874 llgfr %r5,%r5 # u32
875 llgfr %r6,%r6 # u32
876 jg sys32_pwrite64 # branch to system call
877
878 .globl sys32_chown16_wrapper
879sys32_chown16_wrapper:
880 llgtr %r2,%r2 # const char *
881 llgfr %r3,%r3 # __kernel_old_uid_emu31_t
882 llgfr %r4,%r4 # __kernel_old_gid_emu31_t
883 jg sys32_chown16 # branch to system call
884
885 .globl sys32_getcwd_wrapper
886sys32_getcwd_wrapper:
887 llgtr %r2,%r2 # char *
888 llgfr %r3,%r3 # unsigned long
889 jg sys_getcwd # branch to system call
890
891 .globl sys32_capget_wrapper
892sys32_capget_wrapper:
893 llgtr %r2,%r2 # cap_user_header_t
894 llgtr %r3,%r3 # cap_user_data_t
895 jg sys_capget # branch to system call
896
897 .globl sys32_capset_wrapper
898sys32_capset_wrapper:
899 llgtr %r2,%r2 # cap_user_header_t
900 llgtr %r3,%r3 # const cap_user_data_t
901 jg sys_capset # branch to system call
902
903 .globl sys32_sigaltstack_wrapper
904sys32_sigaltstack_wrapper:
905 llgtr %r2,%r2 # const stack_emu31_t *
906 llgtr %r3,%r3 # stack_emu31_t *
907 jg sys32_sigaltstack
908
909 .globl sys32_sendfile_wrapper
910sys32_sendfile_wrapper:
911 lgfr %r2,%r2 # int
912 lgfr %r3,%r3 # int
913 llgtr %r4,%r4 # __kernel_off_emu31_t *
914 llgfr %r5,%r5 # size_t
915 jg sys32_sendfile # branch to system call
916
917#sys32_vfork_wrapper # done in vfork_glue
918
919 .globl sys32_truncate64_wrapper
920sys32_truncate64_wrapper:
921 llgtr %r2,%r2 # const char *
922 llgfr %r3,%r3 # unsigned long
923 llgfr %r4,%r4 # unsigned long
924 jg sys32_truncate64 # branch to system call
925
926 .globl sys32_ftruncate64_wrapper
927sys32_ftruncate64_wrapper:
928 llgfr %r2,%r2 # unsigned int
929 llgfr %r3,%r3 # unsigned long
930 llgfr %r4,%r4 # unsigned long
931 jg sys32_ftruncate64 # branch to system call
932
933 .globl sys32_lchown_wrapper
934sys32_lchown_wrapper:
935 llgtr %r2,%r2 # const char *
936 llgfr %r3,%r3 # uid_t
937 llgfr %r4,%r4 # gid_t
938 jg sys_lchown # branch to system call
939
940#sys32_getuid_wrapper # void
941#sys32_getgid_wrapper # void
942#sys32_geteuid_wrapper # void
943#sys32_getegid_wrapper # void
944
945 .globl sys32_setreuid_wrapper
946sys32_setreuid_wrapper:
947 llgfr %r2,%r2 # uid_t
948 llgfr %r3,%r3 # uid_t
949 jg sys_setreuid # branch to system call
950
951 .globl sys32_setregid_wrapper
952sys32_setregid_wrapper:
953 llgfr %r2,%r2 # gid_t
954 llgfr %r3,%r3 # gid_t
955 jg sys_setregid # branch to system call
956
957 .globl sys32_getgroups_wrapper
958sys32_getgroups_wrapper:
959 lgfr %r2,%r2 # int
960 llgtr %r3,%r3 # gid_t *
961 jg sys_getgroups # branch to system call
962
963 .globl sys32_setgroups_wrapper
964sys32_setgroups_wrapper:
965 lgfr %r2,%r2 # int
966 llgtr %r3,%r3 # gid_t *
967 jg sys_setgroups # branch to system call
968
969 .globl sys32_fchown_wrapper
970sys32_fchown_wrapper:
971 llgfr %r2,%r2 # unsigned int
972 llgfr %r3,%r3 # uid_t
973 llgfr %r4,%r4 # gid_t
974 jg sys_fchown # branch to system call
975
976 .globl sys32_setresuid_wrapper
977sys32_setresuid_wrapper:
978 llgfr %r2,%r2 # uid_t
979 llgfr %r3,%r3 # uid_t
980 llgfr %r4,%r4 # uid_t
981 jg sys_setresuid # branch to system call
982
983 .globl sys32_getresuid_wrapper
984sys32_getresuid_wrapper:
985 llgtr %r2,%r2 # uid_t *
986 llgtr %r3,%r3 # uid_t *
987 llgtr %r4,%r4 # uid_t *
988 jg sys_getresuid # branch to system call
989
990 .globl sys32_setresgid_wrapper
991sys32_setresgid_wrapper:
992 llgfr %r2,%r2 # gid_t
993 llgfr %r3,%r3 # gid_t
994 llgfr %r4,%r4 # gid_t
995 jg sys_setresgid # branch to system call
996
997 .globl sys32_getresgid_wrapper
998sys32_getresgid_wrapper:
999 llgtr %r2,%r2 # gid_t *
1000 llgtr %r3,%r3 # gid_t *
1001 llgtr %r4,%r4 # gid_t *
1002 jg sys_getresgid # branch to system call
1003
1004 .globl sys32_chown_wrapper
1005sys32_chown_wrapper:
1006 llgtr %r2,%r2 # const char *
1007 llgfr %r3,%r3 # uid_t
1008 llgfr %r4,%r4 # gid_t
1009 jg sys_chown # branch to system call
1010
1011 .globl sys32_setuid_wrapper
1012sys32_setuid_wrapper:
1013 llgfr %r2,%r2 # uid_t
1014 jg sys_setuid # branch to system call
1015
1016 .globl sys32_setgid_wrapper
1017sys32_setgid_wrapper:
1018 llgfr %r2,%r2 # gid_t
1019 jg sys_setgid # branch to system call
1020
1021 .globl sys32_setfsuid_wrapper
1022sys32_setfsuid_wrapper:
1023 llgfr %r2,%r2 # uid_t
1024 jg sys_setfsuid # branch to system call
1025
1026 .globl sys32_setfsgid_wrapper
1027sys32_setfsgid_wrapper:
1028 llgfr %r2,%r2 # gid_t
1029 jg sys_setfsgid # branch to system call
1030
1031 .globl sys32_pivot_root_wrapper
1032sys32_pivot_root_wrapper:
1033 llgtr %r2,%r2 # const char *
1034 llgtr %r3,%r3 # const char *
1035 jg sys_pivot_root # branch to system call
1036
1037 .globl sys32_mincore_wrapper
1038sys32_mincore_wrapper:
1039 llgfr %r2,%r2 # unsigned long
1040 llgfr %r3,%r3 # size_t
1041 llgtr %r4,%r4 # unsigned char *
1042 jg sys_mincore # branch to system call
1043
1044 .globl sys32_madvise_wrapper
1045sys32_madvise_wrapper:
1046 llgfr %r2,%r2 # unsigned long
1047 llgfr %r3,%r3 # size_t
1048 lgfr %r4,%r4 # int
1049 jg sys_madvise # branch to system call
1050
1051 .globl sys32_getdents64_wrapper
1052sys32_getdents64_wrapper:
1053 llgfr %r2,%r2 # unsigned int
1054 llgtr %r3,%r3 # void *
1055 llgfr %r4,%r4 # unsigned int
1056 jg sys_getdents64 # branch to system call
1057
1058 .globl compat_sys_fcntl64_wrapper
1059compat_sys_fcntl64_wrapper:
1060 llgfr %r2,%r2 # unsigned int
1061 llgfr %r3,%r3 # unsigned int
1062 llgfr %r4,%r4 # unsigned long
1063 jg compat_sys_fcntl64 # branch to system call
1064
1065 .globl sys32_stat64_wrapper
1066sys32_stat64_wrapper:
1067 llgtr %r2,%r2 # char *
1068 llgtr %r3,%r3 # struct stat64 *
1069 jg sys32_stat64 # branch to system call
1070
1071 .globl sys32_lstat64_wrapper
1072sys32_lstat64_wrapper:
1073 llgtr %r2,%r2 # char *
1074 llgtr %r3,%r3 # struct stat64 *
1075 jg sys32_lstat64 # branch to system call
1076
1077 .globl sys32_stime_wrapper
1078sys32_stime_wrapper:
1079 llgtr %r2,%r2 # long *
1080 jg compat_sys_stime # branch to system call
1081
1082 .globl sys32_sysctl_wrapper
1083sys32_sysctl_wrapper:
1084 llgtr %r2,%r2 # struct __sysctl_args32 *
1085 jg sys32_sysctl
1086
1087 .globl sys32_fstat64_wrapper
1088sys32_fstat64_wrapper:
1089 llgfr %r2,%r2 # unsigned long
1090 llgtr %r3,%r3 # struct stat64 *
1091 jg sys32_fstat64 # branch to system call
1092
1093 .globl compat_sys_futex_wrapper
1094compat_sys_futex_wrapper:
1095 llgtr %r2,%r2 # u32 *
1096 lgfr %r3,%r3 # int
1097 lgfr %r4,%r4 # int
1098 llgtr %r5,%r5 # struct compat_timespec *
1099 llgtr %r6,%r6 # u32 *
1100 lgf %r0,164(%r15) # int
1101 stg %r0,160(%r15)
1102 jg compat_sys_futex # branch to system call
1103
1104 .globl sys32_setxattr_wrapper
1105sys32_setxattr_wrapper:
1106 llgtr %r2,%r2 # char *
1107 llgtr %r3,%r3 # char *
1108 llgtr %r4,%r4 # void *
1109 llgfr %r5,%r5 # size_t
1110 lgfr %r6,%r6 # int
1111 jg sys_setxattr
1112
1113 .globl sys32_lsetxattr_wrapper
1114sys32_lsetxattr_wrapper:
1115 llgtr %r2,%r2 # char *
1116 llgtr %r3,%r3 # char *
1117 llgtr %r4,%r4 # void *
1118 llgfr %r5,%r5 # size_t
1119 lgfr %r6,%r6 # int
1120 jg sys_lsetxattr
1121
1122 .globl sys32_fsetxattr_wrapper
1123sys32_fsetxattr_wrapper:
1124 lgfr %r2,%r2 # int
1125 llgtr %r3,%r3 # char *
1126 llgtr %r4,%r4 # void *
1127 llgfr %r5,%r5 # size_t
1128 lgfr %r6,%r6 # int
1129 jg sys_fsetxattr
1130
1131 .globl sys32_getxattr_wrapper
1132sys32_getxattr_wrapper:
1133 llgtr %r2,%r2 # char *
1134 llgtr %r3,%r3 # char *
1135 llgtr %r4,%r4 # void *
1136 llgfr %r5,%r5 # size_t
1137 jg sys_getxattr
1138
1139 .globl sys32_lgetxattr_wrapper
1140sys32_lgetxattr_wrapper:
1141 llgtr %r2,%r2 # char *
1142 llgtr %r3,%r3 # char *
1143 llgtr %r4,%r4 # void *
1144 llgfr %r5,%r5 # size_t
1145 jg sys_lgetxattr
1146
1147 .globl sys32_fgetxattr_wrapper
1148sys32_fgetxattr_wrapper:
1149 lgfr %r2,%r2 # int
1150 llgtr %r3,%r3 # char *
1151 llgtr %r4,%r4 # void *
1152 llgfr %r5,%r5 # size_t
1153 jg sys_fgetxattr
1154
1155 .globl sys32_listxattr_wrapper
1156sys32_listxattr_wrapper:
1157 llgtr %r2,%r2 # char *
1158 llgtr %r3,%r3 # char *
1159 llgfr %r4,%r4 # size_t
1160 jg sys_listxattr
1161
1162 .globl sys32_llistxattr_wrapper
1163sys32_llistxattr_wrapper:
1164 llgtr %r2,%r2 # char *
1165 llgtr %r3,%r3 # char *
1166 llgfr %r4,%r4 # size_t
1167 jg sys_llistxattr
1168
1169 .globl sys32_flistxattr_wrapper
1170sys32_flistxattr_wrapper:
1171 lgfr %r2,%r2 # int
1172 llgtr %r3,%r3 # char *
1173 llgfr %r4,%r4 # size_t
1174 jg sys_flistxattr
1175
1176 .globl sys32_removexattr_wrapper
1177sys32_removexattr_wrapper:
1178 llgtr %r2,%r2 # char *
1179 llgtr %r3,%r3 # char *
1180 jg sys_removexattr
1181
1182 .globl sys32_lremovexattr_wrapper
1183sys32_lremovexattr_wrapper:
1184 llgtr %r2,%r2 # char *
1185 llgtr %r3,%r3 # char *
1186 jg sys_lremovexattr
1187
1188 .globl sys32_fremovexattr_wrapper
1189sys32_fremovexattr_wrapper:
1190 lgfr %r2,%r2 # int
1191 llgtr %r3,%r3 # char *
1192 jg sys_fremovexattr
1193
1194 .globl sys32_sched_setaffinity_wrapper
1195sys32_sched_setaffinity_wrapper:
1196 lgfr %r2,%r2 # int
1197 llgfr %r3,%r3 # unsigned int
1198 llgtr %r4,%r4 # unsigned long *
1199 jg compat_sys_sched_setaffinity
1200
1201 .globl sys32_sched_getaffinity_wrapper
1202sys32_sched_getaffinity_wrapper:
1203 lgfr %r2,%r2 # int
1204 llgfr %r3,%r3 # unsigned int
1205 llgtr %r4,%r4 # unsigned long *
1206 jg compat_sys_sched_getaffinity
1207
1208 .globl sys32_exit_group_wrapper
1209sys32_exit_group_wrapper:
1210 lgfr %r2,%r2 # int
1211 jg sys_exit_group # branch to system call
1212
1213 .globl sys32_set_tid_address_wrapper
1214sys32_set_tid_address_wrapper:
1215 llgtr %r2,%r2 # int *
1216 jg sys_set_tid_address # branch to system call
1217
1218 .globl sys_epoll_create_wrapper
1219sys_epoll_create_wrapper:
1220 lgfr %r2,%r2 # int
1221 jg sys_epoll_create # branch to system call
1222
1223 .globl sys_epoll_ctl_wrapper
1224sys_epoll_ctl_wrapper:
1225 lgfr %r2,%r2 # int
1226 lgfr %r3,%r3 # int
1227 lgfr %r4,%r4 # int
1228 llgtr %r5,%r5 # struct epoll_event *
1229 jg sys_epoll_ctl # branch to system call
1230
1231 .globl sys_epoll_wait_wrapper
1232sys_epoll_wait_wrapper:
1233 lgfr %r2,%r2 # int
1234 llgtr %r3,%r3 # struct epoll_event *
1235 lgfr %r4,%r4 # int
1236 lgfr %r5,%r5 # int
1237 jg sys_epoll_wait # branch to system call
1238
1239 .globl sys32_lookup_dcookie_wrapper
1240sys32_lookup_dcookie_wrapper:
1241 sllg %r2,%r2,32 # get high word of 64bit dcookie
1242 or %r2,%r3 # get low word of 64bit dcookie
1243 llgtr %r3,%r4 # char *
1244 llgfr %r4,%r5 # size_t
1245 jg sys_lookup_dcookie
1246
1247 .globl sys32_fadvise64_wrapper
1248sys32_fadvise64_wrapper:
1249 lgfr %r2,%r2 # int
1250 sllg %r3,%r3,32 # get high word of 64bit loff_t
1251 or %r3,%r4 # get low word of 64bit loff_t
1252 llgfr %r4,%r5 # size_t (unsigned long)
1253 lgfr %r5,%r6 # int
1254 jg sys_fadvise64
1255
1256 .globl sys32_fadvise64_64_wrapper
1257sys32_fadvise64_64_wrapper:
1258 llgtr %r2,%r2 # struct fadvise64_64_args *
1259 jg s390_fadvise64_64
1260
1261 .globl sys32_clock_settime_wrapper
1262sys32_clock_settime_wrapper:
1263 lgfr %r2,%r2 # clockid_t (int)
1264 llgtr %r3,%r3 # struct compat_timespec *
1265 jg compat_sys_clock_settime
1266
1267 .globl sys32_clock_gettime_wrapper
1268sys32_clock_gettime_wrapper:
1269 lgfr %r2,%r2 # clockid_t (int)
1270 llgtr %r3,%r3 # struct compat_timespec *
1271 jg compat_sys_clock_gettime
1272
1273 .globl sys32_clock_getres_wrapper
1274sys32_clock_getres_wrapper:
1275 lgfr %r2,%r2 # clockid_t (int)
1276 llgtr %r3,%r3 # struct compat_timespec *
1277 jg compat_sys_clock_getres
1278
1279 .globl sys32_clock_nanosleep_wrapper
1280sys32_clock_nanosleep_wrapper:
1281 lgfr %r2,%r2 # clockid_t (int)
1282 lgfr %r3,%r3 # int
1283 llgtr %r4,%r4 # struct compat_timespec *
1284 llgtr %r5,%r5 # struct compat_timespec *
1285 jg compat_sys_clock_nanosleep
1286
1287 .globl sys32_timer_create_wrapper
1288sys32_timer_create_wrapper:
1289 lgfr %r2,%r2 # timer_t (int)
1290 llgtr %r3,%r3 # struct compat_sigevent *
1291 llgtr %r4,%r4 # timer_t *
1292 jg sys32_timer_create
1293
1294 .globl sys32_timer_settime_wrapper
1295sys32_timer_settime_wrapper:
1296 lgfr %r2,%r2 # timer_t (int)
1297 lgfr %r3,%r3 # int
1298 llgtr %r4,%r4 # struct compat_itimerspec *
1299 llgtr %r5,%r5 # struct compat_itimerspec *
1300 jg compat_sys_timer_settime
1301
1302 .globl sys32_timer_gettime_wrapper
1303sys32_timer_gettime_wrapper:
1304 lgfr %r2,%r2 # timer_t (int)
1305 llgtr %r3,%r3 # struct compat_itimerspec *
1306 jg compat_sys_timer_gettime
1307
1308 .globl sys32_timer_getoverrun_wrapper
1309sys32_timer_getoverrun_wrapper:
1310 lgfr %r2,%r2 # timer_t (int)
1311 jg sys_timer_getoverrun
1312
1313 .globl sys32_timer_delete_wrapper
1314sys32_timer_delete_wrapper:
1315 lgfr %r2,%r2 # timer_t (int)
1316 jg sys_timer_delete
1317
1318 .globl sys32_io_setup_wrapper
1319sys32_io_setup_wrapper:
1320 llgfr %r2,%r2 # unsigned int
1321 llgtr %r3,%r3 # u32 *
1322 jg compat_sys_io_setup
1323
1324 .globl sys32_io_destroy_wrapper
1325sys32_io_destroy_wrapper:
1326 llgfr %r2,%r2 # (aio_context_t) u32
1327 jg sys_io_destroy
1328
1329 .globl sys32_io_getevents_wrapper
1330sys32_io_getevents_wrapper:
1331 llgfr %r2,%r2 # (aio_context_t) u32
1332 lgfr %r3,%r3 # long
1333 lgfr %r4,%r4 # long
1334 llgtr %r5,%r5 # struct io_event *
1335 llgtr %r6,%r6 # struct compat_timespec *
1336 jg compat_sys_io_getevents
1337
1338 .globl sys32_io_submit_wrapper
1339sys32_io_submit_wrapper:
1340 llgfr %r2,%r2 # (aio_context_t) u32
1341 lgfr %r3,%r3 # long
1342 llgtr %r4,%r4 # struct iocb **
1343 jg compat_sys_io_submit
1344
1345 .globl sys32_io_cancel_wrapper
1346sys32_io_cancel_wrapper:
1347 llgfr %r2,%r2 # (aio_context_t) u32
1348 llgtr %r3,%r3 # struct iocb *
1349 llgtr %r4,%r4 # struct io_event *
1350 jg sys_io_cancel
1351
1352 .globl compat_sys_statfs64_wrapper
1353compat_sys_statfs64_wrapper:
1354 llgtr %r2,%r2 # const char *
1355 llgfr %r3,%r3 # compat_size_t
1356 llgtr %r4,%r4 # struct compat_statfs64 *
1357 jg compat_sys_statfs64
1358
1359 .globl compat_sys_fstatfs64_wrapper
1360compat_sys_fstatfs64_wrapper:
1361 llgfr %r2,%r2 # unsigned int fd
1362 llgfr %r3,%r3 # compat_size_t
1363 llgtr %r4,%r4 # struct compat_statfs64 *
1364 jg compat_sys_fstatfs64
1365
1366 .globl compat_sys_mq_open_wrapper
1367compat_sys_mq_open_wrapper:
1368 llgtr %r2,%r2 # const char *
1369 lgfr %r3,%r3 # int
1370 llgfr %r4,%r4 # mode_t
1371 llgtr %r5,%r5 # struct compat_mq_attr *
1372 jg compat_sys_mq_open
1373
1374 .globl sys32_mq_unlink_wrapper
1375sys32_mq_unlink_wrapper:
1376 llgtr %r2,%r2 # const char *
1377 jg sys_mq_unlink
1378
1379 .globl compat_sys_mq_timedsend_wrapper
1380compat_sys_mq_timedsend_wrapper:
1381 lgfr %r2,%r2 # mqd_t
1382 llgtr %r3,%r3 # const char *
1383 llgfr %r4,%r4 # size_t
1384 llgfr %r5,%r5 # unsigned int
1385 llgtr %r6,%r6 # const struct compat_timespec *
1386 jg compat_sys_mq_timedsend
1387
1388 .globl compat_sys_mq_timedreceive_wrapper
1389compat_sys_mq_timedreceive_wrapper:
1390 lgfr %r2,%r2 # mqd_t
1391 llgtr %r3,%r3 # char *
1392 llgfr %r4,%r4 # size_t
1393 llgtr %r5,%r5 # unsigned int *
1394 llgtr %r6,%r6 # const struct compat_timespec *
1395 jg compat_sys_mq_timedreceive
1396
1397 .globl compat_sys_mq_notify_wrapper
1398compat_sys_mq_notify_wrapper:
1399 lgfr %r2,%r2 # mqd_t
1400 llgtr %r3,%r3 # struct compat_sigevent *
1401 jg compat_sys_mq_notify
1402
1403 .globl compat_sys_mq_getsetattr_wrapper
1404compat_sys_mq_getsetattr_wrapper:
1405 lgfr %r2,%r2 # mqd_t
1406 llgtr %r3,%r3 # struct compat_mq_attr *
1407 llgtr %r4,%r4 # struct compat_mq_attr *
1408 jg compat_sys_mq_getsetattr
1409
1410 .globl compat_sys_add_key_wrapper
1411compat_sys_add_key_wrapper:
1412 llgtr %r2,%r2 # const char *
1413 llgtr %r3,%r3 # const char *
1414 llgtr %r4,%r4 # const void *
1415 llgfr %r5,%r5 # size_t
1416 llgfr %r6,%r6 # (key_serial_t) u32
1417 jg sys_add_key
1418
1419 .globl compat_sys_request_key_wrapper
1420compat_sys_request_key_wrapper:
1421 llgtr %r2,%r2 # const char *
1422 llgtr %r3,%r3 # const char *
1423 llgtr %r4,%r4 # const void *
1424 llgfr %r5,%r5 # (key_serial_t) u32
1425 jg sys_request_key
1426
1427 .globl sys32_remap_file_pages_wrapper
1428sys32_remap_file_pages_wrapper:
1429 llgfr %r2,%r2 # unsigned long
1430 llgfr %r3,%r3 # unsigned long
1431 llgfr %r4,%r4 # unsigned long
1432 llgfr %r5,%r5 # unsigned long
1433 llgfr %r6,%r6 # unsigned long
1434 jg sys_remap_file_pages
1435
1436 .globl compat_sys_waitid_wrapper
1437compat_sys_waitid_wrapper:
1438 lgfr %r2,%r2 # int
1439 lgfr %r3,%r3 # pid_t
1440 llgtr %r4,%r4 # siginfo_emu31_t *
1441 lgfr %r5,%r5 # int
1442 llgtr %r6,%r6 # struct rusage_emu31 *
1443 jg compat_sys_waitid