mirror of https://gitee.com/openkylin/qemu.git
added SIOCATMARK and times() syscall
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@70 c046a42c-6fe2-441c-8c8c-71466251a162
This commit is contained in:
parent
bc8a22cc30
commit
32f36bcefc
|
@ -66,6 +66,7 @@
|
||||||
IOCTL(FIGETBSZ, IOC_R, MK_PTR(TYPE_LONG))
|
IOCTL(FIGETBSZ, IOC_R, MK_PTR(TYPE_LONG))
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
IOCTL(SIOCATMARK, 0, TYPE_NULL)
|
||||||
IOCTL(SIOCADDRT, IOC_W, MK_PTR(MK_STRUCT(STRUCT_rtentry)))
|
IOCTL(SIOCADDRT, IOC_W, MK_PTR(MK_STRUCT(STRUCT_rtentry)))
|
||||||
IOCTL(SIOCDELRT, 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))
|
IOCTL(SIOCGIFNAME, IOC_RW, MK_PTR(TYPE_INT))
|
||||||
|
|
|
@ -40,6 +40,7 @@
|
||||||
#include <sys/socket.h>
|
#include <sys/socket.h>
|
||||||
#include <sys/uio.h>
|
#include <sys/uio.h>
|
||||||
#include <sys/poll.h>
|
#include <sys/poll.h>
|
||||||
|
#include <sys/times.h>
|
||||||
//#include <sys/user.h>
|
//#include <sys/user.h>
|
||||||
#include <netinet/tcp.h>
|
#include <netinet/tcp.h>
|
||||||
|
|
||||||
|
@ -1367,7 +1368,18 @@ long do_syscall(void *cpu_env, int num, long arg1, long arg2, long arg3,
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case TARGET_NR_times:
|
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:
|
case TARGET_NR_prof:
|
||||||
goto unimplemented;
|
goto unimplemented;
|
||||||
case TARGET_NR_setgid:
|
case TARGET_NR_setgid:
|
||||||
|
|
|
@ -39,6 +39,15 @@ struct target_itimerval {
|
||||||
struct target_timeval it_value;
|
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 {
|
struct target_iovec {
|
||||||
target_long iov_base; /* Starting address */
|
target_long iov_base; /* Starting address */
|
||||||
target_long iov_len; /* Number of bytes */
|
target_long iov_len; /* Number of bytes */
|
||||||
|
|
|
@ -1065,3 +1065,5 @@ union target_semun {
|
||||||
|
|
||||||
#define TARGET_VFAT_IOCTL_READDIR_BOTH 0x82187201
|
#define TARGET_VFAT_IOCTL_READDIR_BOTH 0x82187201
|
||||||
#define TARGET_VFAT_IOCTL_READDIR_SHORT 0x82187202
|
#define TARGET_VFAT_IOCTL_READDIR_SHORT 0x82187202
|
||||||
|
|
||||||
|
#define TARGET_SIOCATMARK 0x8905
|
||||||
|
|
Loading…
Reference in New Issue