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.
This commit is contained in:
Jeff Johnston 2007-06-05 19:01:30 +00:00
parent 7f6ee25a1a
commit 184dcf2bc3
14 changed files with 122 additions and 128 deletions

View File

@ -1,3 +1,24 @@
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.
2007-05-30 Kazu Hirata <kazu@codesourcery.com> 2007-05-30 Kazu Hirata <kazu@codesourcery.com>
* m68k/cf-crt1.C, m68k/cf.sc, m68k/fido.sc, m68k/fido-crt0.S: * m68k/cf-crt1.C, m68k/cf.sc, m68k/fido.sc, m68k/fido-crt0.S:

View File

@ -31,6 +31,14 @@ POSSIBILITY OF SUCH DAMAGE.
#include "jsre.h" #include "jsre.h"
typedef struct
{
unsigned int pathname;
unsigned int pad0[3];
unsigned int mode;
unsigned int pad1[3];
} syscall_access_t;
int int
access (const char *pathname, int mode) access (const char *pathname, int mode)
{ {

View File

@ -35,8 +35,5 @@ Author: Andreas Neukoetter (ti95neuk@de.ibm.com)
int int
close (int file) close (int file)
{ {
syscall_close_t sys; return __send_to_ppe (JSRE_POSIX1_SIGNALCODE, JSRE_CLOSE, &file);
sys.file = file;
return __send_to_ppe (JSRE_POSIX1_SIGNALCODE, JSRE_CLOSE, &sys);
} }

View File

@ -34,8 +34,5 @@ POSSIBILITY OF SUCH DAMAGE.
int int
dup (int oldfd) dup (int oldfd)
{ {
syscall_dup_t sys; return __send_to_ppe (JSRE_POSIX1_SIGNALCODE, JSRE_DUP, &oldfd);
sys.oldfd = oldfd;
return __send_to_ppe (JSRE_POSIX1_SIGNALCODE, JSRE_DUP, &sys);
} }

View File

@ -33,6 +33,14 @@ Author: Andreas Neukoetter (ti95neuk@de.ibm.com)
#include <sys/stat.h> #include <sys/stat.h>
#include "jsre.h" #include "jsre.h"
typedef struct
{
unsigned int file;
unsigned int pad0[3];
unsigned int ptr;
unsigned int pad1[3];
} syscall_fstat_t;
int int
fstat (int file, struct stat *pstat) fstat (int file, struct stat *pstat)
{ {

View File

@ -31,6 +31,14 @@ POSSIBILITY OF SUCH DAMAGE.
#include <unistd.h> #include <unistd.h>
#include "jsre.h" #include "jsre.h"
typedef struct
{
unsigned int file;
unsigned int pad0[3];
unsigned int length;
unsigned int pad1[3];
} syscall_ftruncate_t;
int int
ftruncate (int file, off_t length) ftruncate (int file, off_t length)
{ {

View File

@ -34,6 +34,14 @@ POSSIBILITY OF SUCH DAMAGE.
#include <sys/time.h> #include <sys/time.h>
#include "jsre.h" #include "jsre.h"
typedef struct
{
unsigned int tv;
unsigned int pad0[3];
unsigned int tz;
unsigned int pad1[3];
} syscall_gettimeofday_t;
int int
gettimeofday (struct timeval *tv, struct timezone *tz) gettimeofday (struct timeval *tv, struct timezone *tz)
{ {

View File

@ -35,23 +35,6 @@ Author: Andreas Neukoetter (ti95neuk@de.ibm.com)
#ifndef __JSRE_H #ifndef __JSRE_H
#define __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_POSIX1_SIGNALCODE 0x2101
#define JSRE_CLOSE 2 #define JSRE_CLOSE 2
@ -67,104 +50,6 @@ Author: Andreas Neukoetter (ti95neuk@de.ibm.com)
#define JSRE_ACCESS 29 #define JSRE_ACCESS 29
#define JSRE_DUP 30 #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 { typedef struct {
unsigned int dev; unsigned int dev;
unsigned int ino; unsigned int ino;

View File

@ -33,6 +33,20 @@ Author: Andreas Neukoetter (ti95neuk@de.ibm.com)
#include <unistd.h> #include <unistd.h>
#include "jsre.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 off_t
lseek (int file, off_t offset, int whence) lseek (int file, off_t offset, int whence)
{ {

View File

@ -34,6 +34,29 @@ Author: Andreas Neukoetter (ti95neuk@de.ibm.com)
#include <fcntl.h> #include <fcntl.h>
#include "jsre.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 int
open (const char *filename, int flags, ...) open (const char *filename, int flags, ...)
{ {

View File

@ -33,10 +33,20 @@ Author: Andreas Neukoetter (ti95neuk@de.ibm.com)
#include <fcntl.h> #include <fcntl.h>
#include "jsre.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 int
read (int file, void *ptr, size_t len) read (int file, void *ptr, size_t len)
{ {
syscall_write_t sys; syscall_read_t sys;
sys.file = file; sys.file = file;
sys.ptr = ( unsigned int )ptr; sys.ptr = ( unsigned int )ptr;

View File

@ -34,6 +34,14 @@ Author: Andreas Neukoetter (ti95neuk@de.ibm.com)
#include <fcntl.h> #include <fcntl.h>
#include "jsre.h" #include "jsre.h"
typedef struct
{
unsigned int pathname;
unsigned int pad0[3];
unsigned int ptr;
unsigned int pad1[3];
} syscall_stat_t;
int int
stat (const char *pathname, struct stat *pstat) stat (const char *pathname, struct stat *pstat)
{ {

View File

@ -35,8 +35,5 @@ Author: Andreas Neukoetter (ti95neuk@de.ibm.com)
int int
unlink (const char *pathname) unlink (const char *pathname)
{ {
syscall_unlink_t sys; return __send_to_ppe (JSRE_POSIX1_SIGNALCODE, JSRE_UNLINK, &pathname);
sys.pathname = ( unsigned int )pathname;
return __send_to_ppe (JSRE_POSIX1_SIGNALCODE, JSRE_UNLINK, &sys);
} }

View File

@ -33,6 +33,16 @@ Author: Andreas Neukoetter (ti95neuk@de.ibm.com)
#include <fcntl.h> #include <fcntl.h>
#include "jsre.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 int
write (int file, const void *ptr, size_t len) write (int file, const void *ptr, size_t len)
{ {