Contributors: 7
Author |
Tokens |
Token Proportion |
Commits |
Commit Proportion |
H. Peter Anvin |
57 |
44.53% |
2 |
18.18% |
Dominik Brodowski |
41 |
32.03% |
2 |
18.18% |
Andrew Lutomirski |
25 |
19.53% |
3 |
27.27% |
Ingo Molnar |
2 |
1.56% |
1 |
9.09% |
Brian Gerst |
1 |
0.78% |
1 |
9.09% |
Greg Kroah-Hartman |
1 |
0.78% |
1 |
9.09% |
Andi Kleen |
1 |
0.78% |
1 |
9.09% |
Total |
128 |
|
11 |
|
// SPDX-License-Identifier: GPL-2.0
/* System call table for i386. */
#include <linux/linkage.h>
#include <linux/sys.h>
#include <linux/cache.h>
#include <asm/asm-offsets.h>
#include <asm/syscall.h>
#ifdef CONFIG_IA32_EMULATION
/* On X86_64, we use struct pt_regs * to pass parameters to syscalls */
#define __SYSCALL_I386(nr, sym, qual) extern asmlinkage long sym(const struct pt_regs *);
/* this is a lie, but it does not hurt as sys_ni_syscall just returns -EINVAL */
extern asmlinkage long sys_ni_syscall(const struct pt_regs *);
#else /* CONFIG_IA32_EMULATION */
#define __SYSCALL_I386(nr, sym, qual) extern asmlinkage long sym(unsigned long, unsigned long, unsigned long, unsigned long, unsigned long, unsigned long);
extern asmlinkage long sys_ni_syscall(unsigned long, unsigned long, unsigned long, unsigned long, unsigned long, unsigned long);
#endif /* CONFIG_IA32_EMULATION */
#include <asm/syscalls_32.h>
#undef __SYSCALL_I386
#define __SYSCALL_I386(nr, sym, qual) [nr] = sym,
__visible const sys_call_ptr_t ia32_sys_call_table[__NR_syscall_compat_max+1] = {
/*
* Smells like a compiler bug -- it doesn't work
* when the & below is removed.
*/
[0 ... __NR_syscall_compat_max] = &sys_ni_syscall,
#include <asm/syscalls_32.h>
};