OpenCores
URL https://opencores.org/ocsvn/openrisc/openrisc/trunk

Subversion Repositories openrisc

Compare Revisions

  • This comparison shows the changes necessary to convert path
    /openrisc/tags/gnu-src/newlib-1.18.0/newlib-1.18.0-or32-1.0rc1/newlib/libc/machine/spu/sys
    from Rev 207 to Rev 345
    Reverse comparison

Rev 207 → Rev 345

/custom_file.h
0,0 → 1,13
#ifndef __CUSTOM_FILE_H__
#define __CUSTOM_FILE_H__ 1
 
/*
* Cell SPE support
*/
struct __sFILE_spu {
int _fp; /* pseudo FILE pointer on PPE */
};
typedef struct __sFILE_spu __FILE;
 
#endif /* __CUSTOM_FILE_H__ */
 
custom_file.h Property changes : Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:keywords ## -0,0 +1 ## +Id \ No newline at end of property Index: syscall.h =================================================================== --- syscall.h (nonexistent) +++ syscall.h (revision 345) @@ -0,0 +1,10 @@ +#ifndef _SYS_SYSCALL_H +#define _SYS_SYSCALL_H +#ifdef __cplusplus +extern "C" { +#endif +int __send_to_ppe(unsigned int signalcode, unsigned int opcode, void *data); +#ifdef __cplusplus +} +#endif +#endif
syscall.h Property changes : Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:keywords ## -0,0 +1 ## +Id \ No newline at end of property Index: linux_syscalls.h =================================================================== --- linux_syscalls.h (nonexistent) +++ linux_syscalls.h (revision 345) @@ -0,0 +1,310 @@ +/* +(C) Copyright IBM Corp. 2008 + +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + +* Redistributions of source code must retain the above copyright notice, +this list of conditions and the following disclaimer. +* Redistributions in binary form must reproduce the above copyright +notice, this list of conditions and the following disclaimer in the +documentation and/or other materials provided with the distribution. +* Neither the name of IBM nor the names of its contributors may be +used to endorse or promote products derived from this software without +specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE +LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR +CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF +SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS +INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN +CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE. + +Author: Ken Werner +*/ + +#ifndef __LINUX_SYSCALLS_H +#define __LINUX_SYSCALLS_H + +#include + +/* The system call numbers. See kernel source file + arch/powerpc/include/asm/unistd.h. */ +#define __NR_read 3 +#define __NR_write 4 +#define __NR_open 5 +#define __NR_close 6 +#define __NR_waitpid 7 +#define __NR_creat 8 +#define __NR_link 9 +#define __NR_unlink 10 + +#define __NR_chdir 12 +#define __NR_time 13 +#define __NR_mkdod 14 +#define __NR_chmod 15 +#define __NR_lchown 16 + +#define __NR_lseek 19 +#define __NR_getpid 20 + +#define __NR_setuid 23 +#define __NR_getuid 24 +#define __NR_stime 25 + +#define __NR_alarm 27 + +#define __NR_access 33 +#define __NR_nice 34 + +#define __NR_sync 36 +#define __NR_kill 37 +#define __NR_rename 38 +#define __NR_mkdir 39 +#define __NR_rmdir 40 +#define __NR_dup 41 +#define __NR_pipe 42 +#define __NR_times 43 + +#define __NR_brk 45 +#define __NR_setgid 46 +#define __NR_getgid 47 + +#define __NR_geteuid 49 +#define __NR_getegid 50 + +#define __NR_ioctl 54 +#define __NR_fcntl 55 + +#define __NR_setpgid 57 + +#define __NR_umask 60 +#define __NR_chroot 61 + +#define __NR_dup2 63 +#define __NR_getppid 64 +#define __NR_getpgrp 65 +#define __NR_setsid 66 + +#define __NR_sgetmask 68 +#define __NR_ssetmask 69 +#define __NR_setreuid 70 +#define __NR_setregid 71 + +#define __NR_sethostname 74 +#define __NR_setrlimit 75 + +#define __NR_getrusage 77 +#define __NR_gettimeofday 78 +#define __NR_settimeofday 79 +#define __NR_getgroups 80 +#define __NR_setgroups 81 + +#define __NR_symlink 83 + +#define __NR_readlink 85 + +#define __NR_mmap 90 +#define __NR_munmap 91 +#define __NR_truncate 92 +#define __NR_ftruncate 93 +#define __NR_fchmod 94 +#define __NR_fchown 95 +#define __NR_getpriority 96 +#define __NR_setpriority 97 + +#define __NR_socketcall 102 +#define __NR_syslog 103 +#define __NR_setitimer 104 +#define __NR_getitimer 105 +#define __NR_newstat 106 +#define __NR_newlstat 107 +#define __NR_newfstat 108 + +#define __NR_vhangup 111 + +#define __NR_wait4 114 + +#define __NR_sysinfo 116 + +#define __NR_fsync 118 + +#define __NR_setdomainname 121 +#define __NR_newuname 122 + +#define __NR_adjtimex 124 +#define __NR_mprotect 125 + +#define __NR_getpgid 132 +#define __NR_fchdir 133 +#define __NR_bdflush 134 + +#define __NR_personality 136 + +#define __NR_setfsuid 138 +#define __NR_setfsgid 139 +#define __NR__llseek 140 +#define __NR_getdents 141 +#define __NR__newselect 142 +#define __NR_flock 143 +#define __NR_msync 144 +#define __NR_readv 145 +#define __NR_writev 146 +#define __NR_getsid 147 +#define __NR_fdatasync 148 + +#define __NR_mlock 150 +#define __NR_munlock 151 +#define __NR_mlockall 152 +#define __NR_munlockall 153 +#define __NR_sched_setparam 154 +#define __NR_sched_getparam 155 +#define __NR_sched_setscheduler 156 +#define __NR_sched_getscheduler 157 +#define __NR_sched_yield 158 +#define __NR_sched_get_priority_max 159 +#define __NR_sched_get_priority_min 160 +#define __NR_sched_rr_get_interval 161 +#define __NR_nanosleep 162 +#define __NR_mremap 163 +#define __NR_setresuid 164 +#define __NR_getresuid 165 + +#define __NR_poll 167 + +#define __NR_setresgid 169 +#define __NR_getresgid 170 +#define __NR_prctl 171 + +#define __NR_pread64 179 +#define __NR_pwrite64 180 +#define __NR_chown 181 +#define __NR_getcwd 182 +#define __NR_capget 183 +#define __NR_capset 184 + +#define __NR_sendfile 185 + +#define __NR_getrlimit 190 +#define __NR_readahead 191 + +#define __NR_getdents64 202 +#define __NR_pivot_root 203 + +#define __NR_madvise 205 +#define __NR_mincore 206 +#define __NR_gettid 207 +#define __NR_tkill 208 +#define __NR_setxattr 209 +#define __NR_lsetxattr 210 +#define __NR_fsetxattr 211 +#define __NR_getxattr 212 +#define __NR_lgetxattr 213 +#define __NR_fgetxattr 214 +#define __NR_listxattr 215 +#define __NR_llistxattr 216 +#define __NR_flistxattr 217 +#define __NR_removexattr 218 +#define __NR_lremovexattr 219 +#define __NR_fremovexattr 220 +#define __NR_futex 221 +#define __NR_sched_setaffinity 222 +#define __NR_sched_getaffinity 223 + +#define __NR_io_setup 227 +#define __NR_io_destroy 228 +#define __NR_io_getevents 229 +#define __NR_io_submit 230 +#define __NR_io_cancel 231 + +#define __NR_fadvise64 233 + +#define __NR_epoll_create 236 +#define __NR_epoll_ctl 237 +#define __NR_epoll_wait 238 +#define __NR_remap_file_pages 239 +#define __NR_timer_create 240 +#define __NR_timer_settime 241 +#define __NR_timer_gettime 242 +#define __NR_timer_getoverrun 243 +#define __NR_timer_delete 244 +#define __NR_clock_settime 245 +#define __NR_clock_gettime 246 +#define __NR_clock_getres 247 +#define __NR_clock_nanosleep 248 + +#define __NR_tgkill 250 +#define __NR_utimes 251 +#define __NR_statfs64 252 +#define __NR_fstatfs64 253 + +#define __NR_rtas 255 + +#define __NR_unshare 282 +#define __NR_splice 283 +#define __NR_tee 284 +#define __NR_vmsplice 285 +#define __NR_openat 286 +#define __NR_mkdirat 287 +#define __NR_mknodat 288 +#define __NR_fchownat 289 +#define __NR_futimesat 290 +#define __NR_fstatat64 291 +#define __NR_unlinkat 292 +#define __NR_renameat 293 +#define __NR_linkat 294 +#define __NR_symlinkat 295 +#define __NR_readlinkat 296 +#define __NR_fchmodat 297 +#define __NR_faccessat 298 +#define __NR_get_robust_list 299 +#define __NR_set_robust_list 300 +#define __NR_move_pages 301 +#define __NR_getcpu 302 + +#define __NR_utimensat 304 +#define __NR_signalfd 305 +#define __NR_timerfd 306 +#define __NR_eventfd 307 +#define __NR_sync_file_range2 308 +#define __NR_fallocate 309 +#define __NR_subpage_prot 310 +#define __NR_timerfd_settime 311 +#define __NR_timerfd_gettime 312 +#define __NR_signalfd4 313 +#define __NR_eventfd2 314 +#define __NR_epoll_create1 315 +#define __NR_dup3 316 +#define __NR_pipe2 317 +#define __NR_inotify_init1 318 + +/* System callbacks from the SPU. See kernel source file + arch/powerpc/include/asm/spu.h. */ +struct spu_syscall_block +{ + unsigned long long nr_ret; /* System call nr and return value. */ + unsigned long long parm[6]; /* System call arguments. */ +}; + +#ifdef __cplusplus +extern "C" { +#endif + +/* Issues a Linux system call. */ +int __linux_syscall (struct spu_syscall_block *s); + +/* Linux system calls. */ +pid_t linux_getpid(void); +pid_t linux_gettid(void); + +#ifdef __cplusplus +} +#endif +#endif
linux_syscalls.h Property changes : Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:keywords ## -0,0 +1 ## +Id \ No newline at end of property Index: uio.h =================================================================== --- uio.h (nonexistent) +++ uio.h (revision 345) @@ -0,0 +1,26 @@ +#ifndef _SYS_UIO_H +#define _SYS_UIO_H + +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* + * Per POSIX + */ + +struct iovec { + void *iov_base; + size_t iov_len; +}; + +ssize_t readv(int, const struct iovec *, int); +ssize_t writev(int, const struct iovec *, int); + +#ifdef __cplusplus +}; +#endif + +#endif
uio.h Property changes : Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:keywords ## -0,0 +1 ## +Id \ No newline at end of property Index: fenv.h =================================================================== --- fenv.h (nonexistent) +++ fenv.h (revision 345) @@ -0,0 +1,144 @@ +/* + (C) Copyright 2006, 2007 + International Business Machines Corporation, + Sony Computer Entertainment, Incorporated, + Toshiba Corporation, + + All rights reserved. + + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions are met: + + * Redistributions of source code must retain the above copyright notice, + this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + * Neither the names of the copyright holders nor the names of their + contributors may be used to endorse or promote products derived from this + software without specific prior written permission. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + POSSIBILITY OF SUCH DAMAGE. +*/ +#ifndef _SYS_FENV_H +#define _SYS_FENV_H + +/* + * The exception macros are such that the functions to pack/unpack them + * will map a 32 bit fenv_t from/to the 128 bit fpscr. + * + * Suffixes: + * _SNGL: single precision + * _DBL: double precision + * _N: element number, no suffix for element 0. + */ + +#define FE_OVERFLOW_SNGL 0x08000000 +#define FE_UNDERFLOW_SNGL 0x04000000 +#define FE_DIFF_SNGL 0x02000000 +#define FE_DIVBYZERO_SNGL 0x00000040 + +#define FE_OVERFLOW_SNGL_1 0x00040000 +#define FE_UNDERFLOW_SNGL_1 0x00020000 +#define FE_DIFF_SNGL_1 0x00010000 +#define FE_DIVBYZERO_SNGL_1 0x00000020 + +#define FE_OVERFLOW_SNGL_2 0x00000200 +#define FE_UNDERFLOW_SNGL_2 0x00000100 +#define FE_DIFF_SNGL_2 0x00000080 +#define FE_DIVBYZERO_SNGL_2 0x00000010 + +#define FE_OVERFLOW_SNGL_3 0x00000004 +#define FE_UNDERFLOW_SNGL_3 0x00000002 +#define FE_DIFF_SNGL_3 0x00000001 +#define FE_DIVBYZERO_SNGL_3 0x00000008 + +#define FE_ALL_EXCEPT_SNGL (FE_OVERFLOW_SNGL | FE_UNDERFLOW_SNGL \ + | FE_DIFF_SNGL | FE_DIVBYZERO_SNGL) +#define FE_ALL_EXCEPT_SNGL_1 (FE_OVERFLOW_SNGL_1 | FE_UNDERFLOW_SNGL_1 \ + | FE_DIFF_SNGL_1 | FE_DIVBYZERO_SNGL_1) +#define FE_ALL_EXCEPT_SNGL_2 (FE_OVERFLOW_SNGL_2 | FE_UNDERFLOW_SNGL_2 \ + | FE_DIFF_SNGL_2 | FE_DIVBYZERO_SNGL_2) +#define FE_ALL_EXCEPT_SNGL_3 (FE_OVERFLOW_SNGL_3 | FE_UNDERFLOW_SNGL_3 \ + | FE_DIFF_SNGL_3 | FE_DIVBYZERO_SNGL_3) + +#define FE_OVERFLOW_DBL 0x01000000 +#define FE_UNDERFLOW_DBL 0x00800000 +#define FE_INEXACT_DBL 0x00400000 +#define FE_INVALID_DBL 0x00200000 +#define FE_NC_NAN_DBL 0x00100000 +#define FE_NC_DENORM_DBL 0x00080000 + +#define FE_OVERFLOW_DBL_1 0x00008000 +#define FE_UNDERFLOW_DBL_1 0x00004000 +#define FE_INEXACT_DBL_1 0x00002000 +#define FE_INVALID_DBL_1 0x00001000 +#define FE_NC_NAN_DBL_1 0x00000800 +#define FE_NC_DENORM_DBL_1 0x00000400 + +#define FE_ALL_EXCEPT_DBL (FE_OVERFLOW_DBL | FE_UNDERFLOW_DBL | \ + FE_INEXACT_DBL | FE_INVALID_DBL | \ + FE_NC_NAN_DBL | FE_NC_DENORM_DBL) +#define FE_ALL_EXCEPT_DBL_1 (FE_OVERFLOW_DBL_1 | FE_UNDERFLOW_DBL_1 | \ + FE_INEXACT_DBL_1 | FE_INVALID_DBL_1 | \ + FE_NC_NAN_DBL_1 | FE_NC_DENORM_DBL_1) + +#define FE_ALL_EXCEPT (FE_ALL_EXCEPT_SNGL | FE_ALL_EXCEPT_SNGL_1 | \ + FE_ALL_EXCEPT_SNGL_2 | FE_ALL_EXCEPT_SNGL_3 | \ + FE_ALL_EXCEPT_DBL | FE_ALL_EXCEPT_DBL_1) + +/* + * Warning: some of these are single and some double precision only, + * because of the hardware implementation. + */ +#define FE_DIVBYZERO (FE_DIVBYZERO_SNGL | FE_DIVBYZERO_SNGL_1 | \ + FE_DIVBYZERO_SNGL_2 | FE_DIVBYZERO_SNGL_3) +#define FE_INEXACT (FE_INEXACT_DBL | FE_INEXACT_DBL_1) +#define FE_INVALID (FE_INVALID_DBL | FE_INVALID_DBL_1) +#define FE_NC_NAN (FE_NC_NAN_DBL | FE_NC_NAN_DBL_1) +#define FE_NC_DENORM (FE_NC_DENORM_DBL | FE_NC_DENORM_DBL_1) + +/* + * __FE_ROUND_ELE_n values are set so that they can easily be used as a + * mask when setting the fpscr. These tell us whether we are setting the + * round mode for a specific element (double precision floating point + * only, so there are only two elements). + */ +#define __FE_ROUND_ELE_0 0xc00 +#define __FE_ROUND_ELE_1 0x300 + +/* + * The following map directly to round values in the fpscr. + */ +#define __FE_SPU_TONEAREST 0 +#define __FE_SPU_TOWARDZERO 1 +#define __FE_SPU_UPWARD 2 +#define __FE_SPU_DOWNWARD 3 + +#define FE_TONEAREST (__FE_ROUND_ELE_0 | (__FE_SPU_TONEAREST << 2)) +#define FE_TOWARDZERO (__FE_ROUND_ELE_0 | (__FE_SPU_TOWARDZERO << 2)) +#define FE_UPWARD (__FE_ROUND_ELE_0 | (__FE_SPU_UPWARD << 2)) +#define FE_DOWNWARD (__FE_ROUND_ELE_0 | (__FE_SPU_DOWNWARD << 2)) + +#define FE_TONEAREST_1 (__FE_ROUND_ELE_1 | __FE_SPU_TONEAREST) +#define FE_TOWARDZERO_1 (__FE_ROUND_ELE_1 | __FE_SPU_TOWARDZERO) +#define FE_UPWARD_1 (__FE_ROUND_ELE_1 | __FE_SPU_UPWARD) +#define FE_DOWNWARD_1 (__FE_ROUND_ELE_1 | __FE_SPU_DOWNWARD) + +typedef unsigned int fexcept_t; +typedef unsigned int fenv_t; + +extern const fenv_t __fe_dfl_env; +#define FE_DFL_ENV (&__fe_dfl_env) + +#endif /* fenv.h */
fenv.h Property changes : Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:keywords ## -0,0 +1 ## +Id \ No newline at end of property Index: utime.h =================================================================== --- utime.h (nonexistent) +++ utime.h (revision 345) @@ -0,0 +1,23 @@ +#ifndef _SYS_UTIME_H +#define _SYS_UTIME_H + +#ifdef __cplusplus +extern "C" { +#endif + +/* + * Per POSIX + */ +struct utimbuf +{ + time_t actime; + time_t modtime; +}; + +int utime(const char *, const struct utimbuf *); + +#ifdef __cplusplus +}; +#endif + +#endif
utime.h Property changes : Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:keywords ## -0,0 +1 ## +Id \ No newline at end of property Index: dirent.h =================================================================== --- dirent.h (nonexistent) +++ dirent.h (revision 345) @@ -0,0 +1,63 @@ +/* + Copyright 2007 + International Business Machines Corporation, + Sony Computer Entertainment, Incorporated, + Toshiba Corporation, + + All rights reserved. + + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions are met: + + * Redistributions of source code must retain the above copyright notice, + this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + * Neither the names of the copyright holders nor the names of their + contributors may be used to endorse or promote products derived from + this software without specific prior written permission. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS + IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED + TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A + PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER + OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF + LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +*/ +#ifndef _SYS_DIRENT_H +#define _SYS_DIRENT_H +#ifdef __cplusplus +extern "C" { +#endif + +#define MAXNAMLEN 255 + +struct dirent { + ino_t d_ino; + char d_name[MAXNAMLEN + 1]; +}; + +typedef struct { + unsigned long long ppc_dir; + /* + * Allow one readdir for each opendir, and store the data here. + */ + struct dirent dirent; +} DIR; + +DIR *opendir(const char *); +int closedir(DIR *); +struct dirent *readdir (DIR *); +void rewinddir(DIR *); +void seekdir(DIR *dir, off_t offset); +off_t telldir(DIR *dir); +#ifdef __cplusplus +} +#endif +#endif
dirent.h Property changes : Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:keywords ## -0,0 +1 ## +Id \ No newline at end of property Index: errno.h =================================================================== --- errno.h (nonexistent) +++ errno.h (revision 345) @@ -0,0 +1,179 @@ +/* + * The SPU must have these values match those on the PPU linux side, so + * the assisted calls (system or library ones) that set errno will use the + * same values. + * + * This file is based on the CRIS file, with these modifications: + * + * EDEADLOCK - instead of EDEADLK (35) use 58 (for some reason ppc only does + * this, it is not used by ppc kernel code nor glibc code). + * + * ECANCELED value of 125 added, in linux and posix value of 125, in generic + * newlib errno.h, value of 140 + * + * ENOTSUP as EOPNOTSUPP (95) added, in linux and posix value 95, in + * generic newlib errno.h, value of 134 + */ + +/* This file is to be kept in sync with newlib/libc/include/sys/errno.h + on which it is based, except values used or returned by syscalls must + be those of the Linux ppc. */ + +#ifndef _SYS_ERRNO_H_ +#ifdef __cplusplus +extern "C" { +#endif +#define _SYS_ERRNO_H_ + +#include + +extern struct _reent _impure_data; +#define errno (_impure_data._errno) + +/* Please don't use these variables directly. + Use strerror instead. */ +extern _CONST char * _CONST _sys_errlist[]; +extern int _sys_nerr; + +#define __errno_r(ptr) ((ptr)->_errno) + +/* Adjusted to the linux asm/errno.h */ +#define EPERM 1 /* Operation not permitted */ +#define ENOENT 2 /* No such file or directory */ +#define ESRCH 3 /* No such process */ +#define EINTR 4 /* Interrupted system call */ +#define EIO 5 /* I/O error */ +#define ENXIO 6 /* No such device or address */ +#define E2BIG 7 /* Arg list too long */ +#define ENOEXEC 8 /* Exec format error */ +#define EBADF 9 /* Bad file number */ +#define ECHILD 10 /* No child processes */ +#define EAGAIN 11 /* Try again */ +#define ENOMEM 12 /* Out of memory */ +#define EACCES 13 /* Permission denied */ +#define EFAULT 14 /* Bad address */ +#define ENOTBLK 15 /* Block device required */ +#define EBUSY 16 /* Device or resource busy */ +#define EEXIST 17 /* File exists */ +#define EXDEV 18 /* Cross-device link */ +#define ENODEV 19 /* No such device */ +#define ENOTDIR 20 /* Not a directory */ +#define EISDIR 21 /* Is a directory */ +#define EINVAL 22 /* Invalid argument */ +#define ENFILE 23 /* File table overflow */ +#define EMFILE 24 /* Too many open files */ +#define ENOTTY 25 /* Not a typewriter */ +#define ETXTBSY 26 /* Text file busy */ +#define EFBIG 27 /* File too large */ +#define ENOSPC 28 /* No space left on device */ +#define ESPIPE 29 /* Illegal seek */ +#define EROFS 30 /* Read-only file system */ +#define EMLINK 31 /* Too many links */ +#define EPIPE 32 /* Broken pipe */ +#define EDOM 33 /* Math argument out of domain of func */ +#define ERANGE 34 /* Math result not representable */ +#define EDEADLK 35 /* Resource deadlock would occur */ +#define ENAMETOOLONG 36 /* File name too long */ +#define ENOLCK 37 /* No record locks available */ +#define ENOSYS 38 /* Function not implemented */ +#define ENOTEMPTY 39 /* Directory not empty */ +#define ELOOP 40 /* Too many symbolic links encountered */ +#define EWOULDBLOCK EAGAIN /* Operation would block */ +#define ENOMSG 42 /* No message of desired type */ +#define EIDRM 43 /* Identifier removed */ +#define ECHRNG 44 /* Channel number out of range */ +#define EL2NSYNC 45 /* Level 2 not synchronized */ +#define EL3HLT 46 /* Level 3 halted */ +#define EL3RST 47 /* Level 3 reset */ +#define ELNRNG 48 /* Link number out of range */ +#define EUNATCH 49 /* Protocol driver not attached */ +#define ENOCSI 50 /* No CSI structure available */ +#define EL2HLT 51 /* Level 2 halted */ +#define EBADE 52 /* Invalid exchange */ +#define EBADR 53 /* Invalid request descriptor */ +#define EXFULL 54 /* Exchange full */ +#define ENOANO 55 /* No anode */ +#define EBADRQC 56 /* Invalid request code */ +#define EBADSLT 57 /* Invalid slot */ + +#define EDEADLOCK 58 + +#define EBFONT 59 /* Bad font file format */ +/* This is only used internally in newlib; not returned by the kernel. + EBFONT seems the closest match for a "bad file format" error. */ +#define EFTYPE EBFONT /* Inappropriate file type or format */ +#define ENOSTR 60 /* Device not a stream */ +#define ENODATA 61 /* No data available */ +#define ETIME 62 /* Timer expired */ +#define ENOSR 63 /* Out of streams resources */ +#define ENONET 64 /* Machine is not on the network */ +#define ENOPKG 65 /* Package not installed */ +#define EREMOTE 66 /* Object is remote */ +#define ENOLINK 67 /* Link has been severed */ +#define EADV 68 /* Advertise error */ +#define ESRMNT 69 /* Srmount error */ +#define ECOMM 70 /* Communication error on send */ +#define EPROTO 71 /* Protocol error */ +#define EMULTIHOP 72 /* Multihop attempted */ +#define EDOTDOT 73 /* RFS specific error */ +#define EBADMSG 74 /* Not a data message */ +#define EOVERFLOW 75 /* Value too large for defined data type */ +#define ENOTUNIQ 76 /* Name not unique on network */ +#define EBADFD 77 /* File descriptor in bad state */ +#define EREMCHG 78 /* Remote address changed */ +#define ELIBACC 79 /* Can not access a needed shared library */ +#define ELIBBAD 80 /* Accessing a corrupted shared library */ +#define ELIBSCN 81 /* .lib section in a.out corrupted */ +#define ELIBMAX 82 /* Attempting to link in too many shared libraries */ +#define ELIBEXEC 83 /* Cannot exec a shared library directly */ +#define EILSEQ 84 /* Illegal byte sequence */ +#define ERESTART 85 /* Interrupted system call should be restarted */ +#define ESTRPIPE 86 /* Streams pipe error */ +#define EUSERS 87 /* Too many users */ +#define ENOTSOCK 88 /* Socket operation on non-socket */ +#define EDESTADDRREQ 89 /* Destination address required */ +#define EMSGSIZE 90 /* Message too long */ +#define EPROTOTYPE 91 /* Protocol wrong type for socket */ +#define ENOPROTOOPT 92 /* Protocol not available */ +#define EPROTONOSUPPORT 93 /* Protocol not supported */ +#define ESOCKTNOSUPPORT 94 /* Socket type not supported */ +#define EOPNOTSUPP 95 /* Operation not supported on transport endpoint */ +#define ENOTSUP EOPNOTSUPP +#define EPFNOSUPPORT 96 /* Protocol family not supported */ +#define EAFNOSUPPORT 97 /* Address family not supported by protocol */ +#define EADDRINUSE 98 /* Address already in use */ +#define EADDRNOTAVAIL 99 /* Cannot assign requested address */ +#define ENETDOWN 100 /* Network is down */ +#define ENETUNREACH 101 /* Network is unreachable */ +#define ENETRESET 102 /* Network dropped connection because of reset */ +#define ECONNABORTED 103 /* Software caused connection abort */ +#define ECONNRESET 104 /* Connection reset by peer */ +#define ENOBUFS 105 /* No buffer space available */ +#define EISCONN 106 /* Transport endpoint is already connected */ +#define ENOTCONN 107 /* Transport endpoint is not connected */ +#define ESHUTDOWN 108 /* Cannot send after transport endpoint shutdown */ +#define ETOOMANYREFS 109 /* Too many references: cannot splice */ +#define ETIMEDOUT 110 /* Connection timed out */ +#define ECONNREFUSED 111 /* Connection refused */ +#define EHOSTDOWN 112 /* Host is down */ +#define EHOSTUNREACH 113 /* No route to host */ +#define EALREADY 114 /* Operation already in progress */ +#define EINPROGRESS 115 /* Operation now in progress */ +#define ESTALE 116 /* Stale NFS file handle */ +#define EUCLEAN 117 /* Structure needs cleaning */ +#define ENOTNAM 118 /* Not a XENIX named type file */ +#define ENAVAIL 119 /* No XENIX semaphores available */ +#define EISNAM 120 /* Is a named type file */ +#define EREMOTEIO 121 /* Remote I/O error */ +#define EDQUOT 122 /* Quota exceeded */ + +#define ENOMEDIUM 123 /* No medium found */ +#define EMEDIUMTYPE 124 /* Wrong medium type */ +#define ECANCELED 125 /* Operation Canceled */ + +#define __ELASTERROR 2000 /* Users can add values starting here */ + +#ifdef __cplusplus +} +#endif +#endif /* _SYS_ERRNO_H */
errno.h Property changes : Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:keywords ## -0,0 +1 ## +Id \ No newline at end of property Index: sched.h =================================================================== --- sched.h (nonexistent) +++ sched.h (revision 345) @@ -0,0 +1,12 @@ +#ifndef _SYS_SCHED_H +#define _SYS_SCHED_H +#ifdef __cplusplus +extern "C" { +#endif + +int sched_yield(void); + +#ifdef __cplusplus +} +#endif +#endif
sched.h Property changes : Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:keywords ## -0,0 +1 ## +Id \ No newline at end of property Index: mman.h =================================================================== --- mman.h (nonexistent) +++ mman.h (revision 345) @@ -0,0 +1,85 @@ +/* +(C) Copyright IBM Corp. 2007 + +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + +* Redistributions of source code must retain the above copyright notice, +this list of conditions and the following disclaimer. +* Redistributions in binary form must reproduce the above copyright +notice, this list of conditions and the following disclaimer in the +documentation and/or other materials provided with the distribution. +* Neither the name of IBM nor the names of its contributors may be +used to endorse or promote products derived from this software without +specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE +LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR +CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF +SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS +INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN +CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE. + +*/ + +#ifndef _MMAN_H_ +#define _MMAN_H_ + +#include + +/* + * Prots to 'mmap'. + */ +#define PROT_READ 0x1 +#define PROT_WRITE 0x2 +#define PROT_EXEC 0x4 +#define PROT_NONE 0x0 +/* + * Flags to 'mmap'. + */ +#define MAP_SHARED 0x001 +#define MAP_PRIVATE 0x002 +#define MAP_FIXED 0x010 +#define MAP_FILE 0x000 +#define MAP_ANONYMOUS 0x020 +#define MAP_ANON MAP_ANONYMOUS +#define MAP_GROWSDOWN 0x0100 +#define MAP_DENYWRITE 0x0800 +#define MAP_EXECUTABLE 0x1000 +#define MAP_LOCKED 0x0080 +#define MAP_NORESERVE 0x0040 +/* + * Failed flag from 'mmap'. + */ +#define MAP_FAILED_EADDR ((unsigned long long) (-1LL)) +/* + * Flags to 'mremap'. + */ +#define MREMAP_MAYMOVE 1 +/* + * Flags to 'msync'. + */ +#define MS_ASYNC 1 +#define MS_SYNC 4 +#define MS_INVALIDATE 2 + + +extern int shm_open(const char *name, int oflag, mode_t mode); +extern int shm_unlink(const char * name); + +unsigned long long mmap_eaddr(unsigned long long start, size_t length, int + prot, int flags, int fd, off_t offset); +unsigned long long mremap_eaddr(unsigned long long old_addr, size_t + old_size, size_t new_size, int flags); +unsigned long long msync_eaddr(unsigned long long start, size_t length, + int flags); +unsigned long long munmap_eaddr(unsigned long long start, size_t length); + +#endif /* _MMAN_H_ */
mman.h Property changes : Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:keywords ## -0,0 +1 ## +Id \ No newline at end of property

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.