From d0d8e8bc776b3fd53659a8067a1eb6f69141d2eb Mon Sep 17 00:00:00 2001 From: André Almeida Date: Mon, 17 Feb 2020 02:27:23 -0300 Subject: sys/linux: add new FUTEX_WAIT_MULTIPLE operation MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Create individual file for futex syscall and add description for the new operation FUTEX_WAIT_MULTIPLE. Signed-off-by: André Almeida --- sys/linux/gen/arm64.go | 19 +++++++++++++++++-- 1 file changed, 17 insertions(+), 2 deletions(-) (limited to 'sys/linux/gen/arm64.go') diff --git a/sys/linux/gen/arm64.go b/sys/linux/gen/arm64.go index d7eea1f29..190400a78 100644 --- a/sys/linux/gen/arm64.go +++ b/sys/linux/gen/arm64.go @@ -7431,6 +7431,11 @@ var structDescs_arm64 = []*KeyedStruct{ &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "size", TypeSize: 4}}}, &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "padding", TypeSize: 4}}}, }}}, + {StructKey{Name: "futex_wait_block"}, &StructDesc{TypeCommon: TypeCommon{TypeName: "futex_wait_block", TypeSize: 16}, Fields: []Type{ + &PtrType{TypeCommon{TypeName: "ptr", FldName: "uaddr", TypeSize: 8}, &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", TypeSize: 4}}, Kind: 1, RangeEnd: 2}}, + &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "val", TypeSize: 4}}, Kind: 1, RangeEnd: 2}, + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bitset", TypeSize: 4}}, Val: 4294967295}, + }}}, {StructKey{Name: "fw_policy"}, &StructDesc{TypeCommon: TypeCommon{TypeName: "fw_policy", IsVarlen: true}, Fields: []Type{ &StructType{Key: StructKey{Name: "nlattr_t[const[TCA_FW_CLASSID, int16], tcm_handle]"}, FldName: "TCA_FW_CLASSID"}, &StructType{Key: StructKey{Name: "nlattr_t[const[TCA_FW_POLICE, int16], array[police_policy]]"}, FldName: "TCA_FW_POLICE"}, @@ -49850,12 +49855,20 @@ var syscalls_arm64 = []*Syscall{ }}, {NR: 98, Name: "futex", CallName: "futex", Args: []Type{ &PtrType{TypeCommon{TypeName: "ptr", FldName: "addr", TypeSize: 8}, &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", TypeSize: 4}}, Kind: 1, RangeEnd: 2}}, - &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "futex_op", FldName: "op", TypeSize: 8}}, Vals: []uint64{0, 1, 3, 4, 9, 128, 129, 139, 140}}, + &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "futex_op", FldName: "op", TypeSize: 8}}, Vals: []uint64{0, 1, 3, 4, 9, 13, 128, 129, 139, 140, 141}}, &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "val", TypeSize: 4}}, Kind: 1, RangeEnd: 2}, &PtrType{TypeCommon{TypeName: "ptr", FldName: "timeout", TypeSize: 8}, &StructType{Key: StructKey{Name: "timespec"}}}, &PtrType{TypeCommon{TypeName: "ptr", FldName: "addr2", TypeSize: 8}, &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", TypeSize: 4}}, Kind: 1, RangeEnd: 2}}, &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "val3", TypeSize: 4}}, Kind: 1, RangeEnd: 2}, }}, + {NR: 98, Name: "futex$FUTEX_WAIT_MULTIPLE", CallName: "futex", Args: []Type{ + &PtrType{TypeCommon{TypeName: "ptr", FldName: "addr", TypeSize: 8}, &ArrayType{TypeCommon: TypeCommon{TypeName: "array", IsVarlen: true}, Type: &StructType{Key: StructKey{Name: "futex_wait_block"}}, Kind: 1, RangeEnd: 129}}, + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "op", TypeSize: 8}}, Val: 13}, + &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "val", TypeSize: 8}}, Path: []string{"addr"}}, + &PtrType{TypeCommon{TypeName: "ptr", FldName: "timeout", TypeSize: 8}, &StructType{Key: StructKey{Name: "timespec"}}}, + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "addr2", TypeSize: 8}}}, + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "val3", TypeSize: 8}}}, + }}, {NR: 236, Name: "get_mempolicy", CallName: "get_mempolicy", Args: []Type{ &PtrType{TypeCommon{TypeName: "ptr", FldName: "mode", TypeSize: 8}, &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", TypeSize: 4, ArgDir: 1}}}}, &PtrType{TypeCommon{TypeName: "ptr", FldName: "nodemask", TypeSize: 8}, &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int64", TypeSize: 8, ArgDir: 1}}}}, @@ -68038,6 +68051,8 @@ var consts_arm64 = []ConstValue{ {"FUTEX_REQUEUE", 3}, {Name: "FUTEX_WAIT"}, {"FUTEX_WAIT_BITSET", 9}, + {"FUTEX_WAIT_MULTIPLE", 13}, + {"FUTEX_WAIT_MULTIPLE_PRIVATE", 141}, {"FUTEX_WAIT_PRIVATE", 128}, {"FUTEX_WAIT_REQUEUE_PI_PRIVATE", 139}, {"FUTEX_WAKE", 1}, @@ -76112,4 +76127,4 @@ var consts_arm64 = []ConstValue{ {"ethtool_per_queue_op_size", 128}, } -const revision_arm64 = "8987c5cf20d8a46fba8534793aa33c4be1678e0f" +const revision_arm64 = "e1ea3f956cb5b2b67e3d815b820bb7948c83c955" -- cgit mrf-deployment