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