|
@@ -284,13 +284,7 @@ __visible void do_syscall_64(unsigned long nr, struct pt_regs *regs)
|
|
nr &= __SYSCALL_MASK;
|
|
nr &= __SYSCALL_MASK;
|
|
if (likely(nr < NR_syscalls)) {
|
|
if (likely(nr < NR_syscalls)) {
|
|
nr = array_index_nospec(nr, NR_syscalls);
|
|
nr = array_index_nospec(nr, NR_syscalls);
|
|
-#ifdef CONFIG_SYSCALL_PTREGS
|
|
|
|
regs->ax = sys_call_table[nr](regs);
|
|
regs->ax = sys_call_table[nr](regs);
|
|
-#else
|
|
|
|
- regs->ax = sys_call_table[nr](
|
|
|
|
- regs->di, regs->si, regs->dx,
|
|
|
|
- regs->r10, regs->r8, regs->r9);
|
|
|
|
-#endif
|
|
|
|
}
|
|
}
|
|
|
|
|
|
syscall_return_slowpath(regs);
|
|
syscall_return_slowpath(regs);
|
|
@@ -325,7 +319,7 @@ static __always_inline void do_syscall_32_irqs_on(struct pt_regs *regs)
|
|
|
|
|
|
if (likely(nr < IA32_NR_syscalls)) {
|
|
if (likely(nr < IA32_NR_syscalls)) {
|
|
nr = array_index_nospec(nr, IA32_NR_syscalls);
|
|
nr = array_index_nospec(nr, IA32_NR_syscalls);
|
|
-#ifdef CONFIG_SYSCALL_PTREGS
|
|
|
|
|
|
+#ifdef CONFIG_IA32_EMULATION
|
|
regs->ax = ia32_sys_call_table[nr](regs);
|
|
regs->ax = ia32_sys_call_table[nr](regs);
|
|
#else
|
|
#else
|
|
/*
|
|
/*
|
|
@@ -338,7 +332,7 @@ static __always_inline void do_syscall_32_irqs_on(struct pt_regs *regs)
|
|
(unsigned int)regs->bx, (unsigned int)regs->cx,
|
|
(unsigned int)regs->bx, (unsigned int)regs->cx,
|
|
(unsigned int)regs->dx, (unsigned int)regs->si,
|
|
(unsigned int)regs->dx, (unsigned int)regs->si,
|
|
(unsigned int)regs->di, (unsigned int)regs->bp);
|
|
(unsigned int)regs->di, (unsigned int)regs->bp);
|
|
-#endif /* CONFIG_SYSCALL_PTREGS */
|
|
|
|
|
|
+#endif /* CONFIG_IA32_EMULATION */
|
|
}
|
|
}
|
|
|
|
|
|
syscall_return_slowpath(regs);
|
|
syscall_return_slowpath(regs);
|