[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] Syscall 269
From: |
James Pellow |
Subject: |
Re: [Qemu-devel] Syscall 269 |
Date: |
Sun, 5 Dec 2004 17:16:25 -0800 |
User-agent: |
KMail/1.7.1 |
Hi Paul,
Ok, third time is the charm right... It looks like the functions you referred
to that handle struct timeval, are doing exactly what I had done. Here is an
updated patch that factors out the swap code using the existing function.
Hopefully this is ready for inclusion. Thanks for your help with this and
for a truely incredible project!
-James Pellow
-----------------------------------------------------------------------------------------------------------------
diff -ruN qemu-0.6.1/linux-user/arm/syscall_nr.h
qemu-0.6.1_new/linux-user/arm/syscall_nr.h
--- qemu-0.6.1/linux-user/arm/syscall_nr.h 2004-11-14 12:51:33.000000000
-0800
+++ qemu-0.6.1_new/linux-user/arm/syscall_nr.h 2004-11-18 00:58:44.000000000
-0800
@@ -259,3 +259,5 @@
/* 254 for set_thread_area */
/* 255 for get_thread_area */
/* 256 for set_tid_address */
+#define TARGET_NR_utimes (269)
+
diff -ruN qemu-0.6.1/linux-user/i386/syscall_nr.h
qemu-0.6.1_new/linux-user/i386/syscall_nr.h
--- qemu-0.6.1/linux-user/i386/syscall_nr.h 2004-11-14 12:51:33.000000000
-0800
+++ qemu-0.6.1_new/linux-user/i386/syscall_nr.h 2004-11-18 01:28:59.000000000
-0800
@@ -271,3 +271,5 @@
#define TARGET_NR_clock_getres (TARGET_NR_timer_create+7)
#define TARGET_NR_clock_nanosleep (TARGET_NR_timer_create+8)
+#define TARGET_NR_utimes 271
+
diff -ruN qemu-0.6.1/linux-user/syscall.c qemu-0.6.1_new/linux-user/syscall.c
--- qemu-0.6.1/linux-user/syscall.c 2004-11-14 12:51:33.000000000 -0800
+++ qemu-0.6.1_new/linux-user/syscall.c 2004-12-05 17:03:18.278887920 -0800
@@ -3025,6 +3025,14 @@
case TARGET_NR_get_thread_area:
goto unimplemented_nowarn;
#endif
+ case TARGET_NR_utimes:
+ {
+ struct target_timeval *target_tv = (void *)arg2;
+ struct timeval tv;
+ target_to_host_timeval(&tv, target_tv);
+ ret = get_errno(utimes((const char *)arg1, &tv));
+ break;
+ }
default:
unimplemented:
gemu_log("qemu: Unsupported syscall: %d\n", num);
-----------------------------------------------------------------------------------------------------------------
On Saturday 04 December 2004 07:09 am, Paul Brook wrote:
> On Saturday 04 December 2004 00:05, James Pellow wrote:
> > Hi Paul,
> >
> > Is this closer to what you want? I saw the swap functions. I wasn't
> > sure what long translated to for all supported archs. Do I need to do
> > 32/64 bit translation? tv_sec and tv_usec are both long.
>
> There is already code to properly handle struct timeval, you should use
> that. See the code for TARGET_NR_settimeofday.
>
> Paul
--
*****************************
James A. Pellow, President
Alent Design Solutions
www.alentdesignsolutions.com
(509) 526-0682
*****************************