47 lines
1.2 KiB
C
47 lines
1.2 KiB
C
/* 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 */
|