diff options
Diffstat (limited to 'arch/um/include/sysdep-x86_64/stub.h')
-rw-r--r-- | arch/um/include/sysdep-x86_64/stub.h | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/arch/um/include/sysdep-x86_64/stub.h b/arch/um/include/sysdep-x86_64/stub.h index 2bd6e7a97286..c41689c13dc9 100644 --- a/arch/um/include/sysdep-x86_64/stub.h +++ b/arch/um/include/sysdep-x86_64/stub.h | |||
@@ -6,7 +6,6 @@ | |||
6 | #ifndef __SYSDEP_STUB_H | 6 | #ifndef __SYSDEP_STUB_H |
7 | #define __SYSDEP_STUB_H | 7 | #define __SYSDEP_STUB_H |
8 | 8 | ||
9 | #include <asm/ptrace.h> | ||
10 | #include <asm/unistd.h> | 9 | #include <asm/unistd.h> |
11 | #include <sysdep/ptrace_user.h> | 10 | #include <sysdep/ptrace_user.h> |
12 | 11 | ||
@@ -20,6 +19,17 @@ extern void stub_clone_handler(void); | |||
20 | #define __syscall_clobber "r11","rcx","memory" | 19 | #define __syscall_clobber "r11","rcx","memory" |
21 | #define __syscall "syscall" | 20 | #define __syscall "syscall" |
22 | 21 | ||
22 | static inline long stub_syscall0(long syscall) | ||
23 | { | ||
24 | long ret; | ||
25 | |||
26 | __asm__ volatile (__syscall | ||
27 | : "=a" (ret) | ||
28 | : "0" (syscall) : __syscall_clobber ); | ||
29 | |||
30 | return ret; | ||
31 | } | ||
32 | |||
23 | static inline long stub_syscall2(long syscall, long arg1, long arg2) | 33 | static inline long stub_syscall2(long syscall, long arg1, long arg2) |
24 | { | 34 | { |
25 | long ret; | 35 | long ret; |