aboutsummaryrefslogtreecommitdiffstats
path: root/arch/xtensa/include/uapi
diff options
context:
space:
mode:
Diffstat (limited to 'arch/xtensa/include/uapi')
-rw-r--r--arch/xtensa/include/uapi/asm/Kbuild31
-rw-r--r--arch/xtensa/include/uapi/asm/auxvec.h4
-rw-r--r--arch/xtensa/include/uapi/asm/bitsperlong.h1
-rw-r--r--arch/xtensa/include/uapi/asm/byteorder.h12
-rw-r--r--arch/xtensa/include/uapi/asm/errno.h16
-rw-r--r--arch/xtensa/include/uapi/asm/fcntl.h1
-rw-r--r--arch/xtensa/include/uapi/asm/ioctl.h1
-rw-r--r--arch/xtensa/include/uapi/asm/ioctls.h120
-rw-r--r--arch/xtensa/include/uapi/asm/ipcbuf.h37
-rw-r--r--arch/xtensa/include/uapi/asm/kvm_para.h1
-rw-r--r--arch/xtensa/include/uapi/asm/mman.h96
-rw-r--r--arch/xtensa/include/uapi/asm/msgbuf.h48
-rw-r--r--arch/xtensa/include/uapi/asm/param.h30
-rw-r--r--arch/xtensa/include/uapi/asm/poll.h20
-rw-r--r--arch/xtensa/include/uapi/asm/posix_types.h39
-rw-r--r--arch/xtensa/include/uapi/asm/ptrace.h77
-rw-r--r--arch/xtensa/include/uapi/asm/resource.h16
-rw-r--r--arch/xtensa/include/uapi/asm/sembuf.h44
-rw-r--r--arch/xtensa/include/uapi/asm/setup.h18
-rw-r--r--arch/xtensa/include/uapi/asm/shmbuf.h71
-rw-r--r--arch/xtensa/include/uapi/asm/sigcontext.h28
-rw-r--r--arch/xtensa/include/uapi/asm/siginfo.h16
-rw-r--r--arch/xtensa/include/uapi/asm/signal.h148
-rw-r--r--arch/xtensa/include/uapi/asm/socket.h83
-rw-r--r--arch/xtensa/include/uapi/asm/sockios.h31
-rw-r--r--arch/xtensa/include/uapi/asm/stat.h59
-rw-r--r--arch/xtensa/include/uapi/asm/statfs.h17
-rw-r--r--arch/xtensa/include/uapi/asm/swab.h70
-rw-r--r--arch/xtensa/include/uapi/asm/termbits.h220
-rw-r--r--arch/xtensa/include/uapi/asm/termios.h56
-rw-r--r--arch/xtensa/include/uapi/asm/types.h28
-rw-r--r--arch/xtensa/include/uapi/asm/unistd.h704
32 files changed, 2143 insertions, 0 deletions
diff --git a/arch/xtensa/include/uapi/asm/Kbuild b/arch/xtensa/include/uapi/asm/Kbuild
index baebb3da1d44..040178cdb3eb 100644
--- a/arch/xtensa/include/uapi/asm/Kbuild
+++ b/arch/xtensa/include/uapi/asm/Kbuild
@@ -1,3 +1,34 @@
1# UAPI Header export list 1# UAPI Header export list
2include include/uapi/asm-generic/Kbuild.asm 2include include/uapi/asm-generic/Kbuild.asm
3 3
4header-y += auxvec.h
5header-y += bitsperlong.h
6header-y += byteorder.h
7header-y += errno.h
8header-y += fcntl.h
9header-y += ioctl.h
10header-y += ioctls.h
11header-y += ipcbuf.h
12header-y += kvm_para.h
13header-y += mman.h
14header-y += msgbuf.h
15header-y += param.h
16header-y += poll.h
17header-y += posix_types.h
18header-y += ptrace.h
19header-y += resource.h
20header-y += sembuf.h
21header-y += setup.h
22header-y += shmbuf.h
23header-y += sigcontext.h
24header-y += siginfo.h
25header-y += signal.h
26header-y += socket.h
27header-y += sockios.h
28header-y += stat.h
29header-y += statfs.h
30header-y += swab.h
31header-y += termbits.h
32header-y += termios.h
33header-y += types.h
34header-y += unistd.h
diff --git a/arch/xtensa/include/uapi/asm/auxvec.h b/arch/xtensa/include/uapi/asm/auxvec.h
new file mode 100644
index 000000000000..257dec75c5af
--- /dev/null
+++ b/arch/xtensa/include/uapi/asm/auxvec.h
@@ -0,0 +1,4 @@
1#ifndef __XTENSA_AUXVEC_H
2#define __XTENSA_AUXVEC_H
3
4#endif
diff --git a/arch/xtensa/include/uapi/asm/bitsperlong.h b/arch/xtensa/include/uapi/asm/bitsperlong.h
new file mode 100644
index 000000000000..6dc0bb0c13b2
--- /dev/null
+++ b/arch/xtensa/include/uapi/asm/bitsperlong.h
@@ -0,0 +1 @@
#include <asm-generic/bitsperlong.h>
diff --git a/arch/xtensa/include/uapi/asm/byteorder.h b/arch/xtensa/include/uapi/asm/byteorder.h
new file mode 100644
index 000000000000..54eb6315349c
--- /dev/null
+++ b/arch/xtensa/include/uapi/asm/byteorder.h
@@ -0,0 +1,12 @@
1#ifndef _XTENSA_BYTEORDER_H
2#define _XTENSA_BYTEORDER_H
3
4#ifdef __XTENSA_EL__
5#include <linux/byteorder/little_endian.h>
6#elif defined(__XTENSA_EB__)
7#include <linux/byteorder/big_endian.h>
8#else
9# error processor byte order undefined!
10#endif
11
12#endif /* _XTENSA_BYTEORDER_H */
diff --git a/arch/xtensa/include/uapi/asm/errno.h b/arch/xtensa/include/uapi/asm/errno.h
new file mode 100644
index 000000000000..a0f3b96b79b4
--- /dev/null
+++ b/arch/xtensa/include/uapi/asm/errno.h
@@ -0,0 +1,16 @@
1/*
2 * include/asm-xtensa/errno.h
3 *
4 * This file is subject to the terms and conditions of the GNU General
5 * Public License. See the file "COPYING" in the main directory of
6 * this archive for more details.
7 *
8 * Copyright (C) 2002 - 2005 Tensilica Inc.
9 */
10
11#ifndef _XTENSA_ERRNO_H
12#define _XTENSA_ERRNO_H
13
14#include <asm-generic/errno.h>
15
16#endif /* _XTENSA_ERRNO_H */
diff --git a/arch/xtensa/include/uapi/asm/fcntl.h b/arch/xtensa/include/uapi/asm/fcntl.h
new file mode 100644
index 000000000000..46ab12db5739
--- /dev/null
+++ b/arch/xtensa/include/uapi/asm/fcntl.h
@@ -0,0 +1 @@
#include <asm-generic/fcntl.h>
diff --git a/arch/xtensa/include/uapi/asm/ioctl.h b/arch/xtensa/include/uapi/asm/ioctl.h
new file mode 100644
index 000000000000..b279fe06dfe5
--- /dev/null
+++ b/arch/xtensa/include/uapi/asm/ioctl.h
@@ -0,0 +1 @@
#include <asm-generic/ioctl.h>
diff --git a/arch/xtensa/include/uapi/asm/ioctls.h b/arch/xtensa/include/uapi/asm/ioctls.h
new file mode 100644
index 000000000000..2aa4cd9f0cec
--- /dev/null
+++ b/arch/xtensa/include/uapi/asm/ioctls.h
@@ -0,0 +1,120 @@
1/*
2 * include/asm-xtensa/ioctls.h
3 *
4 * This file is subject to the terms and conditions of the GNU General Public
5 * License. See the file "COPYING" in the main directory of this archive
6 * for more details.
7 *
8 * Copyright (C) 2003 - 2005 Tensilica Inc.
9 *
10 * Derived from "include/asm-i386/ioctls.h"
11 */
12
13#ifndef _XTENSA_IOCTLS_H
14#define _XTENSA_IOCTLS_H
15
16#include <asm/ioctl.h>
17
18#define FIOCLEX _IO('f', 1)
19#define FIONCLEX _IO('f', 2)
20#define FIOASYNC _IOW('f', 125, int)
21#define FIONBIO _IOW('f', 126, int)
22#define FIONREAD _IOR('f', 127, int)
23#define TIOCINQ FIONREAD
24#define FIOQSIZE _IOR('f', 128, loff_t)
25
26#define TCGETS 0x5401
27#define TCSETS 0x5402
28#define TCSETSW 0x5403
29#define TCSETSF 0x5404
30
31#define TCGETA _IOR('t', 23, struct termio)
32#define TCSETA _IOW('t', 24, struct termio)
33#define TCSETAW _IOW('t', 25, struct termio)
34#define TCSETAF _IOW('t', 28, struct termio)
35
36#define TCSBRK _IO('t', 29)
37#define TCXONC _IO('t', 30)
38#define TCFLSH _IO('t', 31)
39
40#define TIOCSWINSZ _IOW('t', 103, struct winsize)
41#define TIOCGWINSZ _IOR('t', 104, struct winsize)
42#define TIOCSTART _IO('t', 110) /* start output, like ^Q */
43#define TIOCSTOP _IO('t', 111) /* stop output, like ^S */
44#define TIOCOUTQ _IOR('t', 115, int) /* output queue size */
45
46#define TIOCSPGRP _IOW('t', 118, int)
47#define TIOCGPGRP _IOR('t', 119, int)
48
49#define TIOCEXCL _IO('T', 12)
50#define TIOCNXCL _IO('T', 13)
51#define TIOCSCTTY _IO('T', 14)
52
53#define TIOCSTI _IOW('T', 18, char)
54#define TIOCMGET _IOR('T', 21, unsigned int)
55#define TIOCMBIS _IOW('T', 22, unsigned int)
56#define TIOCMBIC _IOW('T', 23, unsigned int)
57#define TIOCMSET _IOW('T', 24, unsigned int)
58# define TIOCM_LE 0x001
59# define TIOCM_DTR 0x002
60# define TIOCM_RTS 0x004
61# define TIOCM_ST 0x008
62# define TIOCM_SR 0x010
63# define TIOCM_CTS 0x020
64# define TIOCM_CAR 0x040
65# define TIOCM_RNG 0x080
66# define TIOCM_DSR 0x100
67# define TIOCM_CD TIOCM_CAR
68# define TIOCM_RI TIOCM_RNG
69
70#define TIOCGSOFTCAR _IOR('T', 25, unsigned int)
71#define TIOCSSOFTCAR _IOW('T', 26, unsigned int)
72#define TIOCLINUX _IOW('T', 28, char)
73#define TIOCCONS _IO('T', 29)
74#define TIOCGSERIAL 0x803C541E /*_IOR('T', 30, struct serial_struct)*/
75#define TIOCSSERIAL 0x403C541F /*_IOW('T', 31, struct serial_struct)*/
76#define TIOCPKT _IOW('T', 32, int)
77# define TIOCPKT_DATA 0
78# define TIOCPKT_FLUSHREAD 1
79# define TIOCPKT_FLUSHWRITE 2
80# define TIOCPKT_STOP 4
81# define TIOCPKT_START 8
82# define TIOCPKT_NOSTOP 16
83# define TIOCPKT_DOSTOP 32
84# define TIOCPKT_IOCTL 64
85
86
87#define TIOCNOTTY _IO('T', 34)
88#define TIOCSETD _IOW('T', 35, int)
89#define TIOCGETD _IOR('T', 36, int)
90#define TCSBRKP _IOW('T', 37, int) /* Needed for POSIX tcsendbreak()*/
91#define TIOCTTYGSTRUCT _IOR('T', 38, struct tty_struct) /* For debugging only*/
92#define TIOCSBRK _IO('T', 39) /* BSD compatibility */
93#define TIOCCBRK _IO('T', 40) /* BSD compatibility */
94#define TIOCGSID _IOR('T', 41, pid_t) /* Return the session ID of FD*/
95#define TCGETS2 _IOR('T', 42, struct termios2)
96#define TCSETS2 _IOW('T', 43, struct termios2)
97#define TCSETSW2 _IOW('T', 44, struct termios2)
98#define TCSETSF2 _IOW('T', 45, struct termios2)
99#define TIOCGPTN _IOR('T',0x30, unsigned int) /* Get Pty Number (of pty-mux device) */
100#define TIOCSPTLCK _IOW('T',0x31, int) /* Lock/unlock Pty */
101#define TIOCGDEV _IOR('T',0x32, unsigned int) /* Get primary device node of /dev/console */
102#define TIOCSIG _IOW('T',0x36, int) /* Generate signal on Pty slave */
103#define TIOCVHANGUP _IO('T', 0x37)
104
105#define TIOCSERCONFIG _IO('T', 83)
106#define TIOCSERGWILD _IOR('T', 84, int)
107#define TIOCSERSWILD _IOW('T', 85, int)
108#define TIOCGLCKTRMIOS 0x5456
109#define TIOCSLCKTRMIOS 0x5457
110#define TIOCSERGSTRUCT 0x5458 /* For debugging only */
111#define TIOCSERGETLSR _IOR('T', 89, unsigned int) /* Get line status reg. */
112 /* ioctl (fd, TIOCSERGETLSR, &result) where result may be as below */
113# define TIOCSER_TEMT 0x01 /* Transmitter physically empty */
114#define TIOCSERGETMULTI _IOR('T', 90, struct serial_multiport_struct) /* Get multiport config */
115#define TIOCSERSETMULTI _IOW('T', 91, struct serial_multiport_struct) /* Set multiport config */
116
117#define TIOCMIWAIT _IO('T', 92) /* wait for a change on serial input line(s) */
118#define TIOCGICOUNT 0x545D /* read serial port inline interrupt counts */
119
120#endif /* _XTENSA_IOCTLS_H */
diff --git a/arch/xtensa/include/uapi/asm/ipcbuf.h b/arch/xtensa/include/uapi/asm/ipcbuf.h
new file mode 100644
index 000000000000..c33aa6a42145
--- /dev/null
+++ b/arch/xtensa/include/uapi/asm/ipcbuf.h
@@ -0,0 +1,37 @@
1/*
2 * include/asm-xtensa/ipcbuf.h
3 *
4 * The ipc64_perm structure for the Xtensa architecture.
5 * Note extra padding because this structure is passed back and forth
6 * between kernel and user space.
7 *
8 * Copyright (C) 2001 - 2005 Tensilica Inc.
9 */
10
11#ifndef _XTENSA_IPCBUF_H
12#define _XTENSA_IPCBUF_H
13
14/*
15 * Pad space is left for:
16 * - 32-bit mode_t and seq
17 * - 2 miscellaneous 32-bit values
18 *
19 * This file is subject to the terms and conditions of the GNU General
20 * Public License. See the file "COPYING" in the main directory of
21 * this archive for more details.
22 */
23
24struct ipc64_perm
25{
26 __kernel_key_t key;
27 __kernel_uid32_t uid;
28 __kernel_gid32_t gid;
29 __kernel_uid32_t cuid;
30 __kernel_gid32_t cgid;
31 __kernel_mode_t mode;
32 unsigned long seq;
33 unsigned long __unused1;
34 unsigned long __unused2;
35};
36
37#endif /* _XTENSA_IPCBUF_H */
diff --git a/arch/xtensa/include/uapi/asm/kvm_para.h b/arch/xtensa/include/uapi/asm/kvm_para.h
new file mode 100644
index 000000000000..14fab8f0b957
--- /dev/null
+++ b/arch/xtensa/include/uapi/asm/kvm_para.h
@@ -0,0 +1 @@
#include <asm-generic/kvm_para.h>
diff --git a/arch/xtensa/include/uapi/asm/mman.h b/arch/xtensa/include/uapi/asm/mman.h
new file mode 100644
index 000000000000..25bc6c1309c3
--- /dev/null
+++ b/arch/xtensa/include/uapi/asm/mman.h
@@ -0,0 +1,96 @@
1/*
2 * include/asm-xtensa/mman.h
3 *
4 * Xtensa Processor memory-manager definitions
5 *
6 * This file is subject to the terms and conditions of the GNU General Public
7 * License. See the file "COPYING" in the main directory of this archive
8 * for more details.
9 *
10 * Copyright (C) 1995 by Ralf Baechle
11 * Copyright (C) 2001 - 2005 Tensilica Inc.
12 */
13
14#ifndef _XTENSA_MMAN_H
15#define _XTENSA_MMAN_H
16
17/*
18 * Protections are chosen from these bits, OR'd together. The
19 * implementation does not necessarily support PROT_EXEC or PROT_WRITE
20 * without PROT_READ. The only guarantees are that no writing will be
21 * allowed without PROT_WRITE and no access will be allowed for PROT_NONE.
22 */
23
24#define PROT_NONE 0x0 /* page can not be accessed */
25#define PROT_READ 0x1 /* page can be read */
26#define PROT_WRITE 0x2 /* page can be written */
27#define PROT_EXEC 0x4 /* page can be executed */
28
29#define PROT_SEM 0x10 /* page may be used for atomic ops */
30#define PROT_GROWSDOWN 0x01000000 /* mprotect flag: extend change to start of growsdown vma */
31#define PROT_GROWSUP 0x02000000 /* mprotect flag: extend change to end fo growsup vma */
32
33/*
34 * Flags for mmap
35 */
36#define MAP_SHARED 0x001 /* Share changes */
37#define MAP_PRIVATE 0x002 /* Changes are private */
38#define MAP_TYPE 0x00f /* Mask for type of mapping */
39#define MAP_FIXED 0x010 /* Interpret addr exactly */
40
41/* not used by linux, but here to make sure we don't clash with ABI defines */
42#define MAP_RENAME 0x020 /* Assign page to file */
43#define MAP_AUTOGROW 0x040 /* File may grow by writing */
44#define MAP_LOCAL 0x080 /* Copy on fork/sproc */
45#define MAP_AUTORSRV 0x100 /* Logical swap reserved on demand */
46
47/* These are linux-specific */
48#define MAP_NORESERVE 0x0400 /* don't check for reservations */
49#define MAP_ANONYMOUS 0x0800 /* don't use a file */
50#define MAP_GROWSDOWN 0x1000 /* stack-like segment */
51#define MAP_DENYWRITE 0x2000 /* ETXTBSY */
52#define MAP_EXECUTABLE 0x4000 /* mark it as an executable */
53#define MAP_LOCKED 0x8000 /* pages are locked */
54#define MAP_POPULATE 0x10000 /* populate (prefault) pagetables */
55#define MAP_NONBLOCK 0x20000 /* do not block on IO */
56#define MAP_STACK 0x40000 /* give out an address that is best suited for process/thread stacks */
57#define MAP_HUGETLB 0x80000 /* create a huge page mapping */
58
59/*
60 * Flags for msync
61 */
62#define MS_ASYNC 0x0001 /* sync memory asynchronously */
63#define MS_INVALIDATE 0x0002 /* invalidate mappings & caches */
64#define MS_SYNC 0x0004 /* synchronous memory sync */
65
66/*
67 * Flags for mlockall
68 */
69#define MCL_CURRENT 1 /* lock all current mappings */
70#define MCL_FUTURE 2 /* lock all future mappings */
71
72#define MADV_NORMAL 0 /* no further special treatment */
73#define MADV_RANDOM 1 /* expect random page references */
74#define MADV_SEQUENTIAL 2 /* expect sequential page references */
75#define MADV_WILLNEED 3 /* will need these pages */
76#define MADV_DONTNEED 4 /* don't need these pages */
77
78/* common parameters: try to keep these consistent across architectures */
79#define MADV_REMOVE 9 /* remove these pages & resources */
80#define MADV_DONTFORK 10 /* don't inherit across fork */
81#define MADV_DOFORK 11 /* do inherit across fork */
82
83#define MADV_MERGEABLE 12 /* KSM may merge identical pages */
84#define MADV_UNMERGEABLE 13 /* KSM may not merge identical pages */
85
86#define MADV_HUGEPAGE 14 /* Worth backing with hugepages */
87#define MADV_NOHUGEPAGE 15 /* Not worth backing with hugepages */
88
89#define MADV_DONTDUMP 16 /* Explicity exclude from the core dump,
90 overrides the coredump filter bits */
91#define MADV_DODUMP 17 /* Clear the MADV_NODUMP flag */
92
93/* compatibility flags */
94#define MAP_FILE 0
95
96#endif /* _XTENSA_MMAN_H */
diff --git a/arch/xtensa/include/uapi/asm/msgbuf.h b/arch/xtensa/include/uapi/asm/msgbuf.h
new file mode 100644
index 000000000000..693c96755280
--- /dev/null
+++ b/arch/xtensa/include/uapi/asm/msgbuf.h
@@ -0,0 +1,48 @@
1/*
2 * include/asm-xtensa/msgbuf.h
3 *
4 * The msqid64_ds structure for the Xtensa architecture.
5 * Note extra padding because this structure is passed back and forth
6 * between kernel and user space.
7 *
8 * Pad space is left for:
9 * - 64-bit time_t to solve y2038 problem
10 * - 2 miscellaneous 32-bit values
11 *
12 * This file is subject to the terms and conditions of the GNU General
13 * Public License. See the file "COPYING" in the main directory of
14 * this archive for more details.
15 */
16
17#ifndef _XTENSA_MSGBUF_H
18#define _XTENSA_MSGBUF_H
19
20struct msqid64_ds {
21 struct ipc64_perm msg_perm;
22#ifdef __XTENSA_EB__
23 unsigned int __unused1;
24 __kernel_time_t msg_stime; /* last msgsnd time */
25 unsigned int __unused2;
26 __kernel_time_t msg_rtime; /* last msgrcv time */
27 unsigned int __unused3;
28 __kernel_time_t msg_ctime; /* last change time */
29#elif defined(__XTENSA_EL__)
30 __kernel_time_t msg_stime; /* last msgsnd time */
31 unsigned int __unused1;
32 __kernel_time_t msg_rtime; /* last msgrcv time */
33 unsigned int __unused2;
34 __kernel_time_t msg_ctime; /* last change time */
35 unsigned int __unused3;
36#else
37# error processor byte order undefined!
38#endif
39 unsigned long msg_cbytes; /* current number of bytes on queue */
40 unsigned long msg_qnum; /* number of messages in queue */
41 unsigned long msg_qbytes; /* max number of bytes on queue */
42 __kernel_pid_t msg_lspid; /* pid of last msgsnd */
43 __kernel_pid_t msg_lrpid; /* last receive pid */
44 unsigned long __unused4;
45 unsigned long __unused5;
46};
47
48#endif /* _XTENSA_MSGBUF_H */
diff --git a/arch/xtensa/include/uapi/asm/param.h b/arch/xtensa/include/uapi/asm/param.h
new file mode 100644
index 000000000000..87bc2eae630e
--- /dev/null
+++ b/arch/xtensa/include/uapi/asm/param.h
@@ -0,0 +1,30 @@
1/*
2 * include/asm-xtensa/param.h
3 *
4 * This file is subject to the terms and conditions of the GNU General Public
5 * License. See the file "COPYING" in the main directory of this archive
6 * for more details.
7 *
8 * Copyright (C) 2001 - 2005 Tensilica Inc.
9 */
10
11#ifndef _UAPI_XTENSA_PARAM_H
12#define _UAPI_XTENSA_PARAM_H
13
14#ifndef __KERNEL__
15# define HZ 100
16#endif
17
18#define EXEC_PAGESIZE 4096
19
20#ifndef NGROUPS
21#define NGROUPS 32
22#endif
23
24#ifndef NOGROUP
25#define NOGROUP (-1)
26#endif
27
28#define MAXHOSTNAMELEN 64 /* max length of hostname */
29
30#endif /* _UAPI_XTENSA_PARAM_H */
diff --git a/arch/xtensa/include/uapi/asm/poll.h b/arch/xtensa/include/uapi/asm/poll.h
new file mode 100644
index 000000000000..9d2d5993f068
--- /dev/null
+++ b/arch/xtensa/include/uapi/asm/poll.h
@@ -0,0 +1,20 @@
1/*
2 * include/asm-xtensa/poll.h
3 *
4 * This file is subject to the terms and conditions of the GNU General
5 * Public License. See the file "COPYING" in the main directory of
6 * this archive for more details.
7 *
8 * Copyright (C) 2001 - 2005 Tensilica Inc.
9 */
10
11#ifndef _XTENSA_POLL_H
12#define _XTENSA_POLL_H
13
14#define POLLWRNORM POLLOUT
15#define POLLWRBAND 0x0100
16#define POLLREMOVE 0x0800
17
18#include <asm-generic/poll.h>
19
20#endif /* _XTENSA_POLL_H */
diff --git a/arch/xtensa/include/uapi/asm/posix_types.h b/arch/xtensa/include/uapi/asm/posix_types.h
new file mode 100644
index 000000000000..6e96be0d02d3
--- /dev/null
+++ b/arch/xtensa/include/uapi/asm/posix_types.h
@@ -0,0 +1,39 @@
1/*
2 * include/asm-xtensa/posix_types.h
3 *
4 * This file is subject to the terms and conditions of the GNU General Public
5 * License. See the file "COPYING" in the main directory of this archive
6 * for more details.
7 *
8 * Largely copied from include/asm-ppc/posix_types.h
9 *
10 * Copyright (C) 2001 - 2005 Tensilica Inc.
11 */
12
13#ifndef _XTENSA_POSIX_TYPES_H
14#define _XTENSA_POSIX_TYPES_H
15
16/*
17 * This file is generally used by user-level software, so you need to
18 * be a little careful about namespace pollution etc. Also, we cannot
19 * assume GCC is being used.
20 */
21
22typedef unsigned short __kernel_ipc_pid_t;
23#define __kernel_ipc_pid_t __kernel_ipc_pid_t
24
25typedef unsigned int __kernel_size_t;
26typedef int __kernel_ssize_t;
27typedef long __kernel_ptrdiff_t;
28#define __kernel_size_t __kernel_size_t
29
30typedef unsigned short __kernel_old_uid_t;
31typedef unsigned short __kernel_old_gid_t;
32#define __kernel_old_uid_t __kernel_old_uid_t
33
34typedef unsigned short __kernel_old_dev_t;
35#define __kernel_old_dev_t __kernel_old_dev_t
36
37#include <asm-generic/posix_types.h>
38
39#endif /* _XTENSA_POSIX_TYPES_H */
diff --git a/arch/xtensa/include/uapi/asm/ptrace.h b/arch/xtensa/include/uapi/asm/ptrace.h
new file mode 100644
index 000000000000..ee17aa842fdf
--- /dev/null
+++ b/arch/xtensa/include/uapi/asm/ptrace.h
@@ -0,0 +1,77 @@
1/*
2 * include/asm-xtensa/ptrace.h
3 *
4 * This file is subject to the terms and conditions of the GNU General Public
5 * License. See the file "COPYING" in the main directory of this archive
6 * for more details.
7 *
8 * Copyright (C) 2001 - 2005 Tensilica Inc.
9 */
10
11#ifndef _UAPI_XTENSA_PTRACE_H
12#define _UAPI_XTENSA_PTRACE_H
13
14/*
15 * Kernel stack
16 *
17 * +-----------------------+ -------- STACK_SIZE
18 * | register file | |
19 * +-----------------------+ |
20 * | struct pt_regs | |
21 * +-----------------------+ | ------ PT_REGS_OFFSET
22 * double : 16 bytes spill area : | ^
23 * excetion :- - - - - - - - - - - -: | |
24 * frame : struct pt_regs : | |
25 * :- - - - - - - - - - - -: | |
26 * | | | |
27 * | memory stack | | |
28 * | | | |
29 * ~ ~ ~ ~
30 * ~ ~ ~ ~
31 * | | | |
32 * | | | |
33 * +-----------------------+ | | --- STACK_BIAS
34 * | struct task_struct | | | ^
35 * current --> +-----------------------+ | | |
36 * | struct thread_info | | | |
37 * +-----------------------+ --------
38 */
39
40#define KERNEL_STACK_SIZE (2 * PAGE_SIZE)
41
42/* Offsets for exception_handlers[] (3 x 64-entries x 4-byte tables). */
43
44#define EXC_TABLE_KSTK 0x004 /* Kernel Stack */
45#define EXC_TABLE_DOUBLE_SAVE 0x008 /* Double exception save area for a0 */
46#define EXC_TABLE_FIXUP 0x00c /* Fixup handler */
47#define EXC_TABLE_PARAM 0x010 /* For passing a parameter to fixup */
48#define EXC_TABLE_SYSCALL_SAVE 0x014 /* For fast syscall handler */
49#define EXC_TABLE_FAST_USER 0x100 /* Fast user exception handler */
50#define EXC_TABLE_FAST_KERNEL 0x200 /* Fast kernel exception handler */
51#define EXC_TABLE_DEFAULT 0x300 /* Default C-Handler */
52#define EXC_TABLE_SIZE 0x400
53
54/* Registers used by strace */
55
56#define REG_A_BASE 0x0000
57#define REG_AR_BASE 0x0100
58#define REG_PC 0x0020
59#define REG_PS 0x02e6
60#define REG_WB 0x0248
61#define REG_WS 0x0249
62#define REG_LBEG 0x0200
63#define REG_LEND 0x0201
64#define REG_LCOUNT 0x0202
65#define REG_SAR 0x0203
66
67#define SYSCALL_NR 0x00ff
68
69/* Other PTRACE_ values defined in <linux/ptrace.h> using values 0-9,16,17,24 */
70
71#define PTRACE_GETREGS 12
72#define PTRACE_SETREGS 13
73#define PTRACE_GETXTREGS 18
74#define PTRACE_SETXTREGS 19
75
76
77#endif /* _UAPI_XTENSA_PTRACE_H */
diff --git a/arch/xtensa/include/uapi/asm/resource.h b/arch/xtensa/include/uapi/asm/resource.h
new file mode 100644
index 000000000000..17b5ab311771
--- /dev/null
+++ b/arch/xtensa/include/uapi/asm/resource.h
@@ -0,0 +1,16 @@
1/*
2 * include/asm-xtensa/resource.h
3 *
4 * This file is subject to the terms and conditions of the GNU General Public
5 * License. See the file "COPYING" in the main directory of this archive
6 * for more details.
7 *
8 * Copyright (C) 2005 Tensilica Inc.
9 */
10
11#ifndef _XTENSA_RESOURCE_H
12#define _XTENSA_RESOURCE_H
13
14#include <asm-generic/resource.h>
15
16#endif /* _XTENSA_RESOURCE_H */
diff --git a/arch/xtensa/include/uapi/asm/sembuf.h b/arch/xtensa/include/uapi/asm/sembuf.h
new file mode 100644
index 000000000000..c15870493b33
--- /dev/null
+++ b/arch/xtensa/include/uapi/asm/sembuf.h
@@ -0,0 +1,44 @@
1/*
2 * include/asm-xtensa/sembuf.h
3 *
4 * The semid64_ds structure for Xtensa architecture.
5 *
6 * This file is subject to the terms and conditions of the GNU General Public
7 * License. See the file "COPYING" in the main directory of this archive
8 * for more details.
9 *
10 * Copyright (C) 2001 - 2005 Tensilica Inc.
11 *
12 * Note extra padding because this structure is passed back and forth
13 * between kernel and user space.
14 *
15 * Pad space is left for:
16 * - 64-bit time_t to solve y2038 problem
17 * - 2 miscellaneous 32-bit values
18 *
19 */
20
21#ifndef _XTENSA_SEMBUF_H
22#define _XTENSA_SEMBUF_H
23
24#include <asm/byteorder.h>
25
26struct semid64_ds {
27 struct ipc64_perm sem_perm; /* permissions .. see ipc.h */
28#ifdef __XTENSA_EL__
29 __kernel_time_t sem_otime; /* last semop time */
30 unsigned long __unused1;
31 __kernel_time_t sem_ctime; /* last change time */
32 unsigned long __unused2;
33#else
34 unsigned long __unused1;
35 __kernel_time_t sem_otime; /* last semop time */
36 unsigned long __unused2;
37 __kernel_time_t sem_ctime; /* last change time */
38#endif
39 unsigned long sem_nsems; /* no. of semaphores in array */
40 unsigned long __unused3;
41 unsigned long __unused4;
42};
43
44#endif /* __ASM_XTENSA_SEMBUF_H */
diff --git a/arch/xtensa/include/uapi/asm/setup.h b/arch/xtensa/include/uapi/asm/setup.h
new file mode 100644
index 000000000000..9fa8ad979361
--- /dev/null
+++ b/arch/xtensa/include/uapi/asm/setup.h
@@ -0,0 +1,18 @@
1/*
2 * include/asm-xtensa/setup.h
3 *
4 * This file is subject to the terms and conditions of the GNU General Public
5 * License. See the file "COPYING" in the main directory of this archive
6 * for more details.
7 *
8 * Copyright (C) 2001 - 2005 Tensilica Inc.
9 */
10
11#ifndef _XTENSA_SETUP_H
12#define _XTENSA_SETUP_H
13
14#define COMMAND_LINE_SIZE 256
15
16extern void set_except_vector(int n, void *addr);
17
18#endif
diff --git a/arch/xtensa/include/uapi/asm/shmbuf.h b/arch/xtensa/include/uapi/asm/shmbuf.h
new file mode 100644
index 000000000000..ad4b0121782c
--- /dev/null
+++ b/arch/xtensa/include/uapi/asm/shmbuf.h
@@ -0,0 +1,71 @@
1/*
2 * include/asm-xtensa/shmbuf.h
3 *
4 * The shmid64_ds structure for Xtensa architecture.
5 * Note extra padding because this structure is passed back and forth
6 * between kernel and user space.
7 *
8 * Pad space is left for:
9 * - 64-bit time_t to solve y2038 problem
10 * - 2 miscellaneous 32-bit values
11 *
12 * This file is subject to the terms and conditions of the GNU General Public
13 * License. See the file "COPYING" in the main directory of this archive
14 * for more details.
15 *
16 * Copyright (C) 2001 - 2005 Tensilica Inc.
17 */
18
19#ifndef _XTENSA_SHMBUF_H
20#define _XTENSA_SHMBUF_H
21
22#if defined (__XTENSA_EL__)
23struct shmid64_ds {
24 struct ipc64_perm shm_perm; /* operation perms */
25 size_t shm_segsz; /* size of segment (bytes) */
26 __kernel_time_t shm_atime; /* last attach time */
27 unsigned long __unused1;
28 __kernel_time_t shm_dtime; /* last detach time */
29 unsigned long __unused2;
30 __kernel_time_t shm_ctime; /* last change time */
31 unsigned long __unused3;
32 __kernel_pid_t shm_cpid; /* pid of creator */
33 __kernel_pid_t shm_lpid; /* pid of last operator */
34 unsigned long shm_nattch; /* no. of current attaches */
35 unsigned long __unused4;
36 unsigned long __unused5;
37};
38#elif defined (__XTENSA_EB__)
39struct shmid64_ds {
40 struct ipc64_perm shm_perm; /* operation perms */
41 size_t shm_segsz; /* size of segment (bytes) */
42 __kernel_time_t shm_atime; /* last attach time */
43 unsigned long __unused1;
44 __kernel_time_t shm_dtime; /* last detach time */
45 unsigned long __unused2;
46 __kernel_time_t shm_ctime; /* last change time */
47 unsigned long __unused3;
48 __kernel_pid_t shm_cpid; /* pid of creator */
49 __kernel_pid_t shm_lpid; /* pid of last operator */
50 unsigned long shm_nattch; /* no. of current attaches */
51 unsigned long __unused4;
52 unsigned long __unused5;
53};
54#else
55# error endian order not defined
56#endif
57
58
59struct shminfo64 {
60 unsigned long shmmax;
61 unsigned long shmmin;
62 unsigned long shmmni;
63 unsigned long shmseg;
64 unsigned long shmall;
65 unsigned long __unused1;
66 unsigned long __unused2;
67 unsigned long __unused3;
68 unsigned long __unused4;
69};
70
71#endif /* _XTENSA_SHMBUF_H */
diff --git a/arch/xtensa/include/uapi/asm/sigcontext.h b/arch/xtensa/include/uapi/asm/sigcontext.h
new file mode 100644
index 000000000000..03383af8c3b7
--- /dev/null
+++ b/arch/xtensa/include/uapi/asm/sigcontext.h
@@ -0,0 +1,28 @@
1/*
2 * include/asm-xtensa/sigcontext.h
3 *
4 * This file is subject to the terms and conditions of the GNU General Public
5 * License. See the file "COPYING" in the main directory of this archive
6 * for more details.
7 *
8 * Copyright (C) 2001 - 2007 Tensilica Inc.
9 */
10
11#ifndef _XTENSA_SIGCONTEXT_H
12#define _XTENSA_SIGCONTEXT_H
13
14
15struct sigcontext {
16 unsigned long sc_pc;
17 unsigned long sc_ps;
18 unsigned long sc_lbeg;
19 unsigned long sc_lend;
20 unsigned long sc_lcount;
21 unsigned long sc_sar;
22 unsigned long sc_acclo;
23 unsigned long sc_acchi;
24 unsigned long sc_a[16];
25 void *sc_xtregs;
26};
27
28#endif /* _XTENSA_SIGCONTEXT_H */
diff --git a/arch/xtensa/include/uapi/asm/siginfo.h b/arch/xtensa/include/uapi/asm/siginfo.h
new file mode 100644
index 000000000000..6916248295df
--- /dev/null
+++ b/arch/xtensa/include/uapi/asm/siginfo.h
@@ -0,0 +1,16 @@
1/*
2 * include/asm-xtensa/siginfo.h
3 *
4 * This file is subject to the terms and conditions of the GNU General Public
5 * License. See the file "COPYING" in the main directory of this archive
6 * for more details.
7 *
8 * Copyright (C) 2001 - 2005 Tensilica Inc.
9 */
10
11#ifndef _XTENSA_SIGINFO_H
12#define _XTENSA_SIGINFO_H
13
14#include <asm-generic/siginfo.h>
15
16#endif /* _XTENSA_SIGINFO_H */
diff --git a/arch/xtensa/include/uapi/asm/signal.h b/arch/xtensa/include/uapi/asm/signal.h
new file mode 100644
index 000000000000..b88ce96f2af9
--- /dev/null
+++ b/arch/xtensa/include/uapi/asm/signal.h
@@ -0,0 +1,148 @@
1/*
2 * include/asm-xtensa/signal.h
3 *
4 * Swiped from SH.
5 *
6 * This file is subject to the terms and conditions of the GNU General Public
7 * License. See the file "COPYING" in the main directory of this archive
8 * for more details.
9 *
10 * Copyright (C) 2001 - 2005 Tensilica Inc.
11 */
12
13#ifndef _UAPI_XTENSA_SIGNAL_H
14#define _UAPI_XTENSA_SIGNAL_H
15
16
17#define _NSIG 64
18#define _NSIG_BPW 32
19#define _NSIG_WORDS (_NSIG / _NSIG_BPW)
20
21#ifndef __ASSEMBLY__
22
23#include <linux/types.h>
24
25/* Avoid too many header ordering problems. */
26struct siginfo;
27typedef unsigned long old_sigset_t; /* at least 32 bits */
28typedef struct {
29 unsigned long sig[_NSIG_WORDS];
30} sigset_t;
31
32#endif
33
34#define SIGHUP 1
35#define SIGINT 2
36#define SIGQUIT 3
37#define SIGILL 4
38#define SIGTRAP 5
39#define SIGABRT 6
40#define SIGIOT 6
41#define SIGBUS 7
42#define SIGFPE 8
43#define SIGKILL 9
44#define SIGUSR1 10
45#define SIGSEGV 11
46#define SIGUSR2 12
47#define SIGPIPE 13
48#define SIGALRM 14
49#define SIGTERM 15
50#define SIGSTKFLT 16
51#define SIGCHLD 17
52#define SIGCONT 18
53#define SIGSTOP 19
54#define SIGTSTP 20
55#define SIGTTIN 21
56#define SIGTTOU 22
57#define SIGURG 23
58#define SIGXCPU 24
59#define SIGXFSZ 25
60#define SIGVTALRM 26
61#define SIGPROF 27
62#define SIGWINCH 28
63#define SIGIO 29
64#define SIGPOLL SIGIO
65/* #define SIGLOST 29 */
66#define SIGPWR 30
67#define SIGSYS 31
68#define SIGUNUSED 31
69
70/* These should not be considered constants from userland. */
71#define SIGRTMIN 32
72#define SIGRTMAX (_NSIG-1)
73
74/*
75 * SA_FLAGS values:
76 *
77 * SA_ONSTACK indicates that a registered stack_t will be used.
78 * SA_RESTART flag to get restarting signals (which were the default long ago)
79 * SA_NOCLDSTOP flag to turn off SIGCHLD when children stop.
80 * SA_RESETHAND clears the handler when the signal is delivered.
81 * SA_NOCLDWAIT flag on SIGCHLD to inhibit zombies.
82 * SA_NODEFER prevents the current signal from being masked in the handler.
83 *
84 * SA_ONESHOT and SA_NOMASK are the historical Linux names for the Single
85 * Unix names RESETHAND and NODEFER respectively.
86 */
87#define SA_NOCLDSTOP 0x00000001
88#define SA_NOCLDWAIT 0x00000002 /* not supported yet */
89#define SA_SIGINFO 0x00000004
90#define SA_ONSTACK 0x08000000
91#define SA_RESTART 0x10000000
92#define SA_NODEFER 0x40000000
93#define SA_RESETHAND 0x80000000
94
95#define SA_NOMASK SA_NODEFER
96#define SA_ONESHOT SA_RESETHAND
97
98#define SA_RESTORER 0x04000000
99
100/*
101 * sigaltstack controls
102 */
103#define SS_ONSTACK 1
104#define SS_DISABLE 2
105
106#define MINSIGSTKSZ 2048
107#define SIGSTKSZ 8192
108
109#ifndef __ASSEMBLY__
110
111#define SIG_BLOCK 0 /* for blocking signals */
112#define SIG_UNBLOCK 1 /* for unblocking signals */
113#define SIG_SETMASK 2 /* for setting the signal mask */
114
115/* Type of a signal handler. */
116typedef void (*__sighandler_t)(int);
117
118#define SIG_DFL ((__sighandler_t)0) /* default signal handling */
119#define SIG_IGN ((__sighandler_t)1) /* ignore signal */
120#define SIG_ERR ((__sighandler_t)-1) /* error return from signal */
121
122#ifndef __KERNEL__
123
124/* Here we must cater to libcs that poke about in kernel headers. */
125
126struct sigaction {
127 union {
128 __sighandler_t _sa_handler;
129 void (*_sa_sigaction)(int, struct siginfo *, void *);
130 } _u;
131 sigset_t sa_mask;
132 unsigned long sa_flags;
133 void (*sa_restorer)(void);
134};
135
136#define sa_handler _u._sa_handler
137#define sa_sigaction _u._sa_sigaction
138
139#endif /* __KERNEL__ */
140
141typedef struct sigaltstack {
142 void *ss_sp;
143 int ss_flags;
144 size_t ss_size;
145} stack_t;
146
147#endif /* __ASSEMBLY__ */
148#endif /* _UAPI_XTENSA_SIGNAL_H */
diff --git a/arch/xtensa/include/uapi/asm/socket.h b/arch/xtensa/include/uapi/asm/socket.h
new file mode 100644
index 000000000000..e36c68184920
--- /dev/null
+++ b/arch/xtensa/include/uapi/asm/socket.h
@@ -0,0 +1,83 @@
1/*
2 * include/asm-xtensa/socket.h
3 *
4 * Copied from i386.
5 *
6 * This file is subject to the terms and conditions of the GNU General Public
7 * License. See the file "COPYING" in the main directory of this archive
8 * for more details.
9 */
10
11#ifndef _XTENSA_SOCKET_H
12#define _XTENSA_SOCKET_H
13
14#include <asm/sockios.h>
15
16/* For setsockoptions(2) */
17#define SOL_SOCKET 1
18
19#define SO_DEBUG 1
20#define SO_REUSEADDR 2
21#define SO_TYPE 3
22#define SO_ERROR 4
23#define SO_DONTROUTE 5
24#define SO_BROADCAST 6
25#define SO_SNDBUF 7
26#define SO_RCVBUF 8
27#define SO_SNDBUFFORCE 32
28#define SO_RCVBUFFORCE 33
29#define SO_KEEPALIVE 9
30#define SO_OOBINLINE 10
31#define SO_NO_CHECK 11
32#define SO_PRIORITY 12
33#define SO_LINGER 13
34#define SO_BSDCOMPAT 14
35/* To add :#define SO_REUSEPORT 15 */
36#define SO_PASSCRED 16
37#define SO_PEERCRED 17
38#define SO_RCVLOWAT 18
39#define SO_SNDLOWAT 19
40#define SO_RCVTIMEO 20
41#define SO_SNDTIMEO 21
42
43/* Security levels - as per NRL IPv6 - don't actually do anything */
44
45#define SO_SECURITY_AUTHENTICATION 22
46#define SO_SECURITY_ENCRYPTION_TRANSPORT 23
47#define SO_SECURITY_ENCRYPTION_NETWORK 24
48
49#define SO_BINDTODEVICE 25
50
51/* Socket filtering */
52
53#define SO_ATTACH_FILTER 26
54#define SO_DETACH_FILTER 27
55
56#define SO_PEERNAME 28
57#define SO_TIMESTAMP 29
58#define SCM_TIMESTAMP SO_TIMESTAMP
59
60#define SO_ACCEPTCONN 30
61#define SO_PEERSEC 31
62#define SO_PASSSEC 34
63#define SO_TIMESTAMPNS 35
64#define SCM_TIMESTAMPNS SO_TIMESTAMPNS
65
66#define SO_MARK 36
67
68#define SO_TIMESTAMPING 37
69#define SCM_TIMESTAMPING SO_TIMESTAMPING
70
71#define SO_PROTOCOL 38
72#define SO_DOMAIN 39
73
74#define SO_RXQ_OVFL 40
75
76#define SO_WIFI_STATUS 41
77#define SCM_WIFI_STATUS SO_WIFI_STATUS
78#define SO_PEEK_OFF 42
79
80/* Instruct lower device to use last 4-bytes of skb data as FCS */
81#define SO_NOFCS 43
82
83#endif /* _XTENSA_SOCKET_H */
diff --git a/arch/xtensa/include/uapi/asm/sockios.h b/arch/xtensa/include/uapi/asm/sockios.h
new file mode 100644
index 000000000000..efe0af379f01
--- /dev/null
+++ b/arch/xtensa/include/uapi/asm/sockios.h
@@ -0,0 +1,31 @@
1/*
2 * include/asm-xtensa/sockios.h
3 *
4 * Socket-level I/O control calls. Copied from MIPS.
5 *
6 * This file is subject to the terms and conditions of the GNU General Public
7 * License. See the file "COPYING" in the main directory of this archive
8 * for more details.
9 *
10 * Copyright (C) 1995 by Ralf Baechle
11 * Copyright (C) 2001 Tensilica Inc.
12 */
13
14#ifndef _XTENSA_SOCKIOS_H
15#define _XTENSA_SOCKIOS_H
16
17#include <asm/ioctl.h>
18
19/* Socket-level I/O control calls. */
20
21#define FIOGETOWN _IOR('f', 123, int)
22#define FIOSETOWN _IOW('f', 124, int)
23
24#define SIOCATMARK _IOR('s', 7, int)
25#define SIOCSPGRP _IOW('s', 8, pid_t)
26#define SIOCGPGRP _IOR('s', 9, pid_t)
27
28#define SIOCGSTAMP 0x8906 /* Get stamp (timeval) */
29#define SIOCGSTAMPNS 0x8907 /* Get stamp (timespec) */
30
31#endif /* _XTENSA_SOCKIOS_H */
diff --git a/arch/xtensa/include/uapi/asm/stat.h b/arch/xtensa/include/uapi/asm/stat.h
new file mode 100644
index 000000000000..c4992038cee0
--- /dev/null
+++ b/arch/xtensa/include/uapi/asm/stat.h
@@ -0,0 +1,59 @@
1/*
2 * include/asm-xtensa/stat.h
3 *
4 * This file is subject to the terms and conditions of the GNU General Public
5 * License. See the file "COPYING" in the main directory of this archive
6 * for more details.
7 *
8 * Copyright (C) 2001 - 2007 Tensilica Inc.
9 */
10
11#ifndef _XTENSA_STAT_H
12#define _XTENSA_STAT_H
13
14#define STAT_HAVE_NSEC 1
15
16struct stat {
17 unsigned long st_dev;
18 unsigned long st_ino;
19 unsigned int st_mode;
20 unsigned int st_nlink;
21 unsigned int st_uid;
22 unsigned int st_gid;
23 unsigned long st_rdev;
24 long st_size;
25 unsigned long st_blksize;
26 unsigned long st_blocks;
27 unsigned long st_atime;
28 unsigned long st_atime_nsec;
29 unsigned long st_mtime;
30 unsigned long st_mtime_nsec;
31 unsigned long st_ctime;
32 unsigned long st_ctime_nsec;
33 unsigned long __unused4;
34 unsigned long __unused5;
35};
36
37struct stat64 {
38 unsigned long long st_dev; /* Device */
39 unsigned long long st_ino; /* File serial number */
40 unsigned int st_mode; /* File mode. */
41 unsigned int st_nlink; /* Link count. */
42 unsigned int st_uid; /* User ID of the file's owner. */
43 unsigned int st_gid; /* Group ID of the file's group. */
44 unsigned long long st_rdev; /* Device number, if device. */
45 long long st_size; /* Size of file, in bytes. */
46 unsigned long st_blksize; /* Optimal block size for I/O. */
47 unsigned long __unused2;
48 unsigned long long st_blocks; /* Number 512-byte blocks allocated. */
49 unsigned long st_atime; /* Time of last access. */
50 unsigned long st_atime_nsec;
51 unsigned long st_mtime; /* Time of last modification. */
52 unsigned long st_mtime_nsec;
53 unsigned long st_ctime; /* Time of last status change. */
54 unsigned long st_ctime_nsec;
55 unsigned long __unused4;
56 unsigned long __unused5;
57};
58
59#endif /* _XTENSA_STAT_H */
diff --git a/arch/xtensa/include/uapi/asm/statfs.h b/arch/xtensa/include/uapi/asm/statfs.h
new file mode 100644
index 000000000000..9c3d1a213136
--- /dev/null
+++ b/arch/xtensa/include/uapi/asm/statfs.h
@@ -0,0 +1,17 @@
1/*
2 * include/asm-xtensa/statfs.h
3 *
4 * This file is subject to the terms and conditions of the GNU General Public
5 * License. See the file "COPYING" in the main directory of this archive
6 * for more details.
7 *
8 * Copyright (C) 2005 Tensilica Inc.
9 */
10
11#ifndef _XTENSA_STATFS_H
12#define _XTENSA_STATFS_H
13
14#include <asm-generic/statfs.h>
15
16#endif /* _XTENSA_STATFS_H */
17
diff --git a/arch/xtensa/include/uapi/asm/swab.h b/arch/xtensa/include/uapi/asm/swab.h
new file mode 100644
index 000000000000..226a39162310
--- /dev/null
+++ b/arch/xtensa/include/uapi/asm/swab.h
@@ -0,0 +1,70 @@
1/*
2 * include/asm-xtensa/swab.h
3 *
4 * This file is subject to the terms and conditions of the GNU General Public
5 * License. See the file "COPYING" in the main directory of this archive
6 * for more details.
7 *
8 * Copyright (C) 2001 - 2005 Tensilica Inc.
9 */
10
11#ifndef _XTENSA_SWAB_H
12#define _XTENSA_SWAB_H
13
14#include <linux/types.h>
15#include <linux/compiler.h>
16
17#define __SWAB_64_THRU_32__
18
19static inline __attribute_const__ __u32 __arch_swab32(__u32 x)
20{
21 __u32 res;
22 /* instruction sequence from Xtensa ISA release 2/2000 */
23 __asm__("ssai 8 \n\t"
24 "srli %0, %1, 16 \n\t"
25 "src %0, %0, %1 \n\t"
26 "src %0, %0, %0 \n\t"
27 "src %0, %1, %0 \n"
28 : "=&a" (res)
29 : "a" (x)
30 );
31 return res;
32}
33#define __arch_swab32 __arch_swab32
34
35static inline __attribute_const__ __u16 __arch_swab16(__u16 x)
36{
37 /* Given that 'short' values are signed (i.e., can be negative),
38 * we cannot assume that the upper 16-bits of the register are
39 * zero. We are careful to mask values after shifting.
40 */
41
42 /* There exists an anomaly between xt-gcc and xt-xcc. xt-gcc
43 * inserts an extui instruction after putting this function inline
44 * to ensure that it uses only the least-significant 16 bits of
45 * the result. xt-xcc doesn't use an extui, but assumes the
46 * __asm__ macro follows convention that the upper 16 bits of an
47 * 'unsigned short' result are still zero. This macro doesn't
48 * follow convention; indeed, it leaves garbage in the upport 16
49 * bits of the register.
50
51 * Declaring the temporary variables 'res' and 'tmp' to be 32-bit
52 * types while the return type of the function is a 16-bit type
53 * forces both compilers to insert exactly one extui instruction
54 * (or equivalent) to mask off the upper 16 bits. */
55
56 __u32 res;
57 __u32 tmp;
58
59 __asm__("extui %1, %2, 8, 8\n\t"
60 "slli %0, %2, 8 \n\t"
61 "or %0, %0, %1 \n"
62 : "=&a" (res), "=&a" (tmp)
63 : "a" (x)
64 );
65
66 return res;
67}
68#define __arch_swab16 __arch_swab16
69
70#endif /* _XTENSA_SWAB_H */
diff --git a/arch/xtensa/include/uapi/asm/termbits.h b/arch/xtensa/include/uapi/asm/termbits.h
new file mode 100644
index 000000000000..0d6c8715b24f
--- /dev/null
+++ b/arch/xtensa/include/uapi/asm/termbits.h
@@ -0,0 +1,220 @@
1/*
2 * include/asm-xtensa/termbits.h
3 *
4 * Copied from SH.
5 *
6 * This file is subject to the terms and conditions of the GNU General Public
7 * License. See the file "COPYING" in the main directory of this archive
8 * for more details.
9 *
10 * Copyright (C) 2001 - 2005 Tensilica Inc.
11 */
12
13#ifndef _XTENSA_TERMBITS_H
14#define _XTENSA_TERMBITS_H
15
16
17#include <linux/posix_types.h>
18
19typedef unsigned char cc_t;
20typedef unsigned int speed_t;
21typedef unsigned int tcflag_t;
22
23#define NCCS 19
24struct termios {
25 tcflag_t c_iflag; /* input mode flags */
26 tcflag_t c_oflag; /* output mode flags */
27 tcflag_t c_cflag; /* control mode flags */
28 tcflag_t c_lflag; /* local mode flags */
29 cc_t c_line; /* line discipline */
30 cc_t c_cc[NCCS]; /* control characters */
31};
32
33struct termios2 {
34 tcflag_t c_iflag; /* input mode flags */
35 tcflag_t c_oflag; /* output mode flags */
36 tcflag_t c_cflag; /* control mode flags */
37 tcflag_t c_lflag; /* local mode flags */
38 cc_t c_line; /* line discipline */
39 cc_t c_cc[NCCS]; /* control characters */
40 speed_t c_ispeed; /* input speed */
41 speed_t c_ospeed; /* output speed */
42};
43
44struct ktermios {
45 tcflag_t c_iflag; /* input mode flags */
46 tcflag_t c_oflag; /* output mode flags */
47 tcflag_t c_cflag; /* control mode flags */
48 tcflag_t c_lflag; /* local mode flags */
49 cc_t c_line; /* line discipline */
50 cc_t c_cc[NCCS]; /* control characters */
51 speed_t c_ispeed; /* input speed */
52 speed_t c_ospeed; /* output speed */
53};
54
55/* c_cc characters */
56
57#define VINTR 0
58#define VQUIT 1
59#define VERASE 2
60#define VKILL 3
61#define VEOF 4
62#define VTIME 5
63#define VMIN 6
64#define VSWTC 7
65#define VSTART 8
66#define VSTOP 9
67#define VSUSP 10
68#define VEOL 11
69#define VREPRINT 12
70#define VDISCARD 13
71#define VWERASE 14
72#define VLNEXT 15
73#define VEOL2 16
74
75/* c_iflag bits */
76
77#define IGNBRK 0000001
78#define BRKINT 0000002
79#define IGNPAR 0000004
80#define PARMRK 0000010
81#define INPCK 0000020
82#define ISTRIP 0000040
83#define INLCR 0000100
84#define IGNCR 0000200
85#define ICRNL 0000400
86#define IUCLC 0001000
87#define IXON 0002000
88#define IXANY 0004000
89#define IXOFF 0010000
90#define IMAXBEL 0020000
91#define IUTF8 0040000
92
93/* c_oflag bits */
94
95#define OPOST 0000001
96#define OLCUC 0000002
97#define ONLCR 0000004
98#define OCRNL 0000010
99#define ONOCR 0000020
100#define ONLRET 0000040
101#define OFILL 0000100
102#define OFDEL 0000200
103#define NLDLY 0000400
104#define NL0 0000000
105#define NL1 0000400
106#define CRDLY 0003000
107#define CR0 0000000
108#define CR1 0001000
109#define CR2 0002000
110#define CR3 0003000
111#define TABDLY 0014000
112#define TAB0 0000000
113#define TAB1 0004000
114#define TAB2 0010000
115#define TAB3 0014000
116#define XTABS 0014000
117#define BSDLY 0020000
118#define BS0 0000000
119#define BS1 0020000
120#define VTDLY 0040000
121#define VT0 0000000
122#define VT1 0040000
123#define FFDLY 0100000
124#define FF0 0000000
125#define FF1 0100000
126
127/* c_cflag bit meaning */
128
129#define CBAUD 0010017
130#define B0 0000000 /* hang up */
131#define B50 0000001
132#define B75 0000002
133#define B110 0000003
134#define B134 0000004
135#define B150 0000005
136#define B200 0000006
137#define B300 0000007
138#define B600 0000010
139#define B1200 0000011
140#define B1800 0000012
141#define B2400 0000013
142#define B4800 0000014
143#define B9600 0000015
144#define B19200 0000016
145#define B38400 0000017
146#define EXTA B19200
147#define EXTB B38400
148#define CSIZE 0000060
149#define CS5 0000000
150#define CS6 0000020
151#define CS7 0000040
152#define CS8 0000060
153#define CSTOPB 0000100
154#define CREAD 0000200
155#define PARENB 0000400
156#define PARODD 0001000
157#define HUPCL 0002000
158#define CLOCAL 0004000
159#define CBAUDEX 0010000
160#define BOTHER 0010000
161#define B57600 0010001
162#define B115200 0010002
163#define B230400 0010003
164#define B460800 0010004
165#define B500000 0010005
166#define B576000 0010006
167#define B921600 0010007
168#define B1000000 0010010
169#define B1152000 0010011
170#define B1500000 0010012
171#define B2000000 0010013
172#define B2500000 0010014
173#define B3000000 0010015
174#define B3500000 0010016
175#define B4000000 0010017
176#define CIBAUD 002003600000 /* input baud rate */
177#define CMSPAR 010000000000 /* mark or space (stick) parity */
178#define CRTSCTS 020000000000 /* flow control */
179
180#define IBSHIFT 16 /* Shift from CBAUD to CIBAUD */
181
182/* c_lflag bits */
183
184#define ISIG 0000001
185#define ICANON 0000002
186#define XCASE 0000004
187#define ECHO 0000010
188#define ECHOE 0000020
189#define ECHOK 0000040
190#define ECHONL 0000100
191#define NOFLSH 0000200
192#define TOSTOP 0000400
193#define ECHOCTL 0001000
194#define ECHOPRT 0002000
195#define ECHOKE 0004000
196#define FLUSHO 0010000
197#define PENDIN 0040000
198#define IEXTEN 0100000
199#define EXTPROC 0200000
200
201/* tcflow() and TCXONC use these */
202
203#define TCOOFF 0
204#define TCOON 1
205#define TCIOFF 2
206#define TCION 3
207
208/* tcflush() and TCFLSH use these */
209
210#define TCIFLUSH 0
211#define TCOFLUSH 1
212#define TCIOFLUSH 2
213
214/* tcsetattr uses these */
215
216#define TCSANOW 0
217#define TCSADRAIN 1
218#define TCSAFLUSH 2
219
220#endif /* _XTENSA_TERMBITS_H */
diff --git a/arch/xtensa/include/uapi/asm/termios.h b/arch/xtensa/include/uapi/asm/termios.h
new file mode 100644
index 000000000000..32a770fe11e3
--- /dev/null
+++ b/arch/xtensa/include/uapi/asm/termios.h
@@ -0,0 +1,56 @@
1/*
2 * include/asm-xtensa/termios.h
3 *
4 * Copied from SH.
5 *
6 * This file is subject to the terms and conditions of the GNU General Public
7 * License. See the file "COPYING" in the main directory of this archive
8 * for more details.
9 *
10 * Copyright (C) 2001 - 2005 Tensilica Inc.
11 */
12
13#ifndef _UAPI_XTENSA_TERMIOS_H
14#define _UAPI_XTENSA_TERMIOS_H
15
16#include <asm/termbits.h>
17#include <asm/ioctls.h>
18
19struct winsize {
20 unsigned short ws_row;
21 unsigned short ws_col;
22 unsigned short ws_xpixel;
23 unsigned short ws_ypixel;
24};
25
26#define NCC 8
27struct termio {
28 unsigned short c_iflag; /* input mode flags */
29 unsigned short c_oflag; /* output mode flags */
30 unsigned short c_cflag; /* control mode flags */
31 unsigned short c_lflag; /* local mode flags */
32 unsigned char c_line; /* line discipline */
33 unsigned char c_cc[NCC]; /* control characters */
34};
35
36/* Modem lines */
37
38#define TIOCM_LE 0x001
39#define TIOCM_DTR 0x002
40#define TIOCM_RTS 0x004
41#define TIOCM_ST 0x008
42#define TIOCM_SR 0x010
43#define TIOCM_CTS 0x020
44#define TIOCM_CAR 0x040
45#define TIOCM_RNG 0x080
46#define TIOCM_DSR 0x100
47#define TIOCM_CD TIOCM_CAR
48#define TIOCM_RI TIOCM_RNG
49#define TIOCM_OUT1 0x2000
50#define TIOCM_OUT2 0x4000
51#define TIOCM_LOOP 0x8000
52
53/* ioctl (fd, TIOCSERGETLSR, &result) where result may be as below */
54
55
56#endif /* _UAPI_XTENSA_TERMIOS_H */
diff --git a/arch/xtensa/include/uapi/asm/types.h b/arch/xtensa/include/uapi/asm/types.h
new file mode 100644
index 000000000000..87ec7ae73cb1
--- /dev/null
+++ b/arch/xtensa/include/uapi/asm/types.h
@@ -0,0 +1,28 @@
1/*
2 * include/asm-xtensa/types.h
3 *
4 * This file is subject to the terms and conditions of the GNU General Public
5 * License. See the file "COPYING" in the main directory of this archive
6 * for more details.
7 *
8 * Copyright (C) 2001 - 2005 Tensilica Inc.
9 */
10
11#ifndef _UAPI_XTENSA_TYPES_H
12#define _UAPI_XTENSA_TYPES_H
13
14#include <asm-generic/int-ll64.h>
15
16#ifdef __ASSEMBLY__
17# define __XTENSA_UL(x) (x)
18# define __XTENSA_UL_CONST(x) x
19#else
20# define __XTENSA_UL(x) ((unsigned long)(x))
21# define __XTENSA_UL_CONST(x) x##UL
22#endif
23
24#ifndef __ASSEMBLY__
25
26#endif
27
28#endif /* _UAPI_XTENSA_TYPES_H */
diff --git a/arch/xtensa/include/uapi/asm/unistd.h b/arch/xtensa/include/uapi/asm/unistd.h
new file mode 100644
index 000000000000..a842ed519215
--- /dev/null
+++ b/arch/xtensa/include/uapi/asm/unistd.h
@@ -0,0 +1,704 @@
1/*
2 * include/asm-xtensa/unistd.h
3 *
4 * This file is subject to the terms and conditions of the GNU General Public
5 * License. See the file "COPYING" in the main directory of this archive
6 * for more details.
7 *
8 * Copyright (C) 2001 - 2005 Tensilica Inc.
9 */
10
11#ifndef __SYSCALL
12# define __SYSCALL(nr,func,nargs)
13#endif
14
15#define __NR_spill 0
16__SYSCALL( 0, sys_ni_syscall, 0)
17#define __NR_xtensa 1
18__SYSCALL( 1, sys_ni_syscall, 0)
19#define __NR_available4 2
20__SYSCALL( 2, sys_ni_syscall, 0)
21#define __NR_available5 3
22__SYSCALL( 3, sys_ni_syscall, 0)
23#define __NR_available6 4
24__SYSCALL( 4, sys_ni_syscall, 0)
25#define __NR_available7 5
26__SYSCALL( 5, sys_ni_syscall, 0)
27#define __NR_available8 6
28__SYSCALL( 6, sys_ni_syscall, 0)
29#define __NR_available9 7
30__SYSCALL( 7, sys_ni_syscall, 0)
31
32/* File Operations */
33
34#define __NR_open 8
35__SYSCALL( 8, sys_open, 3)
36#define __NR_close 9
37__SYSCALL( 9, sys_close, 1)
38#define __NR_dup 10
39__SYSCALL( 10, sys_dup, 1)
40#define __NR_dup2 11
41__SYSCALL( 11, sys_dup2, 2)
42#define __NR_read 12
43__SYSCALL( 12, sys_read, 3)
44#define __NR_write 13
45__SYSCALL( 13, sys_write, 3)
46#define __NR_select 14
47__SYSCALL( 14, sys_select, 5)
48#define __NR_lseek 15
49__SYSCALL( 15, sys_lseek, 3)
50#define __NR_poll 16
51__SYSCALL( 16, sys_poll, 3)
52#define __NR__llseek 17
53__SYSCALL( 17, sys_llseek, 5)
54#define __NR_epoll_wait 18
55__SYSCALL( 18, sys_epoll_wait, 4)
56#define __NR_epoll_ctl 19
57__SYSCALL( 19, sys_epoll_ctl, 4)
58#define __NR_epoll_create 20
59__SYSCALL( 20, sys_epoll_create, 1)
60#define __NR_creat 21
61__SYSCALL( 21, sys_creat, 2)
62#define __NR_truncate 22
63__SYSCALL( 22, sys_truncate, 2)
64#define __NR_ftruncate 23
65__SYSCALL( 23, sys_ftruncate, 2)
66#define __NR_readv 24
67__SYSCALL( 24, sys_readv, 3)
68#define __NR_writev 25
69__SYSCALL( 25, sys_writev, 3)
70#define __NR_fsync 26
71__SYSCALL( 26, sys_fsync, 1)
72#define __NR_fdatasync 27
73__SYSCALL( 27, sys_fdatasync, 1)
74#define __NR_truncate64 28
75__SYSCALL( 28, sys_truncate64, 2)
76#define __NR_ftruncate64 29
77__SYSCALL( 29, sys_ftruncate64, 2)
78#define __NR_pread64 30
79__SYSCALL( 30, sys_pread64, 6)
80#define __NR_pwrite64 31
81__SYSCALL( 31, sys_pwrite64, 6)
82
83#define __NR_link 32
84__SYSCALL( 32, sys_link, 2)
85#define __NR_rename 33
86__SYSCALL( 33, sys_rename, 2)
87#define __NR_symlink 34
88__SYSCALL( 34, sys_symlink, 2)
89#define __NR_readlink 35
90__SYSCALL( 35, sys_readlink, 3)
91#define __NR_mknod 36
92__SYSCALL( 36, sys_mknod, 3)
93#define __NR_pipe 37
94__SYSCALL( 37, sys_pipe, 1)
95#define __NR_unlink 38
96__SYSCALL( 38, sys_unlink, 1)
97#define __NR_rmdir 39
98__SYSCALL( 39, sys_rmdir, 1)
99
100#define __NR_mkdir 40
101__SYSCALL( 40, sys_mkdir, 2)
102#define __NR_chdir 41
103__SYSCALL( 41, sys_chdir, 1)
104#define __NR_fchdir 42
105__SYSCALL( 42, sys_fchdir, 1)
106#define __NR_getcwd 43
107__SYSCALL( 43, sys_getcwd, 2)
108
109#define __NR_chmod 44
110__SYSCALL( 44, sys_chmod, 2)
111#define __NR_chown 45
112__SYSCALL( 45, sys_chown, 3)
113#define __NR_stat 46
114__SYSCALL( 46, sys_newstat, 2)
115#define __NR_stat64 47
116__SYSCALL( 47, sys_stat64, 2)
117
118#define __NR_lchown 48
119__SYSCALL( 48, sys_lchown, 3)
120#define __NR_lstat 49
121__SYSCALL( 49, sys_newlstat, 2)
122#define __NR_lstat64 50
123__SYSCALL( 50, sys_lstat64, 2)
124#define __NR_available51 51
125__SYSCALL( 51, sys_ni_syscall, 0)
126
127#define __NR_fchmod 52
128__SYSCALL( 52, sys_fchmod, 2)
129#define __NR_fchown 53
130__SYSCALL( 53, sys_fchown, 3)
131#define __NR_fstat 54
132__SYSCALL( 54, sys_newfstat, 2)
133#define __NR_fstat64 55
134__SYSCALL( 55, sys_fstat64, 2)
135
136#define __NR_flock 56
137__SYSCALL( 56, sys_flock, 2)
138#define __NR_access 57
139__SYSCALL( 57, sys_access, 2)
140#define __NR_umask 58
141__SYSCALL( 58, sys_umask, 1)
142#define __NR_getdents 59
143__SYSCALL( 59, sys_getdents, 3)
144#define __NR_getdents64 60
145__SYSCALL( 60, sys_getdents64, 3)
146#define __NR_fcntl64 61
147__SYSCALL( 61, sys_fcntl64, 3)
148#define __NR_available62 62
149__SYSCALL( 62, sys_ni_syscall, 0)
150#define __NR_fadvise64_64 63
151__SYSCALL( 63, xtensa_fadvise64_64, 6)
152#define __NR_utime 64 /* glibc 2.3.3 ?? */
153__SYSCALL( 64, sys_utime, 2)
154#define __NR_utimes 65
155__SYSCALL( 65, sys_utimes, 2)
156#define __NR_ioctl 66
157__SYSCALL( 66, sys_ioctl, 3)
158#define __NR_fcntl 67
159__SYSCALL( 67, sys_fcntl, 3)
160
161#define __NR_setxattr 68
162__SYSCALL( 68, sys_setxattr, 5)
163#define __NR_getxattr 69
164__SYSCALL( 69, sys_getxattr, 4)
165#define __NR_listxattr 70
166__SYSCALL( 70, sys_listxattr, 3)
167#define __NR_removexattr 71
168__SYSCALL( 71, sys_removexattr, 2)
169#define __NR_lsetxattr 72
170__SYSCALL( 72, sys_lsetxattr, 5)
171#define __NR_lgetxattr 73
172__SYSCALL( 73, sys_lgetxattr, 4)
173#define __NR_llistxattr 74
174__SYSCALL( 74, sys_llistxattr, 3)
175#define __NR_lremovexattr 75
176__SYSCALL( 75, sys_lremovexattr, 2)
177#define __NR_fsetxattr 76
178__SYSCALL( 76, sys_fsetxattr, 5)
179#define __NR_fgetxattr 77
180__SYSCALL( 77, sys_fgetxattr, 4)
181#define __NR_flistxattr 78
182__SYSCALL( 78, sys_flistxattr, 3)
183#define __NR_fremovexattr 79
184__SYSCALL( 79, sys_fremovexattr, 2)
185
186/* File Map / Shared Memory Operations */
187
188#define __NR_mmap2 80
189__SYSCALL( 80, sys_mmap_pgoff, 6)
190#define __NR_munmap 81
191__SYSCALL( 81, sys_munmap, 2)
192#define __NR_mprotect 82
193__SYSCALL( 82, sys_mprotect, 3)
194#define __NR_brk 83
195__SYSCALL( 83, sys_brk, 1)
196#define __NR_mlock 84
197__SYSCALL( 84, sys_mlock, 2)
198#define __NR_munlock 85
199__SYSCALL( 85, sys_munlock, 2)
200#define __NR_mlockall 86
201__SYSCALL( 86, sys_mlockall, 1)
202#define __NR_munlockall 87
203__SYSCALL( 87, sys_munlockall, 0)
204#define __NR_mremap 88
205__SYSCALL( 88, sys_mremap, 4)
206#define __NR_msync 89
207__SYSCALL( 89, sys_msync, 3)
208#define __NR_mincore 90
209__SYSCALL( 90, sys_mincore, 3)
210#define __NR_madvise 91
211__SYSCALL( 91, sys_madvise, 3)
212#define __NR_shmget 92
213__SYSCALL( 92, sys_shmget, 4)
214#define __NR_shmat 93
215__SYSCALL( 93, xtensa_shmat, 4)
216#define __NR_shmctl 94
217__SYSCALL( 94, sys_shmctl, 4)
218#define __NR_shmdt 95
219__SYSCALL( 95, sys_shmdt, 4)
220
221/* Socket Operations */
222
223#define __NR_socket 96
224__SYSCALL( 96, sys_socket, 3)
225#define __NR_setsockopt 97
226__SYSCALL( 97, sys_setsockopt, 5)
227#define __NR_getsockopt 98
228__SYSCALL( 98, sys_getsockopt, 5)
229#define __NR_shutdown 99
230__SYSCALL( 99, sys_shutdown, 2)
231
232#define __NR_bind 100
233__SYSCALL(100, sys_bind, 3)
234#define __NR_connect 101
235__SYSCALL(101, sys_connect, 3)
236#define __NR_listen 102
237__SYSCALL(102, sys_listen, 2)
238#define __NR_accept 103
239__SYSCALL(103, sys_accept, 3)
240
241#define __NR_getsockname 104
242__SYSCALL(104, sys_getsockname, 3)
243#define __NR_getpeername 105
244__SYSCALL(105, sys_getpeername, 3)
245#define __NR_sendmsg 106
246__SYSCALL(106, sys_sendmsg, 3)
247#define __NR_recvmsg 107
248__SYSCALL(107, sys_recvmsg, 3)
249#define __NR_send 108
250__SYSCALL(108, sys_send, 4)
251#define __NR_recv 109
252__SYSCALL(109, sys_recv, 4)
253#define __NR_sendto 110
254__SYSCALL(110, sys_sendto, 6)
255#define __NR_recvfrom 111
256__SYSCALL(111, sys_recvfrom, 6)
257
258#define __NR_socketpair 112
259__SYSCALL(112, sys_socketpair, 4)
260#define __NR_sendfile 113
261__SYSCALL(113, sys_sendfile, 4)
262#define __NR_sendfile64 114
263__SYSCALL(114, sys_sendfile64, 4)
264#define __NR_available115 115
265__SYSCALL(115, sys_ni_syscall, 0)
266
267/* Process Operations */
268
269#define __NR_clone 116
270__SYSCALL(116, xtensa_clone, 5)
271#define __NR_execve 117
272__SYSCALL(117, xtensa_execve, 3)
273#define __NR_exit 118
274__SYSCALL(118, sys_exit, 1)
275#define __NR_exit_group 119
276__SYSCALL(119, sys_exit_group, 1)
277#define __NR_getpid 120
278__SYSCALL(120, sys_getpid, 0)
279#define __NR_wait4 121
280__SYSCALL(121, sys_wait4, 4)
281#define __NR_waitid 122
282__SYSCALL(122, sys_waitid, 5)
283#define __NR_kill 123
284__SYSCALL(123, sys_kill, 2)
285#define __NR_tkill 124
286__SYSCALL(124, sys_tkill, 2)
287#define __NR_tgkill 125
288__SYSCALL(125, sys_tgkill, 3)
289#define __NR_set_tid_address 126
290__SYSCALL(126, sys_set_tid_address, 1)
291#define __NR_gettid 127
292__SYSCALL(127, sys_gettid, 0)
293#define __NR_setsid 128
294__SYSCALL(128, sys_setsid, 0)
295#define __NR_getsid 129
296__SYSCALL(129, sys_getsid, 1)
297#define __NR_prctl 130
298__SYSCALL(130, sys_prctl, 5)
299#define __NR_personality 131
300__SYSCALL(131, sys_personality, 1)
301#define __NR_getpriority 132
302__SYSCALL(132, sys_getpriority, 2)
303#define __NR_setpriority 133
304__SYSCALL(133, sys_setpriority, 3)
305#define __NR_setitimer 134
306__SYSCALL(134, sys_setitimer, 3)
307#define __NR_getitimer 135
308__SYSCALL(135, sys_getitimer, 2)
309#define __NR_setuid 136
310__SYSCALL(136, sys_setuid, 1)
311#define __NR_getuid 137
312__SYSCALL(137, sys_getuid, 0)
313#define __NR_setgid 138
314__SYSCALL(138, sys_setgid, 1)
315#define __NR_getgid 139
316__SYSCALL(139, sys_getgid, 0)
317#define __NR_geteuid 140
318__SYSCALL(140, sys_geteuid, 0)
319#define __NR_getegid 141
320__SYSCALL(141, sys_getegid, 0)
321#define __NR_setreuid 142
322__SYSCALL(142, sys_setreuid, 2)
323#define __NR_setregid 143
324__SYSCALL(143, sys_setregid, 2)
325#define __NR_setresuid 144
326__SYSCALL(144, sys_setresuid, 3)
327#define __NR_getresuid 145
328__SYSCALL(145, sys_getresuid, 3)
329#define __NR_setresgid 146
330__SYSCALL(146, sys_setresgid, 3)
331#define __NR_getresgid 147
332__SYSCALL(147, sys_getresgid, 3)
333#define __NR_setpgid 148
334__SYSCALL(148, sys_setpgid, 2)
335#define __NR_getpgid 149
336__SYSCALL(149, sys_getpgid, 1)
337#define __NR_getppid 150
338__SYSCALL(150, sys_getppid, 0)
339#define __NR_getpgrp 151
340__SYSCALL(151, sys_getpgrp, 0)
341
342#define __NR_reserved152 152 /* set_thread_area */
343__SYSCALL(152, sys_ni_syscall, 0)
344#define __NR_reserved153 153 /* get_thread_area */
345__SYSCALL(153, sys_ni_syscall, 0)
346#define __NR_times 154
347__SYSCALL(154, sys_times, 1)
348#define __NR_acct 155
349__SYSCALL(155, sys_acct, 1)
350#define __NR_sched_setaffinity 156
351__SYSCALL(156, sys_sched_setaffinity, 3)
352#define __NR_sched_getaffinity 157
353__SYSCALL(157, sys_sched_getaffinity, 3)
354#define __NR_capget 158
355__SYSCALL(158, sys_capget, 2)
356#define __NR_capset 159
357__SYSCALL(159, sys_capset, 2)
358#define __NR_ptrace 160
359__SYSCALL(160, sys_ptrace, 4)
360#define __NR_semtimedop 161
361__SYSCALL(161, sys_semtimedop, 5)
362#define __NR_semget 162
363__SYSCALL(162, sys_semget, 4)
364#define __NR_semop 163
365__SYSCALL(163, sys_semop, 4)
366#define __NR_semctl 164
367__SYSCALL(164, sys_semctl, 4)
368#define __NR_available165 165
369__SYSCALL(165, sys_ni_syscall, 0)
370#define __NR_msgget 166
371__SYSCALL(166, sys_msgget, 4)
372#define __NR_msgsnd 167
373__SYSCALL(167, sys_msgsnd, 4)
374#define __NR_msgrcv 168
375__SYSCALL(168, sys_msgrcv, 4)
376#define __NR_msgctl 169
377__SYSCALL(169, sys_msgctl, 4)
378#define __NR_available170 170
379__SYSCALL(170, sys_ni_syscall, 0)
380#define __NR_available171 171
381__SYSCALL(171, sys_ni_syscall, 0)
382
383/* File System */
384
385#define __NR_mount 172
386__SYSCALL(172, sys_mount, 5)
387#define __NR_swapon 173
388__SYSCALL(173, sys_swapon, 2)
389#define __NR_chroot 174
390__SYSCALL(174, sys_chroot, 1)
391#define __NR_pivot_root 175
392__SYSCALL(175, sys_pivot_root, 2)
393#define __NR_umount 176
394__SYSCALL(176, sys_umount, 2)
395#define __NR_swapoff 177
396__SYSCALL(177, sys_swapoff, 1)
397#define __NR_sync 178
398__SYSCALL(178, sys_sync, 0)
399#define __NR_available179 179
400__SYSCALL(179, sys_ni_syscall, 0)
401#define __NR_setfsuid 180
402__SYSCALL(180, sys_setfsuid, 1)
403#define __NR_setfsgid 181
404__SYSCALL(181, sys_setfsgid, 1)
405#define __NR_sysfs 182
406__SYSCALL(182, sys_sysfs, 3)
407#define __NR_ustat 183
408__SYSCALL(183, sys_ustat, 2)
409#define __NR_statfs 184
410__SYSCALL(184, sys_statfs, 2)
411#define __NR_fstatfs 185
412__SYSCALL(185, sys_fstatfs, 2)
413#define __NR_statfs64 186
414__SYSCALL(186, sys_statfs64, 3)
415#define __NR_fstatfs64 187
416__SYSCALL(187, sys_fstatfs64, 3)
417
418/* System */
419
420#define __NR_setrlimit 188
421__SYSCALL(188, sys_setrlimit, 2)
422#define __NR_getrlimit 189
423__SYSCALL(189, sys_getrlimit, 2)
424#define __NR_getrusage 190
425__SYSCALL(190, sys_getrusage, 2)
426#define __NR_futex 191
427__SYSCALL(191, sys_futex, 5)
428#define __NR_gettimeofday 192
429__SYSCALL(192, sys_gettimeofday, 2)
430#define __NR_settimeofday 193
431__SYSCALL(193, sys_settimeofday, 2)
432#define __NR_adjtimex 194
433__SYSCALL(194, sys_adjtimex, 1)
434#define __NR_nanosleep 195
435__SYSCALL(195, sys_nanosleep, 2)
436#define __NR_getgroups 196
437__SYSCALL(196, sys_getgroups, 2)
438#define __NR_setgroups 197
439__SYSCALL(197, sys_setgroups, 2)
440#define __NR_sethostname 198
441__SYSCALL(198, sys_sethostname, 2)
442#define __NR_setdomainname 199
443__SYSCALL(199, sys_setdomainname, 2)
444#define __NR_syslog 200
445__SYSCALL(200, sys_syslog, 3)
446#define __NR_vhangup 201
447__SYSCALL(201, sys_vhangup, 0)
448#define __NR_uselib 202
449__SYSCALL(202, sys_uselib, 1)
450#define __NR_reboot 203
451__SYSCALL(203, sys_reboot, 3)
452#define __NR_quotactl 204
453__SYSCALL(204, sys_quotactl, 4)
454#define __NR_nfsservctl 205
455__SYSCALL(205, sys_ni_syscall, 0)
456#define __NR__sysctl 206
457__SYSCALL(206, sys_sysctl, 1)
458#define __NR_bdflush 207
459__SYSCALL(207, sys_bdflush, 2)
460#define __NR_uname 208
461__SYSCALL(208, sys_newuname, 1)
462#define __NR_sysinfo 209
463__SYSCALL(209, sys_sysinfo, 1)
464#define __NR_init_module 210
465__SYSCALL(210, sys_init_module, 2)
466#define __NR_delete_module 211
467__SYSCALL(211, sys_delete_module, 1)
468
469#define __NR_sched_setparam 212
470__SYSCALL(212, sys_sched_setparam, 2)
471#define __NR_sched_getparam 213
472__SYSCALL(213, sys_sched_getparam, 2)
473#define __NR_sched_setscheduler 214
474__SYSCALL(214, sys_sched_setscheduler, 3)
475#define __NR_sched_getscheduler 215
476__SYSCALL(215, sys_sched_getscheduler, 1)
477#define __NR_sched_get_priority_max 216
478__SYSCALL(216, sys_sched_get_priority_max, 1)
479#define __NR_sched_get_priority_min 217
480__SYSCALL(217, sys_sched_get_priority_min, 1)
481#define __NR_sched_rr_get_interval 218
482__SYSCALL(218, sys_sched_rr_get_interval, 2)
483#define __NR_sched_yield 219
484__SYSCALL(219, sys_sched_yield, 0)
485#define __NR_available222 222
486__SYSCALL(222, sys_ni_syscall, 0)
487
488/* Signal Handling */
489
490#define __NR_restart_syscall 223
491__SYSCALL(223, sys_restart_syscall, 0)
492#define __NR_sigaltstack 224
493__SYSCALL(224, xtensa_sigaltstack, 2)
494#define __NR_rt_sigreturn 225
495__SYSCALL(225, xtensa_rt_sigreturn, 1)
496#define __NR_rt_sigaction 226
497__SYSCALL(226, sys_rt_sigaction, 4)
498#define __NR_rt_sigprocmask 227
499__SYSCALL(227, sys_rt_sigprocmask, 4)
500#define __NR_rt_sigpending 228
501__SYSCALL(228, sys_rt_sigpending, 2)
502#define __NR_rt_sigtimedwait 229
503__SYSCALL(229, sys_rt_sigtimedwait, 4)
504#define __NR_rt_sigqueueinfo 230
505__SYSCALL(230, sys_rt_sigqueueinfo, 3)
506#define __NR_rt_sigsuspend 231
507__SYSCALL(231, sys_rt_sigsuspend, 2)
508
509/* Message */
510
511#define __NR_mq_open 232
512__SYSCALL(232, sys_mq_open, 4)
513#define __NR_mq_unlink 233
514__SYSCALL(233, sys_mq_unlink, 1)
515#define __NR_mq_timedsend 234
516__SYSCALL(234, sys_mq_timedsend, 5)
517#define __NR_mq_timedreceive 235
518__SYSCALL(235, sys_mq_timedreceive, 5)
519#define __NR_mq_notify 236
520__SYSCALL(236, sys_mq_notify, 2)
521#define __NR_mq_getsetattr 237
522__SYSCALL(237, sys_mq_getsetattr, 3)
523#define __NR_available238 238
524__SYSCALL(238, sys_ni_syscall, 0)
525
526/* IO */
527
528#define __NR_io_setup 239
529__SYSCALL(239, sys_io_setup, 2)
530#define __NR_io_destroy 240
531__SYSCALL(240, sys_io_destroy, 1)
532#define __NR_io_submit 241
533__SYSCALL(241, sys_io_submit, 3)
534#define __NR_io_getevents 242
535__SYSCALL(242, sys_io_getevents, 5)
536#define __NR_io_cancel 243
537__SYSCALL(243, sys_io_cancel, 3)
538#define __NR_clock_settime 244
539__SYSCALL(244, sys_clock_settime, 2)
540#define __NR_clock_gettime 245
541__SYSCALL(245, sys_clock_gettime, 2)
542#define __NR_clock_getres 246
543__SYSCALL(246, sys_clock_getres, 2)
544#define __NR_clock_nanosleep 247
545__SYSCALL(247, sys_clock_nanosleep, 4)
546
547/* Timer */
548
549#define __NR_timer_create 248
550__SYSCALL(248, sys_timer_create, 3)
551#define __NR_timer_delete 249
552__SYSCALL(249, sys_timer_delete, 1)
553#define __NR_timer_settime 250
554__SYSCALL(250, sys_timer_settime, 4)
555#define __NR_timer_gettime 251
556__SYSCALL(251, sys_timer_gettime, 2)
557#define __NR_timer_getoverrun 252
558__SYSCALL(252, sys_timer_getoverrun, 1)
559
560/* System */
561
562#define __NR_reserved244 253
563__SYSCALL(253, sys_ni_syscall, 0)
564#define __NR_lookup_dcookie 254
565__SYSCALL(254, sys_lookup_dcookie, 4)
566#define __NR_available255 255
567__SYSCALL(255, sys_ni_syscall, 0)
568#define __NR_add_key 256
569__SYSCALL(256, sys_add_key, 5)
570#define __NR_request_key 257
571__SYSCALL(257, sys_request_key, 5)
572#define __NR_keyctl 258
573__SYSCALL(258, sys_keyctl, 5)
574#define __NR_available259 259
575__SYSCALL(259, sys_ni_syscall, 0)
576
577
578#define __NR_readahead 260
579__SYSCALL(260, sys_readahead, 5)
580#define __NR_remap_file_pages 261
581__SYSCALL(261, sys_remap_file_pages, 5)
582#define __NR_migrate_pages 262
583__SYSCALL(262, sys_migrate_pages, 0)
584#define __NR_mbind 263
585__SYSCALL(263, sys_mbind, 6)
586#define __NR_get_mempolicy 264
587__SYSCALL(264, sys_get_mempolicy, 5)
588#define __NR_set_mempolicy 265
589__SYSCALL(265, sys_set_mempolicy, 3)
590#define __NR_unshare 266
591__SYSCALL(266, sys_unshare, 1)
592#define __NR_move_pages 267
593__SYSCALL(267, sys_move_pages, 0)
594#define __NR_splice 268
595__SYSCALL(268, sys_splice, 0)
596#define __NR_tee 269
597__SYSCALL(269, sys_tee, 0)
598#define __NR_vmsplice 270
599__SYSCALL(270, sys_vmsplice, 0)
600#define __NR_available271 271
601__SYSCALL(271, sys_ni_syscall, 0)
602
603#define __NR_pselect6 272
604__SYSCALL(272, sys_pselect6, 0)
605#define __NR_ppoll 273
606__SYSCALL(273, sys_ppoll, 0)
607#define __NR_epoll_pwait 274
608__SYSCALL(274, sys_epoll_pwait, 0)
609#define __NR_available275 275
610__SYSCALL(275, sys_ni_syscall, 0)
611
612#define __NR_inotify_init 276
613__SYSCALL(276, sys_inotify_init, 0)
614#define __NR_inotify_add_watch 277
615__SYSCALL(277, sys_inotify_add_watch, 3)
616#define __NR_inotify_rm_watch 278
617__SYSCALL(278, sys_inotify_rm_watch, 2)
618#define __NR_available279 279
619__SYSCALL(279, sys_ni_syscall, 0)
620
621#define __NR_getcpu 280
622__SYSCALL(280, sys_getcpu, 0)
623#define __NR_kexec_load 281
624__SYSCALL(281, sys_ni_syscall, 0)
625
626#define __NR_ioprio_set 282
627__SYSCALL(282, sys_ioprio_set, 2)
628#define __NR_ioprio_get 283
629__SYSCALL(283, sys_ioprio_get, 3)
630
631#define __NR_set_robust_list 284
632__SYSCALL(284, sys_set_robust_list, 3)
633#define __NR_get_robust_list 285
634__SYSCALL(285, sys_get_robust_list, 3)
635#define __NR_reserved286 286 /* sync_file_rangeX */
636__SYSCALL(286, sys_ni_syscall, 3)
637#define __NR_available287 287
638__SYSCALL(287, sys_faccessat, 0)
639
640/* Relative File Operations */
641
642#define __NR_openat 288
643__SYSCALL(288, sys_openat, 4)
644#define __NR_mkdirat 289
645__SYSCALL(289, sys_mkdirat, 3)
646#define __NR_mknodat 290
647__SYSCALL(290, sys_mknodat, 4)
648#define __NR_unlinkat 291
649__SYSCALL(291, sys_unlinkat, 3)
650#define __NR_renameat 292
651__SYSCALL(292, sys_renameat, 4)
652#define __NR_linkat 293
653__SYSCALL(293, sys_linkat, 5)
654#define __NR_symlinkat 294
655__SYSCALL(294, sys_symlinkat, 3)
656#define __NR_readlinkat 295
657__SYSCALL(295, sys_readlinkat, 4)
658#define __NR_utimensat 296
659__SYSCALL(296, sys_utimensat, 0)
660#define __NR_fchownat 297
661__SYSCALL(297, sys_fchownat, 5)
662#define __NR_futimesat 298
663__SYSCALL(298, sys_futimesat, 4)
664#define __NR_fstatat64 299
665__SYSCALL(299, sys_fstatat64, 0)
666#define __NR_fchmodat 300
667__SYSCALL(300, sys_fchmodat, 4)
668#define __NR_faccessat 301
669__SYSCALL(301, sys_faccessat, 4)
670#define __NR_available302 302
671__SYSCALL(302, sys_ni_syscall, 0)
672#define __NR_available303 303
673__SYSCALL(303, sys_ni_syscall, 0)
674
675#define __NR_signalfd 304
676__SYSCALL(304, sys_signalfd, 3)
677/* 305 was __NR_timerfd */
678__SYSCALL(305, sys_ni_syscall, 0)
679#define __NR_eventfd 306
680__SYSCALL(306, sys_eventfd, 1)
681#define __NR_recvmmsg 307
682__SYSCALL(307, sys_recvmmsg, 5)
683#define __NR_setns 308
684__SYSCALL(308, sys_setns, 2)
685
686#define __NR_syscall_count 309
687
688/*
689 * sysxtensa syscall handler
690 *
691 * int sysxtensa (SYS_XTENSA_ATOMIC_SET, ptr, val, unused);
692 * int sysxtensa (SYS_XTENSA_ATOMIC_ADD, ptr, val, unused);
693 * int sysxtensa (SYS_XTENSA_ATOMIC_EXG_ADD, ptr, val, unused);
694 * int sysxtensa (SYS_XTENSA_ATOMIC_CMP_SWP, ptr, oldval, newval);
695 * a2 a6 a3 a4 a5
696 */
697
698#define SYS_XTENSA_RESERVED 0 /* don't use this */
699#define SYS_XTENSA_ATOMIC_SET 1 /* set variable */
700#define SYS_XTENSA_ATOMIC_EXG_ADD 2 /* exchange memory and add */
701#define SYS_XTENSA_ATOMIC_ADD 3 /* add to memory */
702#define SYS_XTENSA_ATOMIC_CMP_SWP 4 /* compare and swap */
703
704#define SYS_XTENSA_COUNT 5 /* count */