aboutsummaryrefslogtreecommitdiffstats
path: root/include/asm-xtensa
diff options
context:
space:
mode:
Diffstat (limited to 'include/asm-xtensa')
-rw-r--r--include/asm-xtensa/delay.h2
-rw-r--r--include/asm-xtensa/errno.h128
-rw-r--r--include/asm-xtensa/ipc.h34
-rw-r--r--include/asm-xtensa/unistd.h98
4 files changed, 2 insertions, 260 deletions
diff --git a/include/asm-xtensa/delay.h b/include/asm-xtensa/delay.h
index 6359c55e77a8..0a123d53a636 100644
--- a/include/asm-xtensa/delay.h
+++ b/include/asm-xtensa/delay.h
@@ -21,7 +21,7 @@ extern unsigned long loops_per_jiffy;
21extern __inline__ void __delay(unsigned long loops) 21extern __inline__ void __delay(unsigned long loops)
22{ 22{
23 /* 2 cycles per loop. */ 23 /* 2 cycles per loop. */
24 __asm__ __volatile__ ("1: addi %0, %0, -2; bgeui %0, 1, 1b" 24 __asm__ __volatile__ ("1: addi %0, %0, -2; bgeui %0, 2, 1b"
25 : "=r" (loops) : "0" (loops)); 25 : "=r" (loops) : "0" (loops));
26} 26}
27 27
diff --git a/include/asm-xtensa/errno.h b/include/asm-xtensa/errno.h
index ced5194d2750..a0f3b96b79b4 100644
--- a/include/asm-xtensa/errno.h
+++ b/include/asm-xtensa/errno.h
@@ -11,132 +11,6 @@
11#ifndef _XTENSA_ERRNO_H 11#ifndef _XTENSA_ERRNO_H
12#define _XTENSA_ERRNO_H 12#define _XTENSA_ERRNO_H
13 13
14#define EPERM 1 /* Operation not permitted */ 14#include <asm-generic/errno.h>
15#define ENOENT 2 /* No such file or directory */
16#define ESRCH 3 /* No such process */
17#define EINTR 4 /* Interrupted system call */
18#define EIO 5 /* I/O error */
19#define ENXIO 6 /* No such device or address */
20#define E2BIG 7 /* Arg list too long */
21#define ENOEXEC 8 /* Exec format error */
22#define EBADF 9 /* Bad file number */
23#define ECHILD 10 /* No child processes */
24#define EAGAIN 11 /* Try again */
25#define ENOMEM 12 /* Out of memory */
26#define EACCES 13 /* Permission denied */
27#define EFAULT 14 /* Bad address */
28#define ENOTBLK 15 /* Block device required */
29#define EBUSY 16 /* Device or resource busy */
30#define EEXIST 17 /* File exists */
31#define EXDEV 18 /* Cross-device link */
32#define ENODEV 19 /* No such device */
33#define ENOTDIR 20 /* Not a directory */
34#define EISDIR 21 /* Is a directory */
35#define EINVAL 22 /* Invalid argument */
36#define ENFILE 23 /* File table overflow */
37#define EMFILE 24 /* Too many open files */
38#define ENOTTY 25 /* Not a typewriter */
39#define ETXTBSY 26 /* Text file busy */
40#define EFBIG 27 /* File too large */
41#define ENOSPC 28 /* No space left on device */
42#define ESPIPE 29 /* Illegal seek */
43#define EROFS 30 /* Read-only file system */
44#define EMLINK 31 /* Too many links */
45#define EPIPE 32 /* Broken pipe */
46#define EDOM 33 /* Math argument out of domain of func */
47#define ERANGE 34 /* Math result not representable */
48#define EDEADLK 35 /* Resource deadlock would occur */
49#define ENAMETOOLONG 36 /* File name too long */
50#define ENOLCK 37 /* No record locks available */
51#define ENOSYS 38 /* Function not implemented */
52#define ENOTEMPTY 39 /* Directory not empty */
53#define ELOOP 40 /* Too many symbolic links encountered */
54#define EWOULDBLOCK EAGAIN /* Operation would block */
55#define ENOMSG 42 /* No message of desired type */
56#define EIDRM 43 /* Identifier removed */
57#define ECHRNG 44 /* Channel number out of range */
58#define EL2NSYNC 45 /* Level 2 not synchronized */
59#define EL3HLT 46 /* Level 3 halted */
60#define EL3RST 47 /* Level 3 reset */
61#define ELNRNG 48 /* Link number out of range */
62#define EUNATCH 49 /* Protocol driver not attached */
63#define ENOCSI 50 /* No CSI structure available */
64#define EL2HLT 51 /* Level 2 halted */
65#define EBADE 52 /* Invalid exchange */
66#define EBADR 53 /* Invalid request descriptor */
67#define EXFULL 54 /* Exchange full */
68#define ENOANO 55 /* No anode */
69#define EBADRQC 56 /* Invalid request code */
70#define EBADSLT 57 /* Invalid slot */
71
72#define EDEADLOCK EDEADLK
73
74#define EBFONT 59 /* Bad font file format */
75#define ENOSTR 60 /* Device not a stream */
76#define ENODATA 61 /* No data available */
77#define ETIME 62 /* Timer expired */
78#define ENOSR 63 /* Out of streams resources */
79#define ENONET 64 /* Machine is not on the network */
80#define ENOPKG 65 /* Package not installed */
81#define EREMOTE 66 /* Object is remote */
82#define ENOLINK 67 /* Link has been severed */
83#define EADV 68 /* Advertise error */
84#define ESRMNT 69 /* Srmount error */
85#define ECOMM 70 /* Communication error on send */
86#define EPROTO 71 /* Protocol error */
87#define EMULTIHOP 72 /* Multihop attempted */
88#define EDOTDOT 73 /* RFS specific error */
89#define EBADMSG 74 /* Not a data message */
90#define EOVERFLOW 75 /* Value too large for defined data type */
91#define ENOTUNIQ 76 /* Name not unique on network */
92#define EBADFD 77 /* File descriptor in bad state */
93#define EREMCHG 78 /* Remote address changed */
94#define ELIBACC 79 /* Can not access a needed shared library */
95#define ELIBBAD 80 /* Accessing a corrupted shared library */
96#define ELIBSCN 81 /* .lib section in a.out corrupted */
97#define ELIBMAX 82 /* Attempting to link in too many shared libraries */
98#define ELIBEXEC 83 /* Cannot exec a shared library directly */
99#define EILSEQ 84 /* Illegal byte sequence */
100#define ERESTART 85 /* Interrupted system call should be restarted */
101#define ESTRPIPE 86 /* Streams pipe error */
102#define EUSERS 87 /* Too many users */
103#define ENOTSOCK 88 /* Socket operation on non-socket */
104#define EDESTADDRREQ 89 /* Destination address required */
105#define EMSGSIZE 90 /* Message too long */
106#define EPROTOTYPE 91 /* Protocol wrong type for socket */
107#define ENOPROTOOPT 92 /* Protocol not available */
108#define EPROTONOSUPPORT 93 /* Protocol not supported */
109#define ESOCKTNOSUPPORT 94 /* Socket type not supported */
110#define EOPNOTSUPP 95 /* Operation not supported on transport endpoint */
111#define EPFNOSUPPORT 96 /* Protocol family not supported */
112#define EAFNOSUPPORT 97 /* Address family not supported by protocol */
113#define EADDRINUSE 98 /* Address already in use */
114#define EADDRNOTAVAIL 99 /* Cannot assign requested address */
115#define ENETDOWN 100 /* Network is down */
116#define ENETUNREACH 101 /* Network is unreachable */
117#define ENETRESET 102 /* Network dropped connection because of reset */
118#define ECONNABORTED 103 /* Software caused connection abort */
119#define ECONNRESET 104 /* Connection reset by peer */
120#define ENOBUFS 105 /* No buffer space available */
121#define EISCONN 106 /* Transport endpoint is already connected */
122#define ENOTCONN 107 /* Transport endpoint is not connected */
123#define ESHUTDOWN 108 /* Cannot send after transport endpoint shutdown */
124#define ETOOMANYREFS 109 /* Too many references: cannot splice */
125#define ETIMEDOUT 110 /* Connection timed out */
126#define ECONNREFUSED 111 /* Connection refused */
127#define EHOSTDOWN 112 /* Host is down */
128#define EHOSTUNREACH 113 /* No route to host */
129#define EALREADY 114 /* Operation already in progress */
130#define EINPROGRESS 115 /* Operation now in progress */
131#define ESTALE 116 /* Stale NFS file handle */
132#define EUCLEAN 117 /* Structure needs cleaning */
133#define ENOTNAM 118 /* Not a XENIX named type file */
134#define ENAVAIL 119 /* No XENIX semaphores available */
135#define EISNAM 120 /* Is a named type file */
136#define EREMOTEIO 121 /* Remote I/O error */
137#define EDQUOT 122 /* Quota exceeded */
138
139#define ENOMEDIUM 123 /* No medium found */
140#define EMEDIUMTYPE 124 /* Wrong medium type */
141 15
142#endif /* _XTENSA_ERRNO_H */ 16#endif /* _XTENSA_ERRNO_H */
diff --git a/include/asm-xtensa/ipc.h b/include/asm-xtensa/ipc.h
deleted file mode 100644
index d37bdb4d4c9c..000000000000
--- a/include/asm-xtensa/ipc.h
+++ /dev/null
@@ -1,34 +0,0 @@
1/*
2 * include/asm-xtensa/ipc.h
3 *
4 * This file is subject to the terms and conditions of the GNU General
5 * Public License. See the file "COPYING" in the main directory of
6 * this archive for more details.
7 *
8 * Copyright (C) 2001 - 2005 Tensilica Inc.
9 */
10
11#ifndef _XTENSA_IPC_H
12#define _XTENSA_IPC_H
13
14struct ipc_kludge {
15 struct msgbuf __user *msgp;
16 long msgtyp;
17};
18
19#define SEMOP 1
20#define SEMGET 2
21#define SEMCTL 3
22#define SEMTIMEDOP 4
23#define MSGSND 11
24#define MSGRCV 12
25#define MSGGET 13
26#define MSGCTL 14
27#define SHMAT 21
28#define SHMDT 22
29#define SHMGET 23
30#define SHMCTL 24
31
32#define IPCCALL(version,op) ((version)<<16 | (op))
33
34#endif /* _XTENSA_IPC_H */
diff --git a/include/asm-xtensa/unistd.h b/include/asm-xtensa/unistd.h
index 64c64dd83ba4..6b39d6609d9c 100644
--- a/include/asm-xtensa/unistd.h
+++ b/include/asm-xtensa/unistd.h
@@ -13,42 +13,31 @@
13 13
14#include <linux/linkage.h> 14#include <linux/linkage.h>
15 15
16//#define __NR_setup 0 /* used only by init, to get system going */
17#define __NR_spill 0 16#define __NR_spill 0
18#define __NR_exit 1 17#define __NR_exit 1
19#define __NR_fork 2
20#define __NR_read 3 18#define __NR_read 3
21#define __NR_write 4 19#define __NR_write 4
22#define __NR_open 5 20#define __NR_open 5
23#define __NR_close 6 21#define __NR_close 6
24#define __NR_waitpid 7
25#define __NR_creat 8 22#define __NR_creat 8
26#define __NR_link 9 23#define __NR_link 9
27#define __NR_unlink 10 24#define __NR_unlink 10
28#define __NR_execve 11 25#define __NR_execve 11
29#define __NR_chdir 12 26#define __NR_chdir 12
30#define __NR_time 13
31#define __NR_mknod 14 27#define __NR_mknod 14
32#define __NR_chmod 15 28#define __NR_chmod 15
33#define __NR_lchown 16 29#define __NR_lchown 16
34#define __NR_break 17 30#define __NR_break 17
35#define __NR_oldstat 18
36#define __NR_lseek 19 31#define __NR_lseek 19
37#define __NR_getpid 20 32#define __NR_getpid 20
38#define __NR_mount 21 33#define __NR_mount 21
39#define __NR_oldumount 22
40#define __NR_setuid 23 34#define __NR_setuid 23
41#define __NR_getuid 24 35#define __NR_getuid 24
42#define __NR_stime 25
43#define __NR_ptrace 26 36#define __NR_ptrace 26
44#define __NR_alarm 27
45#define __NR_oldfstat 28
46#define __NR_pause 29
47#define __NR_utime 30 37#define __NR_utime 30
48#define __NR_stty 31 38#define __NR_stty 31
49#define __NR_gtty 32 39#define __NR_gtty 32
50#define __NR_access 33 40#define __NR_access 33
51#define __NR_nice 34
52#define __NR_ftime 35 41#define __NR_ftime 35
53#define __NR_sync 36 42#define __NR_sync 36
54#define __NR_kill 37 43#define __NR_kill 37
@@ -66,24 +55,18 @@
66#define __NR_geteuid 49 55#define __NR_geteuid 49
67#define __NR_getegid 50 56#define __NR_getegid 50
68#define __NR_acct 51 57#define __NR_acct 51
69#define __NR_umount 52
70#define __NR_lock 53 58#define __NR_lock 53
71#define __NR_ioctl 54 59#define __NR_ioctl 54
72#define __NR_fcntl 55 60#define __NR_fcntl 55
73#define __NR_mpx 56
74#define __NR_setpgid 57 61#define __NR_setpgid 57
75#define __NR_ulimit 58 62#define __NR_ulimit 58
76#define __NR_oldolduname 59
77#define __NR_umask 60 63#define __NR_umask 60
78#define __NR_chroot 61 64#define __NR_chroot 61
79#define __NR_ustat 62 65#define __NR_ustat 62
80#define __NR_dup2 63 66#define __NR_dup2 63
81#define __NR_getppid 64 67#define __NR_getppid 64
82#define __NR_getpgrp 65
83#define __NR_setsid 66 68#define __NR_setsid 66
84#define __NR_sigaction 67 69#define __NR_sigaction 67
85#define __NR_sgetmask 68
86#define __NR_ssetmask 69
87#define __NR_setreuid 70 70#define __NR_setreuid 70
88#define __NR_setregid 71 71#define __NR_setregid 71
89#define __NR_sigsuspend 72 72#define __NR_sigsuspend 72
@@ -98,13 +81,10 @@
98#define __NR_setgroups 81 81#define __NR_setgroups 81
99#define __NR_select 82 82#define __NR_select 82
100#define __NR_symlink 83 83#define __NR_symlink 83
101#define __NR_oldlstat 84
102#define __NR_readlink 85 84#define __NR_readlink 85
103#define __NR_uselib 86 85#define __NR_uselib 86
104#define __NR_swapon 87 86#define __NR_swapon 87
105#define __NR_reboot 88 87#define __NR_reboot 88
106#define __NR_readdir 89
107#define __NR_mmap 90
108#define __NR_munmap 91 88#define __NR_munmap 91
109#define __NR_truncate 92 89#define __NR_truncate 92
110#define __NR_ftruncate 93 90#define __NR_ftruncate 93
@@ -116,22 +96,18 @@
116#define __NR_statfs 99 96#define __NR_statfs 99
117#define __NR_fstatfs 100 97#define __NR_fstatfs 100
118#define __NR_ioperm 101 98#define __NR_ioperm 101
119#define __NR_socketcall 102
120#define __NR_syslog 103 99#define __NR_syslog 103
121#define __NR_setitimer 104 100#define __NR_setitimer 104
122#define __NR_getitimer 105 101#define __NR_getitimer 105
123#define __NR_stat 106 102#define __NR_stat 106
124#define __NR_lstat 107 103#define __NR_lstat 107
125#define __NR_fstat 108 104#define __NR_fstat 108
126#define __NR_olduname 109
127#define __NR_iopl 110 105#define __NR_iopl 110
128#define __NR_vhangup 111 106#define __NR_vhangup 111
129#define __NR_idle 112 107#define __NR_idle 112
130#define __NR_vm86 113
131#define __NR_wait4 114 108#define __NR_wait4 114
132#define __NR_swapoff 115 109#define __NR_swapoff 115
133#define __NR_sysinfo 116 110#define __NR_sysinfo 116
134#define __NR_ipc 117
135#define __NR_fsync 118 111#define __NR_fsync 118
136#define __NR_sigreturn 119 112#define __NR_sigreturn 119
137#define __NR_clone 120 113#define __NR_clone 120
@@ -140,18 +116,15 @@
140#define __NR_modify_ldt 123 116#define __NR_modify_ldt 123
141#define __NR_adjtimex 124 117#define __NR_adjtimex 124
142#define __NR_mprotect 125 118#define __NR_mprotect 125
143#define __NR_sigprocmask 126
144#define __NR_create_module 127 119#define __NR_create_module 127
145#define __NR_init_module 128 120#define __NR_init_module 128
146#define __NR_delete_module 129 121#define __NR_delete_module 129
147#define __NR_get_kernel_syms 130
148#define __NR_quotactl 131 122#define __NR_quotactl 131
149#define __NR_getpgid 132 123#define __NR_getpgid 132
150#define __NR_fchdir 133 124#define __NR_fchdir 133
151#define __NR_bdflush 134 125#define __NR_bdflush 134
152#define __NR_sysfs 135 126#define __NR_sysfs 135
153#define __NR_personality 136 127#define __NR_personality 136
154#define __NR_afs_syscall 137 /* Syscall for Andrew File System */
155#define __NR_setfsuid 138 128#define __NR_setfsuid 138
156#define __NR_setfsgid 139 129#define __NR_setfsgid 139
157#define __NR__llseek 140 130#define __NR__llseek 140
@@ -222,8 +195,6 @@
222#define __NR_capset 205 195#define __NR_capset 205
223#define __NR_sigaltstack 206 196#define __NR_sigaltstack 206
224#define __NR_sendfile 207 197#define __NR_sendfile 207
225#define __NR_streams1 208 /* some people actually want it */
226#define __NR_streams2 209 /* some people actually want it */
227#define __NR_mmap2 210 198#define __NR_mmap2 210
228#define __NR_truncate64 211 199#define __NR_truncate64 211
229#define __NR_ftruncate64 212 200#define __NR_ftruncate64 212
@@ -234,7 +205,6 @@
234#define __NR_mincore 217 205#define __NR_mincore 217
235#define __NR_madvise 218 206#define __NR_madvise 218
236#define __NR_getdents64 219 207#define __NR_getdents64 219
237#define __NR_vfork 220
238 208
239/* Keep this last; should always equal the last valid call number. */ 209/* Keep this last; should always equal the last valid call number. */
240#define __NR_Linux_syscalls 220 210#define __NR_Linux_syscalls 220
@@ -448,55 +418,7 @@ __syscall_return(type,__res); \
448 418
449 419
450#ifdef __KERNEL_SYSCALLS__ 420#ifdef __KERNEL_SYSCALLS__
451
452#include <linux/compiler.h>
453#include <linux/types.h>
454#include <linux/syscalls.h>
455
456/*
457 * we need this inline - forking from kernel space will result
458 * in NO COPY ON WRITE (!!!), until an execve is executed. This
459 * is no problem, but for the stack. This is handled by not letting
460 * main() use the stack at all after fork(). Thus, no function
461 * calls - which means inline code for fork too, as otherwise we
462 * would use the stack upon exit from 'fork()'.
463 *
464 * Actually only pause and fork are needed inline, so that there
465 * won't be any messing with the stack from main(), but we define
466 * some others too.
467 */
468
469#define __NR__exit __NR_exit
470
471static __inline__ _syscall0(int,pause)
472//static __inline__ _syscall1(int,setup,int,magic) FIXME
473static __inline__ _syscall0(int,sync)
474static __inline__ _syscall0(pid_t,setsid)
475static __inline__ _syscall3(int,write,int,fd,const char *,buf,off_t,count)
476static __inline__ _syscall3(int,read,int,fd,char *,buf,off_t,count)
477static __inline__ _syscall3(off_t,lseek,int,fd,off_t,offset,int,count)
478static __inline__ _syscall1(int,dup,int,fd)
479static __inline__ _syscall3(int,execve,const char*,file,char**,argv,char**,envp) 421static __inline__ _syscall3(int,execve,const char*,file,char**,argv,char**,envp)
480static __inline__ _syscall3(int,open,const char *,file,int,flag,int,mode)
481static __inline__ _syscall1(int,close,int,fd)
482static __inline__ _syscall1(int,_exit,int,exitcode)
483static __inline__ _syscall3(pid_t,waitpid,pid_t,pid,int *,wait_stat,int,options)
484static __inline__ _syscall1(int,delete_module,const char *,name)
485
486struct stat;
487static __inline__ _syscall2(int,fstat,int,fd,struct stat *,buf)
488static __inline__ _syscall0(pid_t,getpid)
489static __inline__ _syscall2(int,kill,int,pid,int,sig)
490static __inline__ _syscall2(int,stat,const char *, path,struct stat *,buf)
491static __inline__ _syscall1(int,unlink,char *,pathname)
492
493
494
495extern pid_t waitpid(int, int*, int );
496static __inline__ pid_t wait(int * wait_stat)
497{
498 return waitpid(-1,wait_stat,0);
499}
500#endif 422#endif
501 423
502/* 424/*
@@ -508,30 +430,10 @@ static __inline__ pid_t wait(int * wait_stat)
508#define cond_syscall(x) asm(".weak\t" #x "\n\t.set\t" #x ",sys_ni_syscall"); 430#define cond_syscall(x) asm(".weak\t" #x "\n\t.set\t" #x ",sys_ni_syscall");
509 431
510#ifdef __KERNEL__ 432#ifdef __KERNEL__
511#define __ARCH_WANT_IPC_PARSE_VERSION
512#define __ARCH_WANT_OLD_READDIR
513#define __ARCH_WANT_OLD_STAT
514#define __ARCH_WANT_STAT64 433#define __ARCH_WANT_STAT64
515#define __ARCH_WANT_SYS_ALARM
516#define __ARCH_WANT_SYS_GETHOSTNAME
517#define __ARCH_WANT_SYS_PAUSE
518#define __ARCH_WANT_SYS_SGETMASK
519#define __ARCH_WANT_SYS_SIGNAL
520#define __ARCH_WANT_SYS_TIME
521#define __ARCH_WANT_SYS_UTIME 434#define __ARCH_WANT_SYS_UTIME
522#define __ARCH_WANT_SYS_WAITPID
523#define __ARCH_WANT_SYS_SOCKETCALL
524#define __ARCH_WANT_SYS_FADVISE64
525#define __ARCH_WANT_SYS_GETPGRP
526#define __ARCH_WANT_SYS_LLSEEK 435#define __ARCH_WANT_SYS_LLSEEK
527#define __ARCH_WANT_SYS_NICE
528#define __ARCH_WANT_SYS_OLD_GETRLIMIT
529#define __ARCH_WANT_SYS_OLDUMOUNT
530#define __ARCH_WANT_SYS_SIGPENDING
531#define __ARCH_WANT_SYS_SIGPROCMASK
532#define __ARCH_WANT_SYS_RT_SIGACTION 436#define __ARCH_WANT_SYS_RT_SIGACTION
533#endif 437#endif
534 438
535
536
537#endif /* _XTENSA_UNISTD_H */ 439#endif /* _XTENSA_UNISTD_H */