summaryrefslogtreecommitdiffstats
path: root/libgloss/spu/syscalls.c
diff options
context:
space:
mode:
authorJeff Johnston <jjohnstn@redhat.com>2007-05-23 21:39:54 +0000
committerJeff Johnston <jjohnstn@redhat.com>2007-05-23 21:39:54 +0000
commita0050b64fc79c4bab523e7abf0739ab22a4d2a33 (patch)
treec204b305fea8f9aefa971fbf553458ddac581cbc /libgloss/spu/syscalls.c
parent9a3ec8622b2fb10c95112188c7f5ff1424c738e6 (diff)
downloadcygnal-a0050b64fc79c4bab523e7abf0739ab22a4d2a33.tar.gz
cygnal-a0050b64fc79c4bab523e7abf0739ab22a4d2a33.tar.bz2
cygnal-a0050b64fc79c4bab523e7abf0739ab22a4d2a33.zip
2007-05-23 Patrick Mansfield <patmans@us.ibm.com>
* spu/syscalls.c: Change __send_to_ppe to return the result stored in stored in slot 0 of the data, rather than have each assisted call retrieve the value. * spu/jsre.h: Remove the now unused syscall_out_t. * spu/access.c: Use the __send_to_ppe result instead of the slot 0 value, remove unused syscall_out_t variable. * spu/close.c: Ditto. * spu/dup.c: Ditto. * spu/fstat.c: Ditto. * spu/ftruncate.c: Ditto. * spu/gettimeofday.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.
Diffstat (limited to 'libgloss/spu/syscalls.c')
-rw-r--r--libgloss/spu/syscalls.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/libgloss/spu/syscalls.c b/libgloss/spu/syscalls.c
index e4509c097..f2f292853 100644
--- a/libgloss/spu/syscalls.c
+++ b/libgloss/spu/syscalls.c
@@ -32,7 +32,7 @@ Author: Andreas Neukoetter (ti95neuk@de.ibm.com)
#include <errno.h>
#include "jsre.h"
-void
+int
__send_to_ppe (unsigned int signalcode, unsigned int opcode, void *data)
{
@@ -49,5 +49,10 @@ __send_to_ppe (unsigned int signalcode, unsigned int opcode, void *data)
asm ("sync");
f ();
errno = ((unsigned int *) data)[3];
+
+ /*
+ * Return the rc code stored in slot 0.
+ */
+ return ((unsigned int *) data)[0];
}