blob: 905698197e35fc2f4fd612b0495bd846d3253a65 [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
16extern syscall_handler_t old_mmap_i386;
17
Jeff Dikee32dacb2005-09-03 15:57:42 -070018extern syscall_handler_t *sys_call_table[];
19
Linus Torvalds1da177e2005-04-16 15:20:36 -070020#define EXECUTE_SYSCALL(syscall, regs) \
Jeff Dikef87ea912008-02-04 22:31:29 -080021 ((long (*)(struct syscall_args)) \
22 (*sys_call_table[syscall]))(SYSCALL_ARGS(&regs->regs))
Linus Torvalds1da177e2005-04-16 15:20:36 -070023
24extern long sys_mmap2(unsigned long addr, unsigned long len,
25 unsigned long prot, unsigned long flags,
26 unsigned long fd, unsigned long pgoff);