aboutsummaryrefslogtreecommitdiffstats
path: root/sys/netbsd
diff options
context:
space:
mode:
authorAyushi Sharma <35501599+ais2397@users.noreply.github.com>2020-07-26 13:49:16 +0530
committerGitHub <noreply@github.com>2020-07-26 10:19:16 +0200
commit512651955aad51ef5f916aa2d84732e84d1c5e48 (patch)
treead55c8fefbdaa89db6659e852e4373af4f98df96 /sys/netbsd
parent1f7cc1ca26f786658b146bf760d9698390e9bbfb (diff)
Adding ksem family of syscalls (#1972)
* sys/netbsd: adding ksem related syscalls * sys/netbsd: adding missing header files to lwp.txt * sys/netbsd: updating descriptions for ksem family syscalls * sys/netbsd: updating descriptions for ksem family syscalls
Diffstat (limited to 'sys/netbsd')
-rw-r--r--sys/netbsd/lwp.txt16
-rw-r--r--sys/netbsd/lwp_amd64.const13
2 files changed, 29 insertions, 0 deletions
diff --git a/sys/netbsd/lwp.txt b/sys/netbsd/lwp.txt
index 8694f11ac..004a23a45 100644
--- a/sys/netbsd/lwp.txt
+++ b/sys/netbsd/lwp.txt
@@ -3,6 +3,8 @@
include <sys/types.h>
include <sys/lwp.h>
+include <sys/ksem.h>
+include <sys/fcntl.h>
include <sys/lwpctl.h>
include <sys/ucontext.h>
include <sys/signal.h>
@@ -28,6 +30,19 @@ _lwp_setname(target lwpid, name ptr[in, string])
_lwp_getname(target lwpid, name ptr[out, string], size bytesize[name])
_lwp_ctl(features int32, address ptr[in, ptr[in, lwpctl]])
+resource semid[intptr]: 0, KSEM_PSHARED
+
+_ksem_init(val int32, idp ptr[inout, semid[opt]])
+_ksem_open(name buffer[in], oflag flags[semopen_flags], mode flags[open_mode], val int32, idp ptr[out, semid])
+_ksem_unlink(name buffer[in])
+_ksem_close(id semid)
+_ksem_post(id semid)
+_ksem_wait(id semid)
+_ksem_trywait(id semid)
+_ksem_getvalue(id semid, val ptr[out, int32])
+_ksem_destroy(id semid)
+_ksem_timedwait(id semid, abstime ptr[in, timespec])
+
ucontext_t {
uc_flags flags[ucontext_flags, int32]
uc_link ptr[in, ucontext_t, opt]
@@ -60,3 +75,4 @@ lwpctl {
lwp_flags = LWP_DETACHED, LWP_SUSPENDED
ucontext_flags = _UC_SIGMASK, _UC_STACK, _UC_CPU, _UC_FPU, _UC_MD
stack_flags = SS_DISABLE, SS_ONSTACK
+semopen_flags = O_CREAT, O_EXCL
diff --git a/sys/netbsd/lwp_amd64.const b/sys/netbsd/lwp_amd64.const
index d85e3b376..918b7356a 100644
--- a/sys/netbsd/lwp_amd64.const
+++ b/sys/netbsd/lwp_amd64.const
@@ -1,8 +1,21 @@
# AUTOGENERATED FILE
+KSEM_PSHARED = 1347637828
LWP_DETACHED = 64
LWP_SUSPENDED = 128
+O_CREAT = 512
+O_EXCL = 2048
SS_DISABLE = 4
SS_ONSTACK = 1
+SYS__ksem_close = 250
+SYS__ksem_destroy = 255
+SYS__ksem_getvalue = 254
+SYS__ksem_init = 247
+SYS__ksem_open = 248
+SYS__ksem_post = 251
+SYS__ksem_timedwait = 256
+SYS__ksem_trywait = 253
+SYS__ksem_unlink = 249
+SYS__ksem_wait = 252
SYS__lwp_continue = 314
SYS__lwp_create = 309
SYS__lwp_ctl = 325