aboutsummaryrefslogtreecommitdiff
path: root/linux-user/syscall.c
diff options
context:
space:
mode:
authorbellard <bellard@c046a42c-6fe2-441c-8c8c-71466251a162>2003-03-30 21:29:48 +0000
committerbellard <bellard@c046a42c-6fe2-441c-8c8c-71466251a162>2003-03-30 21:29:48 +0000
commit32f36bcefcd5710a00bb168bc40c407ae899b630 (patch)
tree8de3234a26e5f3062c14f0fbb06b5c10badd6e4e /linux-user/syscall.c
parentbc8a22cc307ebd9a2577c8fffcb90000724f72f3 (diff)
added SIOCATMARK and times() syscall
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@70 c046a42c-6fe2-441c-8c8c-71466251a162
Diffstat (limited to 'linux-user/syscall.c')
-rw-r--r--linux-user/syscall.c14
1 files changed, 13 insertions, 1 deletions
diff --git a/linux-user/syscall.c b/linux-user/syscall.c
index 898dbcdf03..16958be80c 100644
--- a/linux-user/syscall.c
+++ b/linux-user/syscall.c
@@ -40,6 +40,7 @@
#include <sys/socket.h>
#include <sys/uio.h>
#include <sys/poll.h>
+#include <sys/times.h>
//#include <sys/user.h>
#include <netinet/tcp.h>
@@ -1367,7 +1368,18 @@ long do_syscall(void *cpu_env, int num, long arg1, long arg2, long arg3,
}
break;
case TARGET_NR_times:
- goto unimplemented;
+ {
+ struct target_tms *tmsp = (void *)arg1;
+ struct tms tms;
+ ret = get_errno(times(&tms));
+ if (tmsp) {
+ tmsp->tms_utime = tswapl(tms.tms_utime);
+ tmsp->tms_stime = tswapl(tms.tms_stime);
+ tmsp->tms_cutime = tswapl(tms.tms_cutime);
+ tmsp->tms_cstime = tswapl(tms.tms_cstime);
+ }
+ }
+ break;
case TARGET_NR_prof:
goto unimplemented;
case TARGET_NR_setgid: