1/* SPDX-License-Identifier: GPL-2.0-or-later */ 2/* 3 * This file contains the table of syscall-handling functions. 4 * Copyright (C) 1995-1996 Gary Thomas (gdt@linuxppc.org) 5 * 6 * Largely rewritten by Cort Dougan (cort@cs.nmt.edu) 7 * and Paul Mackerras. 8 * 9 * Adapted for iSeries by Mike Corrigan (mikejc@us.ibm.com) 10 * PPC64 updates by Dave Engebretsen (engebret@us.ibm.com) 11 */ 12 13#include <linux/syscalls.h> 14#include <linux/compat.h> 15#include <asm/unistd.h> 16#include <asm/syscalls.h> 17 18#undef __SYSCALL_WITH_COMPAT 19#define __SYSCALL_WITH_COMPAT(nr, entry, compat) __SYSCALL(nr, entry) 20 21#undef __SYSCALL 22#ifdef CONFIG_ARCH_HAS_SYSCALL_WRAPPER 23#define __SYSCALL(nr, entry) [nr] = entry, 24#else 25/* 26 * Coerce syscall handlers with arbitrary parameters to common type 27 * requires cast to void* to avoid -Wcast-function-type. 28 */ 29#define __SYSCALL(nr, entry) [nr] = (void *) entry, 30#endif 31 32const syscall_fn sys_call_table[] = { 33#ifdef CONFIG_PPC64 34#include <asm/syscall_table_64.h> 35#else 36#include <asm/syscall_table_32.h> 37#endif 38}; 39 40#ifdef CONFIG_COMPAT 41#undef __SYSCALL_WITH_COMPAT 42#define __SYSCALL_WITH_COMPAT(nr, native, compat) __SYSCALL(nr, compat) 43const syscall_fn compat_sys_call_table[] = { 44#include <asm/syscall_table_32.h> 45}; 46#endif /* CONFIG_COMPAT */ 47