diff options
Diffstat (limited to 'arch/parisc/include/uapi')
28 files changed, 2603 insertions, 0 deletions
diff --git a/arch/parisc/include/uapi/asm/Kbuild b/arch/parisc/include/uapi/asm/Kbuild new file mode 100644 index 00000000000..348356c9951 --- /dev/null +++ b/arch/parisc/include/uapi/asm/Kbuild @@ -0,0 +1,32 @@ +# UAPI Header export list +include include/uapi/asm-generic/Kbuild.asm + +generic-y += resource.h + +header-y += bitsperlong.h +header-y += byteorder.h +header-y += errno.h +header-y += fcntl.h +header-y += ioctl.h +header-y += ioctls.h +header-y += ipcbuf.h +header-y += mman.h +header-y += msgbuf.h +header-y += pdc.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 += siginfo.h +header-y += signal.h +header-y += socket.h +header-y += sockios.h +header-y += stat.h +header-y += statfs.h +header-y += swab.h +header-y += termbits.h +header-y += termios.h +header-y += types.h +header-y += unistd.h diff --git a/arch/parisc/include/uapi/asm/bitsperlong.h b/arch/parisc/include/uapi/asm/bitsperlong.h new file mode 100644 index 00000000000..75196b415d3 --- /dev/null +++ b/arch/parisc/include/uapi/asm/bitsperlong.h @@ -0,0 +1,20 @@ +#ifndef __ASM_PARISC_BITSPERLONG_H +#define __ASM_PARISC_BITSPERLONG_H + +/* + * using CONFIG_* outside of __KERNEL__ is wrong, + * __LP64__ was also removed from headers, so what + * is the right approach on parisc? + *	-arnd + */ +#if (defined(__KERNEL__) && defined(CONFIG_64BIT)) || defined (__LP64__) +#define __BITS_PER_LONG 64 +#define SHIFT_PER_LONG 6 +#else +#define __BITS_PER_LONG 32 +#define SHIFT_PER_LONG 5 +#endif + +#include <asm-generic/bitsperlong.h> + +#endif /* __ASM_PARISC_BITSPERLONG_H */ diff --git a/arch/parisc/include/uapi/asm/byteorder.h b/arch/parisc/include/uapi/asm/byteorder.h new file mode 100644 index 00000000000..58af2c5f5d6 --- /dev/null +++ b/arch/parisc/include/uapi/asm/byteorder.h @@ -0,0 +1,6 @@ +#ifndef _PARISC_BYTEORDER_H +#define _PARISC_BYTEORDER_H + +#include <linux/byteorder/big_endian.h> + +#endif /* _PARISC_BYTEORDER_H */ diff --git a/arch/parisc/include/uapi/asm/errno.h b/arch/parisc/include/uapi/asm/errno.h new file mode 100644 index 00000000000..c0ae62520d1 --- /dev/null +++ b/arch/parisc/include/uapi/asm/errno.h @@ -0,0 +1,127 @@ +#ifndef _PARISC_ERRNO_H +#define _PARISC_ERRNO_H + +#include <asm-generic/errno-base.h> + +#define	ENOMSG		35	/* No message of desired type */ +#define	EIDRM		36	/* Identifier removed */ +#define	ECHRNG		37	/* Channel number out of range */ +#define	EL2NSYNC	38	/* Level 2 not synchronized */ +#define	EL3HLT		39	/* Level 3 halted */ +#define	EL3RST		40	/* Level 3 reset */ +#define	ELNRNG		41	/* Link number out of range */ +#define	EUNATCH		42	/* Protocol driver not attached */ +#define	ENOCSI		43	/* No CSI structure available */ +#define	EL2HLT		44	/* Level 2 halted */ +#define	EDEADLK		45	/* Resource deadlock would occur */ +#define	EDEADLOCK	EDEADLK +#define	ENOLCK		46	/* No record locks available */ +#define	EILSEQ		47	/* Illegal byte sequence */ + +#define	ENONET		50	/* Machine is not on the network */ +#define	ENODATA		51	/* No data available */ +#define	ETIME		52	/* Timer expired */ +#define	ENOSR		53	/* Out of streams resources */ +#define	ENOSTR		54	/* Device not a stream */ +#define	ENOPKG		55	/* Package not installed */ + +#define	ENOLINK		57	/* Link has been severed */ +#define	EADV		58	/* Advertise error */ +#define	ESRMNT		59	/* Srmount error */ +#define	ECOMM		60	/* Communication error on send */ +#define	EPROTO		61	/* Protocol error */ + +#define	EMULTIHOP	64	/* Multihop attempted */ + +#define	EDOTDOT		66	/* RFS specific error */ +#define	EBADMSG		67	/* Not a data message */ +#define	EUSERS		68	/* Too many users */ +#define	EDQUOT		69	/* Quota exceeded */ +#define	ESTALE		70	/* Stale file handle */ +#define	EREMOTE		71	/* Object is remote */ +#define	EOVERFLOW	72	/* Value too large for defined data type */ + +/* these errnos are defined by Linux but not HPUX. */ + +#define	EBADE		160	/* Invalid exchange */ +#define	EBADR		161	/* Invalid request descriptor */ +#define	EXFULL		162	/* Exchange full */ +#define	ENOANO		163	/* No anode */ +#define	EBADRQC		164	/* Invalid request code */ +#define	EBADSLT		165	/* Invalid slot */ +#define	EBFONT		166	/* Bad font file format */ +#define	ENOTUNIQ	167	/* Name not unique on network */ +#define	EBADFD		168	/* File descriptor in bad state */ +#define	EREMCHG		169	/* Remote address changed */ +#define	ELIBACC		170	/* Can not access a needed shared library */ +#define	ELIBBAD		171	/* Accessing a corrupted shared library */ +#define	ELIBSCN		172	/* .lib section in a.out corrupted */ +#define	ELIBMAX		173	/* Attempting to link in too many shared libraries */ +#define	ELIBEXEC	174	/* Cannot exec a shared library directly */ +#define	ERESTART	175	/* Interrupted system call should be restarted */ +#define	ESTRPIPE	176	/* Streams pipe error */ +#define	EUCLEAN		177	/* Structure needs cleaning */ +#define	ENOTNAM		178	/* Not a XENIX named type file */ +#define	ENAVAIL		179	/* No XENIX semaphores available */ +#define	EISNAM		180	/* Is a named type file */ +#define	EREMOTEIO	181	/* Remote I/O error */ +#define	ENOMEDIUM	182	/* No medium found */ +#define	EMEDIUMTYPE	183	/* Wrong medium type */ +#define	ENOKEY		184	/* Required key not available */ +#define	EKEYEXPIRED	185	/* Key has expired */ +#define	EKEYREVOKED	186	/* Key has been revoked */ +#define	EKEYREJECTED	187	/* Key was rejected by service */ + +/* We now return you to your regularly scheduled HPUX. */ + +#define ENOSYM		215	/* symbol does not exist in executable */ +#define	ENOTSOCK	216	/* Socket operation on non-socket */ +#define	EDESTADDRREQ	217	/* Destination address required */ +#define	EMSGSIZE	218	/* Message too long */ +#define	EPROTOTYPE	219	/* Protocol wrong type for socket */ +#define	ENOPROTOOPT	220	/* Protocol not available */ +#define	EPROTONOSUPPORT	221	/* Protocol not supported */ +#define	ESOCKTNOSUPPORT	222	/* Socket type not supported */ +#define	EOPNOTSUPP	223	/* Operation not supported on transport endpoint */ +#define	EPFNOSUPPORT	224	/* Protocol family not supported */ +#define	EAFNOSUPPORT	225	/* Address family not supported by protocol */ +#define	EADDRINUSE	226	/* Address already in use */ +#define	EADDRNOTAVAIL	227	/* Cannot assign requested address */ +#define	ENETDOWN	228	/* Network is down */ +#define	ENETUNREACH	229	/* Network is unreachable */ +#define	ENETRESET	230	/* Network dropped connection because of reset */ +#define	ECONNABORTED	231	/* Software caused connection abort */ +#define	ECONNRESET	232	/* Connection reset by peer */ +#define	ENOBUFS		233	/* No buffer space available */ +#define	EISCONN		234	/* Transport endpoint is already connected */ +#define	ENOTCONN	235	/* Transport endpoint is not connected */ +#define	ESHUTDOWN	236	/* Cannot send after transport endpoint shutdown */ +#define	ETOOMANYREFS	237	/* Too many references: cannot splice */ +#define EREFUSED	ECONNREFUSED	/* for HP's NFS apparently */ +#define	ETIMEDOUT	238	/* Connection timed out */ +#define	ECONNREFUSED	239	/* Connection refused */ +#define EREMOTERELEASE	240	/* Remote peer released connection */ +#define	EHOSTDOWN	241	/* Host is down */ +#define	EHOSTUNREACH	242	/* No route to host */ + +#define	EALREADY	244	/* Operation already in progress */ +#define	EINPROGRESS	245	/* Operation now in progress */ +#define	EWOULDBLOCK	EAGAIN	/* Operation would block (Not HPUX compliant) */ +#define	ENOTEMPTY	247	/* Directory not empty */ +#define	ENAMETOOLONG	248	/* File name too long */ +#define	ELOOP		249	/* Too many symbolic links encountered */ +#define	ENOSYS		251	/* Function not implemented */ + +#define ENOTSUP		252	/* Function not implemented (POSIX.4 / HPUX) */ +#define ECANCELLED	253	/* aio request was canceled before complete (POSIX.4 / HPUX) */ +#define ECANCELED	ECANCELLED	/* SuSv3 and Solaris wants one 'L' */ + +/* for robust mutexes */ +#define EOWNERDEAD	254	/* Owner died */ +#define ENOTRECOVERABLE	255	/* State not recoverable */ + +#define	ERFKILL		256	/* Operation not possible due to RF-kill */ + +#define EHWPOISON	257	/* Memory page has hardware error */ + +#endif diff --git a/arch/parisc/include/uapi/asm/fcntl.h b/arch/parisc/include/uapi/asm/fcntl.h new file mode 100644 index 00000000000..34a46cbc76e --- /dev/null +++ b/arch/parisc/include/uapi/asm/fcntl.h @@ -0,0 +1,41 @@ +#ifndef _PARISC_FCNTL_H +#define _PARISC_FCNTL_H + +#define O_APPEND	000000010 +#define O_BLKSEEK	000000100 /* HPUX only */ +#define O_CREAT		000000400 /* not fcntl */ +#define O_EXCL		000002000 /* not fcntl */ +#define O_LARGEFILE	000004000 +#define __O_SYNC	000100000 +#define O_SYNC		(__O_SYNC|O_DSYNC) +#define O_NONBLOCK	000200004 /* HPUX has separate NDELAY & NONBLOCK */ +#define O_NOCTTY	000400000 /* not fcntl */ +#define O_DSYNC		001000000 /* HPUX only */ +#define O_RSYNC		002000000 /* HPUX only */ +#define O_NOATIME	004000000 +#define O_CLOEXEC	010000000 /* set close_on_exec */ + +#define O_DIRECTORY	000010000 /* must be a directory */ +#define O_NOFOLLOW	000000200 /* don't follow links */ +#define O_INVISIBLE	004000000 /* invisible I/O, for DMAPI/XDSM */ + +#define O_PATH		020000000 +#define __O_TMPFILE	040000000 + +#define F_GETLK64	8 +#define F_SETLK64	9 +#define F_SETLKW64	10 + +#define F_GETOWN	11	/*  for sockets. */ +#define F_SETOWN	12	/*  for sockets. */ +#define F_SETSIG	13	/*  for sockets. */ +#define F_GETSIG	14	/*  for sockets. */ + +/* for posix fcntl() and lockf() */ +#define F_RDLCK		01 +#define F_WRLCK		02 +#define F_UNLCK		03 + +#include <asm-generic/fcntl.h> + +#endif diff --git a/arch/parisc/include/uapi/asm/ioctl.h b/arch/parisc/include/uapi/asm/ioctl.h new file mode 100644 index 00000000000..ec8efa02bed --- /dev/null +++ b/arch/parisc/include/uapi/asm/ioctl.h @@ -0,0 +1,44 @@ +/* + *    Linux/PA-RISC Project (http://www.parisc-linux.org/) + *    Copyright (C) 1999,2003 Matthew Wilcox < willy at debian . org > + *    portions from "linux/ioctl.h for Linux" by H.H. Bergman. + * + *    This program is free software; you can redistribute it and/or modify + *    it under the terms of the GNU General Public License as published by + *    the Free Software Foundation; either version 2 of the License, or + *    (at your option) any later version. + * + *    This program is distributed in the hope that it will be useful, + *    but WITHOUT ANY WARRANTY; without even the implied warranty of + *    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the + *    GNU General Public License for more details. + * + *    You should have received a copy of the GNU General Public License + *    along with this program; if not, write to the Free Software + *    Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA + */ + + +#ifndef _ASM_PARISC_IOCTL_H +#define _ASM_PARISC_IOCTL_H + +/* ioctl command encoding: 32 bits total, command in lower 16 bits, + * size of the parameter structure in the lower 14 bits of the + * upper 16 bits. + * Encoding the size of the parameter structure in the ioctl request + * is useful for catching programs compiled with old versions + * and to avoid overwriting user space outside the user buffer area. + * The highest 2 bits are reserved for indicating the ``access mode''. + * NOTE: This limits the max parameter size to 16kB -1 ! + */ + +/* + * Direction bits. + */ +#define _IOC_NONE	0U +#define _IOC_WRITE	2U +#define _IOC_READ	1U + +#include <asm-generic/ioctl.h> + +#endif /* _ASM_PARISC_IOCTL_H */ diff --git a/arch/parisc/include/uapi/asm/ioctls.h b/arch/parisc/include/uapi/asm/ioctls.h new file mode 100644 index 00000000000..66719c38a36 --- /dev/null +++ b/arch/parisc/include/uapi/asm/ioctls.h @@ -0,0 +1,95 @@ +#ifndef __ARCH_PARISC_IOCTLS_H__ +#define __ARCH_PARISC_IOCTLS_H__ + +#include <asm/ioctl.h> + +/* 0x54 is just a magic number to make these relatively unique ('T') */ + +#define TCGETS		_IOR('T', 16, struct termios) /* TCGETATTR */ +#define TCSETS		_IOW('T', 17, struct termios) /* TCSETATTR */ +#define TCSETSW		_IOW('T', 18, struct termios) /* TCSETATTRD */ +#define TCSETSF		_IOW('T', 19, struct termios) /* TCSETATTRF */ +#define TCGETA		_IOR('T', 1, struct termio) +#define TCSETA		_IOW('T', 2, struct termio) +#define TCSETAW		_IOW('T', 3, struct termio) +#define TCSETAF		_IOW('T', 4, struct termio) +#define TCSBRK		_IO('T', 5) +#define TCXONC		_IO('T', 6) +#define TCFLSH		_IO('T', 7) +#define TIOCEXCL	0x540C +#define TIOCNXCL	0x540D +#define TIOCSCTTY	0x540E +#define TIOCGPGRP	_IOR('T', 30, int) +#define TIOCSPGRP	_IOW('T', 29, int) +#define TIOCOUTQ	0x5411 +#define TIOCSTI		0x5412 +#define TIOCGWINSZ	0x5413 +#define TIOCSWINSZ	0x5414 +#define TIOCMGET	0x5415 +#define TIOCMBIS	0x5416 +#define TIOCMBIC	0x5417 +#define TIOCMSET	0x5418 +#define TIOCGSOFTCAR	0x5419 +#define TIOCSSOFTCAR	0x541A +#define FIONREAD	0x541B +#define TIOCINQ		FIONREAD +#define TIOCLINUX	0x541C +#define TIOCCONS	0x541D +#define TIOCGSERIAL	0x541E +#define TIOCSSERIAL	0x541F +#define TIOCPKT		0x5420 +#define FIONBIO		0x5421 +#define TIOCNOTTY	0x5422 +#define TIOCSETD	0x5423 +#define TIOCGETD	0x5424 +#define TCSBRKP		0x5425	/* Needed for POSIX tcsendbreak() */ +#define TIOCSBRK	0x5427  /* BSD compatibility */ +#define TIOCCBRK	0x5428  /* BSD compatibility */ +#define TIOCGSID	_IOR('T', 20, int) /* Return the session ID of FD */ +#define TCGETS2		_IOR('T',0x2A, struct termios2) +#define TCSETS2		_IOW('T',0x2B, struct termios2) +#define TCSETSW2	_IOW('T',0x2C, struct termios2) +#define TCSETSF2	_IOW('T',0x2D, 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, int)  /* Get primary device node of /dev/console */ +#define TIOCSIG		_IOW('T',0x36, int)  /* Generate signal on Pty slave */ +#define TIOCVHANGUP	0x5437 +#define TIOCGPKT	_IOR('T', 0x38, int) /* Get packet mode state */ +#define TIOCGPTLCK	_IOR('T', 0x39, int) /* Get Pty lock state */ +#define TIOCGEXCL	_IOR('T', 0x40, int) /* Get exclusive mode state */ + +#define FIONCLEX	0x5450  /* these numbers need to be adjusted. */ +#define FIOCLEX		0x5451 +#define FIOASYNC	0x5452 +#define TIOCSERCONFIG	0x5453 +#define TIOCSERGWILD	0x5454 +#define TIOCSERSWILD	0x5455 +#define TIOCGLCKTRMIOS	0x5456 +#define TIOCSLCKTRMIOS	0x5457 +#define TIOCSERGSTRUCT	0x5458 /* For debugging only */ +#define TIOCSERGETLSR   0x5459 /* Get line status register */ +#define TIOCSERGETMULTI 0x545A /* Get multiport config  */ +#define TIOCSERSETMULTI 0x545B /* Set multiport config */ + +#define TIOCMIWAIT	0x545C	/* wait for a change on serial input line(s) */ +#define TIOCGICOUNT	0x545D	/* read serial port inline interrupt counts */ +#define FIOQSIZE	0x5460	/* Get exact space used by quota */ + +#define TIOCSTART	0x5461 +#define TIOCSTOP	0x5462 +#define TIOCSLTC	0x5462 + +/* Used for packet mode */ +#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 TIOCSER_TEMT    0x01	/* Transmitter physically empty */ + +#endif /* _ASM_PARISC_IOCTLS_H */ diff --git a/arch/parisc/include/uapi/asm/ipcbuf.h b/arch/parisc/include/uapi/asm/ipcbuf.h new file mode 100644 index 00000000000..bd956c42578 --- /dev/null +++ b/arch/parisc/include/uapi/asm/ipcbuf.h @@ -0,0 +1,27 @@ +#ifndef __PARISC_IPCBUF_H__ +#define __PARISC_IPCBUF_H__ + +/* + * The ipc64_perm structure for PA-RISC is almost identical to + * kern_ipc_perm as we have always had 32-bit UIDs and GIDs in the kernel. + * 'seq' has been changed from long to int so that it's the same size + * on 64-bit kernels as on 32-bit ones. + */ + +struct ipc64_perm +{ +	key_t           key; +	uid_t           uid; +	gid_t           gid; +	uid_t           cuid; +	gid_t           cgid; +	unsigned short int	__pad1; +	mode_t          mode; +	unsigned short int	__pad2; +	unsigned short int	seq; +	unsigned int	__pad3; +	unsigned long long int __unused1; +	unsigned long long int __unused2; +}; + +#endif /* __PARISC_IPCBUF_H__ */ diff --git a/arch/parisc/include/uapi/asm/mman.h b/arch/parisc/include/uapi/asm/mman.h new file mode 100644 index 00000000000..294d251ca7b --- /dev/null +++ b/arch/parisc/include/uapi/asm/mman.h @@ -0,0 +1,84 @@ +#ifndef __PARISC_MMAN_H__ +#define __PARISC_MMAN_H__ + +#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	0x8		/* page may be used for atomic ops */ +#define PROT_NONE	0x0		/* page can not be accessed */ +#define PROT_GROWSDOWN	0x01000000	/* mprotect flag: extend change to start of growsdown vma */ +#define PROT_GROWSUP	0x02000000	/* mprotect flag: extend change to end of growsup vma */ + +#define MAP_SHARED	0x01		/* Share changes */ +#define MAP_PRIVATE	0x02		/* Changes are private */ +#define MAP_TYPE	0x03		/* Mask for type of mapping */ +#define MAP_FIXED	0x04		/* Interpret addr exactly */ +#define MAP_ANONYMOUS	0x10		/* don't use a file */ + +#define MAP_DENYWRITE	0x0800		/* ETXTBSY */ +#define MAP_EXECUTABLE	0x1000		/* mark it as an executable */ +#define MAP_LOCKED	0x2000		/* pages are locked */ +#define MAP_NORESERVE	0x4000		/* don't check for reservations */ +#define MAP_GROWSDOWN	0x8000		/* stack-like segment */ +#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 */ + +#define MS_SYNC		1		/* synchronous memory sync */ +#define MS_ASYNC	2		/* sync memory asynchronously */ +#define MS_INVALIDATE	4		/* invalidate the caches */ + +#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 */ +#define MADV_SPACEAVAIL 5               /* insure that resources are reserved */ +#define MADV_VPS_PURGE  6               /* Purge pages from VM page cache */ +#define MADV_VPS_INHERIT 7              /* Inherit parents page size */ + +/* common/generic parameters */ +#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 */ + +/* The range 12-64 is reserved for page size specification. */ +#define MADV_4K_PAGES   12              /* Use 4K pages  */ +#define MADV_16K_PAGES  14              /* Use 16K pages */ +#define MADV_64K_PAGES  16              /* Use 64K pages */ +#define MADV_256K_PAGES 18              /* Use 256K pages */ +#define MADV_1M_PAGES   20              /* Use 1 Megabyte pages */ +#define MADV_4M_PAGES   22              /* Use 4 Megabyte pages */ +#define MADV_16M_PAGES  24              /* Use 16 Megabyte pages */ +#define MADV_64M_PAGES  26              /* Use 64 Megabyte pages */ + +#define MADV_MERGEABLE   65		/* KSM may merge identical pages */ +#define MADV_UNMERGEABLE 66		/* KSM may not merge identical pages */ + +#define MADV_HUGEPAGE	67		/* Worth backing with hugepages */ +#define MADV_NOHUGEPAGE	68		/* Not worth backing with hugepages */ + +#define MADV_DONTDUMP   69		/* Explicity exclude from the core dump, +					   overrides the coredump filter bits */ +#define MADV_DODUMP	70		/* Clear the MADV_NODUMP flag */ + +/* compatibility flags */ +#define MAP_FILE	0 +#define MAP_VARIABLE	0 + +/* + * When MAP_HUGETLB is set bits [26:31] encode the log2 of the huge page size. + * This gives us 6 bits, which is enough until someone invents 128 bit address + * spaces. + * + * Assume these are all power of twos. + * When 0 use the default page size. + */ +#define MAP_HUGE_SHIFT	26 +#define MAP_HUGE_MASK	0x3f + +#endif /* __PARISC_MMAN_H__ */ diff --git a/arch/parisc/include/uapi/asm/msgbuf.h b/arch/parisc/include/uapi/asm/msgbuf.h new file mode 100644 index 00000000000..fe88f264941 --- /dev/null +++ b/arch/parisc/include/uapi/asm/msgbuf.h @@ -0,0 +1,37 @@ +#ifndef _PARISC_MSGBUF_H +#define _PARISC_MSGBUF_H + +/*  + * The msqid64_ds structure for parisc architecture, copied from sparc. + * 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 + */ + +struct msqid64_ds { +	struct ipc64_perm msg_perm; +#ifndef CONFIG_64BIT +	unsigned int   __pad1; +#endif +	__kernel_time_t msg_stime;	/* last msgsnd time */ +#ifndef CONFIG_64BIT +	unsigned int   __pad2; +#endif +	__kernel_time_t msg_rtime;	/* last msgrcv time */ +#ifndef CONFIG_64BIT +	unsigned int   __pad3; +#endif +	__kernel_time_t msg_ctime;	/* last change time */ +	unsigned int  msg_cbytes;	/* current number of bytes on queue */ +	unsigned int  msg_qnum;	/* number of messages in queue */ +	unsigned int  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 int  __unused1; +	unsigned int  __unused2; +}; + +#endif /* _PARISC_MSGBUF_H */ diff --git a/arch/parisc/include/uapi/asm/pdc.h b/arch/parisc/include/uapi/asm/pdc.h new file mode 100644 index 00000000000..702498f7705 --- /dev/null +++ b/arch/parisc/include/uapi/asm/pdc.h @@ -0,0 +1,427 @@ +#ifndef _UAPI_PARISC_PDC_H +#define _UAPI_PARISC_PDC_H + +/* + *	PDC return values ... + *	All PDC calls return a subset of these errors.  + */ + +#define PDC_WARN		  3	/* Call completed with a warning */ +#define PDC_REQ_ERR_1		  2	/* See above			 */ +#define PDC_REQ_ERR_0		  1	/* Call would generate a requestor error */ +#define PDC_OK			  0	/* Call completed successfully	*/ +#define PDC_BAD_PROC		 -1	/* Called non-existent procedure*/ +#define PDC_BAD_OPTION		 -2	/* Called with non-existent option */ +#define PDC_ERROR		 -3	/* Call could not complete without an error */ +#define PDC_NE_MOD		 -5	/* Module not found		*/ +#define PDC_NE_CELL_MOD		 -7	/* Cell module not found	*/ +#define PDC_INVALID_ARG		-10	/* Called with an invalid argument */ +#define PDC_BUS_POW_WARN	-12	/* Call could not complete in allowed power budget */ +#define PDC_NOT_NARROW		-17	/* Narrow mode not supported	*/ + +/* + *	PDC entry points... + */ + +#define PDC_POW_FAIL	1		/* perform a power-fail		*/ +#define PDC_POW_FAIL_PREPARE	0	/* prepare for powerfail	*/ + +#define PDC_CHASSIS	2		/* PDC-chassis functions	*/ +#define PDC_CHASSIS_DISP	0	/* update chassis display	*/ +#define PDC_CHASSIS_WARN	1	/* return chassis warnings	*/ +#define PDC_CHASSIS_DISPWARN	2	/* update&return chassis status */ +#define PDC_RETURN_CHASSIS_INFO 128	/* HVERSION dependent: return chassis LED/LCD info  */ + +#define PDC_PIM         3               /* Get PIM data                 */ +#define PDC_PIM_HPMC            0       /* Transfer HPMC data           */ +#define PDC_PIM_RETURN_SIZE     1       /* Get Max buffer needed for PIM*/ +#define PDC_PIM_LPMC            2       /* Transfer HPMC data           */ +#define PDC_PIM_SOFT_BOOT       3       /* Transfer Soft Boot data      */ +#define PDC_PIM_TOC             4       /* Transfer TOC data            */ + +#define PDC_MODEL	4		/* PDC model information call	*/ +#define PDC_MODEL_INFO		0	/* returns information 		*/ +#define PDC_MODEL_BOOTID	1	/* set the BOOT_ID		*/ +#define PDC_MODEL_VERSIONS	2	/* returns cpu-internal versions*/ +#define PDC_MODEL_SYSMODEL	3	/* return system model info	*/ +#define PDC_MODEL_ENSPEC	4	/* enable specific option	*/ +#define PDC_MODEL_DISPEC	5	/* disable specific option	*/ +#define PDC_MODEL_CPU_ID	6	/* returns cpu-id (only newer machines!) */ +#define PDC_MODEL_CAPABILITIES	7	/* returns OS32/OS64-flags	*/ +/* Values for PDC_MODEL_CAPABILITIES non-equivalent virtual aliasing support */ +#define  PDC_MODEL_OS64			(1 << 0) +#define  PDC_MODEL_OS32			(1 << 1) +#define  PDC_MODEL_IOPDIR_FDC		(1 << 2) +#define  PDC_MODEL_NVA_MASK		(3 << 4) +#define  PDC_MODEL_NVA_SUPPORTED	(0 << 4) +#define  PDC_MODEL_NVA_SLOW		(1 << 4) +#define  PDC_MODEL_NVA_UNSUPPORTED	(3 << 4) +#define PDC_MODEL_GET_BOOT__OP	8	/* returns boot test options	*/ +#define PDC_MODEL_SET_BOOT__OP	9	/* set boot test options	*/ + +#define PA89_INSTRUCTION_SET	0x4	/* capatibilies returned	*/ +#define PA90_INSTRUCTION_SET	0x8 + +#define PDC_CACHE	5		/* return/set cache (& TLB) info*/ +#define PDC_CACHE_INFO		0	/* returns information 		*/ +#define PDC_CACHE_SET_COH	1	/* set coherence state		*/ +#define PDC_CACHE_RET_SPID	2	/* returns space-ID bits	*/ + +#define PDC_HPA		6		/* return HPA of processor	*/ +#define PDC_HPA_PROCESSOR	0 +#define PDC_HPA_MODULES		1 + +#define PDC_COPROC	7		/* Co-Processor (usually FP unit(s)) */ +#define PDC_COPROC_CFG		0	/* Co-Processor Cfg (FP unit(s) enabled?) */ + +#define PDC_IODC	8		/* talk to IODC			*/ +#define PDC_IODC_READ		0	/* read IODC entry point	*/ +/*      PDC_IODC_RI_			 * INDEX parameter of PDC_IODC_READ */ +#define PDC_IODC_RI_DATA_BYTES	0	/* IODC Data Bytes		*/ +/*				1, 2	   obsolete - HVERSION dependent*/ +#define PDC_IODC_RI_INIT	3	/* Initialize module		*/ +#define PDC_IODC_RI_IO		4	/* Module input/output		*/ +#define PDC_IODC_RI_SPA		5	/* Module input/output		*/ +#define PDC_IODC_RI_CONFIG	6	/* Module input/output		*/ +/*				7	  obsolete - HVERSION dependent */ +#define PDC_IODC_RI_TEST	8	/* Module input/output		*/ +#define PDC_IODC_RI_TLB		9	/* Module input/output		*/ +#define PDC_IODC_NINIT		2	/* non-destructive init		*/ +#define PDC_IODC_DINIT		3	/* destructive init		*/ +#define PDC_IODC_MEMERR		4	/* check for memory errors	*/ +#define PDC_IODC_INDEX_DATA	0	/* get first 16 bytes from mod IODC */ +#define PDC_IODC_BUS_ERROR	-4	/* bus error return value	*/ +#define PDC_IODC_INVALID_INDEX	-5	/* invalid index return value	*/ +#define PDC_IODC_COUNT		-6	/* count is too small		*/ + +#define PDC_TOD		9		/* time-of-day clock (TOD)	*/ +#define PDC_TOD_READ		0	/* read TOD			*/ +#define PDC_TOD_WRITE		1	/* write TOD			*/ + + +#define PDC_STABLE	10		/* stable storage (sprockets)	*/ +#define PDC_STABLE_READ		0 +#define PDC_STABLE_WRITE	1 +#define PDC_STABLE_RETURN_SIZE	2 +#define PDC_STABLE_VERIFY_CONTENTS 3 +#define PDC_STABLE_INITIALIZE	4 + +#define PDC_NVOLATILE	11		/* often not implemented	*/ + +#define PDC_ADD_VALID	12		/* Memory validation PDC call	*/ +#define PDC_ADD_VALID_VERIFY	0	/* Make PDC_ADD_VALID verify region */ + +#define PDC_INSTR	15		/* get instr to invoke PDCE_CHECK() */ + +#define PDC_PROC	16		/* (sprockets)			*/ + +#define PDC_CONFIG	16		/* (sprockets)			*/ +#define PDC_CONFIG_DECONFIG	0 +#define PDC_CONFIG_DRECONFIG	1 +#define PDC_CONFIG_DRETURN_CONFIG 2 + +#define PDC_BLOCK_TLB	18		/* manage hardware block-TLB	*/ +#define PDC_BTLB_INFO		0	/* returns parameter 		*/ +#define PDC_BTLB_INSERT		1	/* insert BTLB entry		*/ +#define PDC_BTLB_PURGE		2	/* purge BTLB entries 		*/ +#define PDC_BTLB_PURGE_ALL	3	/* purge all BTLB entries 	*/ + +#define PDC_TLB		19		/* manage hardware TLB miss handling */ +#define PDC_TLB_INFO		0	/* returns parameter 		*/ +#define PDC_TLB_SETUP		1	/* set up miss handling 	*/ + +#define PDC_MEM		20		/* Manage memory		*/ +#define PDC_MEM_MEMINFO		0 +#define PDC_MEM_ADD_PAGE	1 +#define PDC_MEM_CLEAR_PDT	2 +#define PDC_MEM_READ_PDT	3 +#define PDC_MEM_RESET_CLEAR	4 +#define PDC_MEM_GOODMEM		5 +#define PDC_MEM_TABLE		128	/* Non contig mem map (sprockets) */ +#define PDC_MEM_RETURN_ADDRESS_TABLE	PDC_MEM_TABLE +#define PDC_MEM_GET_MEMORY_SYSTEM_TABLES_SIZE	131 +#define PDC_MEM_GET_MEMORY_SYSTEM_TABLES	132 +#define PDC_MEM_GET_PHYSICAL_LOCATION_FROM_MEMORY_ADDRESS 133 + +#define PDC_MEM_RET_SBE_REPLACED	5	/* PDC_MEM return values */ +#define PDC_MEM_RET_DUPLICATE_ENTRY	4 +#define PDC_MEM_RET_BUF_SIZE_SMALL	1 +#define PDC_MEM_RET_PDT_FULL		-11 +#define PDC_MEM_RET_INVALID_PHYSICAL_LOCATION ~0ULL + +#define PDC_PSW		21		/* Get/Set default System Mask  */ +#define PDC_PSW_MASK		0	/* Return mask                  */ +#define PDC_PSW_GET_DEFAULTS	1	/* Return defaults              */ +#define PDC_PSW_SET_DEFAULTS	2	/* Set default                  */ +#define PDC_PSW_ENDIAN_BIT	1	/* set for big endian           */ +#define PDC_PSW_WIDE_BIT	2	/* set for wide mode            */  + +#define PDC_SYSTEM_MAP	22		/* find system modules		*/ +#define PDC_FIND_MODULE 	0 +#define PDC_FIND_ADDRESS	1 +#define PDC_TRANSLATE_PATH	2 + +#define PDC_SOFT_POWER	23		/* soft power switch		*/ +#define PDC_SOFT_POWER_INFO	0	/* return info about the soft power switch */ +#define PDC_SOFT_POWER_ENABLE	1	/* enable/disable soft power switch */ + + +/* HVERSION dependent */ + +/* The PDC_MEM_MAP calls */ +#define PDC_MEM_MAP	128		/* on s700: return page info	*/ +#define PDC_MEM_MAP_HPA		0	/* returns hpa of a module	*/ + +#define PDC_EEPROM	129		/* EEPROM access		*/ +#define PDC_EEPROM_READ_WORD	0 +#define PDC_EEPROM_WRITE_WORD	1 +#define PDC_EEPROM_READ_BYTE	2 +#define PDC_EEPROM_WRITE_BYTE	3 +#define PDC_EEPROM_EEPROM_PASSWORD -1000 + +#define PDC_NVM		130		/* NVM (non-volatile memory) access */ +#define PDC_NVM_READ_WORD	0 +#define PDC_NVM_WRITE_WORD	1 +#define PDC_NVM_READ_BYTE	2 +#define PDC_NVM_WRITE_BYTE	3 + +#define PDC_SEED_ERROR	132		/* (sprockets)			*/ + +#define PDC_IO		135		/* log error info, reset IO system */ +#define PDC_IO_READ_AND_CLEAR_ERRORS	0 +#define PDC_IO_RESET			1 +#define PDC_IO_RESET_DEVICES		2 +/* sets bits 6&7 (little endian) of the HcControl Register */ +#define PDC_IO_USB_SUSPEND	0xC000000000000000 +#define PDC_IO_EEPROM_IO_ERR_TABLE_FULL	-5	/* return value */ +#define PDC_IO_NO_SUSPEND		-6	/* return value */ + +#define PDC_BROADCAST_RESET 136		/* reset all processors		*/ +#define PDC_DO_RESET		0	/* option: perform a broadcast reset */ +#define PDC_DO_FIRM_TEST_RESET	1	/* Do broadcast reset with bitmap */ +#define PDC_BR_RECONFIGURATION	2	/* reset w/reconfiguration	*/ +#define PDC_FIRM_TEST_MAGIC	0xab9ec36fUL    /* for this reboot only	*/ + +#define PDC_LAN_STATION_ID 138		/* Hversion dependent mechanism for */ +#define PDC_LAN_STATION_ID_READ	0	/* getting the lan station address  */ + +#define	PDC_LAN_STATION_ID_SIZE	6 + +#define PDC_CHECK_RANGES 139		/* (sprockets)			*/ + +#define PDC_NV_SECTIONS	141		/* (sprockets)			*/ + +#define PDC_PERFORMANCE	142		/* performance monitoring	*/ + +#define PDC_SYSTEM_INFO	143		/* system information		*/ +#define PDC_SYSINFO_RETURN_INFO_SIZE	0 +#define PDC_SYSINFO_RRETURN_SYS_INFO	1 +#define PDC_SYSINFO_RRETURN_ERRORS	2 +#define PDC_SYSINFO_RRETURN_WARNINGS	3 +#define PDC_SYSINFO_RETURN_REVISIONS	4 +#define PDC_SYSINFO_RRETURN_DIAGNOSE	5 +#define PDC_SYSINFO_RRETURN_HV_DIAGNOSE	1005 + +#define PDC_RDR		144		/* (sprockets)			*/ +#define PDC_RDR_READ_BUFFER	0 +#define PDC_RDR_READ_SINGLE	1 +#define PDC_RDR_WRITE_SINGLE	2 + +#define PDC_INTRIGUE	145 		/* (sprockets)			*/ +#define PDC_INTRIGUE_WRITE_BUFFER 	 0 +#define PDC_INTRIGUE_GET_SCRATCH_BUFSIZE 1 +#define PDC_INTRIGUE_START_CPU_COUNTERS	 2 +#define PDC_INTRIGUE_STOP_CPU_COUNTERS	 3 + +#define PDC_STI		146 		/* STI access			*/ +/* same as PDC_PCI_XXX values (see below) */ + +/* Legacy PDC definitions for same stuff */ +#define PDC_PCI_INDEX	147 +#define PDC_PCI_INTERFACE_INFO		0 +#define PDC_PCI_SLOT_INFO		1 +#define PDC_PCI_INFLIGHT_BYTES		2 +#define PDC_PCI_READ_CONFIG		3 +#define PDC_PCI_WRITE_CONFIG		4 +#define PDC_PCI_READ_PCI_IO		5 +#define PDC_PCI_WRITE_PCI_IO		6 +#define PDC_PCI_READ_CONFIG_DELAY	7 +#define PDC_PCI_UPDATE_CONFIG_DELAY	8 +#define PDC_PCI_PCI_PATH_TO_PCI_HPA	9 +#define PDC_PCI_PCI_HPA_TO_PCI_PATH	10 +#define PDC_PCI_PCI_PATH_TO_PCI_BUS	11 +#define PDC_PCI_PCI_RESERVED		12 +#define PDC_PCI_PCI_INT_ROUTE_SIZE	13 +#define PDC_PCI_GET_INT_TBL_SIZE	PDC_PCI_PCI_INT_ROUTE_SIZE +#define PDC_PCI_PCI_INT_ROUTE		14 +#define PDC_PCI_GET_INT_TBL		PDC_PCI_PCI_INT_ROUTE  +#define PDC_PCI_READ_MON_TYPE		15 +#define PDC_PCI_WRITE_MON_TYPE		16 + + +/* Get SCSI Interface Card info:  SDTR, SCSI ID, mode (SE vs LVD) */ +#define PDC_INITIATOR	163 +#define PDC_GET_INITIATOR	0 +#define PDC_SET_INITIATOR	1 +#define PDC_DELETE_INITIATOR	2 +#define PDC_RETURN_TABLE_SIZE	3 +#define PDC_RETURN_TABLE	4 + +#define PDC_LINK	165 		/* (sprockets)			*/ +#define PDC_LINK_PCI_ENTRY_POINTS	0  /* list (Arg1) = 0 */ +#define PDC_LINK_USB_ENTRY_POINTS	1  /* list (Arg1) = 1 */ + +/* cl_class + * page 3-33 of IO-Firmware ARS + * IODC ENTRY_INIT(Search first) RET[1] + */ +#define	CL_NULL		0	/* invalid */ +#define	CL_RANDOM	1	/* random access (as disk) */ +#define	CL_SEQU		2	/* sequential access (as tape) */ +#define	CL_DUPLEX	7	/* full-duplex point-to-point (RS-232, Net) */ +#define	CL_KEYBD	8	/* half-duplex console (HIL Keyboard) */ +#define	CL_DISPL	9	/* half-duplex console (display) */ +#define	CL_FC		10	/* FiberChannel access media */ + +/* IODC ENTRY_INIT() */ +#define ENTRY_INIT_SRCH_FRST	2 +#define ENTRY_INIT_SRCH_NEXT	3 +#define ENTRY_INIT_MOD_DEV	4 +#define ENTRY_INIT_DEV		5 +#define ENTRY_INIT_MOD		6 +#define ENTRY_INIT_MSG		9 + +/* IODC ENTRY_IO() */ +#define ENTRY_IO_BOOTIN		0 +#define ENTRY_IO_BOOTOUT	1 +#define ENTRY_IO_CIN		2 +#define ENTRY_IO_COUT		3 +#define ENTRY_IO_CLOSE		4 +#define ENTRY_IO_GETMSG		9 +#define ENTRY_IO_BBLOCK_IN	16 +#define ENTRY_IO_BBLOCK_OUT	17 + +/* IODC ENTRY_SPA() */ + +/* IODC ENTRY_CONFIG() */ + +/* IODC ENTRY_TEST() */ + +/* IODC ENTRY_TLB() */ + +/* constants for OS (NVM...) */ +#define OS_ID_NONE		0	/* Undefined OS ID	*/ +#define OS_ID_HPUX		1	/* HP-UX OS		*/ +#define OS_ID_MPEXL		2	/* MPE XL OS		*/ +#define OS_ID_OSF		3	/* OSF OS		*/ +#define OS_ID_HPRT		4	/* HP-RT OS		*/ +#define OS_ID_NOVEL		5	/* NOVELL OS		*/ +#define OS_ID_LINUX		6	/* Linux		*/ + + +/* constants for PDC_CHASSIS */ +#define OSTAT_OFF		0 +#define OSTAT_FLT		1  +#define OSTAT_TEST		2 +#define OSTAT_INIT		3 +#define OSTAT_SHUT		4 +#define OSTAT_WARN		5 +#define OSTAT_RUN		6 +#define OSTAT_ON		7 + +/* Page Zero constant offsets used by the HPMC handler */ +#define BOOT_CONSOLE_HPA_OFFSET  0x3c0 +#define BOOT_CONSOLE_SPA_OFFSET  0x3c4 +#define BOOT_CONSOLE_PATH_OFFSET 0x3a8 + +/* size of the pdc_result buffer for firmware.c */ +#define NUM_PDC_RESULT	32 + +#if !defined(__ASSEMBLY__) + +#include <linux/types.h> + + +/* flags of the device_path */ +#define	PF_AUTOBOOT	0x80 +#define	PF_AUTOSEARCH	0x40 +#define	PF_TIMER	0x0F + +struct device_path {		/* page 1-69 */ +	unsigned char flags;	/* flags see above! */ +	unsigned char bc[6];	/* bus converter routing info */ +	unsigned char mod; +	unsigned int  layers[6];/* device-specific layer-info */ +} __attribute__((aligned(8))) ; + +struct pz_device { +	struct	device_path dp;	/* see above */ +	/* struct	iomod *hpa; */ +	unsigned int hpa;	/* HPA base address */ +	/* char	*spa; */ +	unsigned int spa;	/* SPA base address */ +	/* int	(*iodc_io)(struct iomod*, ...); */ +	unsigned int iodc_io;	/* device entry point */ +	short	pad;		/* reserved */ +	unsigned short cl_class;/* see below */ +} __attribute__((aligned(8))) ; + +struct zeropage { +	/* [0x000] initialize vectors (VEC) */ +	unsigned int	vec_special;		/* must be zero */ +	/* int	(*vec_pow_fail)(void);*/ +	unsigned int	vec_pow_fail; /* power failure handler */ +	/* int	(*vec_toc)(void); */ +	unsigned int	vec_toc; +	unsigned int	vec_toclen; +	/* int	(*vec_rendz)(void); */ +	unsigned int vec_rendz; +	int	vec_pow_fail_flen; +	int	vec_pad[10];		 +	 +	/* [0x040] reserved processor dependent */ +	int	pad0[112]; + +	/* [0x200] reserved */ +	int	pad1[84]; + +	/* [0x350] memory configuration (MC) */ +	int	memc_cont;		/* contiguous mem size (bytes) */ +	int	memc_phsize;		/* physical memory size */ +	int	memc_adsize;		/* additional mem size, bytes of SPA space used by PDC */ +	unsigned int mem_pdc_hi;	/* used for 64-bit */ + +	/* [0x360] various parameters for the boot-CPU */ +	/* unsigned int *mem_booterr[8]; */ +	unsigned int mem_booterr[8];	/* ptr to boot errors */ +	unsigned int mem_free;		/* first location, where OS can be loaded */ +	/* struct iomod *mem_hpa; */ +	unsigned int mem_hpa;		/* HPA of the boot-CPU */ +	/* int (*mem_pdc)(int, ...); */ +	unsigned int mem_pdc;		/* PDC entry point */ +	unsigned int mem_10msec;	/* number of clock ticks in 10msec */ + +	/* [0x390] initial memory module (IMM) */ +	/* struct iomod *imm_hpa; */ +	unsigned int imm_hpa;		/* HPA of the IMM */ +	int	imm_soft_boot;		/* 0 = was hard boot, 1 = was soft boot */ +	unsigned int	imm_spa_size;		/* SPA size of the IMM in bytes */ +	unsigned int	imm_max_mem;		/* bytes of mem in IMM */ + +	/* [0x3A0] boot console, display device and keyboard */ +	struct pz_device mem_cons;	/* description of console device */ +	struct pz_device mem_boot;	/* description of boot device */ +	struct pz_device mem_kbd;	/* description of keyboard device */ + +	/* [0x430] reserved */ +	int	pad430[116]; + +	/* [0x600] processor dependent */ +	__u32	pad600[1]; +	__u32	proc_sti;		/* pointer to STI ROM */ +	__u32	pad608[126]; +}; + +#endif /* !defined(__ASSEMBLY__) */ + +#endif /* _UAPI_PARISC_PDC_H */ diff --git a/arch/parisc/include/uapi/asm/posix_types.h b/arch/parisc/include/uapi/asm/posix_types.h new file mode 100644 index 00000000000..b9344256f76 --- /dev/null +++ b/arch/parisc/include/uapi/asm/posix_types.h @@ -0,0 +1,24 @@ +#ifndef __ARCH_PARISC_POSIX_TYPES_H +#define __ARCH_PARISC_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_mode_t; +#define __kernel_mode_t __kernel_mode_t + +typedef unsigned short		__kernel_ipc_pid_t; +#define __kernel_ipc_pid_t __kernel_ipc_pid_t + +typedef int			__kernel_suseconds_t; +#define __kernel_suseconds_t __kernel_suseconds_t + +typedef long long		__kernel_off64_t; +typedef unsigned long long	__kernel_ino64_t; + +#include <asm-generic/posix_types.h> + +#endif diff --git a/arch/parisc/include/uapi/asm/ptrace.h b/arch/parisc/include/uapi/asm/ptrace.h new file mode 100644 index 00000000000..c4fa6c8b9ad --- /dev/null +++ b/arch/parisc/include/uapi/asm/ptrace.h @@ -0,0 +1,47 @@ +/* written by Philipp Rumpf, Copyright (C) 1999 SuSE GmbH Nuernberg +** Copyright (C) 2000 Grant Grundler, Hewlett-Packard +*/ +#ifndef _UAPI_PARISC_PTRACE_H +#define _UAPI_PARISC_PTRACE_H + + +#include <linux/types.h> + +/* This struct defines the way the registers are stored on the  + * stack during a system call. + * + * N.B. gdb/strace care about the size and offsets within this + * structure. If you change things, you may break object compatibility + * for those applications. + */ + +struct pt_regs { +	unsigned long gr[32];	/* PSW is in gr[0] */ +	__u64 fr[32]; +	unsigned long sr[ 8]; +	unsigned long iasq[2]; +	unsigned long iaoq[2]; +	unsigned long cr27; +	unsigned long pad0;     /* available for other uses */ +	unsigned long orig_r28; +	unsigned long ksp; +	unsigned long kpc; +	unsigned long sar;	/* CR11 */ +	unsigned long iir;	/* CR19 */ +	unsigned long isr;	/* CR20 */ +	unsigned long ior;	/* CR21 */ +	unsigned long ipsw;	/* CR22 */ +}; + +/* + * The numbers chosen here are somewhat arbitrary but absolutely MUST + * not overlap with any of the number assigned in <linux/ptrace.h>. + * + * These ones are taken from IA-64 on the assumption that theirs are + * the most correct (and we also want to support PTRACE_SINGLEBLOCK + * since we have taken branch traps too) + */ +#define PTRACE_SINGLEBLOCK	12	/* resume execution until next branch */ + + +#endif /* _UAPI_PARISC_PTRACE_H */ diff --git a/arch/parisc/include/uapi/asm/sembuf.h b/arch/parisc/include/uapi/asm/sembuf.h new file mode 100644 index 00000000000..1e59ffd3bd1 --- /dev/null +++ b/arch/parisc/include/uapi/asm/sembuf.h @@ -0,0 +1,29 @@ +#ifndef _PARISC_SEMBUF_H +#define _PARISC_SEMBUF_H + +/*  + * The semid64_ds structure for parisc 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 + */ + +struct semid64_ds { +	struct ipc64_perm sem_perm;		/* permissions .. see ipc.h */ +#ifndef CONFIG_64BIT +	unsigned int	__pad1; +#endif +	__kernel_time_t	sem_otime;		/* last semop time */ +#ifndef CONFIG_64BIT +	unsigned int	__pad2; +#endif +	__kernel_time_t	sem_ctime;		/* last change time */ +	unsigned int	sem_nsems;		/* no. of semaphores in array */ +	unsigned int	__unused1; +	unsigned int	__unused2; +}; + +#endif /* _PARISC_SEMBUF_H */ diff --git a/arch/parisc/include/uapi/asm/setup.h b/arch/parisc/include/uapi/asm/setup.h new file mode 100644 index 00000000000..7da2e5b8747 --- /dev/null +++ b/arch/parisc/include/uapi/asm/setup.h @@ -0,0 +1,6 @@ +#ifndef _PARISC_SETUP_H +#define _PARISC_SETUP_H + +#define COMMAND_LINE_SIZE	1024 + +#endif /* _PARISC_SETUP_H */ diff --git a/arch/parisc/include/uapi/asm/shmbuf.h b/arch/parisc/include/uapi/asm/shmbuf.h new file mode 100644 index 00000000000..0a3eada1863 --- /dev/null +++ b/arch/parisc/include/uapi/asm/shmbuf.h @@ -0,0 +1,58 @@ +#ifndef _PARISC_SHMBUF_H +#define _PARISC_SHMBUF_H + +/*  + * The shmid64_ds structure for parisc 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 + */ + +struct shmid64_ds { +	struct ipc64_perm	shm_perm;	/* operation perms */ +#ifndef CONFIG_64BIT +	unsigned int		__pad1; +#endif +	__kernel_time_t		shm_atime;	/* last attach time */ +#ifndef CONFIG_64BIT +	unsigned int		__pad2; +#endif +	__kernel_time_t		shm_dtime;	/* last detach time */ +#ifndef CONFIG_64BIT +	unsigned int		__pad3; +#endif +	__kernel_time_t		shm_ctime;	/* last change time */ +#ifndef CONFIG_64BIT +	unsigned int		__pad4; +#endif +	size_t			shm_segsz;	/* size of segment (bytes) */ +	__kernel_pid_t		shm_cpid;	/* pid of creator */ +	__kernel_pid_t		shm_lpid;	/* pid of last operator */ +	unsigned int		shm_nattch;	/* no. of current attaches */ +	unsigned int		__unused1; +	unsigned int		__unused2; +}; + +#ifdef CONFIG_64BIT +/* The 'unsigned int' (formerly 'unsigned long') data types below will + * ensure that a 32-bit app calling shmctl(*,IPC_INFO,*) will work on + * a wide kernel, but if some of these values are meant to contain pointers + * they may need to be 'long long' instead. -PB XXX FIXME + */ +#endif +struct shminfo64 { +	unsigned int	shmmax; +	unsigned int	shmmin; +	unsigned int	shmmni; +	unsigned int	shmseg; +	unsigned int	shmall; +	unsigned int	__unused1; +	unsigned int	__unused2; +	unsigned int	__unused3; +	unsigned int	__unused4; +}; + +#endif /* _PARISC_SHMBUF_H */ diff --git a/arch/parisc/include/uapi/asm/sigcontext.h b/arch/parisc/include/uapi/asm/sigcontext.h new file mode 100644 index 00000000000..27ef31bb3b6 --- /dev/null +++ b/arch/parisc/include/uapi/asm/sigcontext.h @@ -0,0 +1,20 @@ +#ifndef _ASMPARISC_SIGCONTEXT_H +#define _ASMPARISC_SIGCONTEXT_H + +#define PARISC_SC_FLAG_ONSTACK 1<<0 +#define PARISC_SC_FLAG_IN_SYSCALL 1<<1 + +/* We will add more stuff here as it becomes necessary, until we know +   it works. */ +struct sigcontext { +	unsigned long sc_flags; + +	unsigned long sc_gr[32]; /* PSW in sc_gr[0] */ +	unsigned long long sc_fr[32]; /* FIXME, do we need other state info? */ +	unsigned long sc_iasq[2]; +	unsigned long sc_iaoq[2]; +	unsigned long sc_sar; /* cr11 */ +}; + + +#endif diff --git a/arch/parisc/include/uapi/asm/siginfo.h b/arch/parisc/include/uapi/asm/siginfo.h new file mode 100644 index 00000000000..d7034728f37 --- /dev/null +++ b/arch/parisc/include/uapi/asm/siginfo.h @@ -0,0 +1,9 @@ +#ifndef _PARISC_SIGINFO_H +#define _PARISC_SIGINFO_H + +#include <asm-generic/siginfo.h> + +#undef NSIGTRAP +#define NSIGTRAP	4 + +#endif diff --git a/arch/parisc/include/uapi/asm/signal.h b/arch/parisc/include/uapi/asm/signal.h new file mode 100644 index 00000000000..f5645d6a89f --- /dev/null +++ b/arch/parisc/include/uapi/asm/signal.h @@ -0,0 +1,110 @@ +#ifndef _UAPI_ASM_PARISC_SIGNAL_H +#define _UAPI_ASM_PARISC_SIGNAL_H + +#define SIGHUP		 1 +#define SIGINT		 2 +#define SIGQUIT		 3 +#define SIGILL		 4 +#define SIGTRAP		 5 +#define SIGABRT		 6 +#define SIGIOT		 6 +#define SIGEMT		 7 +#define SIGFPE		 8 +#define SIGKILL		 9 +#define SIGBUS		10 +#define SIGSEGV		11 +#define SIGSYS		12 /* Linux doesn't use this */ +#define SIGPIPE		13 +#define SIGALRM		14 +#define SIGTERM		15 +#define SIGUSR1		16 +#define SIGUSR2		17 +#define SIGCHLD		18 +#define SIGPWR		19 +#define SIGVTALRM	20 +#define SIGPROF		21 +#define SIGIO		22 +#define SIGPOLL		SIGIO +#define SIGWINCH	23 +#define SIGSTOP		24 +#define SIGTSTP		25 +#define SIGCONT		26 +#define SIGTTIN		27 +#define SIGTTOU		28 +#define SIGURG		29 +#define SIGLOST		30 /* Linux doesn't use this either */ +#define	SIGUNUSED	31 +#define SIGRESERVE	SIGUNUSED + +#define SIGXCPU		33 +#define SIGXFSZ		34 +#define SIGSTKFLT	36 + +/* These should not be considered constants from userland.  */ +#define SIGRTMIN	37 +#define SIGRTMAX	_NSIG /* it's 44 under HP/UX */ + +/* + * 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_ONSTACK	0x00000001 +#define SA_RESETHAND	0x00000004 +#define SA_NOCLDSTOP	0x00000008 +#define SA_SIGINFO	0x00000010 +#define SA_NODEFER	0x00000020 +#define SA_RESTART	0x00000040 +#define SA_NOCLDWAIT	0x00000080 +#define _SA_SIGGFAULT	0x00000100 /* HPUX */ + +#define SA_NOMASK	SA_NODEFER +#define SA_ONESHOT	SA_RESETHAND + +#define MINSIGSTKSZ	2048 +#define SIGSTKSZ	8192 + + +#define SIG_BLOCK          0	/* for blocking signals */ +#define SIG_UNBLOCK        1	/* for unblocking signals */ +#define SIG_SETMASK        2	/* for setting the signal mask */ + +#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 __ASSEMBLY__ + +#  include <linux/types.h> + +/* Avoid too many header ordering problems.  */ +struct siginfo; + +/* Type of a signal handler.  */ +#ifdef CONFIG_64BIT +/* function pointers on 64-bit parisc are pointers to little structs and the + * compiler doesn't support code which changes or tests the address of + * the function in the little struct.  This is really ugly -PB + */ +typedef char __user *__sighandler_t; +#else +typedef void __signalfn_t(int); +typedef __signalfn_t __user *__sighandler_t; +#endif + +typedef struct sigaltstack { +	void __user *ss_sp; +	int ss_flags; +	size_t ss_size; +} stack_t; + +#endif /* !__ASSEMBLY */ +#endif /* _UAPI_ASM_PARISC_SIGNAL_H */ diff --git a/arch/parisc/include/uapi/asm/socket.h b/arch/parisc/include/uapi/asm/socket.h new file mode 100644 index 00000000000..fe35ceacf0e --- /dev/null +++ b/arch/parisc/include/uapi/asm/socket.h @@ -0,0 +1,82 @@ +#ifndef _UAPI_ASM_SOCKET_H +#define _UAPI_ASM_SOCKET_H + +#include <asm/sockios.h> + +/* For setsockopt(2) */ +#define SOL_SOCKET	0xffff + +#define SO_DEBUG	0x0001 +#define SO_REUSEADDR	0x0004 +#define SO_KEEPALIVE	0x0008 +#define SO_DONTROUTE	0x0010 +#define SO_BROADCAST	0x0020 +#define SO_LINGER	0x0080 +#define SO_OOBINLINE	0x0100 +#define SO_REUSEPORT	0x0200 +#define SO_SNDBUF	0x1001 +#define SO_RCVBUF	0x1002 +#define SO_SNDBUFFORCE	0x100a +#define SO_RCVBUFFORCE	0x100b +#define SO_SNDLOWAT	0x1003 +#define SO_RCVLOWAT	0x1004 +#define SO_SNDTIMEO	0x1005 +#define SO_RCVTIMEO	0x1006 +#define SO_ERROR	0x1007 +#define SO_TYPE		0x1008 +#define SO_PROTOCOL	0x1028 +#define SO_DOMAIN	0x1029 +#define SO_PEERNAME	0x2000 + +#define SO_NO_CHECK	0x400b +#define SO_PRIORITY	0x400c +#define SO_BSDCOMPAT	0x400e +#define SO_PASSCRED	0x4010 +#define SO_PEERCRED	0x4011 +#define SO_TIMESTAMP	0x4012 +#define SCM_TIMESTAMP	SO_TIMESTAMP +#define SO_TIMESTAMPNS	0x4013 +#define SCM_TIMESTAMPNS	SO_TIMESTAMPNS + +/* Security levels - as per NRL IPv6 - don't actually do anything */ +#define SO_SECURITY_AUTHENTICATION		0x4016 +#define SO_SECURITY_ENCRYPTION_TRANSPORT	0x4017 +#define SO_SECURITY_ENCRYPTION_NETWORK		0x4018 + +#define SO_BINDTODEVICE	0x4019 + +/* Socket filtering */ +#define SO_ATTACH_FILTER        0x401a +#define SO_DETACH_FILTER        0x401b +#define SO_GET_FILTER		SO_ATTACH_FILTER + +#define SO_ACCEPTCONN		0x401c + +#define SO_PEERSEC		0x401d +#define SO_PASSSEC		0x401e + +#define SO_MARK			0x401f + +#define SO_TIMESTAMPING		0x4020 +#define SCM_TIMESTAMPING	SO_TIMESTAMPING + +#define SO_RXQ_OVFL             0x4021 + +#define SO_WIFI_STATUS		0x4022 +#define SCM_WIFI_STATUS		SO_WIFI_STATUS +#define SO_PEEK_OFF		0x4023 + +/* Instruct lower device to use last 4-bytes of skb data as FCS */ +#define SO_NOFCS		0x4024 + +#define SO_LOCK_FILTER		0x4025 + +#define SO_SELECT_ERR_QUEUE	0x4026 + +#define SO_BUSY_POLL		0x4027 + +#define SO_MAX_PACING_RATE	0x4028 + +#define SO_BPF_EXTENSIONS	0x4029 + +#endif /* _UAPI_ASM_SOCKET_H */ diff --git a/arch/parisc/include/uapi/asm/sockios.h b/arch/parisc/include/uapi/asm/sockios.h new file mode 100644 index 00000000000..dabfbc7483f --- /dev/null +++ b/arch/parisc/include/uapi/asm/sockios.h @@ -0,0 +1,13 @@ +#ifndef __ARCH_PARISC_SOCKIOS__ +#define __ARCH_PARISC_SOCKIOS__ + +/* Socket-level I/O control calls. */ +#define FIOSETOWN 	0x8901 +#define SIOCSPGRP	0x8902 +#define FIOGETOWN	0x8903 +#define SIOCGPGRP	0x8904 +#define SIOCATMARK	0x8905 +#define SIOCGSTAMP	0x8906		/* Get stamp (timeval) */ +#define SIOCGSTAMPNS	0x8907		/* Get stamp (timespec) */ + +#endif diff --git a/arch/parisc/include/uapi/asm/stat.h b/arch/parisc/include/uapi/asm/stat.h new file mode 100644 index 00000000000..b606b366d0a --- /dev/null +++ b/arch/parisc/include/uapi/asm/stat.h @@ -0,0 +1,98 @@ +#ifndef _PARISC_STAT_H +#define _PARISC_STAT_H + +#include <linux/types.h> + +struct stat { +	unsigned int	st_dev;		/* dev_t is 32 bits on parisc */ +	unsigned int	st_ino;		/* 32 bits */ +	unsigned short	st_mode;	/* 16 bits */ +	unsigned short	st_nlink;	/* 16 bits */ +	unsigned short	st_reserved1;	/* old st_uid */ +	unsigned short	st_reserved2;	/* old st_gid */ +	unsigned int	st_rdev; +	signed int	st_size; +	signed int	st_atime; +	unsigned int	st_atime_nsec; +	signed int	st_mtime; +	unsigned int	st_mtime_nsec; +	signed int	st_ctime; +	unsigned int	st_ctime_nsec; +	int		st_blksize; +	int		st_blocks; +	unsigned int	__unused1;	/* ACL stuff */ +	unsigned int	__unused2;	/* network */ +	unsigned int	__unused3;	/* network */ +	unsigned int	__unused4;	/* cnodes */ +	unsigned short	__unused5;	/* netsite */ +	short		st_fstype; +	unsigned int	st_realdev; +	unsigned short	st_basemode; +	unsigned short	st_spareshort; +	unsigned int	st_uid; +	unsigned int	st_gid; +	unsigned int	st_spare4[3]; +}; + +#define STAT_HAVE_NSEC + +struct hpux_stat64 { +	unsigned int	st_dev;		/* dev_t is 32 bits on parisc */ +	unsigned int	st_ino;         /* 32 bits */ +	unsigned short	st_mode;	/* 16 bits */ +	unsigned short	st_nlink;	/* 16 bits */ +	unsigned short	st_reserved1;	/* old st_uid */ +	unsigned short	st_reserved2;	/* old st_gid */ +	unsigned int	st_rdev; +	signed long long st_size; +	signed int	st_atime; +	unsigned int	st_spare1; +	signed int	st_mtime; +	unsigned int	st_spare2; +	signed int	st_ctime; +	unsigned int	st_spare3; +	int		st_blksize; +	unsigned long long st_blocks; +	unsigned int	__unused1;	/* ACL stuff */ +	unsigned int	__unused2;	/* network */ +	unsigned int	__unused3;      /* network */ +	unsigned int	__unused4;	/* cnodes */ +	unsigned short	__unused5;	/* netsite */ +	short		st_fstype; +	unsigned int	st_realdev; +	unsigned short	st_basemode; +	unsigned short	st_spareshort; +	unsigned int	st_uid; +	unsigned int	st_gid; +	unsigned int	st_spare4[3]; +}; + +/* This is the struct that 32-bit userspace applications are expecting. + * How 64-bit apps are going to be compiled, I have no idea.  But at least + * this way, we don't have a wrapper in the kernel. + */ +struct stat64 { +	unsigned long long	st_dev; +	unsigned int		__pad1; + +	unsigned int		__st_ino;	/* Not actually filled in */ +	unsigned int		st_mode; +	unsigned int		st_nlink; +	unsigned int		st_uid; +	unsigned int		st_gid; +	unsigned long long	st_rdev; +	unsigned int		__pad2; +	signed long long	st_size; +	signed int		st_blksize; + +	signed long long	st_blocks; +	signed int		st_atime; +	unsigned int		st_atime_nsec; +	signed int		st_mtime; +	unsigned int		st_mtime_nsec; +	signed int		st_ctime; +	unsigned int		st_ctime_nsec; +	unsigned long long	st_ino; +}; + +#endif diff --git a/arch/parisc/include/uapi/asm/statfs.h b/arch/parisc/include/uapi/asm/statfs.h new file mode 100644 index 00000000000..324bea905dc --- /dev/null +++ b/arch/parisc/include/uapi/asm/statfs.h @@ -0,0 +1,7 @@ +#ifndef _PARISC_STATFS_H +#define _PARISC_STATFS_H + +#define __statfs_word long +#include <asm-generic/statfs.h> + +#endif diff --git a/arch/parisc/include/uapi/asm/swab.h b/arch/parisc/include/uapi/asm/swab.h new file mode 100644 index 00000000000..e78403b129e --- /dev/null +++ b/arch/parisc/include/uapi/asm/swab.h @@ -0,0 +1,66 @@ +#ifndef _PARISC_SWAB_H +#define _PARISC_SWAB_H + +#include <linux/types.h> +#include <linux/compiler.h> + +#define __SWAB_64_THRU_32__ + +static inline __attribute_const__ __u16 __arch_swab16(__u16 x) +{ +	__asm__("dep %0, 15, 8, %0\n\t"		/* deposit 00ab -> 0bab */ +		"shd %%r0, %0, 8, %0"		/* shift 000000ab -> 00ba */ +		: "=r" (x) +		: "0" (x)); +	return x; +} +#define __arch_swab16 __arch_swab16 + +static inline __attribute_const__ __u32 __arch_swab24(__u32 x) +{ +	__asm__("shd %0, %0, 8, %0\n\t"		/* shift xabcxabc -> cxab */ +		"dep %0, 15, 8, %0\n\t"		/* deposit cxab -> cbab */ +		"shd %%r0, %0, 8, %0"		/* shift 0000cbab -> 0cba */ +		: "=r" (x) +		: "0" (x)); +	return x; +} + +static inline __attribute_const__ __u32 __arch_swab32(__u32 x) +{ +	unsigned int temp; +	__asm__("shd %0, %0, 16, %1\n\t"	/* shift abcdabcd -> cdab */ +		"dep %1, 15, 8, %1\n\t"		/* deposit cdab -> cbab */ +		"shd %0, %1, 8, %0"		/* shift abcdcbab -> dcba */ +		: "=r" (x), "=&r" (temp) +		: "0" (x)); +	return x; +} +#define __arch_swab32 __arch_swab32 + +#if BITS_PER_LONG > 32 +/* +** From "PA-RISC 2.0 Architecture", HP Professional Books. +** See Appendix I page 8 , "Endian Byte Swapping". +** +** Pretty cool algorithm: (* == zero'd bits) +**      PERMH   01234567 -> 67452301 into %0 +**      HSHL    67452301 -> 7*5*3*1* into %1 +**      HSHR    67452301 -> *6*4*2*0 into %0 +**      OR      %0 | %1  -> 76543210 into %0 (all done!) +*/ +static inline __attribute_const__ __u64 __arch_swab64(__u64 x) +{ +	__u64 temp; +	__asm__("permh,3210 %0, %0\n\t" +		"hshl %0, 8, %1\n\t" +		"hshr,u %0, 8, %0\n\t" +		"or %1, %0, %0" +		: "=r" (x), "=&r" (temp) +		: "0" (x)); +	return x; +} +#define __arch_swab64 __arch_swab64 +#endif /* BITS_PER_LONG > 32 */ + +#endif /* _PARISC_SWAB_H */ diff --git a/arch/parisc/include/uapi/asm/termbits.h b/arch/parisc/include/uapi/asm/termbits.h new file mode 100644 index 00000000000..d1ab92177a5 --- /dev/null +++ b/arch/parisc/include/uapi/asm/termbits.h @@ -0,0 +1,201 @@ +#ifndef __ARCH_PARISC_TERMBITS_H__ +#define __ARCH_PARISC_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	0040000 +#define IUTF8	0100000 + +/* 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 diff --git a/arch/parisc/include/uapi/asm/termios.h b/arch/parisc/include/uapi/asm/termios.h new file mode 100644 index 00000000000..f3377395070 --- /dev/null +++ b/arch/parisc/include/uapi/asm/termios.h @@ -0,0 +1,43 @@ +#ifndef _UAPI_PARISC_TERMIOS_H +#define _UAPI_PARISC_TERMIOS_H + +#include <asm/termbits.h> +#include <asm/ioctls.h> + +struct winsize { +	unsigned short ws_row; +	unsigned short ws_col; +	unsigned short ws_xpixel; +	unsigned short ws_ypixel; +}; + +#define NCC 8 +struct termio { +	unsigned short c_iflag;		/* input mode flags */ +	unsigned short c_oflag;		/* output mode flags */ +	unsigned short c_cflag;		/* control mode flags */ +	unsigned short c_lflag;		/* local mode flags */ +	unsigned char c_line;		/* line discipline */ +	unsigned char c_cc[NCC];	/* control characters */ +}; + +/* modem lines */ +#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 TIOCM_OUT1	0x2000 +#define TIOCM_OUT2	0x4000 +#define TIOCM_LOOP	0x8000 + +/* ioctl (fd, TIOCSERGETLSR, &result) where result may be as below */ + + +#endif /* _UAPI_PARISC_TERMIOS_H */ diff --git a/arch/parisc/include/uapi/asm/types.h b/arch/parisc/include/uapi/asm/types.h new file mode 100644 index 00000000000..8866f9bbdea --- /dev/null +++ b/arch/parisc/include/uapi/asm/types.h @@ -0,0 +1,6 @@ +#ifndef _PARISC_TYPES_H +#define _PARISC_TYPES_H + +#include <asm-generic/int-ll64.h> + +#endif diff --git a/arch/parisc/include/uapi/asm/unistd.h b/arch/parisc/include/uapi/asm/unistd.h new file mode 100644 index 00000000000..47e0e21d227 --- /dev/null +++ b/arch/parisc/include/uapi/asm/unistd.h @@ -0,0 +1,844 @@ +#ifndef _UAPI_ASM_PARISC_UNISTD_H_ +#define _UAPI_ASM_PARISC_UNISTD_H_ + +/* + * This file contains the system call numbers. + */ + +/* + *   HP-UX system calls get their native numbers for binary compatibility. + */ + +#define __NR_HPUX_exit                    1 +#define __NR_HPUX_fork                    2 +#define __NR_HPUX_read                    3 +#define __NR_HPUX_write                   4 +#define __NR_HPUX_open                    5 +#define __NR_HPUX_close                   6 +#define __NR_HPUX_wait                    7 +#define __NR_HPUX_creat                   8 +#define __NR_HPUX_link                    9 +#define __NR_HPUX_unlink                 10 +#define __NR_HPUX_execv                  11 +#define __NR_HPUX_chdir                  12 +#define __NR_HPUX_time                   13 +#define __NR_HPUX_mknod                  14 +#define __NR_HPUX_chmod                  15 +#define __NR_HPUX_chown                  16 +#define __NR_HPUX_break                  17 +#define __NR_HPUX_lchmod                 18 +#define __NR_HPUX_lseek                  19 +#define __NR_HPUX_getpid                 20 +#define __NR_HPUX_mount                  21 +#define __NR_HPUX_umount                 22 +#define __NR_HPUX_setuid                 23 +#define __NR_HPUX_getuid                 24 +#define __NR_HPUX_stime                  25 +#define __NR_HPUX_ptrace                 26 +#define __NR_HPUX_alarm                  27 +#define __NR_HPUX_oldfstat               28 +#define __NR_HPUX_pause                  29 +#define __NR_HPUX_utime                  30 +#define __NR_HPUX_stty                   31 +#define __NR_HPUX_gtty                   32 +#define __NR_HPUX_access                 33 +#define __NR_HPUX_nice                   34 +#define __NR_HPUX_ftime                  35 +#define __NR_HPUX_sync                   36 +#define __NR_HPUX_kill                   37 +#define __NR_HPUX_stat                   38 +#define __NR_HPUX_setpgrp3               39 +#define __NR_HPUX_lstat                  40 +#define __NR_HPUX_dup                    41 +#define __NR_HPUX_pipe                   42 +#define __NR_HPUX_times                  43 +#define __NR_HPUX_profil                 44 +#define __NR_HPUX_ki_call                45 +#define __NR_HPUX_setgid                 46 +#define __NR_HPUX_getgid                 47 +#define __NR_HPUX_sigsys                 48 +#define __NR_HPUX_reserved1              49 +#define __NR_HPUX_reserved2              50 +#define __NR_HPUX_acct                   51 +#define __NR_HPUX_set_userthreadid       52 +#define __NR_HPUX_oldlock                53 +#define __NR_HPUX_ioctl                  54 +#define __NR_HPUX_reboot                 55 +#define __NR_HPUX_symlink                56 +#define __NR_HPUX_utssys                 57 +#define __NR_HPUX_readlink               58 +#define __NR_HPUX_execve                 59 +#define __NR_HPUX_umask                  60 +#define __NR_HPUX_chroot                 61 +#define __NR_HPUX_fcntl                  62 +#define __NR_HPUX_ulimit                 63 +#define __NR_HPUX_getpagesize            64 +#define __NR_HPUX_mremap                 65 +#define __NR_HPUX_vfork                  66 +#define __NR_HPUX_vread                  67 +#define __NR_HPUX_vwrite                 68 +#define __NR_HPUX_sbrk                   69 +#define __NR_HPUX_sstk                   70 +#define __NR_HPUX_mmap                   71 +#define __NR_HPUX_vadvise                72 +#define __NR_HPUX_munmap                 73 +#define __NR_HPUX_mprotect               74 +#define __NR_HPUX_madvise                75 +#define __NR_HPUX_vhangup                76 +#define __NR_HPUX_swapoff                77 +#define __NR_HPUX_mincore                78 +#define __NR_HPUX_getgroups              79 +#define __NR_HPUX_setgroups              80 +#define __NR_HPUX_getpgrp2               81 +#define __NR_HPUX_setpgrp2               82 +#define __NR_HPUX_setitimer              83 +#define __NR_HPUX_wait3                  84 +#define __NR_HPUX_swapon                 85 +#define __NR_HPUX_getitimer              86 +#define __NR_HPUX_gethostname42          87 +#define __NR_HPUX_sethostname42          88 +#define __NR_HPUX_getdtablesize          89 +#define __NR_HPUX_dup2                   90 +#define __NR_HPUX_getdopt                91 +#define __NR_HPUX_fstat                  92 +#define __NR_HPUX_select                 93 +#define __NR_HPUX_setdopt                94 +#define __NR_HPUX_fsync                  95 +#define __NR_HPUX_setpriority            96 +#define __NR_HPUX_socket_old             97 +#define __NR_HPUX_connect_old            98 +#define __NR_HPUX_accept_old             99 +#define __NR_HPUX_getpriority           100 +#define __NR_HPUX_send_old              101 +#define __NR_HPUX_recv_old              102 +#define __NR_HPUX_socketaddr_old        103 +#define __NR_HPUX_bind_old              104 +#define __NR_HPUX_setsockopt_old        105 +#define __NR_HPUX_listen_old            106 +#define __NR_HPUX_vtimes_old            107 +#define __NR_HPUX_sigvector             108 +#define __NR_HPUX_sigblock              109 +#define __NR_HPUX_siggetmask            110 +#define __NR_HPUX_sigpause              111 +#define __NR_HPUX_sigstack              112 +#define __NR_HPUX_recvmsg_old           113 +#define __NR_HPUX_sendmsg_old           114 +#define __NR_HPUX_vtrace_old            115 +#define __NR_HPUX_gettimeofday          116 +#define __NR_HPUX_getrusage             117 +#define __NR_HPUX_getsockopt_old        118 +#define __NR_HPUX_resuba_old            119 +#define __NR_HPUX_readv                 120 +#define __NR_HPUX_writev                121 +#define __NR_HPUX_settimeofday          122 +#define __NR_HPUX_fchown                123 +#define __NR_HPUX_fchmod                124 +#define __NR_HPUX_recvfrom_old          125 +#define __NR_HPUX_setresuid             126 +#define __NR_HPUX_setresgid             127 +#define __NR_HPUX_rename                128 +#define __NR_HPUX_truncate              129 +#define __NR_HPUX_ftruncate             130 +#define __NR_HPUX_flock_old             131 +#define __NR_HPUX_sysconf               132 +#define __NR_HPUX_sendto_old            133 +#define __NR_HPUX_shutdown_old          134 +#define __NR_HPUX_socketpair_old        135 +#define __NR_HPUX_mkdir                 136 +#define __NR_HPUX_rmdir                 137 +#define __NR_HPUX_utimes_old            138 +#define __NR_HPUX_sigcleanup_old        139 +#define __NR_HPUX_setcore               140 +#define __NR_HPUX_getpeername_old       141 +#define __NR_HPUX_gethostid             142 +#define __NR_HPUX_sethostid             143 +#define __NR_HPUX_getrlimit             144 +#define __NR_HPUX_setrlimit             145 +#define __NR_HPUX_killpg_old            146 +#define __NR_HPUX_cachectl              147 +#define __NR_HPUX_quotactl              148 +#define __NR_HPUX_get_sysinfo           149 +#define __NR_HPUX_getsockname_old       150 +#define __NR_HPUX_privgrp               151 +#define __NR_HPUX_rtprio                152 +#define __NR_HPUX_plock                 153 +#define __NR_HPUX_reserved3             154 +#define __NR_HPUX_lockf                 155 +#define __NR_HPUX_semget                156 +#define __NR_HPUX_osemctl               157 +#define __NR_HPUX_semop                 158 +#define __NR_HPUX_msgget                159 +#define __NR_HPUX_omsgctl               160 +#define __NR_HPUX_msgsnd                161 +#define __NR_HPUX_msgrecv               162 +#define __NR_HPUX_shmget                163 +#define __NR_HPUX_oshmctl               164 +#define __NR_HPUX_shmat                 165 +#define __NR_HPUX_shmdt                 166 +#define __NR_HPUX_m68020_advise         167 +/* [168,189] are for Discless/DUX */ +#define __NR_HPUX_csp                   168 +#define __NR_HPUX_cluster               169 +#define __NR_HPUX_mkrnod                170 +#define __NR_HPUX_test                  171 +#define __NR_HPUX_unsp_open             172 +#define __NR_HPUX_reserved4             173 +#define __NR_HPUX_getcontext_old        174 +#define __NR_HPUX_osetcontext           175 +#define __NR_HPUX_bigio                 176 +#define __NR_HPUX_pipenode              177 +#define __NR_HPUX_lsync                 178 +#define __NR_HPUX_getmachineid          179 +#define __NR_HPUX_cnodeid               180 +#define __NR_HPUX_cnodes                181 +#define __NR_HPUX_swapclients           182 +#define __NR_HPUX_rmt_process           183 +#define __NR_HPUX_dskless_stats         184 +#define __NR_HPUX_sigprocmask           185 +#define __NR_HPUX_sigpending            186 +#define __NR_HPUX_sigsuspend            187 +#define __NR_HPUX_sigaction             188 +#define __NR_HPUX_reserved5             189 +#define __NR_HPUX_nfssvc                190 +#define __NR_HPUX_getfh                 191 +#define __NR_HPUX_getdomainname         192 +#define __NR_HPUX_setdomainname         193 +#define __NR_HPUX_async_daemon          194 +#define __NR_HPUX_getdirentries         195 +#define __NR_HPUX_statfs                196 +#define __NR_HPUX_fstatfs               197 +#define __NR_HPUX_vfsmount              198 +#define __NR_HPUX_reserved6             199 +#define __NR_HPUX_waitpid               200 +/* 201 - 223 missing */ +#define __NR_HPUX_sigsetreturn          224 +#define __NR_HPUX_sigsetstatemask       225 +/* 226 missing */ +#define __NR_HPUX_cs                    227 +#define __NR_HPUX_cds                   228 +#define __NR_HPUX_set_no_trunc          229 +#define __NR_HPUX_pathconf              230 +#define __NR_HPUX_fpathconf             231 +/* 232, 233 missing */ +#define __NR_HPUX_nfs_fcntl             234 +#define __NR_HPUX_ogetacl               235 +#define __NR_HPUX_ofgetacl              236 +#define __NR_HPUX_osetacl               237 +#define __NR_HPUX_ofsetacl              238 +#define __NR_HPUX_pstat                 239 +#define __NR_HPUX_getaudid              240 +#define __NR_HPUX_setaudid              241 +#define __NR_HPUX_getaudproc            242 +#define __NR_HPUX_setaudproc            243 +#define __NR_HPUX_getevent              244 +#define __NR_HPUX_setevent              245 +#define __NR_HPUX_audwrite              246 +#define __NR_HPUX_audswitch             247 +#define __NR_HPUX_audctl                248 +#define __NR_HPUX_ogetaccess            249 +#define __NR_HPUX_fsctl                 250 +/* 251 - 258 missing */ +#define __NR_HPUX_swapfs                259 +#define __NR_HPUX_fss                   260 +/* 261 - 266 missing */ +#define __NR_HPUX_tsync                 267 +#define __NR_HPUX_getnumfds             268 +#define __NR_HPUX_poll                  269 +#define __NR_HPUX_getmsg                270 +#define __NR_HPUX_putmsg                271 +#define __NR_HPUX_fchdir                272 +#define __NR_HPUX_getmount_cnt          273 +#define __NR_HPUX_getmount_entry        274 +#define __NR_HPUX_accept                275 +#define __NR_HPUX_bind                  276 +#define __NR_HPUX_connect               277 +#define __NR_HPUX_getpeername           278 +#define __NR_HPUX_getsockname           279 +#define __NR_HPUX_getsockopt            280 +#define __NR_HPUX_listen                281 +#define __NR_HPUX_recv                  282 +#define __NR_HPUX_recvfrom              283 +#define __NR_HPUX_recvmsg               284 +#define __NR_HPUX_send                  285 +#define __NR_HPUX_sendmsg               286 +#define __NR_HPUX_sendto                287 +#define __NR_HPUX_setsockopt            288 +#define __NR_HPUX_shutdown              289 +#define __NR_HPUX_socket                290 +#define __NR_HPUX_socketpair            291 +#define __NR_HPUX_proc_open             292 +#define __NR_HPUX_proc_close            293 +#define __NR_HPUX_proc_send             294 +#define __NR_HPUX_proc_recv             295 +#define __NR_HPUX_proc_sendrecv         296 +#define __NR_HPUX_proc_syscall          297 +/* 298 - 311 missing */ +#define __NR_HPUX_semctl                312 +#define __NR_HPUX_msgctl                313 +#define __NR_HPUX_shmctl                314 +#define __NR_HPUX_mpctl                 315 +#define __NR_HPUX_exportfs              316 +#define __NR_HPUX_getpmsg               317 +#define __NR_HPUX_putpmsg               318 +/* 319 missing */ +#define __NR_HPUX_msync                 320 +#define __NR_HPUX_msleep                321 +#define __NR_HPUX_mwakeup               322 +#define __NR_HPUX_msem_init             323 +#define __NR_HPUX_msem_remove           324 +#define __NR_HPUX_adjtime               325 +#define __NR_HPUX_kload                 326 +#define __NR_HPUX_fattach               327 +#define __NR_HPUX_fdetach               328 +#define __NR_HPUX_serialize             329 +#define __NR_HPUX_statvfs               330 +#define __NR_HPUX_fstatvfs              331 +#define __NR_HPUX_lchown                332 +#define __NR_HPUX_getsid                333 +#define __NR_HPUX_sysfs                 334 +/* 335, 336 missing */ +#define __NR_HPUX_sched_setparam        337 +#define __NR_HPUX_sched_getparam        338 +#define __NR_HPUX_sched_setscheduler    339 +#define __NR_HPUX_sched_getscheduler    340 +#define __NR_HPUX_sched_yield           341 +#define __NR_HPUX_sched_get_priority_max 342 +#define __NR_HPUX_sched_get_priority_min 343 +#define __NR_HPUX_sched_rr_get_interval 344 +#define __NR_HPUX_clock_settime         345 +#define __NR_HPUX_clock_gettime         346 +#define __NR_HPUX_clock_getres          347 +#define __NR_HPUX_timer_create          348 +#define __NR_HPUX_timer_delete          349 +#define __NR_HPUX_timer_settime         350 +#define __NR_HPUX_timer_gettime         351 +#define __NR_HPUX_timer_getoverrun      352 +#define __NR_HPUX_nanosleep             353 +#define __NR_HPUX_toolbox               354 +/* 355 missing */ +#define __NR_HPUX_getdents              356 +#define __NR_HPUX_getcontext            357 +#define __NR_HPUX_sysinfo               358 +#define __NR_HPUX_fcntl64               359 +#define __NR_HPUX_ftruncate64           360 +#define __NR_HPUX_fstat64               361 +#define __NR_HPUX_getdirentries64       362 +#define __NR_HPUX_getrlimit64           363 +#define __NR_HPUX_lockf64               364 +#define __NR_HPUX_lseek64               365 +#define __NR_HPUX_lstat64               366 +#define __NR_HPUX_mmap64                367 +#define __NR_HPUX_setrlimit64           368 +#define __NR_HPUX_stat64                369 +#define __NR_HPUX_truncate64            370 +#define __NR_HPUX_ulimit64              371 +#define __NR_HPUX_pread                 372 +#define __NR_HPUX_preadv                373 +#define __NR_HPUX_pwrite                374 +#define __NR_HPUX_pwritev               375 +#define __NR_HPUX_pread64               376 +#define __NR_HPUX_preadv64              377 +#define __NR_HPUX_pwrite64              378 +#define __NR_HPUX_pwritev64             379 +#define __NR_HPUX_setcontext            380 +#define __NR_HPUX_sigaltstack           381 +#define __NR_HPUX_waitid                382 +#define __NR_HPUX_setpgrp               383 +#define __NR_HPUX_recvmsg2              384 +#define __NR_HPUX_sendmsg2              385 +#define __NR_HPUX_socket2               386 +#define __NR_HPUX_socketpair2           387 +#define __NR_HPUX_setregid              388 +#define __NR_HPUX_lwp_create            389 +#define __NR_HPUX_lwp_terminate         390 +#define __NR_HPUX_lwp_wait              391 +#define __NR_HPUX_lwp_suspend           392 +#define __NR_HPUX_lwp_resume            393 +/* 394 missing */ +#define __NR_HPUX_lwp_abort_syscall     395 +#define __NR_HPUX_lwp_info              396 +#define __NR_HPUX_lwp_kill              397 +#define __NR_HPUX_ksleep                398 +#define __NR_HPUX_kwakeup               399 +/* 400 missing */ +#define __NR_HPUX_pstat_getlwp          401 +#define __NR_HPUX_lwp_exit              402 +#define __NR_HPUX_lwp_continue          403 +#define __NR_HPUX_getacl                404 +#define __NR_HPUX_fgetacl               405 +#define __NR_HPUX_setacl                406 +#define __NR_HPUX_fsetacl               407 +#define __NR_HPUX_getaccess             408 +#define __NR_HPUX_lwp_mutex_init        409 +#define __NR_HPUX_lwp_mutex_lock_sys    410 +#define __NR_HPUX_lwp_mutex_unlock      411 +#define __NR_HPUX_lwp_cond_init         412 +#define __NR_HPUX_lwp_cond_signal       413 +#define __NR_HPUX_lwp_cond_broadcast    414 +#define __NR_HPUX_lwp_cond_wait_sys     415 +#define __NR_HPUX_lwp_getscheduler      416 +#define __NR_HPUX_lwp_setscheduler      417 +#define __NR_HPUX_lwp_getstate          418 +#define __NR_HPUX_lwp_setstate          419 +#define __NR_HPUX_lwp_detach            420 +#define __NR_HPUX_mlock                 421 +#define __NR_HPUX_munlock               422 +#define __NR_HPUX_mlockall              423 +#define __NR_HPUX_munlockall            424 +#define __NR_HPUX_shm_open              425 +#define __NR_HPUX_shm_unlink            426 +#define __NR_HPUX_sigqueue              427 +#define __NR_HPUX_sigwaitinfo           428 +#define __NR_HPUX_sigtimedwait          429 +#define __NR_HPUX_sigwait               430 +#define __NR_HPUX_aio_read              431 +#define __NR_HPUX_aio_write             432 +#define __NR_HPUX_lio_listio            433 +#define __NR_HPUX_aio_error             434 +#define __NR_HPUX_aio_return            435 +#define __NR_HPUX_aio_cancel            436 +#define __NR_HPUX_aio_suspend           437 +#define __NR_HPUX_aio_fsync             438 +#define __NR_HPUX_mq_open               439 +#define __NR_HPUX_mq_close              440 +#define __NR_HPUX_mq_unlink             441 +#define __NR_HPUX_mq_send               442 +#define __NR_HPUX_mq_receive            443 +#define __NR_HPUX_mq_notify             444 +#define __NR_HPUX_mq_setattr            445 +#define __NR_HPUX_mq_getattr            446 +#define __NR_HPUX_ksem_open             447 +#define __NR_HPUX_ksem_unlink           448 +#define __NR_HPUX_ksem_close            449 +#define __NR_HPUX_ksem_post             450 +#define __NR_HPUX_ksem_wait             451 +#define __NR_HPUX_ksem_read             452 +#define __NR_HPUX_ksem_trywait          453 +#define __NR_HPUX_lwp_rwlock_init       454 +#define __NR_HPUX_lwp_rwlock_destroy    455 +#define __NR_HPUX_lwp_rwlock_rdlock_sys 456 +#define __NR_HPUX_lwp_rwlock_wrlock_sys 457 +#define __NR_HPUX_lwp_rwlock_tryrdlock  458 +#define __NR_HPUX_lwp_rwlock_trywrlock  459 +#define __NR_HPUX_lwp_rwlock_unlock     460 +#define __NR_HPUX_ttrace                461 +#define __NR_HPUX_ttrace_wait           462 +#define __NR_HPUX_lf_wire_mem           463 +#define __NR_HPUX_lf_unwire_mem         464 +#define __NR_HPUX_lf_send_pin_map       465 +#define __NR_HPUX_lf_free_buf           466 +#define __NR_HPUX_lf_wait_nq            467 +#define __NR_HPUX_lf_wakeup_conn_q      468 +#define __NR_HPUX_lf_unused             469 +#define __NR_HPUX_lwp_sema_init         470 +#define __NR_HPUX_lwp_sema_post         471 +#define __NR_HPUX_lwp_sema_wait         472 +#define __NR_HPUX_lwp_sema_trywait      473 +#define __NR_HPUX_lwp_sema_destroy      474 +#define __NR_HPUX_statvfs64             475 +#define __NR_HPUX_fstatvfs64            476 +#define __NR_HPUX_msh_register          477 +#define __NR_HPUX_ptrace64              478 +#define __NR_HPUX_sendfile              479 +#define __NR_HPUX_sendpath              480 +#define __NR_HPUX_sendfile64            481 +#define __NR_HPUX_sendpath64            482 +#define __NR_HPUX_modload               483 +#define __NR_HPUX_moduload              484 +#define __NR_HPUX_modpath               485 +#define __NR_HPUX_getksym               486 +#define __NR_HPUX_modadm                487 +#define __NR_HPUX_modstat               488 +#define __NR_HPUX_lwp_detached_exit     489 +#define __NR_HPUX_crashconf             490 +#define __NR_HPUX_siginhibit            491 +#define __NR_HPUX_sigenable             492 +#define __NR_HPUX_spuctl                493 +#define __NR_HPUX_zerokernelsum         494 +#define __NR_HPUX_nfs_kstat             495 +#define __NR_HPUX_aio_read64            496 +#define __NR_HPUX_aio_write64           497 +#define __NR_HPUX_aio_error64           498 +#define __NR_HPUX_aio_return64          499 +#define __NR_HPUX_aio_cancel64          500 +#define __NR_HPUX_aio_suspend64         501 +#define __NR_HPUX_aio_fsync64           502 +#define __NR_HPUX_lio_listio64          503 +#define __NR_HPUX_recv2                 504 +#define __NR_HPUX_recvfrom2             505 +#define __NR_HPUX_send2                 506 +#define __NR_HPUX_sendto2               507 +#define __NR_HPUX_acl                   508 +#define __NR_HPUX___cnx_p2p_ctl         509 +#define __NR_HPUX___cnx_gsched_ctl      510 +#define __NR_HPUX___cnx_pmon_ctl        511 + +#define __NR_HPUX_syscalls		512 + +/* + * Linux system call numbers. + * + * Cary Coutant says that we should just use another syscall gateway + * page to avoid clashing with the HPUX space, and I think he's right: + * it will would keep a branch out of our syscall entry path, at the + * very least.  If we decide to change it later, we can ``just'' tweak + * the LINUX_GATEWAY_ADDR define at the bottom and make __NR_Linux be + * 1024 or something.  Oh, and recompile libc. =) + * + * 64-bit HPUX binaries get the syscall gateway address passed in a register + * from the kernel at startup, which seems a sane strategy. + */ + +#define __NR_Linux                0 +#define __NR_restart_syscall      (__NR_Linux + 0) +#define __NR_exit                 (__NR_Linux + 1) +#define __NR_fork                 (__NR_Linux + 2) +#define __NR_read                 (__NR_Linux + 3) +#define __NR_write                (__NR_Linux + 4) +#define __NR_open                 (__NR_Linux + 5) +#define __NR_close                (__NR_Linux + 6) +#define __NR_waitpid              (__NR_Linux + 7) +#define __NR_creat                (__NR_Linux + 8) +#define __NR_link                 (__NR_Linux + 9) +#define __NR_unlink              (__NR_Linux + 10) +#define __NR_execve              (__NR_Linux + 11) +#define __NR_chdir               (__NR_Linux + 12) +#define __NR_time                (__NR_Linux + 13) +#define __NR_mknod               (__NR_Linux + 14) +#define __NR_chmod               (__NR_Linux + 15) +#define __NR_lchown              (__NR_Linux + 16) +#define __NR_socket              (__NR_Linux + 17) +#define __NR_stat                (__NR_Linux + 18) +#define __NR_lseek               (__NR_Linux + 19) +#define __NR_getpid              (__NR_Linux + 20) +#define __NR_mount               (__NR_Linux + 21) +#define __NR_bind                (__NR_Linux + 22) +#define __NR_setuid              (__NR_Linux + 23) +#define __NR_getuid              (__NR_Linux + 24) +#define __NR_stime               (__NR_Linux + 25) +#define __NR_ptrace              (__NR_Linux + 26) +#define __NR_alarm               (__NR_Linux + 27) +#define __NR_fstat               (__NR_Linux + 28) +#define __NR_pause               (__NR_Linux + 29) +#define __NR_utime               (__NR_Linux + 30) +#define __NR_connect             (__NR_Linux + 31) +#define __NR_listen              (__NR_Linux + 32) +#define __NR_access              (__NR_Linux + 33) +#define __NR_nice                (__NR_Linux + 34) +#define __NR_accept              (__NR_Linux + 35) +#define __NR_sync                (__NR_Linux + 36) +#define __NR_kill                (__NR_Linux + 37) +#define __NR_rename              (__NR_Linux + 38) +#define __NR_mkdir               (__NR_Linux + 39) +#define __NR_rmdir               (__NR_Linux + 40) +#define __NR_dup                 (__NR_Linux + 41) +#define __NR_pipe                (__NR_Linux + 42) +#define __NR_times               (__NR_Linux + 43) +#define __NR_getsockname         (__NR_Linux + 44) +#define __NR_brk                 (__NR_Linux + 45) +#define __NR_setgid              (__NR_Linux + 46) +#define __NR_getgid              (__NR_Linux + 47) +#define __NR_signal              (__NR_Linux + 48) +#define __NR_geteuid             (__NR_Linux + 49) +#define __NR_getegid             (__NR_Linux + 50) +#define __NR_acct                (__NR_Linux + 51) +#define __NR_umount2             (__NR_Linux + 52) +#define __NR_getpeername         (__NR_Linux + 53) +#define __NR_ioctl               (__NR_Linux + 54) +#define __NR_fcntl               (__NR_Linux + 55) +#define __NR_socketpair          (__NR_Linux + 56) +#define __NR_setpgid             (__NR_Linux + 57) +#define __NR_send                (__NR_Linux + 58) +#define __NR_uname               (__NR_Linux + 59) +#define __NR_umask               (__NR_Linux + 60) +#define __NR_chroot              (__NR_Linux + 61) +#define __NR_ustat               (__NR_Linux + 62) +#define __NR_dup2                (__NR_Linux + 63) +#define __NR_getppid             (__NR_Linux + 64) +#define __NR_getpgrp             (__NR_Linux + 65) +#define __NR_setsid              (__NR_Linux + 66) +#define __NR_pivot_root          (__NR_Linux + 67) +#define __NR_sgetmask            (__NR_Linux + 68) +#define __NR_ssetmask            (__NR_Linux + 69) +#define __NR_setreuid            (__NR_Linux + 70) +#define __NR_setregid            (__NR_Linux + 71) +#define __NR_mincore             (__NR_Linux + 72) +#define __NR_sigpending          (__NR_Linux + 73) +#define __NR_sethostname         (__NR_Linux + 74) +#define __NR_setrlimit           (__NR_Linux + 75) +#define __NR_getrlimit           (__NR_Linux + 76) +#define __NR_getrusage           (__NR_Linux + 77) +#define __NR_gettimeofday        (__NR_Linux + 78) +#define __NR_settimeofday        (__NR_Linux + 79) +#define __NR_getgroups           (__NR_Linux + 80) +#define __NR_setgroups           (__NR_Linux + 81) +#define __NR_sendto              (__NR_Linux + 82) +#define __NR_symlink             (__NR_Linux + 83) +#define __NR_lstat               (__NR_Linux + 84) +#define __NR_readlink            (__NR_Linux + 85) +#define __NR_uselib              (__NR_Linux + 86) +#define __NR_swapon              (__NR_Linux + 87) +#define __NR_reboot              (__NR_Linux + 88) +#define __NR_mmap2             (__NR_Linux + 89) +#define __NR_mmap                (__NR_Linux + 90) +#define __NR_munmap              (__NR_Linux + 91) +#define __NR_truncate            (__NR_Linux + 92) +#define __NR_ftruncate           (__NR_Linux + 93) +#define __NR_fchmod              (__NR_Linux + 94) +#define __NR_fchown              (__NR_Linux + 95) +#define __NR_getpriority         (__NR_Linux + 96) +#define __NR_setpriority         (__NR_Linux + 97) +#define __NR_recv                (__NR_Linux + 98) +#define __NR_statfs              (__NR_Linux + 99) +#define __NR_fstatfs            (__NR_Linux + 100) +#define __NR_stat64           (__NR_Linux + 101) +/* #define __NR_socketcall         (__NR_Linux + 102) */ +#define __NR_syslog             (__NR_Linux + 103) +#define __NR_setitimer          (__NR_Linux + 104) +#define __NR_getitimer          (__NR_Linux + 105) +#define __NR_capget             (__NR_Linux + 106) +#define __NR_capset             (__NR_Linux + 107) +#define __NR_pread64            (__NR_Linux + 108) +#define __NR_pwrite64           (__NR_Linux + 109) +#define __NR_getcwd             (__NR_Linux + 110) +#define __NR_vhangup            (__NR_Linux + 111) +#define __NR_fstat64            (__NR_Linux + 112) +#define __NR_vfork              (__NR_Linux + 113) +#define __NR_wait4              (__NR_Linux + 114) +#define __NR_swapoff            (__NR_Linux + 115) +#define __NR_sysinfo            (__NR_Linux + 116) +#define __NR_shutdown           (__NR_Linux + 117) +#define __NR_fsync              (__NR_Linux + 118) +#define __NR_madvise            (__NR_Linux + 119) +#define __NR_clone              (__NR_Linux + 120) +#define __NR_setdomainname      (__NR_Linux + 121) +#define __NR_sendfile           (__NR_Linux + 122) +#define __NR_recvfrom           (__NR_Linux + 123) +#define __NR_adjtimex           (__NR_Linux + 124) +#define __NR_mprotect           (__NR_Linux + 125) +#define __NR_sigprocmask        (__NR_Linux + 126) +#define __NR_create_module      (__NR_Linux + 127) +#define __NR_init_module        (__NR_Linux + 128) +#define __NR_delete_module      (__NR_Linux + 129) +#define __NR_get_kernel_syms    (__NR_Linux + 130) +#define __NR_quotactl           (__NR_Linux + 131) +#define __NR_getpgid            (__NR_Linux + 132) +#define __NR_fchdir             (__NR_Linux + 133) +#define __NR_bdflush            (__NR_Linux + 134) +#define __NR_sysfs              (__NR_Linux + 135) +#define __NR_personality        (__NR_Linux + 136) +#define __NR_afs_syscall        (__NR_Linux + 137) /* Syscall for Andrew File System */ +#define __NR_setfsuid           (__NR_Linux + 138) +#define __NR_setfsgid           (__NR_Linux + 139) +#define __NR__llseek            (__NR_Linux + 140) +#define __NR_getdents           (__NR_Linux + 141) +#define __NR__newselect         (__NR_Linux + 142) +#define __NR_flock              (__NR_Linux + 143) +#define __NR_msync              (__NR_Linux + 144) +#define __NR_readv              (__NR_Linux + 145) +#define __NR_writev             (__NR_Linux + 146) +#define __NR_getsid             (__NR_Linux + 147) +#define __NR_fdatasync          (__NR_Linux + 148) +#define __NR__sysctl            (__NR_Linux + 149) +#define __NR_mlock              (__NR_Linux + 150) +#define __NR_munlock            (__NR_Linux + 151) +#define __NR_mlockall           (__NR_Linux + 152) +#define __NR_munlockall         (__NR_Linux + 153) +#define __NR_sched_setparam             (__NR_Linux + 154) +#define __NR_sched_getparam             (__NR_Linux + 155) +#define __NR_sched_setscheduler         (__NR_Linux + 156) +#define __NR_sched_getscheduler         (__NR_Linux + 157) +#define __NR_sched_yield                (__NR_Linux + 158) +#define __NR_sched_get_priority_max     (__NR_Linux + 159) +#define __NR_sched_get_priority_min     (__NR_Linux + 160) +#define __NR_sched_rr_get_interval      (__NR_Linux + 161) +#define __NR_nanosleep          (__NR_Linux + 162) +#define __NR_mremap             (__NR_Linux + 163) +#define __NR_setresuid          (__NR_Linux + 164) +#define __NR_getresuid          (__NR_Linux + 165) +#define __NR_sigaltstack        (__NR_Linux + 166) +#define __NR_query_module       (__NR_Linux + 167) +#define __NR_poll               (__NR_Linux + 168) +#define __NR_nfsservctl         (__NR_Linux + 169) +#define __NR_setresgid          (__NR_Linux + 170) +#define __NR_getresgid          (__NR_Linux + 171) +#define __NR_prctl              (__NR_Linux + 172) +#define __NR_rt_sigreturn       (__NR_Linux + 173) +#define __NR_rt_sigaction       (__NR_Linux + 174) +#define __NR_rt_sigprocmask     (__NR_Linux + 175) +#define __NR_rt_sigpending      (__NR_Linux + 176) +#define __NR_rt_sigtimedwait    (__NR_Linux + 177) +#define __NR_rt_sigqueueinfo    (__NR_Linux + 178) +#define __NR_rt_sigsuspend      (__NR_Linux + 179) +#define __NR_chown              (__NR_Linux + 180) +#define __NR_setsockopt         (__NR_Linux + 181) +#define __NR_getsockopt         (__NR_Linux + 182) +#define __NR_sendmsg            (__NR_Linux + 183) +#define __NR_recvmsg            (__NR_Linux + 184) +#define __NR_semop              (__NR_Linux + 185) +#define __NR_semget             (__NR_Linux + 186) +#define __NR_semctl             (__NR_Linux + 187) +#define __NR_msgsnd             (__NR_Linux + 188) +#define __NR_msgrcv             (__NR_Linux + 189) +#define __NR_msgget             (__NR_Linux + 190) +#define __NR_msgctl             (__NR_Linux + 191) +#define __NR_shmat              (__NR_Linux + 192) +#define __NR_shmdt              (__NR_Linux + 193) +#define __NR_shmget             (__NR_Linux + 194) +#define __NR_shmctl             (__NR_Linux + 195) + +#define __NR_getpmsg		(__NR_Linux + 196) /* Somebody *wants* streams? */ +#define __NR_putpmsg		(__NR_Linux + 197) + +#define __NR_lstat64            (__NR_Linux + 198) +#define __NR_truncate64         (__NR_Linux + 199) +#define __NR_ftruncate64        (__NR_Linux + 200) +#define __NR_getdents64         (__NR_Linux + 201) +#define __NR_fcntl64            (__NR_Linux + 202) +#define __NR_attrctl            (__NR_Linux + 203) +#define __NR_acl_get            (__NR_Linux + 204) +#define __NR_acl_set            (__NR_Linux + 205) +#define __NR_gettid             (__NR_Linux + 206) +#define __NR_readahead          (__NR_Linux + 207) +#define __NR_tkill              (__NR_Linux + 208) +#define __NR_sendfile64         (__NR_Linux + 209) +#define __NR_futex              (__NR_Linux + 210) +#define __NR_sched_setaffinity  (__NR_Linux + 211) +#define __NR_sched_getaffinity  (__NR_Linux + 212) +#define __NR_set_thread_area    (__NR_Linux + 213) +#define __NR_get_thread_area    (__NR_Linux + 214) +#define __NR_io_setup           (__NR_Linux + 215) +#define __NR_io_destroy         (__NR_Linux + 216) +#define __NR_io_getevents       (__NR_Linux + 217) +#define __NR_io_submit          (__NR_Linux + 218) +#define __NR_io_cancel          (__NR_Linux + 219) +#define __NR_alloc_hugepages    (__NR_Linux + 220) +#define __NR_free_hugepages     (__NR_Linux + 221) +#define __NR_exit_group         (__NR_Linux + 222) +#define __NR_lookup_dcookie     (__NR_Linux + 223) +#define __NR_epoll_create       (__NR_Linux + 224) +#define __NR_epoll_ctl          (__NR_Linux + 225) +#define __NR_epoll_wait         (__NR_Linux + 226) +#define __NR_remap_file_pages   (__NR_Linux + 227) +#define __NR_semtimedop         (__NR_Linux + 228) +#define __NR_mq_open            (__NR_Linux + 229) +#define __NR_mq_unlink          (__NR_Linux + 230) +#define __NR_mq_timedsend       (__NR_Linux + 231) +#define __NR_mq_timedreceive    (__NR_Linux + 232) +#define __NR_mq_notify          (__NR_Linux + 233) +#define __NR_mq_getsetattr      (__NR_Linux + 234) +#define __NR_waitid		(__NR_Linux + 235) +#define __NR_fadvise64_64	(__NR_Linux + 236) +#define __NR_set_tid_address	(__NR_Linux + 237) +#define __NR_setxattr		(__NR_Linux + 238) +#define __NR_lsetxattr		(__NR_Linux + 239) +#define __NR_fsetxattr		(__NR_Linux + 240) +#define __NR_getxattr		(__NR_Linux + 241) +#define __NR_lgetxattr		(__NR_Linux + 242) +#define __NR_fgetxattr		(__NR_Linux + 243) +#define __NR_listxattr		(__NR_Linux + 244) +#define __NR_llistxattr		(__NR_Linux + 245) +#define __NR_flistxattr		(__NR_Linux + 246) +#define __NR_removexattr	(__NR_Linux + 247) +#define __NR_lremovexattr	(__NR_Linux + 248) +#define __NR_fremovexattr	(__NR_Linux + 249) +#define __NR_timer_create	(__NR_Linux + 250) +#define __NR_timer_settime	(__NR_Linux + 251) +#define __NR_timer_gettime	(__NR_Linux + 252) +#define __NR_timer_getoverrun	(__NR_Linux + 253) +#define __NR_timer_delete	(__NR_Linux + 254) +#define __NR_clock_settime	(__NR_Linux + 255) +#define __NR_clock_gettime	(__NR_Linux + 256) +#define __NR_clock_getres	(__NR_Linux + 257) +#define __NR_clock_nanosleep	(__NR_Linux + 258) +#define __NR_tgkill		(__NR_Linux + 259) +#define __NR_mbind		(__NR_Linux + 260) +#define __NR_get_mempolicy	(__NR_Linux + 261) +#define __NR_set_mempolicy	(__NR_Linux + 262) +#define __NR_vserver		(__NR_Linux + 263) +#define __NR_add_key		(__NR_Linux + 264) +#define __NR_request_key	(__NR_Linux + 265) +#define __NR_keyctl		(__NR_Linux + 266) +#define __NR_ioprio_set		(__NR_Linux + 267) +#define __NR_ioprio_get		(__NR_Linux + 268) +#define __NR_inotify_init	(__NR_Linux + 269) +#define __NR_inotify_add_watch	(__NR_Linux + 270) +#define __NR_inotify_rm_watch	(__NR_Linux + 271) +#define __NR_migrate_pages	(__NR_Linux + 272) +#define __NR_pselect6		(__NR_Linux + 273) +#define __NR_ppoll		(__NR_Linux + 274) +#define __NR_openat		(__NR_Linux + 275) +#define __NR_mkdirat		(__NR_Linux + 276) +#define __NR_mknodat		(__NR_Linux + 277) +#define __NR_fchownat		(__NR_Linux + 278) +#define __NR_futimesat		(__NR_Linux + 279) +#define __NR_fstatat64		(__NR_Linux + 280) +#define __NR_unlinkat		(__NR_Linux + 281) +#define __NR_renameat		(__NR_Linux + 282) +#define __NR_linkat		(__NR_Linux + 283) +#define __NR_symlinkat		(__NR_Linux + 284) +#define __NR_readlinkat		(__NR_Linux + 285) +#define __NR_fchmodat		(__NR_Linux + 286) +#define __NR_faccessat		(__NR_Linux + 287) +#define __NR_unshare		(__NR_Linux + 288) +#define __NR_set_robust_list	(__NR_Linux + 289) +#define __NR_get_robust_list	(__NR_Linux + 290) +#define __NR_splice		(__NR_Linux + 291) +#define __NR_sync_file_range	(__NR_Linux + 292) +#define __NR_tee		(__NR_Linux + 293) +#define __NR_vmsplice		(__NR_Linux + 294) +#define __NR_move_pages		(__NR_Linux + 295) +#define __NR_getcpu		(__NR_Linux + 296) +#define __NR_epoll_pwait	(__NR_Linux + 297) +#define __NR_statfs64		(__NR_Linux + 298) +#define __NR_fstatfs64		(__NR_Linux + 299) +#define __NR_kexec_load		(__NR_Linux + 300) +#define __NR_utimensat		(__NR_Linux + 301) +#define __NR_signalfd		(__NR_Linux + 302) +#define __NR_timerfd		(__NR_Linux + 303) +#define __NR_eventfd		(__NR_Linux + 304) +#define __NR_fallocate		(__NR_Linux + 305) +#define __NR_timerfd_create	(__NR_Linux + 306) +#define __NR_timerfd_settime	(__NR_Linux + 307) +#define __NR_timerfd_gettime	(__NR_Linux + 308) +#define __NR_signalfd4		(__NR_Linux + 309) +#define __NR_eventfd2		(__NR_Linux + 310) +#define __NR_epoll_create1	(__NR_Linux + 311) +#define __NR_dup3		(__NR_Linux + 312) +#define __NR_pipe2		(__NR_Linux + 313) +#define __NR_inotify_init1	(__NR_Linux + 314) +#define __NR_preadv		(__NR_Linux + 315) +#define __NR_pwritev		(__NR_Linux + 316) +#define __NR_rt_tgsigqueueinfo	(__NR_Linux + 317) +#define __NR_perf_event_open	(__NR_Linux + 318) +#define __NR_recvmmsg		(__NR_Linux + 319) +#define __NR_accept4		(__NR_Linux + 320) +#define __NR_prlimit64		(__NR_Linux + 321) +#define __NR_fanotify_init	(__NR_Linux + 322) +#define __NR_fanotify_mark	(__NR_Linux + 323) +#define __NR_clock_adjtime	(__NR_Linux + 324) +#define __NR_name_to_handle_at	(__NR_Linux + 325) +#define __NR_open_by_handle_at	(__NR_Linux + 326) +#define __NR_syncfs		(__NR_Linux + 327) +#define __NR_setns		(__NR_Linux + 328) +#define __NR_sendmmsg		(__NR_Linux + 329) +#define __NR_process_vm_readv	(__NR_Linux + 330) +#define __NR_process_vm_writev	(__NR_Linux + 331) +#define __NR_kcmp		(__NR_Linux + 332) +#define __NR_finit_module	(__NR_Linux + 333) +#define __NR_sched_setattr	(__NR_Linux + 334) +#define __NR_sched_getattr	(__NR_Linux + 335) +#define __NR_utimes		(__NR_Linux + 336) +#define __NR_renameat2		(__NR_Linux + 337) + +#define __NR_Linux_syscalls	(__NR_renameat2 + 1) + + +#define __IGNORE_select		/* newselect */ +#define __IGNORE_fadvise64	/* fadvise64_64 */ + + +#define HPUX_GATEWAY_ADDR       0xC0000004 +#define LINUX_GATEWAY_ADDR      0x100 + +#endif /* _UAPI_ASM_PARISC_UNISTD_H_ */  | 
