From 52d82ba5277b854196ed538aa5966155abbfd225 Mon Sep 17 00:00:00 2001 From: Jeff Johnston Date: Wed, 30 Aug 2006 19:06:48 +0000 Subject: [PATCH] 2006-08-30 Kazunori Asayama * spu/syscalls.c: Add a new argument to _send_to_ppe() to specify signal code. * spu/jsre.h: Update declaration of _send_to_ppe(). * spu/close.c: Replace _send_to_ppe_0x2101() by _send_to_ppe(). * spu/fstat.c: Ditto. * spu/lseek.c: Ditto. * spu/open.c: Ditto. * spu/read.c: Ditto. * spu/stat.c: Ditto. * spu/unlink.c: Ditto. * spu/write.c: Ditto. --- libgloss/ChangeLog | 14 ++++++++++++++ libgloss/spu/close.c | 2 +- libgloss/spu/fstat.c | 2 +- libgloss/spu/jsre.h | 4 +++- libgloss/spu/lseek.c | 2 +- libgloss/spu/open.c | 2 +- libgloss/spu/read.c | 2 +- libgloss/spu/stat.c | 2 +- libgloss/spu/syscalls.c | 6 ++++-- libgloss/spu/unlink.c | 2 +- libgloss/spu/write.c | 2 +- 11 files changed, 29 insertions(+), 11 deletions(-) diff --git a/libgloss/ChangeLog b/libgloss/ChangeLog index b49497045..86591ac14 100644 --- a/libgloss/ChangeLog +++ b/libgloss/ChangeLog @@ -1,3 +1,17 @@ +2006-08-30 Kazunori Asayama + + * spu/syscalls.c: Add a new argument to _send_to_ppe() to + specify signal code. + * spu/jsre.h: Update declaration of _send_to_ppe(). + * spu/close.c: Replace _send_to_ppe_0x2101() by _send_to_ppe(). + * spu/fstat.c: Ditto. + * spu/lseek.c: Ditto. + * spu/open.c: Ditto. + * spu/read.c: Ditto. + * spu/stat.c: Ditto. + * spu/unlink.c: Ditto. + * spu/write.c: Ditto. + 2006-08-30 Kazunori Asayama * spu/Makefile.in: Add dependency. diff --git a/libgloss/spu/close.c b/libgloss/spu/close.c index 4810447bb..2de16d0e5 100644 --- a/libgloss/spu/close.c +++ b/libgloss/spu/close.c @@ -41,7 +41,7 @@ close (int file) sys.file = file; - _send_to_ppe_0x2101 (JSRE_CLOSE, &sys); + _send_to_ppe (JSRE_POSIX1_SIGNALCODE, JSRE_CLOSE, &sys); errno = psys_out->err; return ( psys_out->rc); diff --git a/libgloss/spu/fstat.c b/libgloss/spu/fstat.c index 7a4920239..cd58c2928 100644 --- a/libgloss/spu/fstat.c +++ b/libgloss/spu/fstat.c @@ -44,7 +44,7 @@ fstat (int file, struct stat *pstat) sys.file = file; sys.ptr = ( unsigned int )&pjstat; - _send_to_ppe_0x2101 (JSRE_FSTAT, &sys); + _send_to_ppe (JSRE_POSIX1_SIGNALCODE, JSRE_FSTAT, &sys); pstat->st_dev = pjstat.dev; pstat->st_ino = pjstat.ino; diff --git a/libgloss/spu/jsre.h b/libgloss/spu/jsre.h index b366f60f4..2bf0be078 100644 --- a/libgloss/spu/jsre.h +++ b/libgloss/spu/jsre.h @@ -52,6 +52,8 @@ Author: Andreas Neukoetter (ti95neuk@de.ibm.com) #define JSRE_O_SYNC 4096 #define JSRE_O_ASYNC 8192 +#define JSRE_POSIX1_SIGNALCODE 0x2101 + #define JSRE_CLOSE 2 #define JSRE_FSTAT 4 #define JSRE_LSEEK 9 @@ -152,6 +154,6 @@ typedef struct { unsigned int ctime; } jsre_stat_t; -void _send_to_ppe_0x2101 (int opcode, void *data); +void _send_to_ppe (unsigned int signalcode, unsigned int opcode, void *data); #endif diff --git a/libgloss/spu/lseek.c b/libgloss/spu/lseek.c index bb57c6a90..7c3f451ea 100644 --- a/libgloss/spu/lseek.c +++ b/libgloss/spu/lseek.c @@ -55,7 +55,7 @@ lseek (int file, off_t offset, int whence) break; } - _send_to_ppe_0x2101 (JSRE_LSEEK, &sys); + _send_to_ppe (JSRE_POSIX1_SIGNALCODE, JSRE_LSEEK, &sys); errno = psys_out->err; return ( psys_out->rc); diff --git a/libgloss/spu/open.c b/libgloss/spu/open.c index 05a227441..af048a8a2 100644 --- a/libgloss/spu/open.c +++ b/libgloss/spu/open.c @@ -81,7 +81,7 @@ open (const char *filename, int flags, ...) sys.mode = 0; } - _send_to_ppe_0x2101 ( JSRE_OPEN, &sys); + _send_to_ppe (JSRE_POSIX1_SIGNALCODE, JSRE_OPEN, &sys); errno = psys_out->err; return ( psys_out->rc); diff --git a/libgloss/spu/read.c b/libgloss/spu/read.c index 580610809..178e85087 100644 --- a/libgloss/spu/read.c +++ b/libgloss/spu/read.c @@ -44,7 +44,7 @@ read (int file, void *ptr, size_t len) sys.ptr = ( unsigned int )ptr; sys.len = len; - _send_to_ppe_0x2101 (JSRE_READ, &sys); + _send_to_ppe (JSRE_POSIX1_SIGNALCODE, JSRE_READ, &sys); errno = psys_out->err; return ( psys_out->rc); diff --git a/libgloss/spu/stat.c b/libgloss/spu/stat.c index fe6513f4e..05e64ac3b 100644 --- a/libgloss/spu/stat.c +++ b/libgloss/spu/stat.c @@ -45,7 +45,7 @@ stat (const char *pathname, struct stat *pstat) sys.pathname = pathname; sys.ptr = ( unsigned int )&pjstat; - _send_to_ppe_0x2101 (JSRE_STAT, &sys); + _send_to_ppe (JSRE_POSIX1_SIGNALCODE, JSRE_STAT, &sys); pstat->st_dev = pjstat.dev; pstat->st_ino = pjstat.ino; diff --git a/libgloss/spu/syscalls.c b/libgloss/spu/syscalls.c index 26c3c99a3..65c6df92d 100644 --- a/libgloss/spu/syscalls.c +++ b/libgloss/spu/syscalls.c @@ -30,14 +30,16 @@ POSSIBILITY OF SUCH DAMAGE. Author: Andreas Neukoetter (ti95neuk@de.ibm.com) */ +#include "jsre.h" + void -_send_to_ppe_0x2101 (int opcode, void *data) +_send_to_ppe (unsigned int signalcode, unsigned int opcode, void *data) { unsigned int combined = ( ( opcode<<24 )&0xff000000 ) | ( ( unsigned int )data & 0x00ffffff ); vector unsigned int stopfunc = { - 0x00002101, /* stop 0x2101 */ + signalcode, /* stop */ (unsigned int) combined, 0x4020007f, /* nop */ 0x35000000 /* bi $0 */ diff --git a/libgloss/spu/unlink.c b/libgloss/spu/unlink.c index c6a746e46..6d143ca54 100644 --- a/libgloss/spu/unlink.c +++ b/libgloss/spu/unlink.c @@ -41,7 +41,7 @@ unlink (const char *pathname) sys.pathname = ( unsigned int )pathname; - _send_to_ppe_0x2101 (JSRE_UNLINK, &sys); + _send_to_ppe (JSRE_POSIX1_SIGNALCODE, JSRE_UNLINK, &sys); errno = psys_out->err; return ( psys_out->rc); diff --git a/libgloss/spu/write.c b/libgloss/spu/write.c index 97f2174b5..4952f670c 100644 --- a/libgloss/spu/write.c +++ b/libgloss/spu/write.c @@ -44,7 +44,7 @@ write (int file, const void *ptr, size_t len) sys.ptr = ( unsigned int )ptr; sys.len = len; - _send_to_ppe_0x2101 (JSRE_WRITE, &sys); + _send_to_ppe (JSRE_POSIX1_SIGNALCODE, JSRE_WRITE, &sys); errno = psys_out->err; return ( psys_out->rc);