diff options
author | Jeff Johnston <jjohnstn@redhat.com> | 2007-06-05 19:01:30 +0000 |
---|---|---|
committer | Jeff Johnston <jjohnstn@redhat.com> | 2007-06-05 19:01:30 +0000 |
commit | 184dcf2bc384df5ed96c2f90994008605a222f6c (patch) | |
tree | d080b6b0962babce485d7461e1ecd6b3260cd6ed /libgloss/spu | |
parent | 7f6ee25a1a5cbf1440b379fd89916507a9bbdad5 (diff) | |
download | newlib-184dcf2bc384df5ed96c2f90994008605a222f6c.zip newlib-184dcf2bc384df5ed96c2f90994008605a222f6c.tar.gz newlib-184dcf2bc384df5ed96c2f90994008605a222f6c.tar.bz2 |
2007-06-05 Patrick Mansfield <patman@us.ibm.com>
* spu/jsre.h: Remove the assist call structs and defines that are
specific to one assist call from here.
* spu/access.c: Move struct syscall_access_t to here.
* spu/fstat.c: Move struct syscall_fstat_t to here.
* spu/ftruncate.c: Move struct syscall_ftruncate_t to here.
* spu/gettimeofday.c: Move struct syscall_gettimeofday_t to here.
* spu/lseek.c: Move struct syscall_lseek_t and JSRE_SEEK defines to
here.
* spu/open.c: Move struct syscall_open_t and JSRE_O_ defines to here.
* spu/read.c: Move struct syscall_read_t to here, and actually use
it (it is the same as syscall_write_t).
* spu/stat.c: Move struct syscall_stat_t to here.
* spu/write.c: Move struct syscall_write_t to here.
* spu/close.c: Pass the address of the first and only argument to
__send_to_ppe rather than using an automatic variable and a
special struct.
* spu/dup.c: Ditto.
* spu/unlink.c: Ditto.
Diffstat (limited to 'libgloss/spu')
-rw-r--r-- | libgloss/spu/access.c | 8 | ||||
-rw-r--r-- | libgloss/spu/close.c | 5 | ||||
-rw-r--r-- | libgloss/spu/dup.c | 5 | ||||
-rw-r--r-- | libgloss/spu/fstat.c | 8 | ||||
-rw-r--r-- | libgloss/spu/ftruncate.c | 8 | ||||
-rw-r--r-- | libgloss/spu/gettimeofday.c | 8 | ||||
-rw-r--r-- | libgloss/spu/jsre.h | 115 | ||||
-rw-r--r-- | libgloss/spu/lseek.c | 14 | ||||
-rw-r--r-- | libgloss/spu/open.c | 23 | ||||
-rw-r--r-- | libgloss/spu/read.c | 12 | ||||
-rw-r--r-- | libgloss/spu/stat.c | 8 | ||||
-rw-r--r-- | libgloss/spu/unlink.c | 5 | ||||
-rw-r--r-- | libgloss/spu/write.c | 10 |
13 files changed, 101 insertions, 128 deletions
diff --git a/libgloss/spu/access.c b/libgloss/spu/access.c index 8b02316..9c5cea4 100644 --- a/libgloss/spu/access.c +++ b/libgloss/spu/access.c @@ -31,6 +31,14 @@ POSSIBILITY OF SUCH DAMAGE. #include "jsre.h" +typedef struct +{ + unsigned int pathname; + unsigned int pad0[3]; + unsigned int mode; + unsigned int pad1[3]; +} syscall_access_t; + int access (const char *pathname, int mode) { diff --git a/libgloss/spu/close.c b/libgloss/spu/close.c index ea47d02..57011f1 100644 --- a/libgloss/spu/close.c +++ b/libgloss/spu/close.c @@ -35,8 +35,5 @@ Author: Andreas Neukoetter (ti95neuk@de.ibm.com) int close (int file) { - syscall_close_t sys; - - sys.file = file; - return __send_to_ppe (JSRE_POSIX1_SIGNALCODE, JSRE_CLOSE, &sys); + return __send_to_ppe (JSRE_POSIX1_SIGNALCODE, JSRE_CLOSE, &file); } diff --git a/libgloss/spu/dup.c b/libgloss/spu/dup.c index 2ff7870..325db63 100644 --- a/libgloss/spu/dup.c +++ b/libgloss/spu/dup.c @@ -34,8 +34,5 @@ POSSIBILITY OF SUCH DAMAGE. int dup (int oldfd) { - syscall_dup_t sys; - - sys.oldfd = oldfd; - return __send_to_ppe (JSRE_POSIX1_SIGNALCODE, JSRE_DUP, &sys); + return __send_to_ppe (JSRE_POSIX1_SIGNALCODE, JSRE_DUP, &oldfd); } diff --git a/libgloss/spu/fstat.c b/libgloss/spu/fstat.c index 69316d4..45abeeb 100644 --- a/libgloss/spu/fstat.c +++ b/libgloss/spu/fstat.c @@ -33,6 +33,14 @@ Author: Andreas Neukoetter (ti95neuk@de.ibm.com) #include <sys/stat.h> #include "jsre.h" +typedef struct +{ + unsigned int file; + unsigned int pad0[3]; + unsigned int ptr; + unsigned int pad1[3]; +} syscall_fstat_t; + int fstat (int file, struct stat *pstat) { diff --git a/libgloss/spu/ftruncate.c b/libgloss/spu/ftruncate.c index 47a998f..138f60e 100644 --- a/libgloss/spu/ftruncate.c +++ b/libgloss/spu/ftruncate.c @@ -31,6 +31,14 @@ POSSIBILITY OF SUCH DAMAGE. #include <unistd.h> #include "jsre.h" +typedef struct +{ + unsigned int file; + unsigned int pad0[3]; + unsigned int length; + unsigned int pad1[3]; +} syscall_ftruncate_t; + int ftruncate (int file, off_t length) { diff --git a/libgloss/spu/gettimeofday.c b/libgloss/spu/gettimeofday.c index 93051f6..3725976 100644 --- a/libgloss/spu/gettimeofday.c +++ b/libgloss/spu/gettimeofday.c @@ -34,6 +34,14 @@ POSSIBILITY OF SUCH DAMAGE. #include <sys/time.h> #include "jsre.h" +typedef struct +{ + unsigned int tv; + unsigned int pad0[3]; + unsigned int tz; + unsigned int pad1[3]; +} syscall_gettimeofday_t; + int gettimeofday (struct timeval *tv, struct timezone *tz) { diff --git a/libgloss/spu/jsre.h b/libgloss/spu/jsre.h index f69cd49..dc89c0d 100644 --- a/libgloss/spu/jsre.h +++ b/libgloss/spu/jsre.h @@ -35,23 +35,6 @@ Author: Andreas Neukoetter (ti95neuk@de.ibm.com) #ifndef __JSRE_H #define __JSRE_H -#define JSRE_SEEK_SET 0 -#define JSRE_SEEK_CUR 1 -#define JSRE_SEEK_END 2 - -#define JSRE_O_RDONLY 0 -#define JSRE_O_WRONLY 1 -#define JSRE_O_RDWR 2 - -#define JSRE_O_CREAT 64 -#define JSRE_O_EXCL 128 -#define JSRE_O_NOCTTY 256 -#define JSRE_O_TRUNC 512 -#define JSRE_O_APPEND 1024 -#define JSRE_O_NDELAY 2048 -#define JSRE_O_SYNC 4096 -#define JSRE_O_ASYNC 8192 - #define JSRE_POSIX1_SIGNALCODE 0x2101 #define JSRE_CLOSE 2 @@ -67,104 +50,6 @@ Author: Andreas Neukoetter (ti95neuk@de.ibm.com) #define JSRE_ACCESS 29 #define JSRE_DUP 30 -typedef struct -{ - unsigned int pathname; - unsigned int pad0[ 3 ]; - unsigned int flags; - unsigned int pad1[ 3 ]; - unsigned int mode; - unsigned int pad2[ 3 ]; -} syscall_open_t; - -typedef struct -{ - unsigned int file; - unsigned int pad0[ 3 ]; - unsigned int ptr; - unsigned int pad1[ 3 ]; - unsigned int len; - unsigned int pad2[ 3 ]; -} syscall_write_t; - -typedef struct -{ - unsigned int file; - unsigned int pad0[ 3 ]; - unsigned int ptr; - unsigned int pad1[ 3 ]; - unsigned int len; - unsigned int pad2[ 3 ]; -} syscall_read_t; - -typedef struct -{ - unsigned int file; - unsigned int pad0[ 3 ]; -} syscall_close_t; - -typedef struct -{ - unsigned int file; - unsigned int pad0[ 3 ]; - unsigned int offset; - unsigned int pad1[ 3 ]; - unsigned int whence; - unsigned int pad2[ 3 ]; -} syscall_lseek_t; - -typedef struct -{ - unsigned int file; - unsigned int pad0[ 3 ]; - unsigned int length; - unsigned int pad1[ 3 ]; -} syscall_ftruncate_t; - -typedef struct -{ - unsigned int pathname; - unsigned int pad0[ 3 ]; - unsigned int mode; - unsigned int pad1[ 3 ]; -} syscall_access_t; - -typedef struct -{ - unsigned int oldfd; - unsigned int pad0[ 3 ]; -} syscall_dup_t; - -typedef struct -{ - unsigned int tv; - unsigned int pad0[ 3 ]; - unsigned int tz; - unsigned int pad1[ 3 ]; -} syscall_gettimeofday_t; - -typedef struct -{ - unsigned int pathname; - unsigned int pad0[ 3 ]; -} syscall_unlink_t; - -typedef struct -{ - unsigned int file; - unsigned int pad0[ 3 ]; - unsigned int ptr; - unsigned int pad1[ 3 ]; -} syscall_fstat_t; - -typedef struct -{ - unsigned int pathname; - unsigned int pad0[ 3 ]; - unsigned int ptr; - unsigned int pad1[ 3 ]; -} syscall_stat_t; - typedef struct { unsigned int dev; unsigned int ino; diff --git a/libgloss/spu/lseek.c b/libgloss/spu/lseek.c index 9ba372c..e5b3b75 100644 --- a/libgloss/spu/lseek.c +++ b/libgloss/spu/lseek.c @@ -33,6 +33,20 @@ Author: Andreas Neukoetter (ti95neuk@de.ibm.com) #include <unistd.h> #include "jsre.h" +#define JSRE_SEEK_SET 0 +#define JSRE_SEEK_CUR 1 +#define JSRE_SEEK_END 2 + +typedef struct +{ + unsigned int file; + unsigned int pad0[3]; + unsigned int offset; + unsigned int pad1[3]; + unsigned int whence; + unsigned int pad2[3]; +} syscall_lseek_t; + off_t lseek (int file, off_t offset, int whence) { diff --git a/libgloss/spu/open.c b/libgloss/spu/open.c index 46afcab..0c1b253 100644 --- a/libgloss/spu/open.c +++ b/libgloss/spu/open.c @@ -34,6 +34,29 @@ Author: Andreas Neukoetter (ti95neuk@de.ibm.com) #include <fcntl.h> #include "jsre.h" +#define JSRE_O_RDONLY 0 +#define JSRE_O_WRONLY 1 +#define JSRE_O_RDWR 2 + +#define JSRE_O_CREAT 64 +#define JSRE_O_EXCL 128 +#define JSRE_O_NOCTTY 256 +#define JSRE_O_TRUNC 512 +#define JSRE_O_APPEND 1024 +#define JSRE_O_NDELAY 2048 +#define JSRE_O_SYNC 4096 +#define JSRE_O_ASYNC 8192 + +typedef struct +{ + unsigned int pathname; + unsigned int pad0[3]; + unsigned int flags; + unsigned int pad1[3]; + unsigned int mode; + unsigned int pad2[3]; +} syscall_open_t; + int open (const char *filename, int flags, ...) { diff --git a/libgloss/spu/read.c b/libgloss/spu/read.c index 1a75ae0..4e7189c 100644 --- a/libgloss/spu/read.c +++ b/libgloss/spu/read.c @@ -33,10 +33,20 @@ Author: Andreas Neukoetter (ti95neuk@de.ibm.com) #include <fcntl.h> #include "jsre.h" +typedef struct +{ + unsigned int file; + unsigned int pad0[3]; + unsigned int ptr; + unsigned int pad1[3]; + unsigned int len; + unsigned int pad2[3]; +} syscall_read_t; + int read (int file, void *ptr, size_t len) { - syscall_write_t sys; + syscall_read_t sys; sys.file = file; sys.ptr = ( unsigned int )ptr; diff --git a/libgloss/spu/stat.c b/libgloss/spu/stat.c index ad925c6..5f64c42 100644 --- a/libgloss/spu/stat.c +++ b/libgloss/spu/stat.c @@ -34,6 +34,14 @@ Author: Andreas Neukoetter (ti95neuk@de.ibm.com) #include <fcntl.h> #include "jsre.h" +typedef struct +{ + unsigned int pathname; + unsigned int pad0[3]; + unsigned int ptr; + unsigned int pad1[3]; +} syscall_stat_t; + int stat (const char *pathname, struct stat *pstat) { diff --git a/libgloss/spu/unlink.c b/libgloss/spu/unlink.c index 4a7edef..6c5dadd 100644 --- a/libgloss/spu/unlink.c +++ b/libgloss/spu/unlink.c @@ -35,8 +35,5 @@ Author: Andreas Neukoetter (ti95neuk@de.ibm.com) int unlink (const char *pathname) { - syscall_unlink_t sys; - - sys.pathname = ( unsigned int )pathname; - return __send_to_ppe (JSRE_POSIX1_SIGNALCODE, JSRE_UNLINK, &sys); + return __send_to_ppe (JSRE_POSIX1_SIGNALCODE, JSRE_UNLINK, &pathname); } diff --git a/libgloss/spu/write.c b/libgloss/spu/write.c index c966342..7cd5e5a 100644 --- a/libgloss/spu/write.c +++ b/libgloss/spu/write.c @@ -33,6 +33,16 @@ Author: Andreas Neukoetter (ti95neuk@de.ibm.com) #include <fcntl.h> #include "jsre.h" +typedef struct +{ + unsigned int file; + unsigned int pad0[3]; + unsigned int ptr; + unsigned int pad1[3]; + unsigned int len; + unsigned int pad2[3]; +} syscall_write_t; + int write (int file, const void *ptr, size_t len) { |