From fbadebae4e5d8a05ebfb96f037ec7a6d7b146be0 Mon Sep 17 00:00:00 2001 From: Jeff Johnston Date: Wed, 21 Feb 2007 19:30:44 +0000 Subject: 2007-02-21 Patrick Mansfield * libgloss/spu/gettimeofday.c: New file which adds SPU gettimeofday. * libgloss/spu/jsre.h: Remove time, add gettimeofday. * libgloss/spu/Makefile.in: Ditto. --- libgloss/ChangeLog | 6 ++++++ libgloss/spu/Makefile.in | 2 +- libgloss/spu/gettimeofday.c | 50 +++++++++++++++++++++++++++++++++++++++++++++ libgloss/spu/jsre.h | 8 +++++--- libgloss/spu/time.c | 49 -------------------------------------------- 5 files changed, 62 insertions(+), 53 deletions(-) create mode 100644 libgloss/spu/gettimeofday.c delete mode 100644 libgloss/spu/time.c diff --git a/libgloss/ChangeLog b/libgloss/ChangeLog index 9ae2701ca..9ae860df7 100644 --- a/libgloss/ChangeLog +++ b/libgloss/ChangeLog @@ -1,3 +1,9 @@ +2007-02-21 Patrick Mansfield + + * libgloss/spu/gettimeofday.c: New file which adds SPU gettimeofday. + * libgloss/spu/jsre.h: Remove time, add gettimeofday. + * libgloss/spu/Makefile.in: Ditto. + 2007-02-21 Hans-Peter Nilsson * cris/crt0.S: Use jump, not ba, to skip the interrupt table. Use diff --git a/libgloss/spu/Makefile.in b/libgloss/spu/Makefile.in index a68d8b7ba..ae8eb4360 100644 --- a/libgloss/spu/Makefile.in +++ b/libgloss/spu/Makefile.in @@ -56,7 +56,7 @@ OBJCOPY = `t='$(program_transform_name)'; echo objcopy | sed -e $$t` # object files needed OBJS = syscalls.o exit.o sbrk.o close.o fstat.o getpid.o isatty.o \ kill.o lseek.o open.o read.o unlink.o write.o stat.o \ - ftruncate.o dup.o access.o time.o + ftruncate.o dup.o access.o gettimeofday.o # Object files specific to particular targets. EVALOBJS = ${OBJS} diff --git a/libgloss/spu/gettimeofday.c b/libgloss/spu/gettimeofday.c new file mode 100644 index 000000000..78f26a25c --- /dev/null +++ b/libgloss/spu/gettimeofday.c @@ -0,0 +1,50 @@ +/* +(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. + +*/ + +#include +#include +#include +#include "jsre.h" + +int +gettimeofday (struct timeval *tv, struct timezone *tz) +{ + syscall_gettimeofday_t sys; + syscall_out_t *psys_out = ( syscall_out_t* )&sys; + + sys.tv = (unsigned int)tv; + sys.tz = (unsigned int)tz; + + _send_to_ppe (JSRE_POSIX1_SIGNALCODE, JSRE_GETTIMEOFDAY, &sys); + + errno = psys_out->err; + return (psys_out->rc); +} diff --git a/libgloss/spu/jsre.h b/libgloss/spu/jsre.h index 4b95618ac..f2dda3d13 100644 --- a/libgloss/spu/jsre.h +++ b/libgloss/spu/jsre.h @@ -56,6 +56,7 @@ Author: Andreas Neukoetter (ti95neuk@de.ibm.com) #define JSRE_CLOSE 2 #define JSRE_FSTAT 4 +#define JSRE_GETTIMEOFDAY 7 #define JSRE_LSEEK 9 #define JSRE_OPEN 15 #define JSRE_READ 16 @@ -65,7 +66,6 @@ Author: Andreas Neukoetter (ti95neuk@de.ibm.com) #define JSRE_FTRUNCATE 28 #define JSRE_ACCESS 29 #define JSRE_DUP 30 -#define JSRE_TIME 31 typedef struct { @@ -137,9 +137,11 @@ typedef struct typedef struct { - unsigned int time; + unsigned int tv; unsigned int pad0[ 3 ]; -} syscall_time_t; + unsigned int tz; + unsigned int pad1[ 3 ]; +} syscall_gettimeofday_t; typedef struct { diff --git a/libgloss/spu/time.c b/libgloss/spu/time.c deleted file mode 100644 index ab5363bbd..000000000 --- a/libgloss/spu/time.c +++ /dev/null @@ -1,49 +0,0 @@ -/* -(C) Copyright IBM Corp. 2005, 2006 - -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. - -*/ - -#include -#include -#include "jsre.h" - -time_t -time (time_t *t) -{ - syscall_time_t sys; - syscall_out_t *psys_out = ( syscall_out_t* )&sys; - - sys.time = (unsigned int)t; - - _send_to_ppe (JSRE_POSIX1_SIGNALCODE, JSRE_TIME, &sys); - - errno = psys_out->err; - return ( psys_out->rc); -} - -- cgit v1.2.3