Loading linux-user/ioctls.h +1 −0 Original line number Diff line number Diff line Loading @@ -66,6 +66,7 @@ IOCTL(FIGETBSZ, IOC_R, MK_PTR(TYPE_LONG)) #endif IOCTL(SIOCATMARK, 0, TYPE_NULL) IOCTL(SIOCADDRT, IOC_W, MK_PTR(MK_STRUCT(STRUCT_rtentry))) IOCTL(SIOCDELRT, IOC_W, MK_PTR(MK_STRUCT(STRUCT_rtentry))) IOCTL(SIOCGIFNAME, IOC_RW, MK_PTR(TYPE_INT)) Loading linux-user/syscall.c +13 −1 Original line number Diff line number Diff line Loading @@ -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> Loading Loading @@ -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: Loading linux-user/syscall_defs.h +9 −0 Original line number Diff line number Diff line Loading @@ -39,6 +39,15 @@ struct target_itimerval { struct target_timeval it_value; }; typedef target_long target_clock_t; struct target_tms { target_clock_t tms_utime; target_clock_t tms_stime; target_clock_t tms_cutime; target_clock_t tms_cstime; }; struct target_iovec { target_long iov_base; /* Starting address */ target_long iov_len; /* Number of bytes */ Loading syscall-i386.h +2 −0 Original line number Diff line number Diff line Loading @@ -1065,3 +1065,5 @@ union target_semun { #define TARGET_VFAT_IOCTL_READDIR_BOTH 0x82187201 #define TARGET_VFAT_IOCTL_READDIR_SHORT 0x82187202 #define TARGET_SIOCATMARK 0x8905 Loading
linux-user/ioctls.h +1 −0 Original line number Diff line number Diff line Loading @@ -66,6 +66,7 @@ IOCTL(FIGETBSZ, IOC_R, MK_PTR(TYPE_LONG)) #endif IOCTL(SIOCATMARK, 0, TYPE_NULL) IOCTL(SIOCADDRT, IOC_W, MK_PTR(MK_STRUCT(STRUCT_rtentry))) IOCTL(SIOCDELRT, IOC_W, MK_PTR(MK_STRUCT(STRUCT_rtentry))) IOCTL(SIOCGIFNAME, IOC_RW, MK_PTR(TYPE_INT)) Loading
linux-user/syscall.c +13 −1 Original line number Diff line number Diff line Loading @@ -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> Loading Loading @@ -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: Loading
linux-user/syscall_defs.h +9 −0 Original line number Diff line number Diff line Loading @@ -39,6 +39,15 @@ struct target_itimerval { struct target_timeval it_value; }; typedef target_long target_clock_t; struct target_tms { target_clock_t tms_utime; target_clock_t tms_stime; target_clock_t tms_cutime; target_clock_t tms_cstime; }; struct target_iovec { target_long iov_base; /* Starting address */ target_long iov_len; /* Number of bytes */ Loading
syscall-i386.h +2 −0 Original line number Diff line number Diff line Loading @@ -1065,3 +1065,5 @@ union target_semun { #define TARGET_VFAT_IOCTL_READDIR_BOTH 0x82187201 #define TARGET_VFAT_IOCTL_READDIR_SHORT 0x82187202 #define TARGET_SIOCATMARK 0x8905