aboutsummaryrefslogtreecommitdiffstats
path: root/arch/c6x/include
diff options
context:
space:
mode:
authorAurelien Jacquiot <a-jacquiot@ti.com>2011-10-04 12:21:06 -0400
committerMark Salter <msalter@redhat.com>2011-10-06 19:47:58 -0400
commit8a0c9e0348479f1b85c640da4795bdd775970bf3 (patch)
tree1d0f9b2d279b40d42ebd79fa1e99becaaa9f225e /arch/c6x/include
parentec500af3059b474df35418c41c684c1cde830c81 (diff)
C6X: syscalls
Original port to early 2.6 kernel using TI COFF toolchain. Brought up to date by Mark Salter <msalter@redhat.com> Signed-off-by: Aurelien Jacquiot <a-jacquiot@ti.com> Signed-off-by: Mark Salter <msalter@redhat.com> Acked-by: Arnd Bergmann <arnd@arndb.de> [msalter@redhat.com: add include of linux/module.h to sys_c6x.c] Signed-off-by: Mark Salter <msalter@redhat.com>
Diffstat (limited to 'arch/c6x/include')
-rw-r--r--arch/c6x/include/asm/syscalls.h55
-rw-r--r--arch/c6x/include/asm/unistd.h26
2 files changed, 81 insertions, 0 deletions
diff --git a/arch/c6x/include/asm/syscalls.h b/arch/c6x/include/asm/syscalls.h
new file mode 100644
index 000000000000..aed53da703c9
--- /dev/null
+++ b/arch/c6x/include/asm/syscalls.h
@@ -0,0 +1,55 @@
1/*
2 * Copyright (C) 2011 Texas Instruments Incorporated
3 * Author: Mark Salter <msalter@redhat.com>
4 *
5 * This program is free software; you can redistribute it and/or
6 * modify it under the terms of the GNU General Public License
7 * as published by the Free Software Foundation, version 2.
8 *
9 * This program is distributed in the hope that it will be useful, but
10 * WITHOUT ANY WARRANTY; without even the implied warranty of
11 * MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE, GOOD TITLE or
12 * NON INFRINGEMENT. See the GNU General Public License for
13 * more details.
14 */
15
16#ifndef __ASM_C6X_SYSCALLS_H
17#define __ASM_C6X_SYSCALLS_H
18
19#include <linux/compiler.h>
20#include <linux/linkage.h>
21#include <linux/types.h>
22
23/* The array of function pointers for syscalls. */
24extern void *sys_call_table[];
25
26/* The following are trampolines in entry.S to handle 64-bit arguments */
27extern long sys_pread_c6x(unsigned int fd, char __user *buf,
28 size_t count, off_t pos_low, off_t pos_high);
29extern long sys_pwrite_c6x(unsigned int fd, const char __user *buf,
30 size_t count, off_t pos_low, off_t pos_high);
31extern long sys_truncate64_c6x(const char __user *path,
32 off_t length_low, off_t length_high);
33extern long sys_ftruncate64_c6x(unsigned int fd,
34 off_t length_low, off_t length_high);
35extern long sys_fadvise64_c6x(int fd, u32 offset_lo, u32 offset_hi,
36 u32 len, int advice);
37extern long sys_fadvise64_64_c6x(int fd, u32 offset_lo, u32 offset_hi,
38 u32 len_lo, u32 len_hi, int advice);
39extern long sys_fallocate_c6x(int fd, int mode,
40 u32 offset_lo, u32 offset_hi,
41 u32 len_lo, u32 len_hi);
42extern int sys_cache_sync(unsigned long s, unsigned long e);
43
44struct pt_regs;
45
46extern asmlinkage long sys_c6x_clone(struct pt_regs *regs);
47extern asmlinkage long sys_c6x_execve(const char __user *name,
48 const char __user *const __user *argv,
49 const char __user *const __user *envp,
50 struct pt_regs *regs);
51
52
53#include <asm-generic/syscalls.h>
54
55#endif /* __ASM_C6X_SYSCALLS_H */
diff --git a/arch/c6x/include/asm/unistd.h b/arch/c6x/include/asm/unistd.h
new file mode 100644
index 000000000000..6d54ea4262eb
--- /dev/null
+++ b/arch/c6x/include/asm/unistd.h
@@ -0,0 +1,26 @@
1/*
2 * Copyright (C) 2011 Texas Instruments Incorporated
3 *
4 * Based on arch/tile version.
5 *
6 * This program is free software; you can redistribute it and/or
7 * modify it under the terms of the GNU General Public License
8 * as published by the Free Software Foundation, version 2.
9 *
10 * This program is distributed in the hope that it will be useful, but
11 * WITHOUT ANY WARRANTY; without even the implied warranty of
12 * MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE, GOOD TITLE or
13 * NON INFRINGEMENT. See the GNU General Public License for
14 * more details.
15 */
16#if !defined(_ASM_C6X_UNISTD_H) || defined(__SYSCALL)
17#define _ASM_C6X_UNISTD_H
18
19/* Use the standard ABI for syscalls. */
20#include <asm-generic/unistd.h>
21
22/* C6X-specific syscalls. */
23#define __NR_cache_sync (__NR_arch_specific_syscall + 0)
24__SYSCALL(__NR_cache_sync, sys_cache_sync)
25
26#endif /* _ASM_C6X_UNISTD_H */