diff options
author | davidxu <davidxu@FreeBSD.org> | 2012-08-17 02:26:31 +0000 |
---|---|---|
committer | davidxu <davidxu@FreeBSD.org> | 2012-08-17 02:26:31 +0000 |
commit | 3f0806aa1fc8c8dc2f294421d558472faec7fd3f (patch) | |
tree | 0a8a4e31773d219b58db16ff36859c4d3d4eb6cc /sys/kern/systrace_args.c | |
parent | 71de2d67ba40838ccc3b3d8320d1513b40220ec4 (diff) | |
download | FreeBSD-src-3f0806aa1fc8c8dc2f294421d558472faec7fd3f.zip FreeBSD-src-3f0806aa1fc8c8dc2f294421d558472faec7fd3f.tar.gz |
Implement syscall clock_getcpuclockid2, so we can get a clock id
for process, thread or others we want to support.
Use the syscall to implement POSIX API clock_getcpuclock and
pthread_getcpuclockid.
PR: 168417
Diffstat (limited to 'sys/kern/systrace_args.c')
-rw-r--r-- | sys/kern/systrace_args.c | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/sys/kern/systrace_args.c b/sys/kern/systrace_args.c index 522954b..4c57237 100644 --- a/sys/kern/systrace_args.c +++ b/sys/kern/systrace_args.c @@ -1358,6 +1358,15 @@ systrace_args(int sysnum, void *params, uint64_t *uarg, int *n_args) *n_args = 1; break; } + /* clock_getcpuclockid2 */ + case 247: { + struct clock_getcpuclockid2_args *p = params; + iarg[0] = p->id; /* id_t */ + iarg[1] = p->which; /* int */ + uarg[2] = (intptr_t) p->clock_id; /* clockid_t * */ + *n_args = 3; + break; + } /* ntp_gettime */ case 248: { struct ntp_gettime_args *p = params; @@ -5432,6 +5441,22 @@ systrace_entry_setargdesc(int sysnum, int ndx, char *desc, size_t descsz) break; }; break; + /* clock_getcpuclockid2 */ + case 247: + switch(ndx) { + case 0: + p = "id_t"; + break; + case 1: + p = "int"; + break; + case 2: + p = "clockid_t *"; + break; + default: + break; + }; + break; /* ntp_gettime */ case 248: switch(ndx) { @@ -9464,6 +9489,11 @@ systrace_return_setargdesc(int sysnum, int ndx, char *desc, size_t descsz) if (ndx == 0 || ndx == 1) p = "int"; break; + /* clock_getcpuclockid2 */ + case 247: + if (ndx == 0 || ndx == 1) + p = "int"; + break; /* ntp_gettime */ case 248: if (ndx == 0 || ndx == 1) |