blob: c14faf39ae36daafdd1bee5db4f476cc334b78bf [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
11ENTRY(sys32_exit_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -070012 lgfr %r2,%r2 # int
13 jg sys_exit # branch to sys_exit
Heiko Carstens25d83cb2006-09-28 16:56:37 +020014
Jan Glauber144d6342011-07-24 10:48:19 +020015ENTRY(sys32_read_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -070016 llgfr %r2,%r2 # unsigned int
17 llgtr %r3,%r3 # char *
18 llgfr %r4,%r4 # size_t
19 jg sys32_read # branch to sys_read
20
Jan Glauber144d6342011-07-24 10:48:19 +020021ENTRY(sys32_write_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -070022 llgfr %r2,%r2 # unsigned int
23 llgtr %r3,%r3 # const char *
24 llgfr %r4,%r4 # size_t
25 jg sys32_write # branch to system call
26
Jan Glauber144d6342011-07-24 10:48:19 +020027ENTRY(sys32_close_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -070028 llgfr %r2,%r2 # unsigned int
29 jg sys_close # branch to system call
30
Jan Glauber144d6342011-07-24 10:48:19 +020031ENTRY(sys32_creat_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -070032 llgtr %r2,%r2 # const char *
33 lgfr %r3,%r3 # int
34 jg sys_creat # branch to system call
35
Jan Glauber144d6342011-07-24 10:48:19 +020036ENTRY(sys32_link_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -070037 llgtr %r2,%r2 # const char *
38 llgtr %r3,%r3 # const char *
39 jg sys_link # branch to system call
40
Jan Glauber144d6342011-07-24 10:48:19 +020041ENTRY(sys32_unlink_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -070042 llgtr %r2,%r2 # const char *
43 jg sys_unlink # branch to system call
44
Jan Glauber144d6342011-07-24 10:48:19 +020045ENTRY(sys32_chdir_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -070046 llgtr %r2,%r2 # const char *
47 jg sys_chdir # branch to system call
48
Jan Glauber144d6342011-07-24 10:48:19 +020049ENTRY(sys32_time_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -070050 llgtr %r2,%r2 # int *
51 jg compat_sys_time # branch to system call
52
Jan Glauber144d6342011-07-24 10:48:19 +020053ENTRY(sys32_mknod_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -070054 llgtr %r2,%r2 # const char *
Heiko Carstens25d83cb2006-09-28 16:56:37 +020055 lgfr %r3,%r3 # int
Linus Torvalds1da177e2005-04-16 15:20:36 -070056 llgfr %r4,%r4 # dev
57 jg sys_mknod # branch to system call
58
Jan Glauber144d6342011-07-24 10:48:19 +020059ENTRY(sys32_chmod_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -070060 llgtr %r2,%r2 # const char *
61 llgfr %r3,%r3 # mode_t
62 jg sys_chmod # branch to system call
63
Jan Glauber144d6342011-07-24 10:48:19 +020064ENTRY(sys32_lchown16_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -070065 llgtr %r2,%r2 # const char *
Heiko Carstens25d83cb2006-09-28 16:56:37 +020066 llgfr %r3,%r3 # __kernel_old_uid_emu31_t
67 llgfr %r4,%r4 # __kernel_old_uid_emu31_t
Linus Torvalds1da177e2005-04-16 15:20:36 -070068 jg sys32_lchown16 # branch to system call
69
Jan Glauber144d6342011-07-24 10:48:19 +020070ENTRY(sys32_lseek_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -070071 llgfr %r2,%r2 # unsigned int
72 lgfr %r3,%r3 # off_t
73 llgfr %r4,%r4 # unsigned int
74 jg sys_lseek # branch to system call
75
Heiko Carstens25d83cb2006-09-28 16:56:37 +020076#sys32_getpid_wrapper # void
Linus Torvalds1da177e2005-04-16 15:20:36 -070077
Jan Glauber144d6342011-07-24 10:48:19 +020078ENTRY(sys32_mount_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -070079 llgtr %r2,%r2 # char *
80 llgtr %r3,%r3 # char *
81 llgtr %r4,%r4 # char *
82 llgfr %r5,%r5 # unsigned long
83 llgtr %r6,%r6 # void *
84 jg compat_sys_mount # branch to system call
85
Jan Glauber144d6342011-07-24 10:48:19 +020086ENTRY(sys32_oldumount_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -070087 llgtr %r2,%r2 # char *
88 jg sys_oldumount # branch to system call
89
Jan Glauber144d6342011-07-24 10:48:19 +020090ENTRY(sys32_setuid16_wrapper)
Heiko Carstens25d83cb2006-09-28 16:56:37 +020091 llgfr %r2,%r2 # __kernel_old_uid_emu31_t
Linus Torvalds1da177e2005-04-16 15:20:36 -070092 jg sys32_setuid16 # branch to system call
93
Heiko Carstens25d83cb2006-09-28 16:56:37 +020094#sys32_getuid16_wrapper # void
Linus Torvalds1da177e2005-04-16 15:20:36 -070095
Jan Glauber144d6342011-07-24 10:48:19 +020096ENTRY(sys32_ptrace_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -070097 lgfr %r2,%r2 # long
98 lgfr %r3,%r3 # long
99 llgtr %r4,%r4 # long
100 llgfr %r5,%r5 # long
Roland McGrathb499d762008-05-07 09:22:57 +0200101 jg compat_sys_ptrace # branch to system call
Linus Torvalds1da177e2005-04-16 15:20:36 -0700102
Jan Glauber144d6342011-07-24 10:48:19 +0200103ENTRY(sys32_alarm_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -0700104 llgfr %r2,%r2 # unsigned int
105 jg sys_alarm # branch to system call
106
Jan Glauber144d6342011-07-24 10:48:19 +0200107ENTRY(compat_sys_utime_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -0700108 llgtr %r2,%r2 # char *
109 llgtr %r3,%r3 # struct compat_utimbuf *
110 jg compat_sys_utime # branch to system call
111
Jan Glauber144d6342011-07-24 10:48:19 +0200112ENTRY(sys32_access_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -0700113 llgtr %r2,%r2 # const char *
114 lgfr %r3,%r3 # int
115 jg sys_access # branch to system call
116
Jan Glauber144d6342011-07-24 10:48:19 +0200117ENTRY(sys32_nice_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -0700118 lgfr %r2,%r2 # int
119 jg sys_nice # branch to system call
120
Heiko Carstens25d83cb2006-09-28 16:56:37 +0200121#sys32_sync_wrapper # void
Linus Torvalds1da177e2005-04-16 15:20:36 -0700122
Jan Glauber144d6342011-07-24 10:48:19 +0200123ENTRY(sys32_kill_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -0700124 lgfr %r2,%r2 # int
125 lgfr %r3,%r3 # int
126 jg sys_kill # branch to system call
127
Jan Glauber144d6342011-07-24 10:48:19 +0200128ENTRY(sys32_rename_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -0700129 llgtr %r2,%r2 # const char *
130 llgtr %r3,%r3 # const char *
131 jg sys_rename # branch to system call
132
Jan Glauber144d6342011-07-24 10:48:19 +0200133ENTRY(sys32_mkdir_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -0700134 llgtr %r2,%r2 # const char *
135 lgfr %r3,%r3 # int
136 jg sys_mkdir # branch to system call
137
Jan Glauber144d6342011-07-24 10:48:19 +0200138ENTRY(sys32_rmdir_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -0700139 llgtr %r2,%r2 # const char *
140 jg sys_rmdir # branch to system call
141
Jan Glauber144d6342011-07-24 10:48:19 +0200142ENTRY(sys32_dup_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -0700143 llgfr %r2,%r2 # unsigned int
144 jg sys_dup # branch to system call
145
Jan Glauber144d6342011-07-24 10:48:19 +0200146ENTRY(sys32_pipe_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -0700147 llgtr %r2,%r2 # u32 *
148 jg sys_pipe # branch to system call
149
Jan Glauber144d6342011-07-24 10:48:19 +0200150ENTRY(compat_sys_times_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -0700151 llgtr %r2,%r2 # struct compat_tms *
152 jg compat_sys_times # branch to system call
153
Jan Glauber144d6342011-07-24 10:48:19 +0200154ENTRY(sys32_brk_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -0700155 llgtr %r2,%r2 # unsigned long
156 jg sys_brk # branch to system call
157
Jan Glauber144d6342011-07-24 10:48:19 +0200158ENTRY(sys32_setgid16_wrapper)
Heiko Carstens25d83cb2006-09-28 16:56:37 +0200159 llgfr %r2,%r2 # __kernel_old_gid_emu31_t
Linus Torvalds1da177e2005-04-16 15:20:36 -0700160 jg sys32_setgid16 # branch to system call
161
Heiko Carstens25d83cb2006-09-28 16:56:37 +0200162#sys32_getgid16_wrapper # void
Linus Torvalds1da177e2005-04-16 15:20:36 -0700163
Jan Glauber144d6342011-07-24 10:48:19 +0200164ENTRY(sys32_signal_wrapper)
Heiko Carstens25d83cb2006-09-28 16:56:37 +0200165 lgfr %r2,%r2 # int
Linus Torvalds1da177e2005-04-16 15:20:36 -0700166 llgtr %r3,%r3 # __sighandler_t
167 jg sys_signal
168
Heiko Carstens25d83cb2006-09-28 16:56:37 +0200169#sys32_geteuid16_wrapper # void
Linus Torvalds1da177e2005-04-16 15:20:36 -0700170
Heiko Carstens25d83cb2006-09-28 16:56:37 +0200171#sys32_getegid16_wrapper # void
Linus Torvalds1da177e2005-04-16 15:20:36 -0700172
Jan Glauber144d6342011-07-24 10:48:19 +0200173ENTRY(sys32_acct_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -0700174 llgtr %r2,%r2 # char *
175 jg sys_acct # branch to system call
176
Jan Glauber144d6342011-07-24 10:48:19 +0200177ENTRY(sys32_umount_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -0700178 llgtr %r2,%r2 # char *
179 lgfr %r3,%r3 # int
180 jg sys_umount # branch to system call
181
Jan Glauber144d6342011-07-24 10:48:19 +0200182ENTRY(compat_sys_ioctl_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -0700183 llgfr %r2,%r2 # unsigned int
184 llgfr %r3,%r3 # unsigned int
185 llgfr %r4,%r4 # unsigned int
186 jg compat_sys_ioctl # branch to system call
187
Jan Glauber144d6342011-07-24 10:48:19 +0200188ENTRY(compat_sys_fcntl_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -0700189 llgfr %r2,%r2 # unsigned int
Heiko Carstens25d83cb2006-09-28 16:56:37 +0200190 llgfr %r3,%r3 # unsigned int
Linus Torvalds1da177e2005-04-16 15:20:36 -0700191 llgfr %r4,%r4 # unsigned long
192 jg compat_sys_fcntl # branch to system call
193
Jan Glauber144d6342011-07-24 10:48:19 +0200194ENTRY(sys32_setpgid_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -0700195 lgfr %r2,%r2 # pid_t
196 lgfr %r3,%r3 # pid_t
197 jg sys_setpgid # branch to system call
198
Jan Glauber144d6342011-07-24 10:48:19 +0200199ENTRY(sys32_umask_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -0700200 lgfr %r2,%r2 # int
201 jg sys_umask # branch to system call
202
Jan Glauber144d6342011-07-24 10:48:19 +0200203ENTRY(sys32_chroot_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -0700204 llgtr %r2,%r2 # char *
205 jg sys_chroot # branch to system call
206
Jan Glauber144d6342011-07-24 10:48:19 +0200207ENTRY(sys32_ustat_wrapper)
Heiko Carstens25d83cb2006-09-28 16:56:37 +0200208 llgfr %r2,%r2 # dev_t
Linus Torvalds1da177e2005-04-16 15:20:36 -0700209 llgtr %r3,%r3 # struct ustat *
Christoph Hellwig2b1c6bd2008-11-28 10:09:09 +0100210 jg compat_sys_ustat
Linus Torvalds1da177e2005-04-16 15:20:36 -0700211
Jan Glauber144d6342011-07-24 10:48:19 +0200212ENTRY(sys32_dup2_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -0700213 llgfr %r2,%r2 # unsigned int
214 llgfr %r3,%r3 # unsigned int
215 jg sys_dup2 # branch to system call
216
Heiko Carstens25d83cb2006-09-28 16:56:37 +0200217#sys32_getppid_wrapper # void
Linus Torvalds1da177e2005-04-16 15:20:36 -0700218
Heiko Carstens25d83cb2006-09-28 16:56:37 +0200219#sys32_getpgrp_wrapper # void
Linus Torvalds1da177e2005-04-16 15:20:36 -0700220
Heiko Carstens25d83cb2006-09-28 16:56:37 +0200221#sys32_setsid_wrapper # void
Linus Torvalds1da177e2005-04-16 15:20:36 -0700222
Jan Glauber144d6342011-07-24 10:48:19 +0200223ENTRY(sys32_setreuid16_wrapper)
Heiko Carstens25d83cb2006-09-28 16:56:37 +0200224 llgfr %r2,%r2 # __kernel_old_uid_emu31_t
225 llgfr %r3,%r3 # __kernel_old_uid_emu31_t
Linus Torvalds1da177e2005-04-16 15:20:36 -0700226 jg sys32_setreuid16 # branch to system call
227
Jan Glauber144d6342011-07-24 10:48:19 +0200228ENTRY(sys32_setregid16_wrapper)
Heiko Carstens25d83cb2006-09-28 16:56:37 +0200229 llgfr %r2,%r2 # __kernel_old_gid_emu31_t
230 llgfr %r3,%r3 # __kernel_old_gid_emu31_t
Linus Torvalds1da177e2005-04-16 15:20:36 -0700231 jg sys32_setregid16 # branch to system call
232
Jan Glauber144d6342011-07-24 10:48:19 +0200233ENTRY(sys_sigsuspend_wrapper)
Heiko Carstens54dfe5d2006-02-01 03:06:38 -0800234 lgfr %r2,%r2 # int
235 lgfr %r3,%r3 # int
236 llgfr %r4,%r4 # old_sigset_t
237 jg sys_sigsuspend
Linus Torvalds1da177e2005-04-16 15:20:36 -0700238
Jan Glauber144d6342011-07-24 10:48:19 +0200239ENTRY(compat_sys_sigpending_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -0700240 llgtr %r2,%r2 # compat_old_sigset_t *
241 jg compat_sys_sigpending # branch to system call
242
Jan Glauber144d6342011-07-24 10:48:19 +0200243ENTRY(sys32_sethostname_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -0700244 llgtr %r2,%r2 # char *
245 lgfr %r3,%r3 # int
246 jg sys_sethostname # branch to system call
247
Jan Glauber144d6342011-07-24 10:48:19 +0200248ENTRY(compat_sys_setrlimit_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -0700249 llgfr %r2,%r2 # unsigned int
250 llgtr %r3,%r3 # struct rlimit_emu31 *
251 jg compat_sys_setrlimit # branch to system call
252
Jan Glauber144d6342011-07-24 10:48:19 +0200253ENTRY(compat_sys_old_getrlimit_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -0700254 llgfr %r2,%r2 # unsigned int
255 llgtr %r3,%r3 # struct rlimit_emu31 *
256 jg compat_sys_old_getrlimit # branch to system call
257
Jan Glauber144d6342011-07-24 10:48:19 +0200258ENTRY(compat_sys_getrlimit_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -0700259 llgfr %r2,%r2 # unsigned int
260 llgtr %r3,%r3 # struct rlimit_emu31 *
261 jg compat_sys_getrlimit # branch to system call
262
Jan Glauber144d6342011-07-24 10:48:19 +0200263ENTRY(sys32_mmap2_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -0700264 llgtr %r2,%r2 # struct mmap_arg_struct_emu31 *
265 jg sys32_mmap2 # branch to system call
266
Jan Glauber144d6342011-07-24 10:48:19 +0200267ENTRY(compat_sys_getrusage_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -0700268 lgfr %r2,%r2 # int
269 llgtr %r3,%r3 # struct rusage_emu31 *
270 jg compat_sys_getrusage # branch to system call
271
Jan Glauber144d6342011-07-24 10:48:19 +0200272ENTRY(compat_sys_gettimeofday_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -0700273 llgtr %r2,%r2 # struct timeval_emu31 *
274 llgtr %r3,%r3 # struct timezone *
Christoph Hellwigb418da12008-10-15 22:02:06 -0700275 jg compat_sys_gettimeofday # branch to system call
Linus Torvalds1da177e2005-04-16 15:20:36 -0700276
Jan Glauber144d6342011-07-24 10:48:19 +0200277ENTRY(compat_sys_settimeofday_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -0700278 llgtr %r2,%r2 # struct timeval_emu31 *
279 llgtr %r3,%r3 # struct timezone *
Christoph Hellwigb418da12008-10-15 22:02:06 -0700280 jg compat_sys_settimeofday # branch to system call
Linus Torvalds1da177e2005-04-16 15:20:36 -0700281
Jan Glauber144d6342011-07-24 10:48:19 +0200282ENTRY(sys32_getgroups16_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -0700283 lgfr %r2,%r2 # int
284 llgtr %r3,%r3 # __kernel_old_gid_emu31_t *
285 jg sys32_getgroups16 # branch to system call
286
Jan Glauber144d6342011-07-24 10:48:19 +0200287ENTRY(sys32_setgroups16_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -0700288 lgfr %r2,%r2 # int
289 llgtr %r3,%r3 # __kernel_old_gid_emu31_t *
290 jg sys32_setgroups16 # branch to system call
291
Jan Glauber144d6342011-07-24 10:48:19 +0200292ENTRY(sys32_symlink_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -0700293 llgtr %r2,%r2 # const char *
294 llgtr %r3,%r3 # const char *
295 jg sys_symlink # branch to system call
296
Jan Glauber144d6342011-07-24 10:48:19 +0200297ENTRY(sys32_readlink_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -0700298 llgtr %r2,%r2 # const char *
299 llgtr %r3,%r3 # char *
300 lgfr %r4,%r4 # int
301 jg sys_readlink # branch to system call
302
Jan Glauber144d6342011-07-24 10:48:19 +0200303ENTRY(sys32_uselib_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -0700304 llgtr %r2,%r2 # const char *
305 jg sys_uselib # branch to system call
306
Jan Glauber144d6342011-07-24 10:48:19 +0200307ENTRY(sys32_swapon_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -0700308 llgtr %r2,%r2 # const char *
309 lgfr %r3,%r3 # int
310 jg sys_swapon # branch to system call
311
Jan Glauber144d6342011-07-24 10:48:19 +0200312ENTRY(sys32_reboot_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -0700313 lgfr %r2,%r2 # int
314 lgfr %r3,%r3 # int
315 llgfr %r4,%r4 # unsigned int
316 llgtr %r5,%r5 # void *
317 jg sys_reboot # branch to system call
318
Jan Glauber144d6342011-07-24 10:48:19 +0200319ENTRY(old32_readdir_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -0700320 llgfr %r2,%r2 # unsigned int
321 llgtr %r3,%r3 # void *
322 llgfr %r4,%r4 # unsigned int
323 jg compat_sys_old_readdir # branch to system call
324
Jan Glauber144d6342011-07-24 10:48:19 +0200325ENTRY(old32_mmap_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -0700326 llgtr %r2,%r2 # struct mmap_arg_struct_emu31 *
327 jg old32_mmap # branch to system call
328
Jan Glauber144d6342011-07-24 10:48:19 +0200329ENTRY(sys32_munmap_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -0700330 llgfr %r2,%r2 # unsigned long
Heiko Carstens25d83cb2006-09-28 16:56:37 +0200331 llgfr %r3,%r3 # size_t
Linus Torvalds1da177e2005-04-16 15:20:36 -0700332 jg sys_munmap # branch to system call
333
Jan Glauber144d6342011-07-24 10:48:19 +0200334ENTRY(sys32_truncate_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -0700335 llgtr %r2,%r2 # const char *
Heiko Carstens593c4f72009-10-06 10:34:06 +0200336 lgfr %r3,%r3 # long
Linus Torvalds1da177e2005-04-16 15:20:36 -0700337 jg sys_truncate # branch to system call
338
Jan Glauber144d6342011-07-24 10:48:19 +0200339ENTRY(sys32_ftruncate_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -0700340 llgfr %r2,%r2 # unsigned int
341 llgfr %r3,%r3 # unsigned long
342 jg sys_ftruncate # branch to system call
343
Jan Glauber144d6342011-07-24 10:48:19 +0200344ENTRY(sys32_fchmod_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -0700345 llgfr %r2,%r2 # unsigned int
346 llgfr %r3,%r3 # mode_t
347 jg sys_fchmod # branch to system call
348
Jan Glauber144d6342011-07-24 10:48:19 +0200349ENTRY(sys32_fchown16_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -0700350 llgfr %r2,%r2 # unsigned int
351 llgfr %r3,%r3 # compat_uid_t
352 llgfr %r4,%r4 # compat_uid_t
353 jg sys32_fchown16 # branch to system call
354
Jan Glauber144d6342011-07-24 10:48:19 +0200355ENTRY(sys32_getpriority_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -0700356 lgfr %r2,%r2 # int
357 lgfr %r3,%r3 # int
358 jg sys_getpriority # branch to system call
359
Jan Glauber144d6342011-07-24 10:48:19 +0200360ENTRY(sys32_setpriority_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -0700361 lgfr %r2,%r2 # int
362 lgfr %r3,%r3 # int
363 lgfr %r4,%r4 # int
364 jg sys_setpriority # branch to system call
365
Jan Glauber144d6342011-07-24 10:48:19 +0200366ENTRY(compat_sys_statfs_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -0700367 llgtr %r2,%r2 # char *
368 llgtr %r3,%r3 # struct compat_statfs *
369 jg compat_sys_statfs # branch to system call
370
Jan Glauber144d6342011-07-24 10:48:19 +0200371ENTRY(compat_sys_fstatfs_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -0700372 llgfr %r2,%r2 # unsigned int
373 llgtr %r3,%r3 # struct compat_statfs *
374 jg compat_sys_fstatfs # branch to system call
375
Jan Glauber144d6342011-07-24 10:48:19 +0200376ENTRY(compat_sys_socketcall_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -0700377 lgfr %r2,%r2 # int
378 llgtr %r3,%r3 # u32 *
379 jg compat_sys_socketcall # branch to system call
380
Jan Glauber144d6342011-07-24 10:48:19 +0200381ENTRY(sys32_syslog_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -0700382 lgfr %r2,%r2 # int
383 llgtr %r3,%r3 # char *
384 lgfr %r4,%r4 # int
385 jg sys_syslog # branch to system call
386
Jan Glauber144d6342011-07-24 10:48:19 +0200387ENTRY(compat_sys_newstat_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -0700388 llgtr %r2,%r2 # char *
389 llgtr %r3,%r3 # struct stat_emu31 *
390 jg compat_sys_newstat # branch to system call
391
Jan Glauber144d6342011-07-24 10:48:19 +0200392ENTRY(compat_sys_newlstat_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -0700393 llgtr %r2,%r2 # char *
394 llgtr %r3,%r3 # struct stat_emu31 *
395 jg compat_sys_newlstat # branch to system call
396
Jan Glauber144d6342011-07-24 10:48:19 +0200397ENTRY(compat_sys_newfstat_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -0700398 llgfr %r2,%r2 # unsigned int
399 llgtr %r3,%r3 # struct stat_emu31 *
400 jg compat_sys_newfstat # branch to system call
401
Heiko Carstens25d83cb2006-09-28 16:56:37 +0200402#sys32_vhangup_wrapper # void
Linus Torvalds1da177e2005-04-16 15:20:36 -0700403
Jan Glauber144d6342011-07-24 10:48:19 +0200404ENTRY(sys32_swapoff_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -0700405 llgtr %r2,%r2 # const char *
406 jg sys_swapoff # branch to system call
407
Jan Glauber144d6342011-07-24 10:48:19 +0200408ENTRY(compat_sys_sysinfo_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -0700409 llgtr %r2,%r2 # struct sysinfo_emu31 *
Kyle McMartind4d23ad2007-02-10 01:46:00 -0800410 jg compat_sys_sysinfo # branch to system call
Linus Torvalds1da177e2005-04-16 15:20:36 -0700411
Jan Glauber144d6342011-07-24 10:48:19 +0200412ENTRY(sys32_ipc_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -0700413 llgfr %r2,%r2 # uint
414 lgfr %r3,%r3 # int
415 lgfr %r4,%r4 # int
416 lgfr %r5,%r5 # int
417 llgfr %r6,%r6 # u32
418 jg sys32_ipc # branch to system call
419
Jan Glauber144d6342011-07-24 10:48:19 +0200420ENTRY(sys32_fsync_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -0700421 llgfr %r2,%r2 # unsigned int
422 jg sys_fsync # branch to system call
423
Heiko Carstens25d83cb2006-09-28 16:56:37 +0200424#sys32_sigreturn_wrapper # done in sigreturn_glue
Linus Torvalds1da177e2005-04-16 15:20:36 -0700425
Heiko Carstens25d83cb2006-09-28 16:56:37 +0200426#sys32_clone_wrapper # done in clone_glue
Linus Torvalds1da177e2005-04-16 15:20:36 -0700427
Jan Glauber144d6342011-07-24 10:48:19 +0200428ENTRY(sys32_setdomainname_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -0700429 llgtr %r2,%r2 # char *
430 lgfr %r3,%r3 # int
431 jg sys_setdomainname # branch to system call
432
Jan Glauber144d6342011-07-24 10:48:19 +0200433ENTRY(sys32_newuname_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -0700434 llgtr %r2,%r2 # struct new_utsname *
Christoph Hellwige28cbf22010-03-10 15:21:19 -0800435 jg sys_newuname # branch to system call
Linus Torvalds1da177e2005-04-16 15:20:36 -0700436
Jan Glauber144d6342011-07-24 10:48:19 +0200437ENTRY(compat_sys_adjtimex_wrapper)
Stephen Rothwell3158e942006-03-26 01:37:29 -0800438 llgtr %r2,%r2 # struct compat_timex *
439 jg compat_sys_adjtimex # branch to system call
Linus Torvalds1da177e2005-04-16 15:20:36 -0700440
Jan Glauber144d6342011-07-24 10:48:19 +0200441ENTRY(sys32_mprotect_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -0700442 llgtr %r2,%r2 # unsigned long (actually pointer
443 llgfr %r3,%r3 # size_t
444 llgfr %r4,%r4 # unsigned long
445 jg sys_mprotect # branch to system call
446
Jan Glauber144d6342011-07-24 10:48:19 +0200447ENTRY(sys_init_module_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -0700448 llgtr %r2,%r2 # void *
449 llgfr %r3,%r3 # unsigned long
450 llgtr %r4,%r4 # char *
Heiko Carstens2e501952009-09-22 22:58:43 +0200451 jg sys_init_module # branch to system call
Linus Torvalds1da177e2005-04-16 15:20:36 -0700452
Jan Glauber144d6342011-07-24 10:48:19 +0200453ENTRY(sys_delete_module_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -0700454 llgtr %r2,%r2 # const char *
455 llgfr %r3,%r3 # unsigned int
Heiko Carstens2e501952009-09-22 22:58:43 +0200456 jg sys_delete_module # branch to system call
Linus Torvalds1da177e2005-04-16 15:20:36 -0700457
Jan Glauber144d6342011-07-24 10:48:19 +0200458ENTRY(sys32_quotactl_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -0700459 llgfr %r2,%r2 # unsigned int
460 llgtr %r3,%r3 # const char *
461 llgfr %r4,%r4 # qid_t
462 llgtr %r5,%r5 # caddr_t
463 jg sys_quotactl # branch to system call
464
Jan Glauber144d6342011-07-24 10:48:19 +0200465ENTRY(sys32_getpgid_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -0700466 lgfr %r2,%r2 # pid_t
467 jg sys_getpgid # branch to system call
468
Jan Glauber144d6342011-07-24 10:48:19 +0200469ENTRY(sys32_fchdir_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -0700470 llgfr %r2,%r2 # unsigned int
471 jg sys_fchdir # branch to system call
472
Jan Glauber144d6342011-07-24 10:48:19 +0200473ENTRY(sys32_bdflush_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -0700474 lgfr %r2,%r2 # int
475 lgfr %r3,%r3 # long
476 jg sys_bdflush # branch to system call
477
Jan Glauber144d6342011-07-24 10:48:19 +0200478ENTRY(sys32_sysfs_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -0700479 lgfr %r2,%r2 # int
480 llgfr %r3,%r3 # unsigned long
481 llgfr %r4,%r4 # unsigned long
482 jg sys_sysfs # branch to system call
483
Jan Glauber144d6342011-07-24 10:48:19 +0200484ENTRY(sys32_personality_wrapper)
Heiko Carstens3a110372010-08-13 10:06:39 +0200485 llgfr %r2,%r2 # unsigned int
Heiko Carstens26689452009-01-14 14:14:36 +0100486 jg sys_s390_personality # branch to system call
Linus Torvalds1da177e2005-04-16 15:20:36 -0700487
Jan Glauber144d6342011-07-24 10:48:19 +0200488ENTRY(sys32_setfsuid16_wrapper)
Heiko Carstens25d83cb2006-09-28 16:56:37 +0200489 llgfr %r2,%r2 # __kernel_old_uid_emu31_t
Linus Torvalds1da177e2005-04-16 15:20:36 -0700490 jg sys32_setfsuid16 # branch to system call
491
Jan Glauber144d6342011-07-24 10:48:19 +0200492ENTRY(sys32_setfsgid16_wrapper)
Heiko Carstens25d83cb2006-09-28 16:56:37 +0200493 llgfr %r2,%r2 # __kernel_old_gid_emu31_t
Linus Torvalds1da177e2005-04-16 15:20:36 -0700494 jg sys32_setfsgid16 # branch to system call
495
Jan Glauber144d6342011-07-24 10:48:19 +0200496ENTRY(sys32_llseek_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -0700497 llgfr %r2,%r2 # unsigned int
498 llgfr %r3,%r3 # unsigned long
499 llgfr %r4,%r4 # unsigned long
500 llgtr %r5,%r5 # loff_t *
501 llgfr %r6,%r6 # unsigned int
502 jg sys_llseek # branch to system call
503
Jan Glauber144d6342011-07-24 10:48:19 +0200504ENTRY(sys32_getdents_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -0700505 llgfr %r2,%r2 # unsigned int
506 llgtr %r3,%r3 # void *
507 llgfr %r4,%r4 # unsigned int
508 jg compat_sys_getdents # branch to system call
509
Jan Glauber144d6342011-07-24 10:48:19 +0200510ENTRY(compat_sys_select_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -0700511 lgfr %r2,%r2 # int
512 llgtr %r3,%r3 # compat_fd_set *
513 llgtr %r4,%r4 # compat_fd_set *
514 llgtr %r5,%r5 # compat_fd_set *
515 llgtr %r6,%r6 # struct compat_timeval *
516 jg compat_sys_select # branch to system call
517
Jan Glauber144d6342011-07-24 10:48:19 +0200518ENTRY(sys32_flock_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -0700519 llgfr %r2,%r2 # unsigned int
520 llgfr %r3,%r3 # unsigned int
521 jg sys_flock # branch to system call
522
Jan Glauber144d6342011-07-24 10:48:19 +0200523ENTRY(sys32_msync_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -0700524 llgfr %r2,%r2 # unsigned long
525 llgfr %r3,%r3 # size_t
526 lgfr %r4,%r4 # int
527 jg sys_msync # branch to system call
528
Jan Glauber144d6342011-07-24 10:48:19 +0200529ENTRY(compat_sys_readv_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -0700530 lgfr %r2,%r2 # int
531 llgtr %r3,%r3 # const struct compat_iovec *
532 llgfr %r4,%r4 # unsigned long
533 jg compat_sys_readv # branch to system call
534
Jan Glauber144d6342011-07-24 10:48:19 +0200535ENTRY(compat_sys_writev_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -0700536 lgfr %r2,%r2 # int
537 llgtr %r3,%r3 # const struct compat_iovec *
538 llgfr %r4,%r4 # unsigned long
539 jg compat_sys_writev # branch to system call
540
Jan Glauber144d6342011-07-24 10:48:19 +0200541ENTRY(sys32_getsid_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -0700542 lgfr %r2,%r2 # pid_t
543 jg sys_getsid # branch to system call
544
Jan Glauber144d6342011-07-24 10:48:19 +0200545ENTRY(sys32_fdatasync_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -0700546 llgfr %r2,%r2 # unsigned int
547 jg sys_fdatasync # branch to system call
548
Jan Glauber144d6342011-07-24 10:48:19 +0200549ENTRY(sys32_mlock_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -0700550 llgfr %r2,%r2 # unsigned long
551 llgfr %r3,%r3 # size_t
552 jg sys_mlock # branch to system call
553
Jan Glauber144d6342011-07-24 10:48:19 +0200554ENTRY(sys32_munlock_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -0700555 llgfr %r2,%r2 # unsigned long
556 llgfr %r3,%r3 # size_t
557 jg sys_munlock # branch to system call
558
Jan Glauber144d6342011-07-24 10:48:19 +0200559ENTRY(sys32_mlockall_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -0700560 lgfr %r2,%r2 # int
561 jg sys_mlockall # branch to system call
562
Heiko Carstens25d83cb2006-09-28 16:56:37 +0200563#sys32_munlockall_wrapper # void
Linus Torvalds1da177e2005-04-16 15:20:36 -0700564
Jan Glauber144d6342011-07-24 10:48:19 +0200565ENTRY(sys32_sched_setparam_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -0700566 lgfr %r2,%r2 # pid_t
567 llgtr %r3,%r3 # struct sched_param *
568 jg sys_sched_setparam # branch to system call
569
Jan Glauber144d6342011-07-24 10:48:19 +0200570ENTRY(sys32_sched_getparam_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -0700571 lgfr %r2,%r2 # pid_t
572 llgtr %r3,%r3 # struct sched_param *
573 jg sys_sched_getparam # branch to system call
574
Jan Glauber144d6342011-07-24 10:48:19 +0200575ENTRY(sys32_sched_setscheduler_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -0700576 lgfr %r2,%r2 # pid_t
577 lgfr %r3,%r3 # int
578 llgtr %r4,%r4 # struct sched_param *
579 jg sys_sched_setscheduler # branch to system call
580
Jan Glauber144d6342011-07-24 10:48:19 +0200581ENTRY(sys32_sched_getscheduler_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -0700582 lgfr %r2,%r2 # pid_t
583 jg sys_sched_getscheduler # branch to system call
584
Heiko Carstens25d83cb2006-09-28 16:56:37 +0200585#sys32_sched_yield_wrapper # void
Linus Torvalds1da177e2005-04-16 15:20:36 -0700586
Jan Glauber144d6342011-07-24 10:48:19 +0200587ENTRY(sys32_sched_get_priority_max_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -0700588 lgfr %r2,%r2 # int
589 jg sys_sched_get_priority_max # branch to system call
590
Jan Glauber144d6342011-07-24 10:48:19 +0200591ENTRY(sys32_sched_get_priority_min_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -0700592 lgfr %r2,%r2 # int
593 jg sys_sched_get_priority_min # branch to system call
594
Jan Glauber144d6342011-07-24 10:48:19 +0200595ENTRY(compat_sys_nanosleep_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -0700596 llgtr %r2,%r2 # struct compat_timespec *
597 llgtr %r3,%r3 # struct compat_timespec *
598 jg compat_sys_nanosleep # branch to system call
599
Jan Glauber144d6342011-07-24 10:48:19 +0200600ENTRY(sys32_mremap_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -0700601 llgfr %r2,%r2 # unsigned long
602 llgfr %r3,%r3 # unsigned long
603 llgfr %r4,%r4 # unsigned long
604 llgfr %r5,%r5 # unsigned long
605 llgfr %r6,%r6 # unsigned long
606 jg sys_mremap # branch to system call
607
Jan Glauber144d6342011-07-24 10:48:19 +0200608ENTRY(sys32_setresuid16_wrapper)
Heiko Carstens25d83cb2006-09-28 16:56:37 +0200609 llgfr %r2,%r2 # __kernel_old_uid_emu31_t
610 llgfr %r3,%r3 # __kernel_old_uid_emu31_t
611 llgfr %r4,%r4 # __kernel_old_uid_emu31_t
Linus Torvalds1da177e2005-04-16 15:20:36 -0700612 jg sys32_setresuid16 # branch to system call
613
Jan Glauber144d6342011-07-24 10:48:19 +0200614ENTRY(sys32_getresuid16_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -0700615 llgtr %r2,%r2 # __kernel_old_uid_emu31_t *
616 llgtr %r3,%r3 # __kernel_old_uid_emu31_t *
617 llgtr %r4,%r4 # __kernel_old_uid_emu31_t *
618 jg sys32_getresuid16 # branch to system call
619
Jan Glauber144d6342011-07-24 10:48:19 +0200620ENTRY(sys32_poll_wrapper)
Heiko Carstens25d83cb2006-09-28 16:56:37 +0200621 llgtr %r2,%r2 # struct pollfd *
622 llgfr %r3,%r3 # unsigned int
Linus Torvaldsfaf30902012-02-21 17:24:20 -0800623 lgfr %r4,%r4 # int
Linus Torvalds1da177e2005-04-16 15:20:36 -0700624 jg sys_poll # branch to system call
625
Jan Glauber144d6342011-07-24 10:48:19 +0200626ENTRY(sys32_setresgid16_wrapper)
Heiko Carstens25d83cb2006-09-28 16:56:37 +0200627 llgfr %r2,%r2 # __kernel_old_gid_emu31_t
628 llgfr %r3,%r3 # __kernel_old_gid_emu31_t
629 llgfr %r4,%r4 # __kernel_old_gid_emu31_t
Linus Torvalds1da177e2005-04-16 15:20:36 -0700630 jg sys32_setresgid16 # branch to system call
631
Jan Glauber144d6342011-07-24 10:48:19 +0200632ENTRY(sys32_getresgid16_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -0700633 llgtr %r2,%r2 # __kernel_old_gid_emu31_t *
634 llgtr %r3,%r3 # __kernel_old_gid_emu31_t *
635 llgtr %r4,%r4 # __kernel_old_gid_emu31_t *
636 jg sys32_getresgid16 # branch to system call
637
Jan Glauber144d6342011-07-24 10:48:19 +0200638ENTRY(sys32_prctl_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -0700639 lgfr %r2,%r2 # int
640 llgfr %r3,%r3 # unsigned long
641 llgfr %r4,%r4 # unsigned long
642 llgfr %r5,%r5 # unsigned long
643 llgfr %r6,%r6 # unsigned long
644 jg sys_prctl # branch to system call
645
Heiko Carstens25d83cb2006-09-28 16:56:37 +0200646#sys32_rt_sigreturn_wrapper # done in rt_sigreturn_glue
Linus Torvalds1da177e2005-04-16 15:20:36 -0700647
Jan Glauber144d6342011-07-24 10:48:19 +0200648ENTRY(sys32_pread64_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -0700649 llgfr %r2,%r2 # unsigned int
650 llgtr %r3,%r3 # char *
651 llgfr %r4,%r4 # size_t
652 llgfr %r5,%r5 # u32
653 llgfr %r6,%r6 # u32
654 jg sys32_pread64 # branch to system call
655
Jan Glauber144d6342011-07-24 10:48:19 +0200656ENTRY(sys32_pwrite64_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -0700657 llgfr %r2,%r2 # unsigned int
658 llgtr %r3,%r3 # const char *
659 llgfr %r4,%r4 # size_t
660 llgfr %r5,%r5 # u32
661 llgfr %r6,%r6 # u32
662 jg sys32_pwrite64 # branch to system call
663
Jan Glauber144d6342011-07-24 10:48:19 +0200664ENTRY(sys32_chown16_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -0700665 llgtr %r2,%r2 # const char *
Heiko Carstens25d83cb2006-09-28 16:56:37 +0200666 llgfr %r3,%r3 # __kernel_old_uid_emu31_t
667 llgfr %r4,%r4 # __kernel_old_gid_emu31_t
Linus Torvalds1da177e2005-04-16 15:20:36 -0700668 jg sys32_chown16 # branch to system call
669
Jan Glauber144d6342011-07-24 10:48:19 +0200670ENTRY(sys32_getcwd_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -0700671 llgtr %r2,%r2 # char *
672 llgfr %r3,%r3 # unsigned long
673 jg sys_getcwd # branch to system call
674
Jan Glauber144d6342011-07-24 10:48:19 +0200675ENTRY(sys32_capget_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -0700676 llgtr %r2,%r2 # cap_user_header_t
677 llgtr %r3,%r3 # cap_user_data_t
678 jg sys_capget # branch to system call
679
Jan Glauber144d6342011-07-24 10:48:19 +0200680ENTRY(sys32_capset_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -0700681 llgtr %r2,%r2 # cap_user_header_t
682 llgtr %r3,%r3 # const cap_user_data_t
683 jg sys_capset # branch to system call
684
Jan Glauber144d6342011-07-24 10:48:19 +0200685ENTRY(sys32_sendfile_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -0700686 lgfr %r2,%r2 # int
687 lgfr %r3,%r3 # int
688 llgtr %r4,%r4 # __kernel_off_emu31_t *
689 llgfr %r5,%r5 # size_t
690 jg sys32_sendfile # branch to system call
691
Heiko Carstens25d83cb2006-09-28 16:56:37 +0200692#sys32_vfork_wrapper # done in vfork_glue
Linus Torvalds1da177e2005-04-16 15:20:36 -0700693
Jan Glauber144d6342011-07-24 10:48:19 +0200694ENTRY(sys32_truncate64_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -0700695 llgtr %r2,%r2 # const char *
696 llgfr %r3,%r3 # unsigned long
697 llgfr %r4,%r4 # unsigned long
698 jg sys32_truncate64 # branch to system call
699
Jan Glauber144d6342011-07-24 10:48:19 +0200700ENTRY(sys32_ftruncate64_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -0700701 llgfr %r2,%r2 # unsigned int
702 llgfr %r3,%r3 # unsigned long
703 llgfr %r4,%r4 # unsigned long
704 jg sys32_ftruncate64 # branch to system call
705
Jan Glauber144d6342011-07-24 10:48:19 +0200706ENTRY(sys32_lchown_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -0700707 llgtr %r2,%r2 # const char *
708 llgfr %r3,%r3 # uid_t
709 llgfr %r4,%r4 # gid_t
710 jg sys_lchown # branch to system call
711
Heiko Carstens25d83cb2006-09-28 16:56:37 +0200712#sys32_getuid_wrapper # void
713#sys32_getgid_wrapper # void
714#sys32_geteuid_wrapper # void
715#sys32_getegid_wrapper # void
Linus Torvalds1da177e2005-04-16 15:20:36 -0700716
Jan Glauber144d6342011-07-24 10:48:19 +0200717ENTRY(sys32_setreuid_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -0700718 llgfr %r2,%r2 # uid_t
719 llgfr %r3,%r3 # uid_t
720 jg sys_setreuid # branch to system call
721
Jan Glauber144d6342011-07-24 10:48:19 +0200722ENTRY(sys32_setregid_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -0700723 llgfr %r2,%r2 # gid_t
724 llgfr %r3,%r3 # gid_t
725 jg sys_setregid # branch to system call
726
Jan Glauber144d6342011-07-24 10:48:19 +0200727ENTRY(sys32_getgroups_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -0700728 lgfr %r2,%r2 # int
729 llgtr %r3,%r3 # gid_t *
730 jg sys_getgroups # branch to system call
731
Jan Glauber144d6342011-07-24 10:48:19 +0200732ENTRY(sys32_setgroups_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -0700733 lgfr %r2,%r2 # int
734 llgtr %r3,%r3 # gid_t *
735 jg sys_setgroups # branch to system call
736
Jan Glauber144d6342011-07-24 10:48:19 +0200737ENTRY(sys32_fchown_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -0700738 llgfr %r2,%r2 # unsigned int
739 llgfr %r3,%r3 # uid_t
740 llgfr %r4,%r4 # gid_t
741 jg sys_fchown # branch to system call
742
Jan Glauber144d6342011-07-24 10:48:19 +0200743ENTRY(sys32_setresuid_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -0700744 llgfr %r2,%r2 # uid_t
745 llgfr %r3,%r3 # uid_t
746 llgfr %r4,%r4 # uid_t
747 jg sys_setresuid # branch to system call
748
Jan Glauber144d6342011-07-24 10:48:19 +0200749ENTRY(sys32_getresuid_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -0700750 llgtr %r2,%r2 # uid_t *
751 llgtr %r3,%r3 # uid_t *
752 llgtr %r4,%r4 # uid_t *
753 jg sys_getresuid # branch to system call
754
Jan Glauber144d6342011-07-24 10:48:19 +0200755ENTRY(sys32_setresgid_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -0700756 llgfr %r2,%r2 # gid_t
757 llgfr %r3,%r3 # gid_t
758 llgfr %r4,%r4 # gid_t
759 jg sys_setresgid # branch to system call
760
Jan Glauber144d6342011-07-24 10:48:19 +0200761ENTRY(sys32_getresgid_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -0700762 llgtr %r2,%r2 # gid_t *
763 llgtr %r3,%r3 # gid_t *
764 llgtr %r4,%r4 # gid_t *
765 jg sys_getresgid # branch to system call
766
Jan Glauber144d6342011-07-24 10:48:19 +0200767ENTRY(sys32_chown_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -0700768 llgtr %r2,%r2 # const char *
769 llgfr %r3,%r3 # uid_t
770 llgfr %r4,%r4 # gid_t
771 jg sys_chown # branch to system call
772
Jan Glauber144d6342011-07-24 10:48:19 +0200773ENTRY(sys32_setuid_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -0700774 llgfr %r2,%r2 # uid_t
775 jg sys_setuid # branch to system call
776
Jan Glauber144d6342011-07-24 10:48:19 +0200777ENTRY(sys32_setgid_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -0700778 llgfr %r2,%r2 # gid_t
779 jg sys_setgid # branch to system call
780
Jan Glauber144d6342011-07-24 10:48:19 +0200781ENTRY(sys32_setfsuid_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -0700782 llgfr %r2,%r2 # uid_t
783 jg sys_setfsuid # branch to system call
784
Jan Glauber144d6342011-07-24 10:48:19 +0200785ENTRY(sys32_setfsgid_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -0700786 llgfr %r2,%r2 # gid_t
787 jg sys_setfsgid # branch to system call
788
Jan Glauber144d6342011-07-24 10:48:19 +0200789ENTRY(sys32_pivot_root_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -0700790 llgtr %r2,%r2 # const char *
791 llgtr %r3,%r3 # const char *
792 jg sys_pivot_root # branch to system call
793
Jan Glauber144d6342011-07-24 10:48:19 +0200794ENTRY(sys32_mincore_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -0700795 llgfr %r2,%r2 # unsigned long
796 llgfr %r3,%r3 # size_t
797 llgtr %r4,%r4 # unsigned char *
798 jg sys_mincore # branch to system call
799
Jan Glauber144d6342011-07-24 10:48:19 +0200800ENTRY(sys32_madvise_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -0700801 llgfr %r2,%r2 # unsigned long
802 llgfr %r3,%r3 # size_t
803 lgfr %r4,%r4 # int
804 jg sys_madvise # branch to system call
805
Jan Glauber144d6342011-07-24 10:48:19 +0200806ENTRY(sys32_getdents64_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -0700807 llgfr %r2,%r2 # unsigned int
808 llgtr %r3,%r3 # void *
809 llgfr %r4,%r4 # unsigned int
810 jg sys_getdents64 # branch to system call
811
Jan Glauber144d6342011-07-24 10:48:19 +0200812ENTRY(compat_sys_fcntl64_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -0700813 llgfr %r2,%r2 # unsigned int
Heiko Carstens25d83cb2006-09-28 16:56:37 +0200814 llgfr %r3,%r3 # unsigned int
Linus Torvalds1da177e2005-04-16 15:20:36 -0700815 llgfr %r4,%r4 # unsigned long
816 jg compat_sys_fcntl64 # branch to system call
817
Jan Glauber144d6342011-07-24 10:48:19 +0200818ENTRY(sys32_stat64_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -0700819 llgtr %r2,%r2 # char *
820 llgtr %r3,%r3 # struct stat64 *
821 jg sys32_stat64 # branch to system call
822
Jan Glauber144d6342011-07-24 10:48:19 +0200823ENTRY(sys32_lstat64_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -0700824 llgtr %r2,%r2 # char *
825 llgtr %r3,%r3 # struct stat64 *
826 jg sys32_lstat64 # branch to system call
827
Jan Glauber144d6342011-07-24 10:48:19 +0200828ENTRY(sys32_stime_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -0700829 llgtr %r2,%r2 # long *
830 jg compat_sys_stime # branch to system call
831
Jan Glauber144d6342011-07-24 10:48:19 +0200832ENTRY(sys32_sysctl_wrapper)
Eric W. Biederman4ddf61e2009-04-03 00:52:35 -0700833 llgtr %r2,%r2 # struct compat_sysctl_args *
834 jg compat_sys_sysctl
Linus Torvalds1da177e2005-04-16 15:20:36 -0700835
Jan Glauber144d6342011-07-24 10:48:19 +0200836ENTRY(sys32_fstat64_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -0700837 llgfr %r2,%r2 # unsigned long
838 llgtr %r3,%r3 # struct stat64 *
839 jg sys32_fstat64 # branch to system call
840
Jan Glauber144d6342011-07-24 10:48:19 +0200841ENTRY(sys32_setxattr_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -0700842 llgtr %r2,%r2 # char *
843 llgtr %r3,%r3 # char *
844 llgtr %r4,%r4 # void *
845 llgfr %r5,%r5 # size_t
846 lgfr %r6,%r6 # int
847 jg sys_setxattr
848
Jan Glauber144d6342011-07-24 10:48:19 +0200849ENTRY(sys32_lsetxattr_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -0700850 llgtr %r2,%r2 # char *
851 llgtr %r3,%r3 # char *
852 llgtr %r4,%r4 # void *
853 llgfr %r5,%r5 # size_t
854 lgfr %r6,%r6 # int
855 jg sys_lsetxattr
856
Jan Glauber144d6342011-07-24 10:48:19 +0200857ENTRY(sys32_fsetxattr_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -0700858 lgfr %r2,%r2 # int
859 llgtr %r3,%r3 # char *
860 llgtr %r4,%r4 # void *
861 llgfr %r5,%r5 # size_t
862 lgfr %r6,%r6 # int
863 jg sys_fsetxattr
864
Jan Glauber144d6342011-07-24 10:48:19 +0200865ENTRY(sys32_getxattr_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -0700866 llgtr %r2,%r2 # char *
867 llgtr %r3,%r3 # char *
868 llgtr %r4,%r4 # void *
869 llgfr %r5,%r5 # size_t
870 jg sys_getxattr
871
Jan Glauber144d6342011-07-24 10:48:19 +0200872ENTRY(sys32_lgetxattr_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -0700873 llgtr %r2,%r2 # char *
874 llgtr %r3,%r3 # char *
875 llgtr %r4,%r4 # void *
876 llgfr %r5,%r5 # size_t
877 jg sys_lgetxattr
878
Jan Glauber144d6342011-07-24 10:48:19 +0200879ENTRY(sys32_fgetxattr_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -0700880 lgfr %r2,%r2 # int
881 llgtr %r3,%r3 # char *
882 llgtr %r4,%r4 # void *
883 llgfr %r5,%r5 # size_t
884 jg sys_fgetxattr
885
Jan Glauber144d6342011-07-24 10:48:19 +0200886ENTRY(sys32_listxattr_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -0700887 llgtr %r2,%r2 # char *
888 llgtr %r3,%r3 # char *
889 llgfr %r4,%r4 # size_t
890 jg sys_listxattr
891
Jan Glauber144d6342011-07-24 10:48:19 +0200892ENTRY(sys32_llistxattr_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -0700893 llgtr %r2,%r2 # char *
894 llgtr %r3,%r3 # char *
895 llgfr %r4,%r4 # size_t
896 jg sys_llistxattr
897
Jan Glauber144d6342011-07-24 10:48:19 +0200898ENTRY(sys32_flistxattr_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -0700899 lgfr %r2,%r2 # int
900 llgtr %r3,%r3 # char *
901 llgfr %r4,%r4 # size_t
902 jg sys_flistxattr
903
Jan Glauber144d6342011-07-24 10:48:19 +0200904ENTRY(sys32_removexattr_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -0700905 llgtr %r2,%r2 # char *
906 llgtr %r3,%r3 # char *
907 jg sys_removexattr
908
Jan Glauber144d6342011-07-24 10:48:19 +0200909ENTRY(sys32_lremovexattr_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -0700910 llgtr %r2,%r2 # char *
911 llgtr %r3,%r3 # char *
912 jg sys_lremovexattr
913
Jan Glauber144d6342011-07-24 10:48:19 +0200914ENTRY(sys32_fremovexattr_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -0700915 lgfr %r2,%r2 # int
916 llgtr %r3,%r3 # char *
917 jg sys_fremovexattr
918
Jan Glauber144d6342011-07-24 10:48:19 +0200919ENTRY(sys32_sched_setaffinity_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -0700920 lgfr %r2,%r2 # int
921 llgfr %r3,%r3 # unsigned int
922 llgtr %r4,%r4 # unsigned long *
923 jg compat_sys_sched_setaffinity
924
Jan Glauber144d6342011-07-24 10:48:19 +0200925ENTRY(sys32_sched_getaffinity_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -0700926 lgfr %r2,%r2 # int
927 llgfr %r3,%r3 # unsigned int
928 llgtr %r4,%r4 # unsigned long *
929 jg compat_sys_sched_getaffinity
930
Jan Glauber144d6342011-07-24 10:48:19 +0200931ENTRY(sys32_exit_group_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -0700932 lgfr %r2,%r2 # int
933 jg sys_exit_group # branch to system call
934
Jan Glauber144d6342011-07-24 10:48:19 +0200935ENTRY(sys32_set_tid_address_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -0700936 llgtr %r2,%r2 # int *
937 jg sys_set_tid_address # branch to system call
938
Jan Glauber144d6342011-07-24 10:48:19 +0200939ENTRY(sys_epoll_create_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -0700940 lgfr %r2,%r2 # int
941 jg sys_epoll_create # branch to system call
942
Jan Glauber144d6342011-07-24 10:48:19 +0200943ENTRY(sys_epoll_ctl_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -0700944 lgfr %r2,%r2 # int
945 lgfr %r3,%r3 # int
946 lgfr %r4,%r4 # int
947 llgtr %r5,%r5 # struct epoll_event *
948 jg sys_epoll_ctl # branch to system call
949
Jan Glauber144d6342011-07-24 10:48:19 +0200950ENTRY(sys_epoll_wait_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -0700951 lgfr %r2,%r2 # int
952 llgtr %r3,%r3 # struct epoll_event *
953 lgfr %r4,%r4 # int
954 lgfr %r5,%r5 # int
955 jg sys_epoll_wait # branch to system call
956
Jan Glauber144d6342011-07-24 10:48:19 +0200957ENTRY(sys32_lookup_dcookie_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -0700958 sllg %r2,%r2,32 # get high word of 64bit dcookie
959 or %r2,%r3 # get low word of 64bit dcookie
960 llgtr %r3,%r4 # char *
961 llgfr %r4,%r5 # size_t
962 jg sys_lookup_dcookie
963
Jan Glauber144d6342011-07-24 10:48:19 +0200964ENTRY(sys32_fadvise64_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -0700965 lgfr %r2,%r2 # int
966 sllg %r3,%r3,32 # get high word of 64bit loff_t
967 or %r3,%r4 # get low word of 64bit loff_t
968 llgfr %r4,%r5 # size_t (unsigned long)
969 lgfr %r5,%r6 # int
Martin Schwidefsky068e1b92005-07-13 01:10:46 -0700970 jg sys32_fadvise64
Linus Torvalds1da177e2005-04-16 15:20:36 -0700971
Jan Glauber144d6342011-07-24 10:48:19 +0200972ENTRY(sys32_fadvise64_64_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -0700973 llgtr %r2,%r2 # struct fadvise64_64_args *
Martin Schwidefsky068e1b92005-07-13 01:10:46 -0700974 jg sys32_fadvise64_64
Linus Torvalds1da177e2005-04-16 15:20:36 -0700975
Jan Glauber144d6342011-07-24 10:48:19 +0200976ENTRY(sys32_clock_settime_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -0700977 lgfr %r2,%r2 # clockid_t (int)
978 llgtr %r3,%r3 # struct compat_timespec *
979 jg compat_sys_clock_settime
980
Jan Glauber144d6342011-07-24 10:48:19 +0200981ENTRY(sys32_clock_gettime_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -0700982 lgfr %r2,%r2 # clockid_t (int)
983 llgtr %r3,%r3 # struct compat_timespec *
984 jg compat_sys_clock_gettime
985
Jan Glauber144d6342011-07-24 10:48:19 +0200986ENTRY(sys32_clock_getres_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -0700987 lgfr %r2,%r2 # clockid_t (int)
988 llgtr %r3,%r3 # struct compat_timespec *
989 jg compat_sys_clock_getres
990
Jan Glauber144d6342011-07-24 10:48:19 +0200991ENTRY(sys32_clock_nanosleep_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -0700992 lgfr %r2,%r2 # clockid_t (int)
993 lgfr %r3,%r3 # int
994 llgtr %r4,%r4 # struct compat_timespec *
995 llgtr %r5,%r5 # struct compat_timespec *
996 jg compat_sys_clock_nanosleep
997
Jan Glauber144d6342011-07-24 10:48:19 +0200998ENTRY(sys32_timer_create_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -0700999 lgfr %r2,%r2 # timer_t (int)
1000 llgtr %r3,%r3 # struct compat_sigevent *
1001 llgtr %r4,%r4 # timer_t *
Christoph Hellwig3a0f69d2006-01-09 20:52:08 -08001002 jg compat_sys_timer_create
Linus Torvalds1da177e2005-04-16 15:20:36 -07001003
Jan Glauber144d6342011-07-24 10:48:19 +02001004ENTRY(sys32_timer_settime_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -07001005 lgfr %r2,%r2 # timer_t (int)
1006 lgfr %r3,%r3 # int
1007 llgtr %r4,%r4 # struct compat_itimerspec *
1008 llgtr %r5,%r5 # struct compat_itimerspec *
1009 jg compat_sys_timer_settime
1010
Jan Glauber144d6342011-07-24 10:48:19 +02001011ENTRY(sys32_timer_gettime_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -07001012 lgfr %r2,%r2 # timer_t (int)
1013 llgtr %r3,%r3 # struct compat_itimerspec *
1014 jg compat_sys_timer_gettime
1015
Jan Glauber144d6342011-07-24 10:48:19 +02001016ENTRY(sys32_timer_getoverrun_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -07001017 lgfr %r2,%r2 # timer_t (int)
1018 jg sys_timer_getoverrun
1019
Jan Glauber144d6342011-07-24 10:48:19 +02001020ENTRY(sys32_timer_delete_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -07001021 lgfr %r2,%r2 # timer_t (int)
1022 jg sys_timer_delete
1023
Jan Glauber144d6342011-07-24 10:48:19 +02001024ENTRY(sys32_io_setup_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -07001025 llgfr %r2,%r2 # unsigned int
1026 llgtr %r3,%r3 # u32 *
1027 jg compat_sys_io_setup
1028
Jan Glauber144d6342011-07-24 10:48:19 +02001029ENTRY(sys32_io_destroy_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -07001030 llgfr %r2,%r2 # (aio_context_t) u32
1031 jg sys_io_destroy
1032
Jan Glauber144d6342011-07-24 10:48:19 +02001033ENTRY(sys32_io_getevents_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -07001034 llgfr %r2,%r2 # (aio_context_t) u32
1035 lgfr %r3,%r3 # long
1036 lgfr %r4,%r4 # long
1037 llgtr %r5,%r5 # struct io_event *
1038 llgtr %r6,%r6 # struct compat_timespec *
1039 jg compat_sys_io_getevents
1040
Jan Glauber144d6342011-07-24 10:48:19 +02001041ENTRY(sys32_io_submit_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -07001042 llgfr %r2,%r2 # (aio_context_t) u32
1043 lgfr %r3,%r3 # long
1044 llgtr %r4,%r4 # struct iocb **
1045 jg compat_sys_io_submit
1046
Jan Glauber144d6342011-07-24 10:48:19 +02001047ENTRY(sys32_io_cancel_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -07001048 llgfr %r2,%r2 # (aio_context_t) u32
1049 llgtr %r3,%r3 # struct iocb *
1050 llgtr %r4,%r4 # struct io_event *
1051 jg sys_io_cancel
1052
Jan Glauber144d6342011-07-24 10:48:19 +02001053ENTRY(compat_sys_statfs64_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -07001054 llgtr %r2,%r2 # const char *
1055 llgfr %r3,%r3 # compat_size_t
1056 llgtr %r4,%r4 # struct compat_statfs64 *
1057 jg compat_sys_statfs64
1058
Jan Glauber144d6342011-07-24 10:48:19 +02001059ENTRY(compat_sys_fstatfs64_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -07001060 llgfr %r2,%r2 # unsigned int fd
1061 llgfr %r3,%r3 # compat_size_t
1062 llgtr %r4,%r4 # struct compat_statfs64 *
1063 jg compat_sys_fstatfs64
1064
Jan Glauber144d6342011-07-24 10:48:19 +02001065ENTRY(compat_sys_mq_open_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -07001066 llgtr %r2,%r2 # const char *
1067 lgfr %r3,%r3 # int
1068 llgfr %r4,%r4 # mode_t
1069 llgtr %r5,%r5 # struct compat_mq_attr *
1070 jg compat_sys_mq_open
1071
Jan Glauber144d6342011-07-24 10:48:19 +02001072ENTRY(sys32_mq_unlink_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -07001073 llgtr %r2,%r2 # const char *
1074 jg sys_mq_unlink
1075
Jan Glauber144d6342011-07-24 10:48:19 +02001076ENTRY(compat_sys_mq_timedsend_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -07001077 lgfr %r2,%r2 # mqd_t
1078 llgtr %r3,%r3 # const char *
1079 llgfr %r4,%r4 # size_t
1080 llgfr %r5,%r5 # unsigned int
1081 llgtr %r6,%r6 # const struct compat_timespec *
1082 jg compat_sys_mq_timedsend
1083
Jan Glauber144d6342011-07-24 10:48:19 +02001084ENTRY(compat_sys_mq_timedreceive_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -07001085 lgfr %r2,%r2 # mqd_t
1086 llgtr %r3,%r3 # char *
1087 llgfr %r4,%r4 # size_t
1088 llgtr %r5,%r5 # unsigned int *
1089 llgtr %r6,%r6 # const struct compat_timespec *
1090 jg compat_sys_mq_timedreceive
1091
Jan Glauber144d6342011-07-24 10:48:19 +02001092ENTRY(compat_sys_mq_notify_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -07001093 lgfr %r2,%r2 # mqd_t
1094 llgtr %r3,%r3 # struct compat_sigevent *
1095 jg compat_sys_mq_notify
1096
Jan Glauber144d6342011-07-24 10:48:19 +02001097ENTRY(compat_sys_mq_getsetattr_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -07001098 lgfr %r2,%r2 # mqd_t
1099 llgtr %r3,%r3 # struct compat_mq_attr *
1100 llgtr %r4,%r4 # struct compat_mq_attr *
1101 jg compat_sys_mq_getsetattr
1102
Jan Glauber144d6342011-07-24 10:48:19 +02001103ENTRY(compat_sys_add_key_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -07001104 llgtr %r2,%r2 # const char *
1105 llgtr %r3,%r3 # const char *
1106 llgtr %r4,%r4 # const void *
1107 llgfr %r5,%r5 # size_t
1108 llgfr %r6,%r6 # (key_serial_t) u32
1109 jg sys_add_key
1110
Jan Glauber144d6342011-07-24 10:48:19 +02001111ENTRY(compat_sys_request_key_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -07001112 llgtr %r2,%r2 # const char *
1113 llgtr %r3,%r3 # const char *
1114 llgtr %r4,%r4 # const void *
1115 llgfr %r5,%r5 # (key_serial_t) u32
1116 jg sys_request_key
1117
Jan Glauber144d6342011-07-24 10:48:19 +02001118ENTRY(sys32_remap_file_pages_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -07001119 llgfr %r2,%r2 # unsigned long
1120 llgfr %r3,%r3 # unsigned long
1121 llgfr %r4,%r4 # unsigned long
1122 llgfr %r5,%r5 # unsigned long
1123 llgfr %r6,%r6 # unsigned long
1124 jg sys_remap_file_pages
1125
Jan Glauber144d6342011-07-24 10:48:19 +02001126ENTRY(compat_sys_kexec_load_wrapper)
Heiko Carstenscf13f0e2005-06-25 14:58:11 -07001127 llgfr %r2,%r2 # unsigned long
1128 llgfr %r3,%r3 # unsigned long
1129 llgtr %r4,%r4 # struct kexec_segment *
1130 llgfr %r5,%r5 # unsigned long
1131 jg compat_sys_kexec_load
Martin Schwidefskyd2013482005-08-01 21:11:34 -07001132
Jan Glauber144d6342011-07-24 10:48:19 +02001133ENTRY(sys_ioprio_set_wrapper)
Martin Schwidefskyd2013482005-08-01 21:11:34 -07001134 lgfr %r2,%r2 # int
1135 lgfr %r3,%r3 # int
1136 lgfr %r4,%r4 # int
1137 jg sys_ioprio_set
1138
Jan Glauber144d6342011-07-24 10:48:19 +02001139ENTRY(sys_ioprio_get_wrapper)
Martin Schwidefskyd2013482005-08-01 21:11:34 -07001140 lgfr %r2,%r2 # int
1141 lgfr %r3,%r3 # int
1142 jg sys_ioprio_get
1143
Jan Glauber144d6342011-07-24 10:48:19 +02001144ENTRY(sys_inotify_add_watch_wrapper)
Martin Schwidefskyd2013482005-08-01 21:11:34 -07001145 lgfr %r2,%r2 # int
1146 llgtr %r3,%r3 # const char *
1147 llgfr %r4,%r4 # u32
1148 jg sys_inotify_add_watch
1149
Jan Glauber144d6342011-07-24 10:48:19 +02001150ENTRY(sys_inotify_rm_watch_wrapper)
Martin Schwidefskyd2013482005-08-01 21:11:34 -07001151 lgfr %r2,%r2 # int
1152 llgfr %r3,%r3 # u32
1153 jg sys_inotify_rm_watch
Heiko Carstens54dfe5d2006-02-01 03:06:38 -08001154
Jan Glauber144d6342011-07-24 10:48:19 +02001155ENTRY(sys_mkdirat_wrapper)
Heiko Carstens54dfe5d2006-02-01 03:06:38 -08001156 lgfr %r2,%r2 # int
1157 llgtr %r3,%r3 # const char *
1158 lgfr %r4,%r4 # int
1159 jg sys_mkdirat
1160
Jan Glauber144d6342011-07-24 10:48:19 +02001161ENTRY(sys_mknodat_wrapper)
Heiko Carstens54dfe5d2006-02-01 03:06:38 -08001162 lgfr %r2,%r2 # int
1163 llgtr %r3,%r3 # const char *
1164 lgfr %r4,%r4 # int
1165 llgfr %r5,%r5 # unsigned int
1166 jg sys_mknodat
1167
Jan Glauber144d6342011-07-24 10:48:19 +02001168ENTRY(sys_fchownat_wrapper)
Heiko Carstens54dfe5d2006-02-01 03:06:38 -08001169 lgfr %r2,%r2 # int
1170 llgtr %r3,%r3 # const char *
1171 llgfr %r4,%r4 # uid_t
1172 llgfr %r5,%r5 # gid_t
1173 lgfr %r6,%r6 # int
1174 jg sys_fchownat
1175
Jan Glauber144d6342011-07-24 10:48:19 +02001176ENTRY(compat_sys_futimesat_wrapper)
Heiko Carstenscd2d2bf2006-02-03 03:03:52 -08001177 llgfr %r2,%r2 # unsigned int
Heiko Carstens54dfe5d2006-02-01 03:06:38 -08001178 llgtr %r3,%r3 # char *
1179 llgtr %r4,%r4 # struct timeval *
1180 jg compat_sys_futimesat
1181
Jan Glauber144d6342011-07-24 10:48:19 +02001182ENTRY(sys32_fstatat64_wrapper)
Heiko Carstenscd2d2bf2006-02-03 03:03:52 -08001183 llgfr %r2,%r2 # unsigned int
Heiko Carstens54dfe5d2006-02-01 03:06:38 -08001184 llgtr %r3,%r3 # char *
Heiko Carstens19bf9cb2006-02-12 12:35:03 +01001185 llgtr %r4,%r4 # struct stat64 *
Heiko Carstens54dfe5d2006-02-01 03:06:38 -08001186 lgfr %r5,%r5 # int
Heiko Carstensed3d0212006-02-17 13:52:50 -08001187 jg sys32_fstatat64
Heiko Carstens54dfe5d2006-02-01 03:06:38 -08001188
Jan Glauber144d6342011-07-24 10:48:19 +02001189ENTRY(sys_unlinkat_wrapper)
Heiko Carstens54dfe5d2006-02-01 03:06:38 -08001190 lgfr %r2,%r2 # int
1191 llgtr %r3,%r3 # const char *
1192 lgfr %r4,%r4 # int
1193 jg sys_unlinkat
1194
Jan Glauber144d6342011-07-24 10:48:19 +02001195ENTRY(sys_renameat_wrapper)
Heiko Carstens54dfe5d2006-02-01 03:06:38 -08001196 lgfr %r2,%r2 # int
1197 llgtr %r3,%r3 # const char *
1198 lgfr %r4,%r4 # int
1199 llgtr %r5,%r5 # const char *
1200 jg sys_renameat
1201
Jan Glauber144d6342011-07-24 10:48:19 +02001202ENTRY(sys_linkat_wrapper)
Heiko Carstens54dfe5d2006-02-01 03:06:38 -08001203 lgfr %r2,%r2 # int
1204 llgtr %r3,%r3 # const char *
1205 lgfr %r4,%r4 # int
1206 llgtr %r5,%r5 # const char *
Ulrich Drepperc04030e2006-02-24 13:04:21 -08001207 lgfr %r6,%r6 # int
Heiko Carstens54dfe5d2006-02-01 03:06:38 -08001208 jg sys_linkat
1209
Jan Glauber144d6342011-07-24 10:48:19 +02001210ENTRY(sys_symlinkat_wrapper)
Heiko Carstens54dfe5d2006-02-01 03:06:38 -08001211 llgtr %r2,%r2 # const char *
1212 lgfr %r3,%r3 # int
1213 llgtr %r4,%r4 # const char *
1214 jg sys_symlinkat
1215
Jan Glauber144d6342011-07-24 10:48:19 +02001216ENTRY(sys_readlinkat_wrapper)
Heiko Carstens54dfe5d2006-02-01 03:06:38 -08001217 lgfr %r2,%r2 # int
1218 llgtr %r3,%r3 # const char *
1219 llgtr %r4,%r4 # char *
1220 lgfr %r5,%r5 # int
1221 jg sys_readlinkat
1222
Jan Glauber144d6342011-07-24 10:48:19 +02001223ENTRY(sys_fchmodat_wrapper)
Heiko Carstens54dfe5d2006-02-01 03:06:38 -08001224 lgfr %r2,%r2 # int
1225 llgtr %r3,%r3 # const char *
1226 llgfr %r4,%r4 # mode_t
1227 jg sys_fchmodat
1228
Jan Glauber144d6342011-07-24 10:48:19 +02001229ENTRY(sys_faccessat_wrapper)
Heiko Carstens54dfe5d2006-02-01 03:06:38 -08001230 lgfr %r2,%r2 # int
1231 llgtr %r3,%r3 # const char *
1232 lgfr %r4,%r4 # int
1233 jg sys_faccessat
1234
Jan Glauber144d6342011-07-24 10:48:19 +02001235ENTRY(compat_sys_pselect6_wrapper)
Heiko Carstens54dfe5d2006-02-01 03:06:38 -08001236 lgfr %r2,%r2 # int
1237 llgtr %r3,%r3 # fd_set *
1238 llgtr %r4,%r4 # fd_set *
1239 llgtr %r5,%r5 # fd_set *
1240 llgtr %r6,%r6 # struct timespec *
1241 llgt %r0,164(%r15) # void *
1242 stg %r0,160(%r15)
1243 jg compat_sys_pselect6
1244
Jan Glauber144d6342011-07-24 10:48:19 +02001245ENTRY(compat_sys_ppoll_wrapper)
Heiko Carstens54dfe5d2006-02-01 03:06:38 -08001246 llgtr %r2,%r2 # struct pollfd *
1247 llgfr %r3,%r3 # unsigned int
1248 llgtr %r4,%r4 # struct timespec *
1249 llgtr %r5,%r5 # const sigset_t *
1250 llgfr %r6,%r6 # size_t
1251 jg compat_sys_ppoll
Heiko Carstense7684272006-02-11 17:56:02 -08001252
Jan Glauber144d6342011-07-24 10:48:19 +02001253ENTRY(sys_unshare_wrapper)
Heiko Carstense7684272006-02-11 17:56:02 -08001254 llgfr %r2,%r2 # unsigned long
1255 jg sys_unshare
Martin Schwidefskya3266a92006-04-27 18:40:33 -07001256
Jan Glauber144d6342011-07-24 10:48:19 +02001257ENTRY(sys_splice_wrapper)
Martin Schwidefskya3266a92006-04-27 18:40:33 -07001258 lgfr %r2,%r2 # int
1259 llgtr %r3,%r3 # loff_t *
1260 lgfr %r4,%r4 # int
1261 llgtr %r5,%r5 # loff_t *
1262 llgfr %r6,%r6 # size_t
1263 llgf %r0,164(%r15) # unsigned int
1264 stg %r0,160(%r15)
1265 jg sys_splice
1266
Jan Glauber144d6342011-07-24 10:48:19 +02001267ENTRY(sys_sync_file_range_wrapper)
Martin Schwidefskya3266a92006-04-27 18:40:33 -07001268 lgfr %r2,%r2 # int
1269 sllg %r3,%r3,32 # get high word of 64bit loff_t
1270 or %r3,%r4 # get low word of 64bit loff_t
1271 sllg %r4,%r5,32 # get high word of 64bit loff_t
1272 or %r4,%r6 # get low word of 64bit loff_t
1273 llgf %r5,164(%r15) # unsigned int
1274 jg sys_sync_file_range
1275
Jan Glauber144d6342011-07-24 10:48:19 +02001276ENTRY(sys_tee_wrapper)
Martin Schwidefskya3266a92006-04-27 18:40:33 -07001277 lgfr %r2,%r2 # int
1278 lgfr %r3,%r3 # int
1279 llgfr %r4,%r4 # size_t
1280 llgfr %r5,%r5 # unsigned int
1281 jg sys_tee
Martin Schwidefsky01596772006-05-15 09:44:05 -07001282
Jan Glauber144d6342011-07-24 10:48:19 +02001283ENTRY(compat_sys_vmsplice_wrapper)
Martin Schwidefsky01596772006-05-15 09:44:05 -07001284 lgfr %r2,%r2 # int
1285 llgtr %r3,%r3 # compat_iovec *
1286 llgfr %r4,%r4 # unsigned int
1287 llgfr %r5,%r5 # unsigned int
1288 jg compat_sys_vmsplice
Heiko Carstens8abfe012006-10-04 20:02:09 +02001289
Jan Glauber144d6342011-07-24 10:48:19 +02001290ENTRY(sys_getcpu_wrapper)
Heiko Carstens8abfe012006-10-04 20:02:09 +02001291 llgtr %r2,%r2 # unsigned *
1292 llgtr %r3,%r3 # unsigned *
1293 llgtr %r4,%r4 # struct getcpu_cache *
Paul Mundtf4880392006-10-27 12:39:10 +02001294 jg sys_getcpu
Heiko Carstens10c16a32007-03-19 13:18:56 +01001295
Jan Glauber144d6342011-07-24 10:48:19 +02001296ENTRY(compat_sys_epoll_pwait_wrapper)
Heiko Carstens10c16a32007-03-19 13:18:56 +01001297 lgfr %r2,%r2 # int
1298 llgtr %r3,%r3 # struct compat_epoll_event *
1299 lgfr %r4,%r4 # int
1300 lgfr %r5,%r5 # int
1301 llgtr %r6,%r6 # compat_sigset_t *
1302 llgf %r0,164(%r15) # compat_size_t
1303 stg %r0,160(%r15)
1304 jg compat_sys_epoll_pwait
Heiko Carstensfb1c1712007-03-19 13:19:07 +01001305
Jan Glauber144d6342011-07-24 10:48:19 +02001306ENTRY(compat_sys_utimes_wrapper)
Heiko Carstensfb1c1712007-03-19 13:19:07 +01001307 llgtr %r2,%r2 # char *
1308 llgtr %r3,%r3 # struct compat_timeval *
1309 jg compat_sys_utimes
Heiko Carstensfd5d8bf2007-05-21 11:25:20 +02001310
Jan Glauber144d6342011-07-24 10:48:19 +02001311ENTRY(compat_sys_utimensat_wrapper)
Heiko Carstensfd5d8bf2007-05-21 11:25:20 +02001312 llgfr %r2,%r2 # unsigned int
1313 llgtr %r3,%r3 # char *
1314 llgtr %r4,%r4 # struct compat_timespec *
1315 lgfr %r5,%r5 # int
1316 jg compat_sys_utimensat
Heiko Carstens913f11e2007-05-21 11:25:21 +02001317
Jan Glauber144d6342011-07-24 10:48:19 +02001318ENTRY(compat_sys_signalfd_wrapper)
Heiko Carstens913f11e2007-05-21 11:25:21 +02001319 lgfr %r2,%r2 # int
1320 llgtr %r3,%r3 # compat_sigset_t *
1321 llgfr %r4,%r4 # compat_size_t
1322 jg compat_sys_signalfd
1323
Jan Glauber144d6342011-07-24 10:48:19 +02001324ENTRY(sys_eventfd_wrapper)
Heiko Carstens913f11e2007-05-21 11:25:21 +02001325 llgfr %r2,%r2 # unsigned int
1326 jg sys_eventfd
Martin Schwidefsky7a8e0c82007-07-27 12:29:16 +02001327
Jan Glauber144d6342011-07-24 10:48:19 +02001328ENTRY(sys_fallocate_wrapper)
Martin Schwidefsky7a8e0c82007-07-27 12:29:16 +02001329 lgfr %r2,%r2 # int
1330 lgfr %r3,%r3 # int
1331 sllg %r4,%r4,32 # get high word of 64bit loff_t
1332 lr %r4,%r5 # get low word of 64bit loff_t
1333 sllg %r5,%r6,32 # get high word of 64bit loff_t
1334 l %r5,164(%r15) # get low word of 64bit loff_t
1335 jg sys_fallocate
Heiko Carstens1ee92a12008-02-09 18:24:28 +01001336
Jan Glauber144d6342011-07-24 10:48:19 +02001337ENTRY(sys_timerfd_create_wrapper)
Heiko Carstens1ee92a12008-02-09 18:24:28 +01001338 lgfr %r2,%r2 # int
1339 lgfr %r3,%r3 # int
1340 jg sys_timerfd_create
1341
Jan Glauber144d6342011-07-24 10:48:19 +02001342ENTRY(compat_sys_signalfd4_wrapper)
Heiko Carstens519620c2008-08-01 16:39:15 +02001343 lgfr %r2,%r2 # int
1344 llgtr %r3,%r3 # compat_sigset_t *
1345 llgfr %r4,%r4 # compat_size_t
1346 lgfr %r5,%r5 # int
1347 jg compat_sys_signalfd4
1348
Jan Glauber144d6342011-07-24 10:48:19 +02001349ENTRY(sys_eventfd2_wrapper)
Heiko Carstens519620c2008-08-01 16:39:15 +02001350 llgfr %r2,%r2 # unsigned int
1351 lgfr %r3,%r3 # int
1352 jg sys_eventfd2
1353
Jan Glauber144d6342011-07-24 10:48:19 +02001354ENTRY(sys_inotify_init1_wrapper)
Heiko Carstens519620c2008-08-01 16:39:15 +02001355 lgfr %r2,%r2 # int
1356 jg sys_inotify_init1
1357
Jan Glauber144d6342011-07-24 10:48:19 +02001358ENTRY(sys_pipe2_wrapper)
Heiko Carstens519620c2008-08-01 16:39:15 +02001359 llgtr %r2,%r2 # u32 *
1360 lgfr %r3,%r3 # int
1361 jg sys_pipe2 # branch to system call
1362
Jan Glauber144d6342011-07-24 10:48:19 +02001363ENTRY(sys_dup3_wrapper)
Heiko Carstens519620c2008-08-01 16:39:15 +02001364 llgfr %r2,%r2 # unsigned int
1365 llgfr %r3,%r3 # unsigned int
1366 lgfr %r4,%r4 # int
1367 jg sys_dup3 # branch to system call
1368
Jan Glauber144d6342011-07-24 10:48:19 +02001369ENTRY(sys_epoll_create1_wrapper)
Heiko Carstens519620c2008-08-01 16:39:15 +02001370 lgfr %r2,%r2 # int
1371 jg sys_epoll_create1 # branch to system call
Michael Holzheue34a6282009-01-23 16:40:27 +01001372
Jan Glauber144d6342011-07-24 10:48:19 +02001373ENTRY(sys32_readahead_wrapper)
Michael Holzheue34a6282009-01-23 16:40:27 +01001374 lgfr %r2,%r2 # int
1375 llgfr %r3,%r3 # u32
1376 llgfr %r4,%r4 # u32
1377 lgfr %r5,%r5 # s32
1378 jg sys32_readahead # branch to system call
1379
Jan Glauber144d6342011-07-24 10:48:19 +02001380ENTRY(sys32_sendfile64_wrapper)
Michael Holzheue34a6282009-01-23 16:40:27 +01001381 lgfr %r2,%r2 # int
1382 lgfr %r3,%r3 # int
1383 llgtr %r4,%r4 # compat_loff_t *
1384 lgfr %r5,%r5 # s32
1385 jg sys32_sendfile64 # branch to system call
1386
Jan Glauber144d6342011-07-24 10:48:19 +02001387ENTRY(sys_tkill_wrapper)
Michael Holzheue34a6282009-01-23 16:40:27 +01001388 lgfr %r2,%r2 # pid_t
1389 lgfr %r3,%r3 # int
1390 jg sys_tkill # branch to system call
1391
Jan Glauber144d6342011-07-24 10:48:19 +02001392ENTRY(sys_tgkill_wrapper)
Michael Holzheue34a6282009-01-23 16:40:27 +01001393 lgfr %r2,%r2 # pid_t
1394 lgfr %r3,%r3 # pid_t
1395 lgfr %r4,%r4 # int
1396 jg sys_tgkill # branch to system call
1397
Jan Glauber144d6342011-07-24 10:48:19 +02001398ENTRY(compat_sys_keyctl_wrapper)
Michael Holzheue34a6282009-01-23 16:40:27 +01001399 llgfr %r2,%r2 # u32
1400 llgfr %r3,%r3 # u32
1401 llgfr %r4,%r4 # u32
1402 llgfr %r5,%r5 # u32
1403 llgfr %r6,%r6 # u32
1404 jg compat_sys_keyctl # branch to system call
Heiko Carstensa93e11f2009-04-14 15:36:17 +02001405
Jan Glauber144d6342011-07-24 10:48:19 +02001406ENTRY(compat_sys_preadv_wrapper)
Heiko Carstensa93e11f2009-04-14 15:36:17 +02001407 llgfr %r2,%r2 # unsigned long
1408 llgtr %r3,%r3 # compat_iovec *
1409 llgfr %r4,%r4 # unsigned long
1410 llgfr %r5,%r5 # u32
1411 llgfr %r6,%r6 # u32
1412 jg compat_sys_preadv # branch to system call
1413
Jan Glauber144d6342011-07-24 10:48:19 +02001414ENTRY(compat_sys_pwritev_wrapper)
Heiko Carstensa93e11f2009-04-14 15:36:17 +02001415 llgfr %r2,%r2 # unsigned long
1416 llgtr %r3,%r3 # compat_iovec *
1417 llgfr %r4,%r4 # unsigned long
1418 llgfr %r5,%r5 # u32
1419 llgfr %r6,%r6 # u32
1420 jg compat_sys_pwritev # branch to system call
Heiko Carstensfc394532009-06-12 10:26:48 +02001421
Jan Glauber144d6342011-07-24 10:48:19 +02001422ENTRY(sys_perf_event_open_wrapper)
Ingo Molnarcdd6c482009-09-21 12:02:48 +02001423 llgtr %r2,%r2 # const struct perf_event_attr *
Heiko Carstens310d6b62009-06-12 10:26:49 +02001424 lgfr %r3,%r3 # pid_t
1425 lgfr %r4,%r4 # int
1426 lgfr %r5,%r5 # int
1427 llgfr %r6,%r6 # unsigned long
Ingo Molnarcdd6c482009-09-21 12:02:48 +02001428 jg sys_perf_event_open # branch to system call
Heiko Carstens2d70ca22009-09-22 22:58:41 +02001429
Jan Glauber144d6342011-07-24 10:48:19 +02001430ENTRY(sys_clone_wrapper)
Heiko Carstens2d70ca22009-09-22 22:58:41 +02001431 llgfr %r2,%r2 # unsigned long
1432 llgfr %r3,%r3 # unsigned long
1433 llgtr %r4,%r4 # int *
1434 llgtr %r5,%r5 # int *
1435 jg sys_clone # branch to system call
Heiko Carstens3e86a8c2009-09-22 22:58:42 +02001436
Jan Glauber144d6342011-07-24 10:48:19 +02001437ENTRY(sys32_execve_wrapper)
Heiko Carstens3e86a8c2009-09-22 22:58:42 +02001438 llgtr %r2,%r2 # char *
1439 llgtr %r3,%r3 # compat_uptr_t *
1440 llgtr %r4,%r4 # compat_uptr_t *
Al Viro65f22a92012-09-06 15:48:11 -04001441 jg compat_sys_execve # branch to system call
Heiko Carstensb47ac632010-08-13 10:06:41 +02001442
Jan Glauber144d6342011-07-24 10:48:19 +02001443ENTRY(sys_fanotify_init_wrapper)
Heiko Carstensb47ac632010-08-13 10:06:41 +02001444 llgfr %r2,%r2 # unsigned int
1445 llgfr %r3,%r3 # unsigned int
1446 jg sys_fanotify_init # branch to system call
1447
Jan Glauber144d6342011-07-24 10:48:19 +02001448ENTRY(sys_fanotify_mark_wrapper)
Heiko Carstensb47ac632010-08-13 10:06:41 +02001449 lgfr %r2,%r2 # int
1450 llgfr %r3,%r3 # unsigned int
1451 sllg %r4,%r4,32 # get high word of 64bit mask
1452 lr %r4,%r5 # get low word of 64bit mask
1453 llgfr %r5,%r6 # unsigned int
1454 llgt %r6,164(%r15) # char *
1455 jg sys_fanotify_mark # branch to system call
1456
Jan Glauber144d6342011-07-24 10:48:19 +02001457ENTRY(sys_prlimit64_wrapper)
Heiko Carstensb47ac632010-08-13 10:06:41 +02001458 lgfr %r2,%r2 # pid_t
1459 llgfr %r3,%r3 # unsigned int
1460 llgtr %r4,%r4 # const struct rlimit64 __user *
1461 llgtr %r5,%r5 # struct rlimit64 __user *
1462 jg sys_prlimit64 # branch to system call
Heiko Carstens737fd5f2011-03-23 10:15:55 +01001463
Jan Glauber144d6342011-07-24 10:48:19 +02001464ENTRY(sys_name_to_handle_at_wrapper)
Heiko Carstens737fd5f2011-03-23 10:15:55 +01001465 lgfr %r2,%r2 # int
1466 llgtr %r3,%r3 # const char __user *
1467 llgtr %r4,%r4 # struct file_handle __user *
1468 llgtr %r5,%r5 # int __user *
1469 lgfr %r6,%r6 # int
1470 jg sys_name_to_handle_at
Heiko Carstens50694962011-03-23 10:15:56 +01001471
Jan Glauber144d6342011-07-24 10:48:19 +02001472ENTRY(compat_sys_clock_adjtime_wrapper)
Heiko Carstens26e8a332011-03-23 10:15:57 +01001473 lgfr %r2,%r2 # clockid_t (int)
1474 llgtr %r3,%r3 # struct compat_timex __user *
1475 jg compat_sys_clock_adjtime
Heiko Carstensd0d2e312011-03-23 10:15:58 +01001476
Jan Glauber144d6342011-07-24 10:48:19 +02001477ENTRY(sys_syncfs_wrapper)
Heiko Carstensd0d2e312011-03-23 10:15:58 +01001478 lgfr %r2,%r2 # int
1479 jg sys_syncfs
Eric W. Biederman7b21fdd2011-05-27 19:28:27 -07001480
Jan Glauber017ec182011-10-30 15:16:09 +01001481ENTRY(sys_setns_wrapper)
Eric W. Biederman7b21fdd2011-05-27 19:28:27 -07001482 lgfr %r2,%r2 # int
1483 lgfr %r3,%r3 # int
1484 jg sys_setns
Heiko Carstens80025292011-11-14 11:18:59 +01001485
1486ENTRY(compat_sys_process_vm_readv_wrapper)
1487 lgfr %r2,%r2 # compat_pid_t
1488 llgtr %r3,%r3 # struct compat_iovec __user *
1489 llgfr %r4,%r4 # unsigned long
1490 llgtr %r5,%r5 # struct compat_iovec __user *
1491 llgfr %r6,%r6 # unsigned long
1492 llgf %r0,164(%r15) # unsigned long
1493 stg %r0,160(%r15)
Heiko Carstens82aabdb2012-08-07 09:48:13 +02001494 jg compat_sys_process_vm_readv
Heiko Carstens80025292011-11-14 11:18:59 +01001495
1496ENTRY(compat_sys_process_vm_writev_wrapper)
1497 lgfr %r2,%r2 # compat_pid_t
1498 llgtr %r3,%r3 # struct compat_iovec __user *
1499 llgfr %r4,%r4 # unsigned long
1500 llgtr %r5,%r5 # struct compat_iovec __user *
1501 llgfr %r6,%r6 # unsigned long
1502 llgf %r0,164(%r15) # unsigned long
1503 stg %r0,160(%r15)
Heiko Carstens82aabdb2012-08-07 09:48:13 +02001504 jg compat_sys_process_vm_writev
Jan Glaubere4b8b3f2012-07-31 10:52:05 +02001505
1506ENTRY(sys_s390_runtime_instr_wrapper)
1507 lgfr %r2,%r2 # int
1508 lgfr %r3,%r3 # int
1509 jg sys_s390_runtime_instr
Heiko Carstensc0162b02012-09-13 15:55:38 +02001510
1511ENTRY(sys_kcmp_wrapper)
1512 lgfr %r2,%r2 # pid_t
1513 lgfr %r3,%r3 # pid_t
1514 lgfr %r4,%r4 # int
1515 llgfr %r5,%r5 # unsigned long
1516 llgfr %r6,%r6 # unsigned long
1517 jg sys_kcmp
Heiko Carstens1427add2012-12-27 13:03:15 +01001518
1519ENTRY(sys_finit_module_wrapper)
1520 lgfr %r2,%r2 # int
1521 llgtr %r3,%r3 # const char __user *
1522 lgfr %r4,%r4 # int
1523 jg sys_finit_module