blob: 05cb796aecb55f102ca67e4e8240c98a966d968f [file] [log] [blame]
Linus Torvalds1da177e2005-04-16 15:20:36 -07001/*
Jeff Dikef87ea912008-02-04 22:31:29 -08002 * Copyright (C) 2000 - 2008 Jeff Dike (jdike@{addtoit,linux.intel}.com)
Linus Torvalds1da177e2005-04-16 15:20:36 -07003 * Licensed under the GPL
4 */
5
6#include "asm/unistd.h"
7#include "sysdep/ptrace.h"
8
9typedef long syscall_handler_t(struct pt_regs);
10
11/* Not declared on x86, incompatible declarations on x86_64, so these have
12 * to go here rather than in sys_call_table.c
13 */
Linus Torvalds1da177e2005-04-16 15:20:36 -070014extern syscall_handler_t sys_rt_sigaction;
15
Jeff Dikee32dacb2005-09-03 15:57:42 -070016extern syscall_handler_t *sys_call_table[];
17
Linus Torvalds1da177e2005-04-16 15:20:36 -070018#define EXECUTE_SYSCALL(syscall, regs) \
Jeff Dikef87ea912008-02-04 22:31:29 -080019 ((long (*)(struct syscall_args)) \
20 (*sys_call_table[syscall]))(SYSCALL_ARGS(&regs->regs))