| /* SPDX-License-Identifier: GPL-2.0-or-later */ | |
| /* | |
| * This file contains the table of syscall-handling functions. | |
| * Copyright (C) 1995-1996 Gary Thomas (gdt@linuxppc.org) | |
| * | |
| * Largely rewritten by Cort Dougan (cort@cs.nmt.edu) | |
| * and Paul Mackerras. | |
| * | |
| * Adapted for iSeries by Mike Corrigan (mikejc@us.ibm.com) | |
| * PPC64 updates by Dave Engebretsen (engebret@us.ibm.com) | |
| */ | |
| #include <linux/syscalls.h> | |
| #include <linux/compat.h> | |
| #include <asm/unistd.h> | |
| #include <asm/syscalls.h> | |
| #undef __SYSCALL_WITH_COMPAT | |
| #define __SYSCALL_WITH_COMPAT(nr, entry, compat) __SYSCALL(nr, entry) | |
| #undef __SYSCALL | |
| #ifdef CONFIG_ARCH_HAS_SYSCALL_WRAPPER | |
| #define __SYSCALL(nr, entry) [nr] = entry, | |
| #else | |
| /* | |
| * Coerce syscall handlers with arbitrary parameters to common type | |
| * requires cast to void* to avoid -Wcast-function-type. | |
| */ | |
| #define __SYSCALL(nr, entry) [nr] = (void *) entry, | |
| #endif | |
| const syscall_fn sys_call_table[] = { | |
| #ifdef CONFIG_PPC64 | |
| #include <asm/syscall_table_64.h> | |
| #else | |
| #include <asm/syscall_table_32.h> | |
| #endif | |
| }; | |
| #ifdef CONFIG_COMPAT | |
| #undef __SYSCALL_WITH_COMPAT | |
| #define __SYSCALL_WITH_COMPAT(nr, native, compat) __SYSCALL(nr, compat) | |
| const syscall_fn compat_sys_call_table[] = { | |
| #include <asm/syscall_table_32.h> | |
| }; | |
| #endif /* CONFIG_COMPAT */ |