diff options
Diffstat (limited to 'include/linux/compat.h')
-rw-r--r-- | include/linux/compat.h | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/include/linux/compat.h b/include/linux/compat.h index 8a9643857c4a..48a321ae3d19 100644 --- a/include/linux/compat.h +++ b/include/linux/compat.h @@ -32,7 +32,7 @@ #endif #define COMPAT_SYSCALL_DEFINE0(name) \ - asmlinkage long compat_sys_##name(void) + asmlinkage long compat_sys_i86_##sname(void) #define COMPAT_SYSCALL_DEFINE1(name, ...) \ COMPAT_SYSCALL_DEFINEx(1, _##name, __VA_ARGS__) @@ -56,6 +56,16 @@ { \ return C_SYSC##name(__MAP(x,__SC_DELOUSE,__VA_ARGS__)); \ } \ + asmlinkage long compat_sys_i86##name(struct pt_regs *regs) \ + { \ + return compat_SyS##name(__MAP(x,__SC_ARGS \ + ,,(unsigned int)regs->bx \ + ,,(unsigned int)regs->cx \ + ,,(unsigned int)regs->dx \ + ,,(unsigned int)regs->si \ + ,,(unsigned int)regs->di \ + ,,(unsigned int)regs->bp)); \ + } \ static inline long C_SYSC##name(__MAP(x,__SC_DECL,__VA_ARGS__)) #ifndef compat_user_stack_pointer |