aboutsummaryrefslogtreecommitdiffstats
path: root/arch/um/include
diff options
context:
space:
mode:
Diffstat (limited to 'arch/um/include')
-rw-r--r--arch/um/include/sysdep-i386/stub.h9
-rw-r--r--arch/um/include/sysdep-x86_64/stub.h12
2 files changed, 20 insertions, 1 deletions
diff --git a/arch/um/include/sysdep-i386/stub.h b/arch/um/include/sysdep-i386/stub.h
index a49ceb199ee5..6ba8cbbe0d36 100644
--- a/arch/um/include/sysdep-i386/stub.h
+++ b/arch/um/include/sysdep-i386/stub.h
@@ -16,6 +16,15 @@ extern void stub_clone_handler(void);
16#define STUB_MMAP_NR __NR_mmap2 16#define STUB_MMAP_NR __NR_mmap2
17#define MMAP_OFFSET(o) ((o) >> PAGE_SHIFT) 17#define MMAP_OFFSET(o) ((o) >> PAGE_SHIFT)
18 18
19static inline long stub_syscall0(long syscall)
20{
21 long ret;
22
23 __asm__ volatile ("int $0x80" : "=a" (ret) : "0" (syscall));
24
25 return ret;
26}
27
19static inline long stub_syscall1(long syscall, long arg1) 28static inline long stub_syscall1(long syscall, long arg1)
20{ 29{
21 long ret; 30 long ret;
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
22static 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
23static inline long stub_syscall2(long syscall, long arg1, long arg2) 33static inline long stub_syscall2(long syscall, long arg1, long arg2)
24{ 34{
25 long ret; 35 long ret;