All of lore.kernel.org
 help / color / mirror / Atom feed
From: James Pellow <james@alentdesignsolutions.com>
To: Paul Brook <paul@codesourcery.com>
Cc: qemu-devel@nongnu.org
Subject: Re: [Qemu-devel] Syscall 269
Date: Fri, 3 Dec 2004 16:05:10 -0800	[thread overview]
Message-ID: <200412031605.10444.james@alentdesignsolutions.com> (raw)
In-Reply-To: <200411181303.47086.paul@codesourcery.com>

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.

Thanks,

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-03 15:44:37.174197904 -0800
@@ -3025,6 +3025,15 @@
     case TARGET_NR_get_thread_area:
         goto unimplemented_nowarn;
 #endif
+    case TARGET_NR_utimes:
+    {
+       struct timeval tv;
+       struct timeval *target_tv = (struct timeval *)arg2;
+       tv.tv_sec  = tswapl(target_tv->tv_sec);
+       tv.tv_usec = tswapl(target_tv->tv_usec);
+       ret = get_errno(utimes((const char *)arg1, &tv));
+       break;
+    }
     default:
     unimplemented:
         gemu_log("qemu: Unsupported syscall: %d\n", num);

------------------------------------------------------------------------------------------------------------------------



On Thursday 18 November 2004 05:03 am, Paul Brook wrote:
> On Thursday 18 November 2004 09:38, James Pellow wrote:
> > Hi All,
> >
> > I am trying to chroot to a gentoo flavor of arm linux on my AMD
> > tbird-1.4GHz. I have set up binfmt_misc and qemu to allow me to do the
> > chroot, and all seems to be working well.  Now I wanted to emerge some
> > stuff, and I get the following message:
> >
> > qemu: Unsupported syscall: 269.
> >
> > Looking at the arm linux kernel source, I see that 269 is utimes. 
> > Looking at the source code for qemu it seems that all I have to do is to
> > add a define for TARGET_NR_utimes in all linux-user/*/syscall_nr.h and
> > then add a new case in linux-user/syscall.c.
> >
> > So, I gave it a shot.  The patch is at the bottom of this message.  This
> > is the first time I have looked at the qemu sources, so I am likely
> > missing something, but the patch does seem to allow emerge to work
> > properly under gentoo.  If a correct implementation requires more work, I
> > am happy to do that too, just let me know.  BTW, I am not subscribed to
> > this list to please CC me.
>
> You also need to do proper 32/64bit and big/little endian conversion of
> struct timeval. It happens to work in your case because arm-linux and
> i686-linux both use the same word size and endianness.
>
> Paul

-- 
*****************************
James A. Pellow, President
Alent Design Solutions
www.alentdesignsolutions.com
(509) 526-0682
*****************************

  parent reply	other threads:[~2004-12-04  0:18 UTC|newest]

Thread overview: 13+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2004-11-18  9:38 [Qemu-devel] Syscall 269 James Pellow
2004-11-18 13:03 ` Paul Brook
2004-11-18 18:24   ` James Pellow
2004-12-04  0:05   ` James Pellow [this message]
2004-12-04 15:09     ` Paul Brook
2004-12-06  1:16       ` James Pellow
2004-12-06  1:26         ` Paul Brook
2004-12-06  2:58           ` James Pellow
2004-12-08  0:07     ` [Qemu-devel] Trivial (but useful) patch to save qemu pid to file Nile Geisinger
2004-12-08 18:12       ` Felipe Sanchez
2004-12-08 22:01         ` Fabrice Bellard
2004-12-09  2:11           ` Tim
2004-12-13 13:20           ` Nile Geisinger

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=200412031605.10444.james@alentdesignsolutions.com \
    --to=james@alentdesignsolutions.com \
    --cc=paul@codesourcery.com \
    --cc=qemu-devel@nongnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.