From 46105100bf516b6a622bbbfc3018b17a4ab3c6df Mon Sep 17 00:00:00 2001 From: Ayushi Sharma <35501599+ais2397@users.noreply.github.com> Date: Tue, 31 Mar 2020 17:44:00 +0530 Subject: sys/netbsd: adding lwp syscalls (#1654) --- sys/netbsd/gen/amd64.go | 14 +++++++++++++- sys/netbsd/lwp.txt | 3 ++- sys/netbsd/lwp_amd64.const | 1 + sys/netbsd/sys.txt | 5 +++++ 4 files changed, 21 insertions(+), 2 deletions(-) (limited to 'sys/netbsd') diff --git a/sys/netbsd/gen/amd64.go b/sys/netbsd/gen/amd64.go index 7a2d103cd..87199d6d3 100644 --- a/sys/netbsd/gen/amd64.go +++ b/sys/netbsd/gen/amd64.go @@ -402,6 +402,11 @@ var structDescs_amd64 = []*KeyedStruct{ &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "intptr", FldName: "sec", TypeSize: 8, ArgDir: 1}}}, &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "intptr", FldName: "nsec", TypeSize: 8, ArgDir: 1}}}, }}}, + {StructKey{Name: "timespec50"}, &StructDesc{TypeCommon: TypeCommon{TypeName: "timespec50", TypeSize: 16}, Fields: []Type{ + &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "sec", TypeSize: 4}}}, + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "pad", TypeSize: 4}}, IsPad: true}, + &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "intptr", FldName: "nsec", TypeSize: 8}}}, + }}}, {StructKey{Name: "timeval"}, &StructDesc{TypeCommon: TypeCommon{TypeName: "timeval", TypeSize: 16}, Fields: []Type{ &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "intptr", FldName: "sec", TypeSize: 8}}}, &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "intptr", FldName: "usec", TypeSize: 8}}}, @@ -574,6 +579,12 @@ var syscalls_amd64 = []*Syscall{ &ResourceType{TypeCommon: TypeCommon{TypeName: "fd", FldName: "fd", TypeSize: 4}}, }}, {NR: 320, Name: "compat_50__lwp_park", CallName: "compat_50__lwp_park", Args: []Type{ + &PtrType{TypeCommon{TypeName: "ptr", FldName: "ts", TypeSize: 8}, &StructType{Key: StructKey{Name: "timespec50"}}}, + &ResourceType{TypeCommon: TypeCommon{TypeName: "lwpid", FldName: "unpark", TypeSize: 4}}, + &PtrType{TypeCommon{TypeName: "ptr", FldName: "hint", TypeSize: 8, IsOptional: true}, &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "intptr", TypeSize: 8}}}}, + &PtrType{TypeCommon{TypeName: "ptr", FldName: "unparkhint", TypeSize: 8, IsOptional: true}, &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "intptr", TypeSize: 8}}}}, + }}, + {NR: 434, Name: "compat_60__lwp_park", CallName: "compat_60__lwp_park", Args: []Type{ &PtrType{TypeCommon{TypeName: "ptr", FldName: "ts", TypeSize: 8}, &StructType{Key: StructKey{Name: "timespec"}}}, &ResourceType{TypeCommon: TypeCommon{TypeName: "lwpid", FldName: "unpark", TypeSize: 4}}, &PtrType{TypeCommon{TypeName: "ptr", FldName: "hint", TypeSize: 8, IsOptional: true}, &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "intptr", TypeSize: 8}}}}, @@ -1735,6 +1746,7 @@ var consts_amd64 = []ConstValue{ {"SYS_clock_settime", 428}, {"SYS_close", 6}, {"SYS_compat_50__lwp_park", 320}, + {"SYS_compat_60__lwp_park", 434}, {"SYS_connect", 98}, {"SYS_dup", 41}, {"SYS_dup2", 90}, @@ -1882,4 +1894,4 @@ var consts_amd64 = []ConstValue{ {"_UC_STACK", 2}, } -const revision_amd64 = "d3d1420e857d9c56cae851245e2205da52b99f68" +const revision_amd64 = "a99885ca1ee8b334947a9227591964a15f788ff0" diff --git a/sys/netbsd/lwp.txt b/sys/netbsd/lwp.txt index 245593e19..8694f11ac 100644 --- a/sys/netbsd/lwp.txt +++ b/sys/netbsd/lwp.txt @@ -20,7 +20,8 @@ _lwp_getprivate() _lwp_setprivate(data ptr[in, intptr]) _lwp_kill(target lwpid, sig int32) _lwp_detach(target lwpid) -compat_50__lwp_park(ts ptr[in, timespec], unpark lwpid, hint ptr[in, intptr, opt], unparkhint ptr[in, intptr, opt]) +compat_50__lwp_park(ts ptr[in, timespec50], unpark lwpid, hint ptr[in, intptr, opt], unparkhint ptr[in, intptr, opt]) +compat_60__lwp_park(ts ptr[in, timespec], unpark lwpid, hint ptr[in, intptr, opt], unparkhint ptr[in, intptr, opt]) _lwp_unpark(target lwpid, hint ptr[in, intptr, opt]) _lwp_unpark_all(targets ptr[in, array[lwpid]], ntargets len[targets], hint ptr[in, intptr, opt]) _lwp_setname(target lwpid, name ptr[in, string]) diff --git a/sys/netbsd/lwp_amd64.const b/sys/netbsd/lwp_amd64.const index f957fb47e..d85e3b376 100644 --- a/sys/netbsd/lwp_amd64.const +++ b/sys/netbsd/lwp_amd64.const @@ -20,6 +20,7 @@ SYS__lwp_unpark_all = 322 SYS__lwp_wait = 312 SYS__lwp_wakeup = 315 SYS_compat_50__lwp_park = 320 +SYS_compat_60__lwp_park = 434 _UC_CPU = 4 _UC_FPU = 8 _UC_MD = 1074724896 diff --git a/sys/netbsd/sys.txt b/sys/netbsd/sys.txt index 06ef8ac82..cc007a0d2 100644 --- a/sys/netbsd/sys.txt +++ b/sys/netbsd/sys.txt @@ -131,6 +131,11 @@ timespec { nsec intptr } +timespec50 { + sec int32 + nsec intptr +} + timeval { sec intptr usec intptr -- cgit mrf-deployment