blob: 09e65cd2e24ee8e271542a35d5794f8e26f19240 [file] [log] [blame]
Linus Torvalds1da177e2005-04-16 15:20:36 -07001/*
Linus Torvalds1da177e2005-04-16 15:20:36 -07002* wrapper for 31 bit compatible system calls.
3*
Heiko Carstensa53c8fa2012-07-20 11:15:04 +02004* Copyright IBM Corp. 2000, 2006
Linus Torvalds1da177e2005-04-16 15:20:36 -07005* Author(s): Gerhard Tonn (ton@de.ibm.com),
Heiko Carstens25d83cb2006-09-28 16:56:37 +02006* Thomas Spatzier (tspat@de.ibm.com)
7*/
Linus Torvalds1da177e2005-04-16 15:20:36 -07008
Jan Glauber144d6342011-07-24 10:48:19 +02009#include <linux/linkage.h>
10
Jan Glauber144d6342011-07-24 10:48:19 +020011ENTRY(sys32_time_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -070012 llgtr %r2,%r2 # int *
13 jg compat_sys_time # branch to system call
14
Heiko Carstens25d83cb2006-09-28 16:56:37 +020015#sys32_getpid_wrapper # void
Linus Torvalds1da177e2005-04-16 15:20:36 -070016
Jan Glauber144d6342011-07-24 10:48:19 +020017ENTRY(sys32_mount_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -070018 llgtr %r2,%r2 # char *
19 llgtr %r3,%r3 # char *
20 llgtr %r4,%r4 # char *
21 llgfr %r5,%r5 # unsigned long
22 llgtr %r6,%r6 # void *
23 jg compat_sys_mount # branch to system call
24
Jan Glauber144d6342011-07-24 10:48:19 +020025ENTRY(sys32_ptrace_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -070026 lgfr %r2,%r2 # long
27 lgfr %r3,%r3 # long
28 llgtr %r4,%r4 # long
29 llgfr %r5,%r5 # long
Roland McGrathb499d762008-05-07 09:22:57 +020030 jg compat_sys_ptrace # branch to system call
Linus Torvalds1da177e2005-04-16 15:20:36 -070031
Jan Glauber144d6342011-07-24 10:48:19 +020032ENTRY(compat_sys_utime_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -070033 llgtr %r2,%r2 # char *
34 llgtr %r3,%r3 # struct compat_utimbuf *
35 jg compat_sys_utime # branch to system call
36
Jan Glauber144d6342011-07-24 10:48:19 +020037ENTRY(sys32_kill_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -070038 lgfr %r2,%r2 # int
39 lgfr %r3,%r3 # int
40 jg sys_kill # branch to system call
41
Jan Glauber144d6342011-07-24 10:48:19 +020042ENTRY(sys32_rename_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -070043 llgtr %r2,%r2 # const char *
44 llgtr %r3,%r3 # const char *
45 jg sys_rename # branch to system call
46
Jan Glauber144d6342011-07-24 10:48:19 +020047ENTRY(sys32_mkdir_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -070048 llgtr %r2,%r2 # const char *
49 lgfr %r3,%r3 # int
50 jg sys_mkdir # branch to system call
51
Jan Glauber144d6342011-07-24 10:48:19 +020052ENTRY(sys32_rmdir_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -070053 llgtr %r2,%r2 # const char *
54 jg sys_rmdir # branch to system call
55
Jan Glauber144d6342011-07-24 10:48:19 +020056ENTRY(sys32_dup_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -070057 llgfr %r2,%r2 # unsigned int
58 jg sys_dup # branch to system call
59
Jan Glauber144d6342011-07-24 10:48:19 +020060ENTRY(sys32_pipe_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -070061 llgtr %r2,%r2 # u32 *
62 jg sys_pipe # branch to system call
63
Jan Glauber144d6342011-07-24 10:48:19 +020064ENTRY(compat_sys_times_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -070065 llgtr %r2,%r2 # struct compat_tms *
66 jg compat_sys_times # branch to system call
67
Jan Glauber144d6342011-07-24 10:48:19 +020068ENTRY(sys32_brk_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -070069 llgtr %r2,%r2 # unsigned long
70 jg sys_brk # branch to system call
71
Jan Glauber144d6342011-07-24 10:48:19 +020072ENTRY(sys32_signal_wrapper)
Heiko Carstens25d83cb2006-09-28 16:56:37 +020073 lgfr %r2,%r2 # int
Linus Torvalds1da177e2005-04-16 15:20:36 -070074 llgtr %r3,%r3 # __sighandler_t
75 jg sys_signal
76
Jan Glauber144d6342011-07-24 10:48:19 +020077ENTRY(sys32_acct_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -070078 llgtr %r2,%r2 # char *
79 jg sys_acct # branch to system call
80
Jan Glauber144d6342011-07-24 10:48:19 +020081ENTRY(sys32_umount_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -070082 llgtr %r2,%r2 # char *
83 lgfr %r3,%r3 # int
84 jg sys_umount # branch to system call
85
Jan Glauber144d6342011-07-24 10:48:19 +020086ENTRY(compat_sys_ioctl_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -070087 llgfr %r2,%r2 # unsigned int
88 llgfr %r3,%r3 # unsigned int
89 llgfr %r4,%r4 # unsigned int
90 jg compat_sys_ioctl # branch to system call
91
Jan Glauber144d6342011-07-24 10:48:19 +020092ENTRY(compat_sys_fcntl_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -070093 llgfr %r2,%r2 # unsigned int
Heiko Carstens25d83cb2006-09-28 16:56:37 +020094 llgfr %r3,%r3 # unsigned int
Linus Torvalds1da177e2005-04-16 15:20:36 -070095 llgfr %r4,%r4 # unsigned long
96 jg compat_sys_fcntl # branch to system call
97
Jan Glauber144d6342011-07-24 10:48:19 +020098ENTRY(sys32_setpgid_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -070099 lgfr %r2,%r2 # pid_t
100 lgfr %r3,%r3 # pid_t
101 jg sys_setpgid # branch to system call
102
Jan Glauber144d6342011-07-24 10:48:19 +0200103ENTRY(sys32_umask_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -0700104 lgfr %r2,%r2 # int
105 jg sys_umask # branch to system call
106
Jan Glauber144d6342011-07-24 10:48:19 +0200107ENTRY(sys32_chroot_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -0700108 llgtr %r2,%r2 # char *
109 jg sys_chroot # branch to system call
110
Jan Glauber144d6342011-07-24 10:48:19 +0200111ENTRY(sys32_ustat_wrapper)
Heiko Carstens25d83cb2006-09-28 16:56:37 +0200112 llgfr %r2,%r2 # dev_t
Linus Torvalds1da177e2005-04-16 15:20:36 -0700113 llgtr %r3,%r3 # struct ustat *
Christoph Hellwig2b1c6bd2008-11-28 10:09:09 +0100114 jg compat_sys_ustat
Linus Torvalds1da177e2005-04-16 15:20:36 -0700115
Jan Glauber144d6342011-07-24 10:48:19 +0200116ENTRY(sys32_dup2_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -0700117 llgfr %r2,%r2 # unsigned int
118 llgfr %r3,%r3 # unsigned int
119 jg sys_dup2 # branch to system call
120
Heiko Carstens25d83cb2006-09-28 16:56:37 +0200121#sys32_getppid_wrapper # void
Linus Torvalds1da177e2005-04-16 15:20:36 -0700122
Heiko Carstens25d83cb2006-09-28 16:56:37 +0200123#sys32_getpgrp_wrapper # void
Linus Torvalds1da177e2005-04-16 15:20:36 -0700124
Heiko Carstens25d83cb2006-09-28 16:56:37 +0200125#sys32_setsid_wrapper # void
Linus Torvalds1da177e2005-04-16 15:20:36 -0700126
Jan Glauber144d6342011-07-24 10:48:19 +0200127ENTRY(sys_sigsuspend_wrapper)
Heiko Carstens54dfe5d2006-02-01 03:06:38 -0800128 lgfr %r2,%r2 # int
129 lgfr %r3,%r3 # int
130 llgfr %r4,%r4 # old_sigset_t
131 jg sys_sigsuspend
Linus Torvalds1da177e2005-04-16 15:20:36 -0700132
Jan Glauber144d6342011-07-24 10:48:19 +0200133ENTRY(compat_sys_sigpending_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -0700134 llgtr %r2,%r2 # compat_old_sigset_t *
135 jg compat_sys_sigpending # branch to system call
136
Jan Glauber144d6342011-07-24 10:48:19 +0200137ENTRY(sys32_sethostname_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -0700138 llgtr %r2,%r2 # char *
139 lgfr %r3,%r3 # int
140 jg sys_sethostname # branch to system call
141
Jan Glauber144d6342011-07-24 10:48:19 +0200142ENTRY(compat_sys_setrlimit_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -0700143 llgfr %r2,%r2 # unsigned int
144 llgtr %r3,%r3 # struct rlimit_emu31 *
145 jg compat_sys_setrlimit # branch to system call
146
Jan Glauber144d6342011-07-24 10:48:19 +0200147ENTRY(compat_sys_old_getrlimit_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -0700148 llgfr %r2,%r2 # unsigned int
149 llgtr %r3,%r3 # struct rlimit_emu31 *
150 jg compat_sys_old_getrlimit # branch to system call
151
Jan Glauber144d6342011-07-24 10:48:19 +0200152ENTRY(compat_sys_getrlimit_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -0700153 llgfr %r2,%r2 # unsigned int
154 llgtr %r3,%r3 # struct rlimit_emu31 *
155 jg compat_sys_getrlimit # branch to system call
156
Jan Glauber144d6342011-07-24 10:48:19 +0200157ENTRY(compat_sys_gettimeofday_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -0700158 llgtr %r2,%r2 # struct timeval_emu31 *
159 llgtr %r3,%r3 # struct timezone *
Christoph Hellwigb418da12008-10-15 22:02:06 -0700160 jg compat_sys_gettimeofday # branch to system call
Linus Torvalds1da177e2005-04-16 15:20:36 -0700161
Jan Glauber144d6342011-07-24 10:48:19 +0200162ENTRY(compat_sys_settimeofday_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -0700163 llgtr %r2,%r2 # struct timeval_emu31 *
164 llgtr %r3,%r3 # struct timezone *
Christoph Hellwigb418da12008-10-15 22:02:06 -0700165 jg compat_sys_settimeofday # branch to system call
Linus Torvalds1da177e2005-04-16 15:20:36 -0700166
Jan Glauber144d6342011-07-24 10:48:19 +0200167ENTRY(sys32_symlink_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -0700168 llgtr %r2,%r2 # const char *
169 llgtr %r3,%r3 # const char *
170 jg sys_symlink # branch to system call
171
Jan Glauber144d6342011-07-24 10:48:19 +0200172ENTRY(sys32_readlink_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -0700173 llgtr %r2,%r2 # const char *
174 llgtr %r3,%r3 # char *
175 lgfr %r4,%r4 # int
176 jg sys_readlink # branch to system call
177
Jan Glauber144d6342011-07-24 10:48:19 +0200178ENTRY(sys32_uselib_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -0700179 llgtr %r2,%r2 # const char *
180 jg sys_uselib # branch to system call
181
Jan Glauber144d6342011-07-24 10:48:19 +0200182ENTRY(sys32_swapon_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -0700183 llgtr %r2,%r2 # const char *
184 lgfr %r3,%r3 # int
185 jg sys_swapon # branch to system call
186
Jan Glauber144d6342011-07-24 10:48:19 +0200187ENTRY(sys32_reboot_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -0700188 lgfr %r2,%r2 # int
189 lgfr %r3,%r3 # int
190 llgfr %r4,%r4 # unsigned int
191 llgtr %r5,%r5 # void *
192 jg sys_reboot # branch to system call
193
Jan Glauber144d6342011-07-24 10:48:19 +0200194ENTRY(old32_readdir_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -0700195 llgfr %r2,%r2 # unsigned int
196 llgtr %r3,%r3 # void *
197 llgfr %r4,%r4 # unsigned int
198 jg compat_sys_old_readdir # branch to system call
199
Jan Glauber144d6342011-07-24 10:48:19 +0200200ENTRY(sys32_munmap_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -0700201 llgfr %r2,%r2 # unsigned long
Heiko Carstens25d83cb2006-09-28 16:56:37 +0200202 llgfr %r3,%r3 # size_t
Linus Torvalds1da177e2005-04-16 15:20:36 -0700203 jg sys_munmap # branch to system call
204
Jan Glauber144d6342011-07-24 10:48:19 +0200205ENTRY(sys32_fchmod_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -0700206 llgfr %r2,%r2 # unsigned int
207 llgfr %r3,%r3 # mode_t
208 jg sys_fchmod # branch to system call
209
Jan Glauber144d6342011-07-24 10:48:19 +0200210ENTRY(sys32_getpriority_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -0700211 lgfr %r2,%r2 # int
212 lgfr %r3,%r3 # int
213 jg sys_getpriority # branch to system call
214
Jan Glauber144d6342011-07-24 10:48:19 +0200215ENTRY(sys32_setpriority_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -0700216 lgfr %r2,%r2 # int
217 lgfr %r3,%r3 # int
218 lgfr %r4,%r4 # int
219 jg sys_setpriority # branch to system call
220
Jan Glauber144d6342011-07-24 10:48:19 +0200221ENTRY(compat_sys_statfs_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -0700222 llgtr %r2,%r2 # char *
223 llgtr %r3,%r3 # struct compat_statfs *
224 jg compat_sys_statfs # branch to system call
225
Jan Glauber144d6342011-07-24 10:48:19 +0200226ENTRY(compat_sys_fstatfs_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -0700227 llgfr %r2,%r2 # unsigned int
228 llgtr %r3,%r3 # struct compat_statfs *
229 jg compat_sys_fstatfs # branch to system call
230
Jan Glauber144d6342011-07-24 10:48:19 +0200231ENTRY(compat_sys_socketcall_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -0700232 lgfr %r2,%r2 # int
233 llgtr %r3,%r3 # u32 *
234 jg compat_sys_socketcall # branch to system call
235
Jan Glauber144d6342011-07-24 10:48:19 +0200236ENTRY(sys32_syslog_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -0700237 lgfr %r2,%r2 # int
238 llgtr %r3,%r3 # char *
239 lgfr %r4,%r4 # int
240 jg sys_syslog # branch to system call
241
Jan Glauber144d6342011-07-24 10:48:19 +0200242ENTRY(compat_sys_newstat_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -0700243 llgtr %r2,%r2 # char *
244 llgtr %r3,%r3 # struct stat_emu31 *
245 jg compat_sys_newstat # branch to system call
246
Jan Glauber144d6342011-07-24 10:48:19 +0200247ENTRY(compat_sys_newlstat_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -0700248 llgtr %r2,%r2 # char *
249 llgtr %r3,%r3 # struct stat_emu31 *
250 jg compat_sys_newlstat # branch to system call
251
Jan Glauber144d6342011-07-24 10:48:19 +0200252ENTRY(compat_sys_newfstat_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -0700253 llgfr %r2,%r2 # unsigned int
254 llgtr %r3,%r3 # struct stat_emu31 *
255 jg compat_sys_newfstat # branch to system call
256
Heiko Carstens25d83cb2006-09-28 16:56:37 +0200257#sys32_vhangup_wrapper # void
Linus Torvalds1da177e2005-04-16 15:20:36 -0700258
Jan Glauber144d6342011-07-24 10:48:19 +0200259ENTRY(sys32_swapoff_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -0700260 llgtr %r2,%r2 # const char *
261 jg sys_swapoff # branch to system call
262
Jan Glauber144d6342011-07-24 10:48:19 +0200263ENTRY(compat_sys_sysinfo_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -0700264 llgtr %r2,%r2 # struct sysinfo_emu31 *
Kyle McMartind4d23ad2007-02-10 01:46:00 -0800265 jg compat_sys_sysinfo # branch to system call
Linus Torvalds1da177e2005-04-16 15:20:36 -0700266
Jan Glauber144d6342011-07-24 10:48:19 +0200267ENTRY(sys32_fsync_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -0700268 llgfr %r2,%r2 # unsigned int
269 jg sys_fsync # branch to system call
270
Heiko Carstens25d83cb2006-09-28 16:56:37 +0200271#sys32_sigreturn_wrapper # done in sigreturn_glue
Linus Torvalds1da177e2005-04-16 15:20:36 -0700272
Heiko Carstens25d83cb2006-09-28 16:56:37 +0200273#sys32_clone_wrapper # done in clone_glue
Linus Torvalds1da177e2005-04-16 15:20:36 -0700274
Jan Glauber144d6342011-07-24 10:48:19 +0200275ENTRY(sys32_setdomainname_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -0700276 llgtr %r2,%r2 # char *
277 lgfr %r3,%r3 # int
278 jg sys_setdomainname # branch to system call
279
Jan Glauber144d6342011-07-24 10:48:19 +0200280ENTRY(sys32_newuname_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -0700281 llgtr %r2,%r2 # struct new_utsname *
Christoph Hellwige28cbf22010-03-10 15:21:19 -0800282 jg sys_newuname # branch to system call
Linus Torvalds1da177e2005-04-16 15:20:36 -0700283
Jan Glauber144d6342011-07-24 10:48:19 +0200284ENTRY(compat_sys_adjtimex_wrapper)
Stephen Rothwell3158e942006-03-26 01:37:29 -0800285 llgtr %r2,%r2 # struct compat_timex *
286 jg compat_sys_adjtimex # branch to system call
Linus Torvalds1da177e2005-04-16 15:20:36 -0700287
Jan Glauber144d6342011-07-24 10:48:19 +0200288ENTRY(sys32_mprotect_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -0700289 llgtr %r2,%r2 # unsigned long (actually pointer
290 llgfr %r3,%r3 # size_t
291 llgfr %r4,%r4 # unsigned long
292 jg sys_mprotect # branch to system call
293
Jan Glauber144d6342011-07-24 10:48:19 +0200294ENTRY(sys_init_module_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -0700295 llgtr %r2,%r2 # void *
296 llgfr %r3,%r3 # unsigned long
297 llgtr %r4,%r4 # char *
Heiko Carstens2e501952009-09-22 22:58:43 +0200298 jg sys_init_module # branch to system call
Linus Torvalds1da177e2005-04-16 15:20:36 -0700299
Jan Glauber144d6342011-07-24 10:48:19 +0200300ENTRY(sys_delete_module_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -0700301 llgtr %r2,%r2 # const char *
302 llgfr %r3,%r3 # unsigned int
Heiko Carstens2e501952009-09-22 22:58:43 +0200303 jg sys_delete_module # branch to system call
Linus Torvalds1da177e2005-04-16 15:20:36 -0700304
Jan Glauber144d6342011-07-24 10:48:19 +0200305ENTRY(sys32_quotactl_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -0700306 llgfr %r2,%r2 # unsigned int
307 llgtr %r3,%r3 # const char *
308 llgfr %r4,%r4 # qid_t
309 llgtr %r5,%r5 # caddr_t
310 jg sys_quotactl # branch to system call
311
Jan Glauber144d6342011-07-24 10:48:19 +0200312ENTRY(sys32_getpgid_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -0700313 lgfr %r2,%r2 # pid_t
314 jg sys_getpgid # branch to system call
315
Jan Glauber144d6342011-07-24 10:48:19 +0200316ENTRY(sys32_fchdir_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -0700317 llgfr %r2,%r2 # unsigned int
318 jg sys_fchdir # branch to system call
319
Jan Glauber144d6342011-07-24 10:48:19 +0200320ENTRY(sys32_bdflush_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -0700321 lgfr %r2,%r2 # int
322 lgfr %r3,%r3 # long
323 jg sys_bdflush # branch to system call
324
Jan Glauber144d6342011-07-24 10:48:19 +0200325ENTRY(sys32_sysfs_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -0700326 lgfr %r2,%r2 # int
327 llgfr %r3,%r3 # unsigned long
328 llgfr %r4,%r4 # unsigned long
329 jg sys_sysfs # branch to system call
330
Jan Glauber144d6342011-07-24 10:48:19 +0200331ENTRY(sys32_personality_wrapper)
Heiko Carstens3a110372010-08-13 10:06:39 +0200332 llgfr %r2,%r2 # unsigned int
Heiko Carstens26689452009-01-14 14:14:36 +0100333 jg sys_s390_personality # branch to system call
Linus Torvalds1da177e2005-04-16 15:20:36 -0700334
Jan Glauber144d6342011-07-24 10:48:19 +0200335ENTRY(sys32_llseek_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -0700336 llgfr %r2,%r2 # unsigned int
337 llgfr %r3,%r3 # unsigned long
338 llgfr %r4,%r4 # unsigned long
339 llgtr %r5,%r5 # loff_t *
340 llgfr %r6,%r6 # unsigned int
341 jg sys_llseek # branch to system call
342
Jan Glauber144d6342011-07-24 10:48:19 +0200343ENTRY(sys32_getdents_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -0700344 llgfr %r2,%r2 # unsigned int
345 llgtr %r3,%r3 # void *
346 llgfr %r4,%r4 # unsigned int
347 jg compat_sys_getdents # branch to system call
348
Jan Glauber144d6342011-07-24 10:48:19 +0200349ENTRY(compat_sys_select_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -0700350 lgfr %r2,%r2 # int
351 llgtr %r3,%r3 # compat_fd_set *
352 llgtr %r4,%r4 # compat_fd_set *
353 llgtr %r5,%r5 # compat_fd_set *
354 llgtr %r6,%r6 # struct compat_timeval *
355 jg compat_sys_select # branch to system call
356
Jan Glauber144d6342011-07-24 10:48:19 +0200357ENTRY(sys32_flock_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -0700358 llgfr %r2,%r2 # unsigned int
359 llgfr %r3,%r3 # unsigned int
360 jg sys_flock # branch to system call
361
Jan Glauber144d6342011-07-24 10:48:19 +0200362ENTRY(sys32_msync_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -0700363 llgfr %r2,%r2 # unsigned long
364 llgfr %r3,%r3 # size_t
365 lgfr %r4,%r4 # int
366 jg sys_msync # branch to system call
367
Jan Glauber144d6342011-07-24 10:48:19 +0200368ENTRY(compat_sys_readv_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -0700369 lgfr %r2,%r2 # int
370 llgtr %r3,%r3 # const struct compat_iovec *
371 llgfr %r4,%r4 # unsigned long
372 jg compat_sys_readv # branch to system call
373
Jan Glauber144d6342011-07-24 10:48:19 +0200374ENTRY(compat_sys_writev_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -0700375 lgfr %r2,%r2 # int
376 llgtr %r3,%r3 # const struct compat_iovec *
377 llgfr %r4,%r4 # unsigned long
378 jg compat_sys_writev # branch to system call
379
Jan Glauber144d6342011-07-24 10:48:19 +0200380ENTRY(sys32_getsid_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -0700381 lgfr %r2,%r2 # pid_t
382 jg sys_getsid # branch to system call
383
Jan Glauber144d6342011-07-24 10:48:19 +0200384ENTRY(sys32_fdatasync_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -0700385 llgfr %r2,%r2 # unsigned int
386 jg sys_fdatasync # branch to system call
387
Jan Glauber144d6342011-07-24 10:48:19 +0200388ENTRY(sys32_mlock_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -0700389 llgfr %r2,%r2 # unsigned long
390 llgfr %r3,%r3 # size_t
391 jg sys_mlock # branch to system call
392
Jan Glauber144d6342011-07-24 10:48:19 +0200393ENTRY(sys32_munlock_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -0700394 llgfr %r2,%r2 # unsigned long
395 llgfr %r3,%r3 # size_t
396 jg sys_munlock # branch to system call
397
Jan Glauber144d6342011-07-24 10:48:19 +0200398ENTRY(sys32_mlockall_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -0700399 lgfr %r2,%r2 # int
400 jg sys_mlockall # branch to system call
401
Heiko Carstens25d83cb2006-09-28 16:56:37 +0200402#sys32_munlockall_wrapper # void
Linus Torvalds1da177e2005-04-16 15:20:36 -0700403
Jan Glauber144d6342011-07-24 10:48:19 +0200404ENTRY(sys32_sched_setparam_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -0700405 lgfr %r2,%r2 # pid_t
406 llgtr %r3,%r3 # struct sched_param *
407 jg sys_sched_setparam # branch to system call
408
Jan Glauber144d6342011-07-24 10:48:19 +0200409ENTRY(sys32_sched_getparam_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -0700410 lgfr %r2,%r2 # pid_t
411 llgtr %r3,%r3 # struct sched_param *
412 jg sys_sched_getparam # branch to system call
413
Jan Glauber144d6342011-07-24 10:48:19 +0200414ENTRY(sys32_sched_setscheduler_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -0700415 lgfr %r2,%r2 # pid_t
416 lgfr %r3,%r3 # int
417 llgtr %r4,%r4 # struct sched_param *
418 jg sys_sched_setscheduler # branch to system call
419
Jan Glauber144d6342011-07-24 10:48:19 +0200420ENTRY(sys32_sched_getscheduler_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -0700421 lgfr %r2,%r2 # pid_t
422 jg sys_sched_getscheduler # branch to system call
423
Heiko Carstens25d83cb2006-09-28 16:56:37 +0200424#sys32_sched_yield_wrapper # void
Linus Torvalds1da177e2005-04-16 15:20:36 -0700425
Jan Glauber144d6342011-07-24 10:48:19 +0200426ENTRY(sys32_sched_get_priority_max_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -0700427 lgfr %r2,%r2 # int
428 jg sys_sched_get_priority_max # branch to system call
429
Jan Glauber144d6342011-07-24 10:48:19 +0200430ENTRY(sys32_sched_get_priority_min_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -0700431 lgfr %r2,%r2 # int
432 jg sys_sched_get_priority_min # branch to system call
433
Jan Glauber144d6342011-07-24 10:48:19 +0200434ENTRY(compat_sys_nanosleep_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -0700435 llgtr %r2,%r2 # struct compat_timespec *
436 llgtr %r3,%r3 # struct compat_timespec *
437 jg compat_sys_nanosleep # branch to system call
438
Jan Glauber144d6342011-07-24 10:48:19 +0200439ENTRY(sys32_mremap_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -0700440 llgfr %r2,%r2 # unsigned long
441 llgfr %r3,%r3 # unsigned long
442 llgfr %r4,%r4 # unsigned long
443 llgfr %r5,%r5 # unsigned long
444 llgfr %r6,%r6 # unsigned long
445 jg sys_mremap # branch to system call
446
Jan Glauber144d6342011-07-24 10:48:19 +0200447ENTRY(sys32_poll_wrapper)
Heiko Carstens25d83cb2006-09-28 16:56:37 +0200448 llgtr %r2,%r2 # struct pollfd *
449 llgfr %r3,%r3 # unsigned int
Linus Torvaldsfaf30902012-02-21 17:24:20 -0800450 lgfr %r4,%r4 # int
Linus Torvalds1da177e2005-04-16 15:20:36 -0700451 jg sys_poll # branch to system call
452
Jan Glauber144d6342011-07-24 10:48:19 +0200453ENTRY(sys32_prctl_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -0700454 lgfr %r2,%r2 # int
455 llgfr %r3,%r3 # unsigned long
456 llgfr %r4,%r4 # unsigned long
457 llgfr %r5,%r5 # unsigned long
458 llgfr %r6,%r6 # unsigned long
459 jg sys_prctl # branch to system call
460
Heiko Carstens25d83cb2006-09-28 16:56:37 +0200461#sys32_rt_sigreturn_wrapper # done in rt_sigreturn_glue
Linus Torvalds1da177e2005-04-16 15:20:36 -0700462
Jan Glauber144d6342011-07-24 10:48:19 +0200463ENTRY(sys32_getcwd_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -0700464 llgtr %r2,%r2 # char *
465 llgfr %r3,%r3 # unsigned long
466 jg sys_getcwd # branch to system call
467
Jan Glauber144d6342011-07-24 10:48:19 +0200468ENTRY(sys32_capget_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -0700469 llgtr %r2,%r2 # cap_user_header_t
470 llgtr %r3,%r3 # cap_user_data_t
471 jg sys_capget # branch to system call
472
Jan Glauber144d6342011-07-24 10:48:19 +0200473ENTRY(sys32_capset_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -0700474 llgtr %r2,%r2 # cap_user_header_t
475 llgtr %r3,%r3 # const cap_user_data_t
476 jg sys_capset # branch to system call
477
Heiko Carstens25d83cb2006-09-28 16:56:37 +0200478#sys32_vfork_wrapper # done in vfork_glue
Linus Torvalds1da177e2005-04-16 15:20:36 -0700479
Jan Glauber144d6342011-07-24 10:48:19 +0200480ENTRY(sys32_lchown_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -0700481 llgtr %r2,%r2 # const char *
482 llgfr %r3,%r3 # uid_t
483 llgfr %r4,%r4 # gid_t
484 jg sys_lchown # branch to system call
485
Heiko Carstens25d83cb2006-09-28 16:56:37 +0200486#sys32_getuid_wrapper # void
487#sys32_getgid_wrapper # void
488#sys32_geteuid_wrapper # void
489#sys32_getegid_wrapper # void
Linus Torvalds1da177e2005-04-16 15:20:36 -0700490
Jan Glauber144d6342011-07-24 10:48:19 +0200491ENTRY(sys32_setreuid_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -0700492 llgfr %r2,%r2 # uid_t
493 llgfr %r3,%r3 # uid_t
494 jg sys_setreuid # branch to system call
495
Jan Glauber144d6342011-07-24 10:48:19 +0200496ENTRY(sys32_setregid_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -0700497 llgfr %r2,%r2 # gid_t
498 llgfr %r3,%r3 # gid_t
499 jg sys_setregid # branch to system call
500
Jan Glauber144d6342011-07-24 10:48:19 +0200501ENTRY(sys32_getgroups_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -0700502 lgfr %r2,%r2 # int
503 llgtr %r3,%r3 # gid_t *
504 jg sys_getgroups # branch to system call
505
Jan Glauber144d6342011-07-24 10:48:19 +0200506ENTRY(sys32_setgroups_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -0700507 lgfr %r2,%r2 # int
508 llgtr %r3,%r3 # gid_t *
509 jg sys_setgroups # branch to system call
510
Jan Glauber144d6342011-07-24 10:48:19 +0200511ENTRY(sys32_fchown_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -0700512 llgfr %r2,%r2 # unsigned int
513 llgfr %r3,%r3 # uid_t
514 llgfr %r4,%r4 # gid_t
515 jg sys_fchown # branch to system call
516
Jan Glauber144d6342011-07-24 10:48:19 +0200517ENTRY(sys32_setresuid_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -0700518 llgfr %r2,%r2 # uid_t
519 llgfr %r3,%r3 # uid_t
520 llgfr %r4,%r4 # uid_t
521 jg sys_setresuid # branch to system call
522
Jan Glauber144d6342011-07-24 10:48:19 +0200523ENTRY(sys32_getresuid_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -0700524 llgtr %r2,%r2 # uid_t *
525 llgtr %r3,%r3 # uid_t *
526 llgtr %r4,%r4 # uid_t *
527 jg sys_getresuid # branch to system call
528
Jan Glauber144d6342011-07-24 10:48:19 +0200529ENTRY(sys32_setresgid_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -0700530 llgfr %r2,%r2 # gid_t
531 llgfr %r3,%r3 # gid_t
532 llgfr %r4,%r4 # gid_t
533 jg sys_setresgid # branch to system call
534
Jan Glauber144d6342011-07-24 10:48:19 +0200535ENTRY(sys32_getresgid_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -0700536 llgtr %r2,%r2 # gid_t *
537 llgtr %r3,%r3 # gid_t *
538 llgtr %r4,%r4 # gid_t *
539 jg sys_getresgid # branch to system call
540
Jan Glauber144d6342011-07-24 10:48:19 +0200541ENTRY(sys32_chown_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -0700542 llgtr %r2,%r2 # const char *
543 llgfr %r3,%r3 # uid_t
544 llgfr %r4,%r4 # gid_t
545 jg sys_chown # branch to system call
546
Jan Glauber144d6342011-07-24 10:48:19 +0200547ENTRY(sys32_setuid_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -0700548 llgfr %r2,%r2 # uid_t
549 jg sys_setuid # branch to system call
550
Jan Glauber144d6342011-07-24 10:48:19 +0200551ENTRY(sys32_setgid_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -0700552 llgfr %r2,%r2 # gid_t
553 jg sys_setgid # branch to system call
554
Jan Glauber144d6342011-07-24 10:48:19 +0200555ENTRY(sys32_setfsuid_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -0700556 llgfr %r2,%r2 # uid_t
557 jg sys_setfsuid # branch to system call
558
Jan Glauber144d6342011-07-24 10:48:19 +0200559ENTRY(sys32_setfsgid_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -0700560 llgfr %r2,%r2 # gid_t
561 jg sys_setfsgid # branch to system call
562
Jan Glauber144d6342011-07-24 10:48:19 +0200563ENTRY(sys32_pivot_root_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -0700564 llgtr %r2,%r2 # const char *
565 llgtr %r3,%r3 # const char *
566 jg sys_pivot_root # branch to system call
567
Jan Glauber144d6342011-07-24 10:48:19 +0200568ENTRY(sys32_mincore_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -0700569 llgfr %r2,%r2 # unsigned long
570 llgfr %r3,%r3 # size_t
571 llgtr %r4,%r4 # unsigned char *
572 jg sys_mincore # branch to system call
573
Jan Glauber144d6342011-07-24 10:48:19 +0200574ENTRY(sys32_madvise_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -0700575 llgfr %r2,%r2 # unsigned long
576 llgfr %r3,%r3 # size_t
577 lgfr %r4,%r4 # int
578 jg sys_madvise # branch to system call
579
Jan Glauber144d6342011-07-24 10:48:19 +0200580ENTRY(sys32_getdents64_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -0700581 llgfr %r2,%r2 # unsigned int
582 llgtr %r3,%r3 # void *
583 llgfr %r4,%r4 # unsigned int
584 jg sys_getdents64 # branch to system call
585
Jan Glauber144d6342011-07-24 10:48:19 +0200586ENTRY(compat_sys_fcntl64_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -0700587 llgfr %r2,%r2 # unsigned int
Heiko Carstens25d83cb2006-09-28 16:56:37 +0200588 llgfr %r3,%r3 # unsigned int
Linus Torvalds1da177e2005-04-16 15:20:36 -0700589 llgfr %r4,%r4 # unsigned long
590 jg compat_sys_fcntl64 # branch to system call
591
Jan Glauber144d6342011-07-24 10:48:19 +0200592ENTRY(sys32_stime_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -0700593 llgtr %r2,%r2 # long *
594 jg compat_sys_stime # branch to system call
595
Jan Glauber144d6342011-07-24 10:48:19 +0200596ENTRY(sys32_setxattr_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -0700597 llgtr %r2,%r2 # char *
598 llgtr %r3,%r3 # char *
599 llgtr %r4,%r4 # void *
600 llgfr %r5,%r5 # size_t
601 lgfr %r6,%r6 # int
602 jg sys_setxattr
603
Jan Glauber144d6342011-07-24 10:48:19 +0200604ENTRY(sys32_lsetxattr_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -0700605 llgtr %r2,%r2 # char *
606 llgtr %r3,%r3 # char *
607 llgtr %r4,%r4 # void *
608 llgfr %r5,%r5 # size_t
609 lgfr %r6,%r6 # int
610 jg sys_lsetxattr
611
Jan Glauber144d6342011-07-24 10:48:19 +0200612ENTRY(sys32_fsetxattr_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -0700613 lgfr %r2,%r2 # int
614 llgtr %r3,%r3 # char *
615 llgtr %r4,%r4 # void *
616 llgfr %r5,%r5 # size_t
617 lgfr %r6,%r6 # int
618 jg sys_fsetxattr
619
Jan Glauber144d6342011-07-24 10:48:19 +0200620ENTRY(sys32_getxattr_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -0700621 llgtr %r2,%r2 # char *
622 llgtr %r3,%r3 # char *
623 llgtr %r4,%r4 # void *
624 llgfr %r5,%r5 # size_t
625 jg sys_getxattr
626
Jan Glauber144d6342011-07-24 10:48:19 +0200627ENTRY(sys32_lgetxattr_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -0700628 llgtr %r2,%r2 # char *
629 llgtr %r3,%r3 # char *
630 llgtr %r4,%r4 # void *
631 llgfr %r5,%r5 # size_t
632 jg sys_lgetxattr
633
Jan Glauber144d6342011-07-24 10:48:19 +0200634ENTRY(sys32_fgetxattr_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -0700635 lgfr %r2,%r2 # int
636 llgtr %r3,%r3 # char *
637 llgtr %r4,%r4 # void *
638 llgfr %r5,%r5 # size_t
639 jg sys_fgetxattr
640
Jan Glauber144d6342011-07-24 10:48:19 +0200641ENTRY(sys32_listxattr_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -0700642 llgtr %r2,%r2 # char *
643 llgtr %r3,%r3 # char *
644 llgfr %r4,%r4 # size_t
645 jg sys_listxattr
646
Jan Glauber144d6342011-07-24 10:48:19 +0200647ENTRY(sys32_llistxattr_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -0700648 llgtr %r2,%r2 # char *
649 llgtr %r3,%r3 # char *
650 llgfr %r4,%r4 # size_t
651 jg sys_llistxattr
652
Jan Glauber144d6342011-07-24 10:48:19 +0200653ENTRY(sys32_flistxattr_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -0700654 lgfr %r2,%r2 # int
655 llgtr %r3,%r3 # char *
656 llgfr %r4,%r4 # size_t
657 jg sys_flistxattr
658
Jan Glauber144d6342011-07-24 10:48:19 +0200659ENTRY(sys32_removexattr_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -0700660 llgtr %r2,%r2 # char *
661 llgtr %r3,%r3 # char *
662 jg sys_removexattr
663
Jan Glauber144d6342011-07-24 10:48:19 +0200664ENTRY(sys32_lremovexattr_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -0700665 llgtr %r2,%r2 # char *
666 llgtr %r3,%r3 # char *
667 jg sys_lremovexattr
668
Jan Glauber144d6342011-07-24 10:48:19 +0200669ENTRY(sys32_fremovexattr_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -0700670 lgfr %r2,%r2 # int
671 llgtr %r3,%r3 # char *
672 jg sys_fremovexattr
673
Jan Glauber144d6342011-07-24 10:48:19 +0200674ENTRY(sys32_sched_setaffinity_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -0700675 lgfr %r2,%r2 # int
676 llgfr %r3,%r3 # unsigned int
677 llgtr %r4,%r4 # unsigned long *
678 jg compat_sys_sched_setaffinity
679
Jan Glauber144d6342011-07-24 10:48:19 +0200680ENTRY(sys32_sched_getaffinity_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -0700681 lgfr %r2,%r2 # int
682 llgfr %r3,%r3 # unsigned int
683 llgtr %r4,%r4 # unsigned long *
684 jg compat_sys_sched_getaffinity
685
Jan Glauber144d6342011-07-24 10:48:19 +0200686ENTRY(sys32_exit_group_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -0700687 lgfr %r2,%r2 # int
688 jg sys_exit_group # branch to system call
689
Jan Glauber144d6342011-07-24 10:48:19 +0200690ENTRY(sys32_set_tid_address_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -0700691 llgtr %r2,%r2 # int *
692 jg sys_set_tid_address # branch to system call
693
Jan Glauber144d6342011-07-24 10:48:19 +0200694ENTRY(sys_epoll_create_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -0700695 lgfr %r2,%r2 # int
696 jg sys_epoll_create # branch to system call
697
Jan Glauber144d6342011-07-24 10:48:19 +0200698ENTRY(sys_epoll_ctl_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -0700699 lgfr %r2,%r2 # int
700 lgfr %r3,%r3 # int
701 lgfr %r4,%r4 # int
702 llgtr %r5,%r5 # struct epoll_event *
703 jg sys_epoll_ctl # branch to system call
704
Jan Glauber144d6342011-07-24 10:48:19 +0200705ENTRY(sys_epoll_wait_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -0700706 lgfr %r2,%r2 # int
707 llgtr %r3,%r3 # struct epoll_event *
708 lgfr %r4,%r4 # int
709 lgfr %r5,%r5 # int
710 jg sys_epoll_wait # branch to system call
711
Jan Glauber144d6342011-07-24 10:48:19 +0200712ENTRY(sys32_clock_settime_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -0700713 lgfr %r2,%r2 # clockid_t (int)
714 llgtr %r3,%r3 # struct compat_timespec *
715 jg compat_sys_clock_settime
716
Jan Glauber144d6342011-07-24 10:48:19 +0200717ENTRY(sys32_clock_gettime_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -0700718 lgfr %r2,%r2 # clockid_t (int)
719 llgtr %r3,%r3 # struct compat_timespec *
720 jg compat_sys_clock_gettime
721
Jan Glauber144d6342011-07-24 10:48:19 +0200722ENTRY(sys32_clock_getres_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -0700723 lgfr %r2,%r2 # clockid_t (int)
724 llgtr %r3,%r3 # struct compat_timespec *
725 jg compat_sys_clock_getres
726
Jan Glauber144d6342011-07-24 10:48:19 +0200727ENTRY(sys32_clock_nanosleep_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -0700728 lgfr %r2,%r2 # clockid_t (int)
729 lgfr %r3,%r3 # int
730 llgtr %r4,%r4 # struct compat_timespec *
731 llgtr %r5,%r5 # struct compat_timespec *
732 jg compat_sys_clock_nanosleep
733
Jan Glauber144d6342011-07-24 10:48:19 +0200734ENTRY(sys32_timer_create_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -0700735 lgfr %r2,%r2 # timer_t (int)
736 llgtr %r3,%r3 # struct compat_sigevent *
737 llgtr %r4,%r4 # timer_t *
Christoph Hellwig3a0f69d2006-01-09 20:52:08 -0800738 jg compat_sys_timer_create
Linus Torvalds1da177e2005-04-16 15:20:36 -0700739
Jan Glauber144d6342011-07-24 10:48:19 +0200740ENTRY(sys32_timer_settime_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -0700741 lgfr %r2,%r2 # timer_t (int)
742 lgfr %r3,%r3 # int
743 llgtr %r4,%r4 # struct compat_itimerspec *
744 llgtr %r5,%r5 # struct compat_itimerspec *
745 jg compat_sys_timer_settime
746
Jan Glauber144d6342011-07-24 10:48:19 +0200747ENTRY(sys32_timer_gettime_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -0700748 lgfr %r2,%r2 # timer_t (int)
749 llgtr %r3,%r3 # struct compat_itimerspec *
750 jg compat_sys_timer_gettime
751
Jan Glauber144d6342011-07-24 10:48:19 +0200752ENTRY(sys32_timer_getoverrun_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -0700753 lgfr %r2,%r2 # timer_t (int)
754 jg sys_timer_getoverrun
755
Jan Glauber144d6342011-07-24 10:48:19 +0200756ENTRY(sys32_timer_delete_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -0700757 lgfr %r2,%r2 # timer_t (int)
758 jg sys_timer_delete
759
Jan Glauber144d6342011-07-24 10:48:19 +0200760ENTRY(sys32_io_setup_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -0700761 llgfr %r2,%r2 # unsigned int
762 llgtr %r3,%r3 # u32 *
763 jg compat_sys_io_setup
764
Jan Glauber144d6342011-07-24 10:48:19 +0200765ENTRY(sys32_io_destroy_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -0700766 llgfr %r2,%r2 # (aio_context_t) u32
767 jg sys_io_destroy
768
Jan Glauber144d6342011-07-24 10:48:19 +0200769ENTRY(sys32_io_getevents_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -0700770 llgfr %r2,%r2 # (aio_context_t) u32
771 lgfr %r3,%r3 # long
772 lgfr %r4,%r4 # long
773 llgtr %r5,%r5 # struct io_event *
774 llgtr %r6,%r6 # struct compat_timespec *
775 jg compat_sys_io_getevents
776
Jan Glauber144d6342011-07-24 10:48:19 +0200777ENTRY(sys32_io_submit_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -0700778 llgfr %r2,%r2 # (aio_context_t) u32
779 lgfr %r3,%r3 # long
780 llgtr %r4,%r4 # struct iocb **
781 jg compat_sys_io_submit
782
Jan Glauber144d6342011-07-24 10:48:19 +0200783ENTRY(sys32_io_cancel_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -0700784 llgfr %r2,%r2 # (aio_context_t) u32
785 llgtr %r3,%r3 # struct iocb *
786 llgtr %r4,%r4 # struct io_event *
787 jg sys_io_cancel
788
Jan Glauber144d6342011-07-24 10:48:19 +0200789ENTRY(compat_sys_statfs64_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -0700790 llgtr %r2,%r2 # const char *
791 llgfr %r3,%r3 # compat_size_t
792 llgtr %r4,%r4 # struct compat_statfs64 *
793 jg compat_sys_statfs64
794
Jan Glauber144d6342011-07-24 10:48:19 +0200795ENTRY(compat_sys_fstatfs64_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -0700796 llgfr %r2,%r2 # unsigned int fd
797 llgfr %r3,%r3 # compat_size_t
798 llgtr %r4,%r4 # struct compat_statfs64 *
799 jg compat_sys_fstatfs64
800
Jan Glauber144d6342011-07-24 10:48:19 +0200801ENTRY(compat_sys_mq_open_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -0700802 llgtr %r2,%r2 # const char *
803 lgfr %r3,%r3 # int
804 llgfr %r4,%r4 # mode_t
805 llgtr %r5,%r5 # struct compat_mq_attr *
806 jg compat_sys_mq_open
807
Jan Glauber144d6342011-07-24 10:48:19 +0200808ENTRY(sys32_mq_unlink_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -0700809 llgtr %r2,%r2 # const char *
810 jg sys_mq_unlink
811
Jan Glauber144d6342011-07-24 10:48:19 +0200812ENTRY(compat_sys_mq_timedsend_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -0700813 lgfr %r2,%r2 # mqd_t
814 llgtr %r3,%r3 # const char *
815 llgfr %r4,%r4 # size_t
816 llgfr %r5,%r5 # unsigned int
817 llgtr %r6,%r6 # const struct compat_timespec *
818 jg compat_sys_mq_timedsend
819
Jan Glauber144d6342011-07-24 10:48:19 +0200820ENTRY(compat_sys_mq_timedreceive_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -0700821 lgfr %r2,%r2 # mqd_t
822 llgtr %r3,%r3 # char *
823 llgfr %r4,%r4 # size_t
824 llgtr %r5,%r5 # unsigned int *
825 llgtr %r6,%r6 # const struct compat_timespec *
826 jg compat_sys_mq_timedreceive
827
Jan Glauber144d6342011-07-24 10:48:19 +0200828ENTRY(compat_sys_mq_notify_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -0700829 lgfr %r2,%r2 # mqd_t
830 llgtr %r3,%r3 # struct compat_sigevent *
831 jg compat_sys_mq_notify
832
Jan Glauber144d6342011-07-24 10:48:19 +0200833ENTRY(compat_sys_mq_getsetattr_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -0700834 lgfr %r2,%r2 # mqd_t
835 llgtr %r3,%r3 # struct compat_mq_attr *
836 llgtr %r4,%r4 # struct compat_mq_attr *
837 jg compat_sys_mq_getsetattr
838
Jan Glauber144d6342011-07-24 10:48:19 +0200839ENTRY(compat_sys_add_key_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -0700840 llgtr %r2,%r2 # const char *
841 llgtr %r3,%r3 # const char *
842 llgtr %r4,%r4 # const void *
843 llgfr %r5,%r5 # size_t
844 llgfr %r6,%r6 # (key_serial_t) u32
845 jg sys_add_key
846
Jan Glauber144d6342011-07-24 10:48:19 +0200847ENTRY(compat_sys_request_key_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -0700848 llgtr %r2,%r2 # const char *
849 llgtr %r3,%r3 # const char *
850 llgtr %r4,%r4 # const void *
851 llgfr %r5,%r5 # (key_serial_t) u32
852 jg sys_request_key
853
Jan Glauber144d6342011-07-24 10:48:19 +0200854ENTRY(sys32_remap_file_pages_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -0700855 llgfr %r2,%r2 # unsigned long
856 llgfr %r3,%r3 # unsigned long
857 llgfr %r4,%r4 # unsigned long
858 llgfr %r5,%r5 # unsigned long
859 llgfr %r6,%r6 # unsigned long
860 jg sys_remap_file_pages
861
Jan Glauber144d6342011-07-24 10:48:19 +0200862ENTRY(compat_sys_kexec_load_wrapper)
Heiko Carstenscf13f0e2005-06-25 14:58:11 -0700863 llgfr %r2,%r2 # unsigned long
864 llgfr %r3,%r3 # unsigned long
865 llgtr %r4,%r4 # struct kexec_segment *
866 llgfr %r5,%r5 # unsigned long
867 jg compat_sys_kexec_load
Martin Schwidefskyd2013482005-08-01 21:11:34 -0700868
Jan Glauber144d6342011-07-24 10:48:19 +0200869ENTRY(sys_ioprio_set_wrapper)
Martin Schwidefskyd2013482005-08-01 21:11:34 -0700870 lgfr %r2,%r2 # int
871 lgfr %r3,%r3 # int
872 lgfr %r4,%r4 # int
873 jg sys_ioprio_set
874
Jan Glauber144d6342011-07-24 10:48:19 +0200875ENTRY(sys_ioprio_get_wrapper)
Martin Schwidefskyd2013482005-08-01 21:11:34 -0700876 lgfr %r2,%r2 # int
877 lgfr %r3,%r3 # int
878 jg sys_ioprio_get
879
Jan Glauber144d6342011-07-24 10:48:19 +0200880ENTRY(sys_inotify_add_watch_wrapper)
Martin Schwidefskyd2013482005-08-01 21:11:34 -0700881 lgfr %r2,%r2 # int
882 llgtr %r3,%r3 # const char *
883 llgfr %r4,%r4 # u32
884 jg sys_inotify_add_watch
885
Jan Glauber144d6342011-07-24 10:48:19 +0200886ENTRY(sys_inotify_rm_watch_wrapper)
Martin Schwidefskyd2013482005-08-01 21:11:34 -0700887 lgfr %r2,%r2 # int
888 llgfr %r3,%r3 # u32
889 jg sys_inotify_rm_watch
Heiko Carstens54dfe5d2006-02-01 03:06:38 -0800890
Jan Glauber144d6342011-07-24 10:48:19 +0200891ENTRY(sys_mkdirat_wrapper)
Heiko Carstens54dfe5d2006-02-01 03:06:38 -0800892 lgfr %r2,%r2 # int
893 llgtr %r3,%r3 # const char *
894 lgfr %r4,%r4 # int
895 jg sys_mkdirat
896
Jan Glauber144d6342011-07-24 10:48:19 +0200897ENTRY(sys_mknodat_wrapper)
Heiko Carstens54dfe5d2006-02-01 03:06:38 -0800898 lgfr %r2,%r2 # int
899 llgtr %r3,%r3 # const char *
900 lgfr %r4,%r4 # int
901 llgfr %r5,%r5 # unsigned int
902 jg sys_mknodat
903
Jan Glauber144d6342011-07-24 10:48:19 +0200904ENTRY(sys_fchownat_wrapper)
Heiko Carstens54dfe5d2006-02-01 03:06:38 -0800905 lgfr %r2,%r2 # int
906 llgtr %r3,%r3 # const char *
907 llgfr %r4,%r4 # uid_t
908 llgfr %r5,%r5 # gid_t
909 lgfr %r6,%r6 # int
910 jg sys_fchownat
911
Jan Glauber144d6342011-07-24 10:48:19 +0200912ENTRY(compat_sys_futimesat_wrapper)
Heiko Carstenscd2d2bf2006-02-03 03:03:52 -0800913 llgfr %r2,%r2 # unsigned int
Heiko Carstens54dfe5d2006-02-01 03:06:38 -0800914 llgtr %r3,%r3 # char *
915 llgtr %r4,%r4 # struct timeval *
916 jg compat_sys_futimesat
917
Jan Glauber144d6342011-07-24 10:48:19 +0200918ENTRY(sys_unlinkat_wrapper)
Heiko Carstens54dfe5d2006-02-01 03:06:38 -0800919 lgfr %r2,%r2 # int
920 llgtr %r3,%r3 # const char *
921 lgfr %r4,%r4 # int
922 jg sys_unlinkat
923
Jan Glauber144d6342011-07-24 10:48:19 +0200924ENTRY(sys_renameat_wrapper)
Heiko Carstens54dfe5d2006-02-01 03:06:38 -0800925 lgfr %r2,%r2 # int
926 llgtr %r3,%r3 # const char *
927 lgfr %r4,%r4 # int
928 llgtr %r5,%r5 # const char *
929 jg sys_renameat
930
Jan Glauber144d6342011-07-24 10:48:19 +0200931ENTRY(sys_linkat_wrapper)
Heiko Carstens54dfe5d2006-02-01 03:06:38 -0800932 lgfr %r2,%r2 # int
933 llgtr %r3,%r3 # const char *
934 lgfr %r4,%r4 # int
935 llgtr %r5,%r5 # const char *
Ulrich Drepperc04030e2006-02-24 13:04:21 -0800936 lgfr %r6,%r6 # int
Heiko Carstens54dfe5d2006-02-01 03:06:38 -0800937 jg sys_linkat
938
Jan Glauber144d6342011-07-24 10:48:19 +0200939ENTRY(sys_symlinkat_wrapper)
Heiko Carstens54dfe5d2006-02-01 03:06:38 -0800940 llgtr %r2,%r2 # const char *
941 lgfr %r3,%r3 # int
942 llgtr %r4,%r4 # const char *
943 jg sys_symlinkat
944
Jan Glauber144d6342011-07-24 10:48:19 +0200945ENTRY(sys_readlinkat_wrapper)
Heiko Carstens54dfe5d2006-02-01 03:06:38 -0800946 lgfr %r2,%r2 # int
947 llgtr %r3,%r3 # const char *
948 llgtr %r4,%r4 # char *
949 lgfr %r5,%r5 # int
950 jg sys_readlinkat
951
Jan Glauber144d6342011-07-24 10:48:19 +0200952ENTRY(sys_fchmodat_wrapper)
Heiko Carstens54dfe5d2006-02-01 03:06:38 -0800953 lgfr %r2,%r2 # int
954 llgtr %r3,%r3 # const char *
955 llgfr %r4,%r4 # mode_t
956 jg sys_fchmodat
957
Jan Glauber144d6342011-07-24 10:48:19 +0200958ENTRY(sys_faccessat_wrapper)
Heiko Carstens54dfe5d2006-02-01 03:06:38 -0800959 lgfr %r2,%r2 # int
960 llgtr %r3,%r3 # const char *
961 lgfr %r4,%r4 # int
962 jg sys_faccessat
963
Jan Glauber144d6342011-07-24 10:48:19 +0200964ENTRY(compat_sys_pselect6_wrapper)
Heiko Carstens54dfe5d2006-02-01 03:06:38 -0800965 lgfr %r2,%r2 # int
966 llgtr %r3,%r3 # fd_set *
967 llgtr %r4,%r4 # fd_set *
968 llgtr %r5,%r5 # fd_set *
969 llgtr %r6,%r6 # struct timespec *
970 llgt %r0,164(%r15) # void *
971 stg %r0,160(%r15)
972 jg compat_sys_pselect6
973
Jan Glauber144d6342011-07-24 10:48:19 +0200974ENTRY(compat_sys_ppoll_wrapper)
Heiko Carstens54dfe5d2006-02-01 03:06:38 -0800975 llgtr %r2,%r2 # struct pollfd *
976 llgfr %r3,%r3 # unsigned int
977 llgtr %r4,%r4 # struct timespec *
978 llgtr %r5,%r5 # const sigset_t *
979 llgfr %r6,%r6 # size_t
980 jg compat_sys_ppoll
Heiko Carstense7684272006-02-11 17:56:02 -0800981
Jan Glauber144d6342011-07-24 10:48:19 +0200982ENTRY(sys_unshare_wrapper)
Heiko Carstense7684272006-02-11 17:56:02 -0800983 llgfr %r2,%r2 # unsigned long
984 jg sys_unshare
Martin Schwidefskya3266a92006-04-27 18:40:33 -0700985
Jan Glauber144d6342011-07-24 10:48:19 +0200986ENTRY(sys_splice_wrapper)
Martin Schwidefskya3266a92006-04-27 18:40:33 -0700987 lgfr %r2,%r2 # int
988 llgtr %r3,%r3 # loff_t *
989 lgfr %r4,%r4 # int
990 llgtr %r5,%r5 # loff_t *
991 llgfr %r6,%r6 # size_t
992 llgf %r0,164(%r15) # unsigned int
993 stg %r0,160(%r15)
994 jg sys_splice
995
Jan Glauber144d6342011-07-24 10:48:19 +0200996ENTRY(sys_sync_file_range_wrapper)
Martin Schwidefskya3266a92006-04-27 18:40:33 -0700997 lgfr %r2,%r2 # int
998 sllg %r3,%r3,32 # get high word of 64bit loff_t
999 or %r3,%r4 # get low word of 64bit loff_t
1000 sllg %r4,%r5,32 # get high word of 64bit loff_t
1001 or %r4,%r6 # get low word of 64bit loff_t
1002 llgf %r5,164(%r15) # unsigned int
1003 jg sys_sync_file_range
1004
Jan Glauber144d6342011-07-24 10:48:19 +02001005ENTRY(sys_tee_wrapper)
Martin Schwidefskya3266a92006-04-27 18:40:33 -07001006 lgfr %r2,%r2 # int
1007 lgfr %r3,%r3 # int
1008 llgfr %r4,%r4 # size_t
1009 llgfr %r5,%r5 # unsigned int
1010 jg sys_tee
Martin Schwidefsky01596772006-05-15 09:44:05 -07001011
Jan Glauber144d6342011-07-24 10:48:19 +02001012ENTRY(sys_getcpu_wrapper)
Heiko Carstens8abfe012006-10-04 20:02:09 +02001013 llgtr %r2,%r2 # unsigned *
1014 llgtr %r3,%r3 # unsigned *
1015 llgtr %r4,%r4 # struct getcpu_cache *
Paul Mundtf4880392006-10-27 12:39:10 +02001016 jg sys_getcpu
Heiko Carstens10c16a32007-03-19 13:18:56 +01001017
Jan Glauber144d6342011-07-24 10:48:19 +02001018ENTRY(compat_sys_utimes_wrapper)
Heiko Carstensfb1c1712007-03-19 13:19:07 +01001019 llgtr %r2,%r2 # char *
1020 llgtr %r3,%r3 # struct compat_timeval *
1021 jg compat_sys_utimes
Heiko Carstensfd5d8bf2007-05-21 11:25:20 +02001022
Jan Glauber144d6342011-07-24 10:48:19 +02001023ENTRY(compat_sys_utimensat_wrapper)
Heiko Carstensfd5d8bf2007-05-21 11:25:20 +02001024 llgfr %r2,%r2 # unsigned int
1025 llgtr %r3,%r3 # char *
1026 llgtr %r4,%r4 # struct compat_timespec *
1027 lgfr %r5,%r5 # int
1028 jg compat_sys_utimensat
Heiko Carstens913f11ee2007-05-21 11:25:21 +02001029
Jan Glauber144d6342011-07-24 10:48:19 +02001030ENTRY(sys_eventfd_wrapper)
Heiko Carstens913f11ee2007-05-21 11:25:21 +02001031 llgfr %r2,%r2 # unsigned int
1032 jg sys_eventfd
Martin Schwidefsky7a8e0c82007-07-27 12:29:16 +02001033
Jan Glauber144d6342011-07-24 10:48:19 +02001034ENTRY(sys_fallocate_wrapper)
Martin Schwidefsky7a8e0c82007-07-27 12:29:16 +02001035 lgfr %r2,%r2 # int
1036 lgfr %r3,%r3 # int
1037 sllg %r4,%r4,32 # get high word of 64bit loff_t
1038 lr %r4,%r5 # get low word of 64bit loff_t
1039 sllg %r5,%r6,32 # get high word of 64bit loff_t
1040 l %r5,164(%r15) # get low word of 64bit loff_t
1041 jg sys_fallocate
Heiko Carstens1ee92a12008-02-09 18:24:28 +01001042
Jan Glauber144d6342011-07-24 10:48:19 +02001043ENTRY(sys_timerfd_create_wrapper)
Heiko Carstens1ee92a12008-02-09 18:24:28 +01001044 lgfr %r2,%r2 # int
1045 lgfr %r3,%r3 # int
1046 jg sys_timerfd_create
1047
Jan Glauber144d6342011-07-24 10:48:19 +02001048ENTRY(sys_eventfd2_wrapper)
Heiko Carstens519620c2008-08-01 16:39:15 +02001049 llgfr %r2,%r2 # unsigned int
1050 lgfr %r3,%r3 # int
1051 jg sys_eventfd2
1052
Jan Glauber144d6342011-07-24 10:48:19 +02001053ENTRY(sys_inotify_init1_wrapper)
Heiko Carstens519620c2008-08-01 16:39:15 +02001054 lgfr %r2,%r2 # int
1055 jg sys_inotify_init1
1056
Jan Glauber144d6342011-07-24 10:48:19 +02001057ENTRY(sys_pipe2_wrapper)
Heiko Carstens519620c2008-08-01 16:39:15 +02001058 llgtr %r2,%r2 # u32 *
1059 lgfr %r3,%r3 # int
1060 jg sys_pipe2 # branch to system call
1061
Jan Glauber144d6342011-07-24 10:48:19 +02001062ENTRY(sys_dup3_wrapper)
Heiko Carstens519620c2008-08-01 16:39:15 +02001063 llgfr %r2,%r2 # unsigned int
1064 llgfr %r3,%r3 # unsigned int
1065 lgfr %r4,%r4 # int
1066 jg sys_dup3 # branch to system call
1067
Jan Glauber144d6342011-07-24 10:48:19 +02001068ENTRY(sys_epoll_create1_wrapper)
Heiko Carstens519620c2008-08-01 16:39:15 +02001069 lgfr %r2,%r2 # int
1070 jg sys_epoll_create1 # branch to system call
Michael Holzheue34a6282009-01-23 16:40:27 +01001071
Jan Glauber144d6342011-07-24 10:48:19 +02001072ENTRY(sys_tkill_wrapper)
Michael Holzheue34a6282009-01-23 16:40:27 +01001073 lgfr %r2,%r2 # pid_t
1074 lgfr %r3,%r3 # int
1075 jg sys_tkill # branch to system call
1076
Jan Glauber144d6342011-07-24 10:48:19 +02001077ENTRY(sys_tgkill_wrapper)
Michael Holzheue34a6282009-01-23 16:40:27 +01001078 lgfr %r2,%r2 # pid_t
1079 lgfr %r3,%r3 # pid_t
1080 lgfr %r4,%r4 # int
1081 jg sys_tgkill # branch to system call
1082
Jan Glauber144d6342011-07-24 10:48:19 +02001083ENTRY(compat_sys_keyctl_wrapper)
Michael Holzheue34a6282009-01-23 16:40:27 +01001084 llgfr %r2,%r2 # u32
1085 llgfr %r3,%r3 # u32
1086 llgfr %r4,%r4 # u32
1087 llgfr %r5,%r5 # u32
1088 llgfr %r6,%r6 # u32
1089 jg compat_sys_keyctl # branch to system call
Heiko Carstensa93e11f2009-04-14 15:36:17 +02001090
Jan Glauber144d6342011-07-24 10:48:19 +02001091ENTRY(sys_perf_event_open_wrapper)
Ingo Molnarcdd6c482009-09-21 12:02:48 +02001092 llgtr %r2,%r2 # const struct perf_event_attr *
Heiko Carstens310d6b62009-06-12 10:26:49 +02001093 lgfr %r3,%r3 # pid_t
1094 lgfr %r4,%r4 # int
1095 lgfr %r5,%r5 # int
1096 llgfr %r6,%r6 # unsigned long
Ingo Molnarcdd6c482009-09-21 12:02:48 +02001097 jg sys_perf_event_open # branch to system call
Heiko Carstens2d70ca22009-09-22 22:58:41 +02001098
Jan Glauber144d6342011-07-24 10:48:19 +02001099ENTRY(sys_clone_wrapper)
Heiko Carstens2d70ca22009-09-22 22:58:41 +02001100 llgfr %r2,%r2 # unsigned long
1101 llgfr %r3,%r3 # unsigned long
1102 llgtr %r4,%r4 # int *
1103 llgtr %r5,%r5 # int *
1104 jg sys_clone # branch to system call
Heiko Carstens3e86a8c2009-09-22 22:58:42 +02001105
Jan Glauber144d6342011-07-24 10:48:19 +02001106ENTRY(sys32_execve_wrapper)
Heiko Carstens3e86a8c2009-09-22 22:58:42 +02001107 llgtr %r2,%r2 # char *
1108 llgtr %r3,%r3 # compat_uptr_t *
1109 llgtr %r4,%r4 # compat_uptr_t *
Al Viro65f22a92012-09-06 15:48:11 -04001110 jg compat_sys_execve # branch to system call
Heiko Carstensb47ac632010-08-13 10:06:41 +02001111
Jan Glauber144d6342011-07-24 10:48:19 +02001112ENTRY(sys_fanotify_init_wrapper)
Heiko Carstensb47ac632010-08-13 10:06:41 +02001113 llgfr %r2,%r2 # unsigned int
1114 llgfr %r3,%r3 # unsigned int
1115 jg sys_fanotify_init # branch to system call
1116
Jan Glauber144d6342011-07-24 10:48:19 +02001117ENTRY(sys_prlimit64_wrapper)
Heiko Carstensb47ac632010-08-13 10:06:41 +02001118 lgfr %r2,%r2 # pid_t
1119 llgfr %r3,%r3 # unsigned int
1120 llgtr %r4,%r4 # const struct rlimit64 __user *
1121 llgtr %r5,%r5 # struct rlimit64 __user *
1122 jg sys_prlimit64 # branch to system call
Heiko Carstens737fd5f2011-03-23 10:15:55 +01001123
Jan Glauber144d6342011-07-24 10:48:19 +02001124ENTRY(sys_name_to_handle_at_wrapper)
Heiko Carstens737fd5f2011-03-23 10:15:55 +01001125 lgfr %r2,%r2 # int
1126 llgtr %r3,%r3 # const char __user *
1127 llgtr %r4,%r4 # struct file_handle __user *
1128 llgtr %r5,%r5 # int __user *
1129 lgfr %r6,%r6 # int
1130 jg sys_name_to_handle_at
Heiko Carstens50694962011-03-23 10:15:56 +01001131
Jan Glauber144d6342011-07-24 10:48:19 +02001132ENTRY(compat_sys_clock_adjtime_wrapper)
Heiko Carstens26e8a332011-03-23 10:15:57 +01001133 lgfr %r2,%r2 # clockid_t (int)
1134 llgtr %r3,%r3 # struct compat_timex __user *
1135 jg compat_sys_clock_adjtime
Heiko Carstensd0d2e312011-03-23 10:15:58 +01001136
Jan Glauber144d6342011-07-24 10:48:19 +02001137ENTRY(sys_syncfs_wrapper)
Heiko Carstensd0d2e312011-03-23 10:15:58 +01001138 lgfr %r2,%r2 # int
1139 jg sys_syncfs
Eric W. Biederman7b21fdd2011-05-27 19:28:27 -07001140
Jan Glauber017ec182011-10-30 15:16:09 +01001141ENTRY(sys_setns_wrapper)
Eric W. Biederman7b21fdd2011-05-27 19:28:27 -07001142 lgfr %r2,%r2 # int
1143 lgfr %r3,%r3 # int
1144 jg sys_setns
Heiko Carstens800252972011-11-14 11:18:59 +01001145
1146ENTRY(compat_sys_process_vm_readv_wrapper)
1147 lgfr %r2,%r2 # compat_pid_t
1148 llgtr %r3,%r3 # struct compat_iovec __user *
1149 llgfr %r4,%r4 # unsigned long
1150 llgtr %r5,%r5 # struct compat_iovec __user *
1151 llgfr %r6,%r6 # unsigned long
1152 llgf %r0,164(%r15) # unsigned long
1153 stg %r0,160(%r15)
Heiko Carstens82aabdb2012-08-07 09:48:13 +02001154 jg compat_sys_process_vm_readv
Heiko Carstens800252972011-11-14 11:18:59 +01001155
1156ENTRY(compat_sys_process_vm_writev_wrapper)
1157 lgfr %r2,%r2 # compat_pid_t
1158 llgtr %r3,%r3 # struct compat_iovec __user *
1159 llgfr %r4,%r4 # unsigned long
1160 llgtr %r5,%r5 # struct compat_iovec __user *
1161 llgfr %r6,%r6 # unsigned long
1162 llgf %r0,164(%r15) # unsigned long
1163 stg %r0,160(%r15)
Heiko Carstens82aabdb2012-08-07 09:48:13 +02001164 jg compat_sys_process_vm_writev
Jan Glaubere4b8b3f2012-07-31 10:52:05 +02001165
1166ENTRY(sys_s390_runtime_instr_wrapper)
1167 lgfr %r2,%r2 # int
1168 lgfr %r3,%r3 # int
1169 jg sys_s390_runtime_instr
Heiko Carstensc0162b02012-09-13 15:55:38 +02001170
1171ENTRY(sys_kcmp_wrapper)
1172 lgfr %r2,%r2 # pid_t
1173 lgfr %r3,%r3 # pid_t
1174 lgfr %r4,%r4 # int
1175 llgfr %r5,%r5 # unsigned long
1176 llgfr %r6,%r6 # unsigned long
1177 jg sys_kcmp
Heiko Carstens1427add2012-12-27 13:03:15 +01001178
1179ENTRY(sys_finit_module_wrapper)
1180 lgfr %r2,%r2 # int
1181 llgtr %r3,%r3 # const char __user *
1182 lgfr %r4,%r4 # int
1183 jg sys_finit_module
Heiko Carstensfded4322014-01-22 12:52:38 +01001184
1185ENTRY(sys_sched_setattr_wrapper)
1186 lgfr %r2,%r2 # pid_t
1187 llgtr %r3,%r3 # struct sched_attr __user *
1188 jg sys_sched_setattr
1189
1190ENTRY(sys_sched_getattr_wrapper)
1191 lgfr %r2,%r2 # pid_t
1192 llgtr %r3,%r3 # const char __user *
Heiko Carstens423edb62014-02-10 13:15:28 +01001193 llgfr %r4,%r4 # unsigned int
Heiko Carstensfded4322014-01-22 12:52:38 +01001194 jg sys_sched_getattr