aboutsummaryrefslogtreecommitdiffstats
path: root/include/asm-i386/unistd.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/asm-i386/unistd.h')
-rw-r--r--include/asm-i386/unistd.h42
1 files changed, 26 insertions, 16 deletions
diff --git a/include/asm-i386/unistd.h b/include/asm-i386/unistd.h
index dc81a55dd94d..2e7f3e257fdd 100644
--- a/include/asm-i386/unistd.h
+++ b/include/asm-i386/unistd.h
@@ -316,8 +316,12 @@
316#define __NR_pselect6 308 316#define __NR_pselect6 308
317#define __NR_ppoll 309 317#define __NR_ppoll 309
318#define __NR_unshare 310 318#define __NR_unshare 310
319#define __NR_set_robust_list 311
320#define __NR_get_robust_list 312
321#define __NR_sys_splice 313
322#define __NR_sys_sync_file_range 314
319 323
320#define NR_syscalls 311 324#define NR_syscalls 315
321 325
322/* 326/*
323 * user-visible error numbers are in the range -1 - -128: see 327 * user-visible error numbers are in the range -1 - -128: see
@@ -347,9 +351,9 @@ __syscall_return(type,__res); \
347type name(type1 arg1) \ 351type name(type1 arg1) \
348{ \ 352{ \
349long __res; \ 353long __res; \
350__asm__ volatile ("int $0x80" \ 354__asm__ volatile ("push %%ebx ; movl %2,%%ebx ; int $0x80 ; pop %%ebx" \
351 : "=a" (__res) \ 355 : "=a" (__res) \
352 : "0" (__NR_##name),"b" ((long)(arg1)) : "memory"); \ 356 : "0" (__NR_##name),"ri" ((long)(arg1)) : "memory"); \
353__syscall_return(type,__res); \ 357__syscall_return(type,__res); \
354} 358}
355 359
@@ -357,9 +361,10 @@ __syscall_return(type,__res); \
357type name(type1 arg1,type2 arg2) \ 361type name(type1 arg1,type2 arg2) \
358{ \ 362{ \
359long __res; \ 363long __res; \
360__asm__ volatile ("int $0x80" \ 364__asm__ volatile ("push %%ebx ; movl %2,%%ebx ; int $0x80 ; pop %%ebx" \
361 : "=a" (__res) \ 365 : "=a" (__res) \
362 : "0" (__NR_##name),"b" ((long)(arg1)),"c" ((long)(arg2)) : "memory"); \ 366 : "0" (__NR_##name),"ri" ((long)(arg1)),"c" ((long)(arg2)) \
367 : "memory"); \
363__syscall_return(type,__res); \ 368__syscall_return(type,__res); \
364} 369}
365 370
@@ -367,9 +372,9 @@ __syscall_return(type,__res); \
367type name(type1 arg1,type2 arg2,type3 arg3) \ 372type name(type1 arg1,type2 arg2,type3 arg3) \
368{ \ 373{ \
369long __res; \ 374long __res; \
370__asm__ volatile ("int $0x80" \ 375__asm__ volatile ("push %%ebx ; movl %2,%%ebx ; int $0x80 ; pop %%ebx" \
371 : "=a" (__res) \ 376 : "=a" (__res) \
372 : "0" (__NR_##name),"b" ((long)(arg1)),"c" ((long)(arg2)), \ 377 : "0" (__NR_##name),"ri" ((long)(arg1)),"c" ((long)(arg2)), \
373 "d" ((long)(arg3)) : "memory"); \ 378 "d" ((long)(arg3)) : "memory"); \
374__syscall_return(type,__res); \ 379__syscall_return(type,__res); \
375} 380}
@@ -378,9 +383,9 @@ __syscall_return(type,__res); \
378type name (type1 arg1, type2 arg2, type3 arg3, type4 arg4) \ 383type name (type1 arg1, type2 arg2, type3 arg3, type4 arg4) \
379{ \ 384{ \
380long __res; \ 385long __res; \
381__asm__ volatile ("int $0x80" \ 386__asm__ volatile ("push %%ebx ; movl %2,%%ebx ; int $0x80 ; pop %%ebx" \
382 : "=a" (__res) \ 387 : "=a" (__res) \
383 : "0" (__NR_##name),"b" ((long)(arg1)),"c" ((long)(arg2)), \ 388 : "0" (__NR_##name),"ri" ((long)(arg1)),"c" ((long)(arg2)), \
384 "d" ((long)(arg3)),"S" ((long)(arg4)) : "memory"); \ 389 "d" ((long)(arg3)),"S" ((long)(arg4)) : "memory"); \
385__syscall_return(type,__res); \ 390__syscall_return(type,__res); \
386} 391}
@@ -390,10 +395,12 @@ __syscall_return(type,__res); \
390type name (type1 arg1,type2 arg2,type3 arg3,type4 arg4,type5 arg5) \ 395type name (type1 arg1,type2 arg2,type3 arg3,type4 arg4,type5 arg5) \
391{ \ 396{ \
392long __res; \ 397long __res; \
393__asm__ volatile ("int $0x80" \ 398__asm__ volatile ("push %%ebx ; movl %2,%%ebx ; movl %1,%%eax ; " \
399 "int $0x80 ; pop %%ebx" \
394 : "=a" (__res) \ 400 : "=a" (__res) \
395 : "0" (__NR_##name),"b" ((long)(arg1)),"c" ((long)(arg2)), \ 401 : "i" (__NR_##name),"ri" ((long)(arg1)),"c" ((long)(arg2)), \
396 "d" ((long)(arg3)),"S" ((long)(arg4)),"D" ((long)(arg5)) : "memory"); \ 402 "d" ((long)(arg3)),"S" ((long)(arg4)),"D" ((long)(arg5)) \
403 : "memory"); \
397__syscall_return(type,__res); \ 404__syscall_return(type,__res); \
398} 405}
399 406
@@ -402,11 +409,14 @@ __syscall_return(type,__res); \
402type name (type1 arg1,type2 arg2,type3 arg3,type4 arg4,type5 arg5,type6 arg6) \ 409type name (type1 arg1,type2 arg2,type3 arg3,type4 arg4,type5 arg5,type6 arg6) \
403{ \ 410{ \
404long __res; \ 411long __res; \
405__asm__ volatile ("push %%ebp ; movl %%eax,%%ebp ; movl %1,%%eax ; int $0x80 ; pop %%ebp" \ 412 struct { long __a1; long __a6; } __s = { (long)arg1, (long)arg6 }; \
413__asm__ volatile ("push %%ebp ; push %%ebx ; movl 4(%2),%%ebp ; " \
414 "movl 0(%2),%%ebx ; movl %1,%%eax ; int $0x80 ; " \
415 "pop %%ebx ; pop %%ebp" \
406 : "=a" (__res) \ 416 : "=a" (__res) \
407 : "i" (__NR_##name),"b" ((long)(arg1)),"c" ((long)(arg2)), \ 417 : "i" (__NR_##name),"0" ((long)(&__s)),"c" ((long)(arg2)), \
408 "d" ((long)(arg3)),"S" ((long)(arg4)),"D" ((long)(arg5)), \ 418 "d" ((long)(arg3)),"S" ((long)(arg4)),"D" ((long)(arg5)) \
409 "0" ((long)(arg6)) : "memory"); \ 419 : "memory"); \
410__syscall_return(type,__res); \ 420__syscall_return(type,__res); \
411} 421}
412 422