aboutsummaryrefslogtreecommitdiffstats
path: root/sys/linux
diff options
context:
space:
mode:
authorDmitry Vyukov <dvyukov@google.com>2019-10-15 14:13:41 +0200
committerDmitry Vyukov <dvyukov@google.com>2019-10-15 14:13:41 +0200
commitd4ea592f78feb8f04941a301b93e09880c3546a3 (patch)
tree2ed5c4ce87e6d76a95c690f4c00236a4d82bd16b /sys/linux
parent2b7a4c5e693cbc6768ce5d72f41a6a52845e81f0 (diff)
sys/linux: add some new flags
Add a few new assorted things, some flags, etc.
Diffstat (limited to 'sys/linux')
-rw-r--r--sys/linux/gen/386.go29
-rw-r--r--sys/linux/gen/amd64.go36
-rw-r--r--sys/linux/gen/arm.go29
-rw-r--r--sys/linux/gen/arm64.go36
-rw-r--r--sys/linux/gen/ppc64le.go36
-rw-r--r--sys/linux/io_uring.txt8
-rw-r--r--sys/linux/io_uring_386.const2
-rw-r--r--sys/linux/io_uring_amd64.const2
-rw-r--r--sys/linux/io_uring_arm.const2
-rw-r--r--sys/linux/io_uring_arm64.const2
-rw-r--r--sys/linux/io_uring_ppc64le.const2
-rw-r--r--sys/linux/socket_xdp.txt2
-rw-r--r--sys/linux/socket_xdp_386.const1
-rw-r--r--sys/linux/socket_xdp_amd64.const1
-rw-r--r--sys/linux/socket_xdp_arm.const1
-rw-r--r--sys/linux/socket_xdp_arm64.const1
-rw-r--r--sys/linux/socket_xdp_ppc64le.const1
-rw-r--r--sys/linux/sys.txt2
-rw-r--r--sys/linux/sys_386.const2
-rw-r--r--sys/linux/sys_amd64.const2
-rw-r--r--sys/linux/sys_arm.const2
-rw-r--r--sys/linux/sys_arm64.const2
-rw-r--r--sys/linux/sys_ppc64le.const2
-rw-r--r--sys/linux/watch_queue.txt2
-rw-r--r--sys/linux/watch_queue_amd64.const1
-rw-r--r--sys/linux/watch_queue_arm64.const1
-rw-r--r--sys/linux/watch_queue_ppc64le.const1
27 files changed, 170 insertions, 38 deletions
diff --git a/sys/linux/gen/386.go b/sys/linux/gen/386.go
index f88f2dfe4..b2120dd04 100644
--- a/sys/linux/gen/386.go
+++ b/sys/linux/gen/386.go
@@ -8068,10 +8068,14 @@ var structDescs_386 = []*KeyedStruct{
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "resv1", TypeSize: 4}}},
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "resv2", TypeSize: 8}}},
}}},
+ {Key: StructKey{Name: "io_uring_files_update"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "io_uring_files_update", TypeSize: 8}, Fields: []Type{
+ &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "offset", TypeSize: 4}}},
+ &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "fds", TypeSize: 4}, Type: &ArrayType{TypeCommon: TypeCommon{TypeName: "array", IsVarlen: true}, Type: &ResourceType{TypeCommon: TypeCommon{TypeName: "fd", TypeSize: 4}}}},
+ }}},
{Key: StructKey{Name: "io_uring_params"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "io_uring_params", TypeSize: 120}, Fields: []Type{
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "sq_entries", TypeSize: 4}}},
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "cq_entries", TypeSize: 4}}},
- &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "io_uring_setup_flags", FldName: "flags", TypeSize: 4}}, Vals: []uint64{1, 2, 4}, BitMask: true},
+ &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "io_uring_setup_flags", FldName: "flags", TypeSize: 4}}, Vals: []uint64{1, 2, 4, 8}, BitMask: true},
&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "sq_thread_cpu", TypeSize: 4}}, Kind: 2, RangeEnd: 3},
&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "sq_thread_idle", TypeSize: 4}}, Kind: 2, RangeEnd: 1000},
&ArrayType{TypeCommon: TypeCommon{TypeName: "array", FldName: "resv", TypeSize: 20}, Type: &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", TypeSize: 4}}}, Kind: 1, RangeBegin: 5, RangeEnd: 5},
@@ -22780,28 +22784,28 @@ var structDescs_386 = []*KeyedStruct{
}}},
{Key: StructKey{Name: "sockaddr_xdp"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "sockaddr_xdp", TypeSize: 16}, Fields: []Type{
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "sxdp_family", TypeSize: 2}}, Val: 44},
- &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "sxdp_flags", FldName: "sxdp_flags", TypeSize: 2}}, Vals: []uint64{1, 2, 4}, BitMask: true},
+ &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "sxdp_flags", FldName: "sxdp_flags", TypeSize: 2}}, Vals: []uint64{1, 2, 4, 8}, BitMask: true},
&ResourceType{TypeCommon: TypeCommon{TypeName: "ifindex", FldName: "sxdp_ifindex", TypeSize: 4}},
&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "sxdp_queue_id", TypeSize: 4}}, Kind: 2, RangeEnd: 64},
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "sxdp_shared_umem_fd", TypeSize: 4}}},
}}},
{Key: StructKey{Name: "sockaddr_xdp", Dir: 1}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "sockaddr_xdp", TypeSize: 16, ArgDir: 1}, Fields: []Type{
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "sxdp_family", TypeSize: 2, ArgDir: 1}}, Val: 44},
- &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "sxdp_flags", FldName: "sxdp_flags", TypeSize: 2, ArgDir: 1}}, Vals: []uint64{1, 2, 4}, BitMask: true},
+ &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "sxdp_flags", FldName: "sxdp_flags", TypeSize: 2, ArgDir: 1}}, Vals: []uint64{1, 2, 4, 8}, BitMask: true},
&ResourceType{TypeCommon: TypeCommon{TypeName: "ifindex", FldName: "sxdp_ifindex", TypeSize: 4, ArgDir: 1}},
&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "sxdp_queue_id", TypeSize: 4, ArgDir: 1}}, Kind: 2, RangeEnd: 64},
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "sxdp_shared_umem_fd", TypeSize: 4, ArgDir: 1}}},
}}},
{Key: StructKey{Name: "sockaddr_xdp", Dir: 2}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "sockaddr_xdp", TypeSize: 16, ArgDir: 2}, Fields: []Type{
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "sxdp_family", TypeSize: 2, ArgDir: 2}}, Val: 44},
- &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "sxdp_flags", FldName: "sxdp_flags", TypeSize: 2, ArgDir: 2}}, Vals: []uint64{1, 2, 4}, BitMask: true},
+ &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "sxdp_flags", FldName: "sxdp_flags", TypeSize: 2, ArgDir: 2}}, Vals: []uint64{1, 2, 4, 8}, BitMask: true},
&ResourceType{TypeCommon: TypeCommon{TypeName: "ifindex", FldName: "sxdp_ifindex", TypeSize: 4, ArgDir: 2}},
&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "sxdp_queue_id", TypeSize: 4, ArgDir: 2}}, Kind: 2, RangeEnd: 64},
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "sxdp_shared_umem_fd", TypeSize: 4, ArgDir: 2}}},
}}},
{Key: StructKey{Name: "sockaddr_xdp_bind"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "sockaddr_xdp_bind", TypeSize: 16}, Fields: []Type{
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "sxdp_family", TypeSize: 2}}, Val: 44},
- &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "sxdp_flags", FldName: "sxdp_flags", TypeSize: 2}}, Vals: []uint64{1, 2, 4}, BitMask: true},
+ &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "sxdp_flags", FldName: "sxdp_flags", TypeSize: 2}}, Vals: []uint64{1, 2, 4, 8}, BitMask: true},
&ResourceType{TypeCommon: TypeCommon{TypeName: "ifindex", FldName: "sxdp_ifindex", TypeSize: 4}},
&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "sxdp_queue_id", TypeSize: 4}}, Kind: 2, RangeEnd: 64},
&ResourceType{TypeCommon: TypeCommon{TypeName: "sock_xdp", FldName: "sxdp_shared_umem_fd", TypeSize: 4, IsOptional: true}},
@@ -33074,6 +33078,12 @@ var syscalls_386 = []*Syscall{
&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "arg", TypeSize: 4}, Type: &ArrayType{TypeCommon: TypeCommon{TypeName: "array", IsVarlen: true}, Type: &ResourceType{TypeCommon: TypeCommon{TypeName: "fd", TypeSize: 4}}}},
&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "nr_args", TypeSize: 4}}, Path: []string{"arg"}},
}},
+ {NR: 427, Name: "io_uring_register$IORING_REGISTER_FILES_UPDATE", CallName: "io_uring_register", Args: []Type{
+ &ResourceType{TypeCommon: TypeCommon{TypeName: "fd_io_uring", FldName: "fd", TypeSize: 4}},
+ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "opcode", TypeSize: 4}}, Val: 6},
+ &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "arg", TypeSize: 4}, Type: &StructType{Key: StructKey{Name: "io_uring_files_update"}}},
+ &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "nr_args", TypeSize: 4}}, Path: []string{"arg", "fds"}},
+ }},
{NR: 427, Name: "io_uring_register$IORING_UNREGISTER_BUFFERS", CallName: "io_uring_register", Args: []Type{
&ResourceType{TypeCommon: TypeCommon{TypeName: "fd_io_uring", FldName: "fd", TypeSize: 4}},
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "opcode", TypeSize: 4}}, Val: 1},
@@ -38779,7 +38789,7 @@ var syscalls_386 = []*Syscall{
{NR: 219, Name: "madvise", CallName: "madvise", Args: []Type{
&VmaType{TypeCommon: TypeCommon{TypeName: "vma", FldName: "addr", TypeSize: 4}},
&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "len", TypeSize: 4}}, Path: []string{"addr"}},
- &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "madvise_flags", FldName: "advice", TypeSize: 4}}, Vals: []uint64{0, 1, 2, 3, 4, 9, 10, 11, 100, 101, 12, 13, 14, 15, 16, 17, 18, 19}},
+ &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "madvise_flags", FldName: "advice", TypeSize: 4}}, Vals: []uint64{0, 1, 2, 3, 4, 9, 10, 11, 100, 101, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21}},
}},
{NR: 274, Name: "mbind", CallName: "mbind", Args: []Type{
&VmaType{TypeCommon: TypeCommon{TypeName: "vma", FldName: "addr", TypeSize: 4}},
@@ -47677,6 +47687,8 @@ var consts_386 = []ConstValue{
{Name: "IORING_REGISTER_BUFFERS"},
{Name: "IORING_REGISTER_EVENTFD", Value: 4},
{Name: "IORING_REGISTER_FILES", Value: 2},
+ {Name: "IORING_REGISTER_FILES_UPDATE", Value: 6},
+ {Name: "IORING_SETUP_CQSIZE", Value: 8},
{Name: "IORING_SETUP_IOPOLL", Value: 1},
{Name: "IORING_SETUP_SQPOLL", Value: 2},
{Name: "IORING_SETUP_SQ_AFF", Value: 4},
@@ -48484,6 +48496,7 @@ var consts_386 = []ConstValue{
{Name: "LWTUNNEL_ENCAP_NONE"},
{Name: "LWTUNNEL_ENCAP_SEG6", Value: 5},
{Name: "LWTUNNEL_ENCAP_SEG6_LOCAL", Value: 7},
+ {Name: "MADV_COLD", Value: 20},
{Name: "MADV_DODUMP", Value: 17},
{Name: "MADV_DOFORK", Value: 11},
{Name: "MADV_DONTDUMP", Value: 16},
@@ -48495,6 +48508,7 @@ var consts_386 = []ConstValue{
{Name: "MADV_MERGEABLE", Value: 12},
{Name: "MADV_NOHUGEPAGE", Value: 15},
{Name: "MADV_NORMAL"},
+ {Name: "MADV_PAGEOUT", Value: 21},
{Name: "MADV_RANDOM", Value: 1},
{Name: "MADV_REMOVE", Value: 9},
{Name: "MADV_SEQUENTIAL", Value: 2},
@@ -52883,6 +52897,7 @@ var consts_386 = []ConstValue{
{Name: "XDP_UMEM_PGOFF_COMPLETION_RING", Value: 6442450944},
{Name: "XDP_UMEM_PGOFF_FILL_RING", Value: 4294967296},
{Name: "XDP_UMEM_REG", Value: 4},
+ {Name: "XDP_USE_NEED_WAKEUP", Value: 8},
{Name: "XDP_ZEROCOPY", Value: 4},
{Name: "XFRMA_ADDRESS_FILTER", Value: 26},
{Name: "XFRMA_ALG_AEAD", Value: 18},
@@ -53507,4 +53522,4 @@ var consts_386 = []ConstValue{
{Name: "bpf_insn_load_imm_dw", Value: 24},
}
-const revision_386 = "56c74dbd86b57ef11a9e8bddd6782a9b3e78685c"
+const revision_386 = "92fc7e6fd70eb1c6eff9510a3950694bfd004eaa"
diff --git a/sys/linux/gen/amd64.go b/sys/linux/gen/amd64.go
index b9444bbce..e2424e44a 100644
--- a/sys/linux/gen/amd64.go
+++ b/sys/linux/gen/amd64.go
@@ -8177,10 +8177,15 @@ var structDescs_amd64 = []*KeyedStruct{
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "resv1", TypeSize: 4}}},
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "resv2", TypeSize: 8}}},
}}},
+ {Key: StructKey{Name: "io_uring_files_update"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "io_uring_files_update", TypeSize: 16}, Fields: []Type{
+ &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "offset", TypeSize: 4}}},
+ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "pad", TypeSize: 4}}, IsPad: true},
+ &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "fds", TypeSize: 8}, Type: &ArrayType{TypeCommon: TypeCommon{TypeName: "array", IsVarlen: true}, Type: &ResourceType{TypeCommon: TypeCommon{TypeName: "fd", TypeSize: 4}}}},
+ }}},
{Key: StructKey{Name: "io_uring_params"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "io_uring_params", TypeSize: 120}, Fields: []Type{
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "sq_entries", TypeSize: 4}}},
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "cq_entries", TypeSize: 4}}},
- &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "io_uring_setup_flags", FldName: "flags", TypeSize: 4}}, Vals: []uint64{1, 2, 4}, BitMask: true},
+ &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "io_uring_setup_flags", FldName: "flags", TypeSize: 4}}, Vals: []uint64{1, 2, 4, 8}, BitMask: true},
&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "sq_thread_cpu", TypeSize: 4}}, Kind: 2, RangeEnd: 3},
&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "sq_thread_idle", TypeSize: 4}}, Kind: 2, RangeEnd: 1000},
&ArrayType{TypeCommon: TypeCommon{TypeName: "array", FldName: "resv", TypeSize: 20}, Type: &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", TypeSize: 4}}}, Kind: 1, RangeBegin: 5, RangeEnd: 5},
@@ -23102,28 +23107,28 @@ var structDescs_amd64 = []*KeyedStruct{
}}},
{Key: StructKey{Name: "sockaddr_xdp"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "sockaddr_xdp", TypeSize: 16}, Fields: []Type{
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "sxdp_family", TypeSize: 2}}, Val: 44},
- &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "sxdp_flags", FldName: "sxdp_flags", TypeSize: 2}}, Vals: []uint64{1, 2, 4}, BitMask: true},
+ &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "sxdp_flags", FldName: "sxdp_flags", TypeSize: 2}}, Vals: []uint64{1, 2, 4, 8}, BitMask: true},
&ResourceType{TypeCommon: TypeCommon{TypeName: "ifindex", FldName: "sxdp_ifindex", TypeSize: 4}},
&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "sxdp_queue_id", TypeSize: 4}}, Kind: 2, RangeEnd: 64},
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "sxdp_shared_umem_fd", TypeSize: 4}}},
}}},
{Key: StructKey{Name: "sockaddr_xdp", Dir: 1}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "sockaddr_xdp", TypeSize: 16, ArgDir: 1}, Fields: []Type{
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "sxdp_family", TypeSize: 2, ArgDir: 1}}, Val: 44},
- &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "sxdp_flags", FldName: "sxdp_flags", TypeSize: 2, ArgDir: 1}}, Vals: []uint64{1, 2, 4}, BitMask: true},
+ &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "sxdp_flags", FldName: "sxdp_flags", TypeSize: 2, ArgDir: 1}}, Vals: []uint64{1, 2, 4, 8}, BitMask: true},
&ResourceType{TypeCommon: TypeCommon{TypeName: "ifindex", FldName: "sxdp_ifindex", TypeSize: 4, ArgDir: 1}},
&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "sxdp_queue_id", TypeSize: 4, ArgDir: 1}}, Kind: 2, RangeEnd: 64},
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "sxdp_shared_umem_fd", TypeSize: 4, ArgDir: 1}}},
}}},
{Key: StructKey{Name: "sockaddr_xdp", Dir: 2}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "sockaddr_xdp", TypeSize: 16, ArgDir: 2}, Fields: []Type{
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "sxdp_family", TypeSize: 2, ArgDir: 2}}, Val: 44},
- &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "sxdp_flags", FldName: "sxdp_flags", TypeSize: 2, ArgDir: 2}}, Vals: []uint64{1, 2, 4}, BitMask: true},
+ &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "sxdp_flags", FldName: "sxdp_flags", TypeSize: 2, ArgDir: 2}}, Vals: []uint64{1, 2, 4, 8}, BitMask: true},
&ResourceType{TypeCommon: TypeCommon{TypeName: "ifindex", FldName: "sxdp_ifindex", TypeSize: 4, ArgDir: 2}},
&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "sxdp_queue_id", TypeSize: 4, ArgDir: 2}}, Kind: 2, RangeEnd: 64},
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "sxdp_shared_umem_fd", TypeSize: 4, ArgDir: 2}}},
}}},
{Key: StructKey{Name: "sockaddr_xdp_bind"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "sockaddr_xdp_bind", TypeSize: 16}, Fields: []Type{
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "sxdp_family", TypeSize: 2}}, Val: 44},
- &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "sxdp_flags", FldName: "sxdp_flags", TypeSize: 2}}, Vals: []uint64{1, 2, 4}, BitMask: true},
+ &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "sxdp_flags", FldName: "sxdp_flags", TypeSize: 2}}, Vals: []uint64{1, 2, 4, 8}, BitMask: true},
&ResourceType{TypeCommon: TypeCommon{TypeName: "ifindex", FldName: "sxdp_ifindex", TypeSize: 4}},
&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "sxdp_queue_id", TypeSize: 4}}, Kind: 2, RangeEnd: 64},
&ResourceType{TypeCommon: TypeCommon{TypeName: "sock_xdp", FldName: "sxdp_shared_umem_fd", TypeSize: 4, IsOptional: true}},
@@ -33578,6 +33583,12 @@ var syscalls_amd64 = []*Syscall{
&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "arg", TypeSize: 8}, Type: &ArrayType{TypeCommon: TypeCommon{TypeName: "array", IsVarlen: true}, Type: &ResourceType{TypeCommon: TypeCommon{TypeName: "fd", TypeSize: 4}}}},
&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "nr_args", TypeSize: 8}}, Path: []string{"arg"}},
}},
+ {NR: 427, Name: "io_uring_register$IORING_REGISTER_FILES_UPDATE", CallName: "io_uring_register", Args: []Type{
+ &ResourceType{TypeCommon: TypeCommon{TypeName: "fd_io_uring", FldName: "fd", TypeSize: 4}},
+ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "opcode", TypeSize: 8}}, Val: 6},
+ &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "arg", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "io_uring_files_update"}}},
+ &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "nr_args", TypeSize: 8}}, Path: []string{"arg", "fds"}},
+ }},
{NR: 427, Name: "io_uring_register$IORING_UNREGISTER_BUFFERS", CallName: "io_uring_register", Args: []Type{
&ResourceType{TypeCommon: TypeCommon{TypeName: "fd_io_uring", FldName: "fd", TypeSize: 4}},
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "opcode", TypeSize: 8}}, Val: 1},
@@ -39303,7 +39314,7 @@ var syscalls_amd64 = []*Syscall{
{NR: 28, Name: "madvise", CallName: "madvise", Args: []Type{
&VmaType{TypeCommon: TypeCommon{TypeName: "vma", FldName: "addr", TypeSize: 8}},
&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "len", TypeSize: 8}}, Path: []string{"addr"}},
- &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "madvise_flags", FldName: "advice", TypeSize: 8}}, Vals: []uint64{0, 1, 2, 3, 4, 9, 10, 11, 100, 101, 12, 13, 14, 15, 16, 17, 18, 19}},
+ &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "madvise_flags", FldName: "advice", TypeSize: 8}}, Vals: []uint64{0, 1, 2, 3, 4, 9, 10, 11, 100, 101, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21}},
}},
{NR: 237, Name: "mbind", CallName: "mbind", Args: []Type{
&VmaType{TypeCommon: TypeCommon{TypeName: "vma", FldName: "addr", TypeSize: 8}},
@@ -45116,6 +45127,11 @@ var syscalls_amd64 = []*Syscall{
&FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "wait_options", FldName: "options", TypeSize: 8}}, Vals: []uint64{1, 2, 8, 4, 2, 8, 1, 16777216, 2147483648, 1073741824, 536870912}},
&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "ru", TypeSize: 8, IsOptional: true}, Type: &StructType{Key: StructKey{Name: "rusage", Dir: 1}}},
}},
+ {NR: 436, Name: "watch_devices", CallName: "watch_devices", Args: []Type{
+ &ResourceType{TypeCommon: TypeCommon{TypeName: "fd_watch_queue", FldName: "watch_fd", TypeSize: 4}},
+ &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "intptr", FldName: "watch_id", TypeSize: 8}}, Kind: 2, RangeBegin: 18446744073709551615, RangeEnd: 255},
+ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "flags", TypeSize: 8}}},
+ }},
{NR: 1, Name: "write", CallName: "write", Args: []Type{
&ResourceType{TypeCommon: TypeCommon{TypeName: "fd", FldName: "fd", TypeSize: 4}},
&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "buf", TypeSize: 8}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "array", IsVarlen: true}}},
@@ -48206,6 +48222,8 @@ var consts_amd64 = []ConstValue{
{Name: "IORING_REGISTER_BUFFERS"},
{Name: "IORING_REGISTER_EVENTFD", Value: 4},
{Name: "IORING_REGISTER_FILES", Value: 2},
+ {Name: "IORING_REGISTER_FILES_UPDATE", Value: 6},
+ {Name: "IORING_SETUP_CQSIZE", Value: 8},
{Name: "IORING_SETUP_IOPOLL", Value: 1},
{Name: "IORING_SETUP_SQPOLL", Value: 2},
{Name: "IORING_SETUP_SQ_AFF", Value: 4},
@@ -49013,6 +49031,7 @@ var consts_amd64 = []ConstValue{
{Name: "LWTUNNEL_ENCAP_NONE"},
{Name: "LWTUNNEL_ENCAP_SEG6", Value: 5},
{Name: "LWTUNNEL_ENCAP_SEG6_LOCAL", Value: 7},
+ {Name: "MADV_COLD", Value: 20},
{Name: "MADV_DODUMP", Value: 17},
{Name: "MADV_DOFORK", Value: 11},
{Name: "MADV_DONTDUMP", Value: 16},
@@ -49024,6 +49043,7 @@ var consts_amd64 = []ConstValue{
{Name: "MADV_MERGEABLE", Value: 12},
{Name: "MADV_NOHUGEPAGE", Value: 15},
{Name: "MADV_NORMAL"},
+ {Name: "MADV_PAGEOUT", Value: 21},
{Name: "MADV_RANDOM", Value: 1},
{Name: "MADV_REMOVE", Value: 9},
{Name: "MADV_SEQUENTIAL", Value: 2},
@@ -53426,6 +53446,7 @@ var consts_amd64 = []ConstValue{
{Name: "XDP_UMEM_PGOFF_COMPLETION_RING", Value: 6442450944},
{Name: "XDP_UMEM_PGOFF_FILL_RING", Value: 4294967296},
{Name: "XDP_UMEM_REG", Value: 4},
+ {Name: "XDP_USE_NEED_WAKEUP", Value: 8},
{Name: "XDP_ZEROCOPY", Value: 4},
{Name: "XFRMA_ADDRESS_FILTER", Value: 26},
{Name: "XFRMA_ALG_AEAD", Value: 18},
@@ -54040,6 +54061,7 @@ var consts_amd64 = []ConstValue{
{Name: "__NR_vmsplice", Value: 278},
{Name: "__NR_wait4", Value: 61},
{Name: "__NR_waitid", Value: 247},
+ {Name: "__NR_watch_devices", Value: 436},
{Name: "__NR_write", Value: 1},
{Name: "__NR_writev", Value: 20},
{Name: "__O_TMPFILE", Value: 4194304},
@@ -54051,4 +54073,4 @@ var consts_amd64 = []ConstValue{
{Name: "bpf_insn_load_imm_dw", Value: 24},
}
-const revision_amd64 = "fe0f7f6fb26f3d1f0d7d53ce70139ef8af9bec98"
+const revision_amd64 = "e68df44a75ffa2dbdc6ce78af81469d616c4deb6"
diff --git a/sys/linux/gen/arm.go b/sys/linux/gen/arm.go
index a09557532..56f30f2ae 100644
--- a/sys/linux/gen/arm.go
+++ b/sys/linux/gen/arm.go
@@ -8068,10 +8068,14 @@ var structDescs_arm = []*KeyedStruct{
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "resv1", TypeSize: 4}}},
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "resv2", TypeSize: 8}}},
}}},
+ {Key: StructKey{Name: "io_uring_files_update"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "io_uring_files_update", TypeSize: 8}, Fields: []Type{
+ &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "offset", TypeSize: 4}}},
+ &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "fds", TypeSize: 4}, Type: &ArrayType{TypeCommon: TypeCommon{TypeName: "array", IsVarlen: true}, Type: &ResourceType{TypeCommon: TypeCommon{TypeName: "fd", TypeSize: 4}}}},
+ }}},
{Key: StructKey{Name: "io_uring_params"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "io_uring_params", TypeSize: 120}, Fields: []Type{
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "sq_entries", TypeSize: 4}}},
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "cq_entries", TypeSize: 4}}},
- &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "io_uring_setup_flags", FldName: "flags", TypeSize: 4}}, Vals: []uint64{1, 2, 4}, BitMask: true},
+ &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "io_uring_setup_flags", FldName: "flags", TypeSize: 4}}, Vals: []uint64{1, 2, 4, 8}, BitMask: true},
&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "sq_thread_cpu", TypeSize: 4}}, Kind: 2, RangeEnd: 3},
&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "sq_thread_idle", TypeSize: 4}}, Kind: 2, RangeEnd: 1000},
&ArrayType{TypeCommon: TypeCommon{TypeName: "array", FldName: "resv", TypeSize: 20}, Type: &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", TypeSize: 4}}}, Kind: 1, RangeBegin: 5, RangeEnd: 5},
@@ -22602,28 +22606,28 @@ var structDescs_arm = []*KeyedStruct{
}}},
{Key: StructKey{Name: "sockaddr_xdp"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "sockaddr_xdp", TypeSize: 16}, Fields: []Type{
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "sxdp_family", TypeSize: 2}}, Val: 44},
- &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "sxdp_flags", FldName: "sxdp_flags", TypeSize: 2}}, Vals: []uint64{1, 2, 4}, BitMask: true},
+ &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "sxdp_flags", FldName: "sxdp_flags", TypeSize: 2}}, Vals: []uint64{1, 2, 4, 8}, BitMask: true},
&ResourceType{TypeCommon: TypeCommon{TypeName: "ifindex", FldName: "sxdp_ifindex", TypeSize: 4}},
&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "sxdp_queue_id", TypeSize: 4}}, Kind: 2, RangeEnd: 64},
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "sxdp_shared_umem_fd", TypeSize: 4}}},
}}},
{Key: StructKey{Name: "sockaddr_xdp", Dir: 1}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "sockaddr_xdp", TypeSize: 16, ArgDir: 1}, Fields: []Type{
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "sxdp_family", TypeSize: 2, ArgDir: 1}}, Val: 44},
- &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "sxdp_flags", FldName: "sxdp_flags", TypeSize: 2, ArgDir: 1}}, Vals: []uint64{1, 2, 4}, BitMask: true},
+ &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "sxdp_flags", FldName: "sxdp_flags", TypeSize: 2, ArgDir: 1}}, Vals: []uint64{1, 2, 4, 8}, BitMask: true},
&ResourceType{TypeCommon: TypeCommon{TypeName: "ifindex", FldName: "sxdp_ifindex", TypeSize: 4, ArgDir: 1}},
&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "sxdp_queue_id", TypeSize: 4, ArgDir: 1}}, Kind: 2, RangeEnd: 64},
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "sxdp_shared_umem_fd", TypeSize: 4, ArgDir: 1}}},
}}},
{Key: StructKey{Name: "sockaddr_xdp", Dir: 2}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "sockaddr_xdp", TypeSize: 16, ArgDir: 2}, Fields: []Type{
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "sxdp_family", TypeSize: 2, ArgDir: 2}}, Val: 44},
- &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "sxdp_flags", FldName: "sxdp_flags", TypeSize: 2, ArgDir: 2}}, Vals: []uint64{1, 2, 4}, BitMask: true},
+ &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "sxdp_flags", FldName: "sxdp_flags", TypeSize: 2, ArgDir: 2}}, Vals: []uint64{1, 2, 4, 8}, BitMask: true},
&ResourceType{TypeCommon: TypeCommon{TypeName: "ifindex", FldName: "sxdp_ifindex", TypeSize: 4, ArgDir: 2}},
&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "sxdp_queue_id", TypeSize: 4, ArgDir: 2}}, Kind: 2, RangeEnd: 64},
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "sxdp_shared_umem_fd", TypeSize: 4, ArgDir: 2}}},
}}},
{Key: StructKey{Name: "sockaddr_xdp_bind"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "sockaddr_xdp_bind", TypeSize: 16}, Fields: []Type{
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "sxdp_family", TypeSize: 2}}, Val: 44},
- &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "sxdp_flags", FldName: "sxdp_flags", TypeSize: 2}}, Vals: []uint64{1, 2, 4}, BitMask: true},
+ &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "sxdp_flags", FldName: "sxdp_flags", TypeSize: 2}}, Vals: []uint64{1, 2, 4, 8}, BitMask: true},
&ResourceType{TypeCommon: TypeCommon{TypeName: "ifindex", FldName: "sxdp_ifindex", TypeSize: 4}},
&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "sxdp_queue_id", TypeSize: 4}}, Kind: 2, RangeEnd: 64},
&ResourceType{TypeCommon: TypeCommon{TypeName: "sock_xdp", FldName: "sxdp_shared_umem_fd", TypeSize: 4, IsOptional: true}},
@@ -32883,6 +32887,12 @@ var syscalls_arm = []*Syscall{
&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "arg", TypeSize: 4}, Type: &ArrayType{TypeCommon: TypeCommon{TypeName: "array", IsVarlen: true}, Type: &ResourceType{TypeCommon: TypeCommon{TypeName: "fd", TypeSize: 4}}}},
&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "nr_args", TypeSize: 4}}, Path: []string{"arg"}},
}},
+ {NR: 427, Name: "io_uring_register$IORING_REGISTER_FILES_UPDATE", CallName: "io_uring_register", Args: []Type{
+ &ResourceType{TypeCommon: TypeCommon{TypeName: "fd_io_uring", FldName: "fd", TypeSize: 4}},
+ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "opcode", TypeSize: 4}}, Val: 6},
+ &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "arg", TypeSize: 4}, Type: &StructType{Key: StructKey{Name: "io_uring_files_update"}}},
+ &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "nr_args", TypeSize: 4}}, Path: []string{"arg", "fds"}},
+ }},
{NR: 427, Name: "io_uring_register$IORING_UNREGISTER_BUFFERS", CallName: "io_uring_register", Args: []Type{
&ResourceType{TypeCommon: TypeCommon{TypeName: "fd_io_uring", FldName: "fd", TypeSize: 4}},
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "opcode", TypeSize: 4}}, Val: 1},
@@ -38460,7 +38470,7 @@ var syscalls_arm = []*Syscall{
{NR: 220, Name: "madvise", CallName: "madvise", Args: []Type{
&VmaType{TypeCommon: TypeCommon{TypeName: "vma", FldName: "addr", TypeSize: 4}},
&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "len", TypeSize: 4}}, Path: []string{"addr"}},
- &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "madvise_flags", FldName: "advice", TypeSize: 4}}, Vals: []uint64{0, 1, 2, 3, 4, 9, 10, 11, 100, 101, 12, 13, 14, 15, 16, 17, 18, 19}},
+ &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "madvise_flags", FldName: "advice", TypeSize: 4}}, Vals: []uint64{0, 1, 2, 3, 4, 9, 10, 11, 100, 101, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21}},
}},
{NR: 319, Name: "mbind", CallName: "mbind", Args: []Type{
&VmaType{TypeCommon: TypeCommon{TypeName: "vma", FldName: "addr", TypeSize: 4}},
@@ -47316,6 +47326,8 @@ var consts_arm = []ConstValue{
{Name: "IORING_REGISTER_BUFFERS"},
{Name: "IORING_REGISTER_EVENTFD", Value: 4},
{Name: "IORING_REGISTER_FILES", Value: 2},
+ {Name: "IORING_REGISTER_FILES_UPDATE", Value: 6},
+ {Name: "IORING_SETUP_CQSIZE", Value: 8},
{Name: "IORING_SETUP_IOPOLL", Value: 1},
{Name: "IORING_SETUP_SQPOLL", Value: 2},
{Name: "IORING_SETUP_SQ_AFF", Value: 4},
@@ -48086,6 +48098,7 @@ var consts_arm = []ConstValue{
{Name: "LWTUNNEL_ENCAP_NONE"},
{Name: "LWTUNNEL_ENCAP_SEG6", Value: 5},
{Name: "LWTUNNEL_ENCAP_SEG6_LOCAL", Value: 7},
+ {Name: "MADV_COLD", Value: 20},
{Name: "MADV_DODUMP", Value: 17},
{Name: "MADV_DOFORK", Value: 11},
{Name: "MADV_DONTDUMP", Value: 16},
@@ -48097,6 +48110,7 @@ var consts_arm = []ConstValue{
{Name: "MADV_MERGEABLE", Value: 12},
{Name: "MADV_NOHUGEPAGE", Value: 15},
{Name: "MADV_NORMAL"},
+ {Name: "MADV_PAGEOUT", Value: 21},
{Name: "MADV_RANDOM", Value: 1},
{Name: "MADV_REMOVE", Value: 9},
{Name: "MADV_SEQUENTIAL", Value: 2},
@@ -52470,6 +52484,7 @@ var consts_arm = []ConstValue{
{Name: "XDP_UMEM_PGOFF_COMPLETION_RING", Value: 6442450944},
{Name: "XDP_UMEM_PGOFF_FILL_RING", Value: 4294967296},
{Name: "XDP_UMEM_REG", Value: 4},
+ {Name: "XDP_USE_NEED_WAKEUP", Value: 8},
{Name: "XDP_ZEROCOPY", Value: 4},
{Name: "XFRMA_ADDRESS_FILTER", Value: 26},
{Name: "XFRMA_ALG_AEAD", Value: 18},
@@ -53084,4 +53099,4 @@ var consts_arm = []ConstValue{
{Name: "bpf_insn_load_imm_dw", Value: 24},
}
-const revision_arm = "6cac2ed7db56e14a2421bd91a1bdb3a9e1f3014b"
+const revision_arm = "740c64f7c1ce0c9dd50c4dce7c9db5026aa270e5"
diff --git a/sys/linux/gen/arm64.go b/sys/linux/gen/arm64.go
index 1efd64328..be3a59895 100644
--- a/sys/linux/gen/arm64.go
+++ b/sys/linux/gen/arm64.go
@@ -8177,10 +8177,15 @@ var structDescs_arm64 = []*KeyedStruct{
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "resv1", TypeSize: 4}}},
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "resv2", TypeSize: 8}}},
}}},
+ {Key: StructKey{Name: "io_uring_files_update"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "io_uring_files_update", TypeSize: 16}, Fields: []Type{
+ &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "offset", TypeSize: 4}}},
+ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "pad", TypeSize: 4}}, IsPad: true},
+ &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "fds", TypeSize: 8}, Type: &ArrayType{TypeCommon: TypeCommon{TypeName: "array", IsVarlen: true}, Type: &ResourceType{TypeCommon: TypeCommon{TypeName: "fd", TypeSize: 4}}}},
+ }}},
{Key: StructKey{Name: "io_uring_params"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "io_uring_params", TypeSize: 120}, Fields: []Type{
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "sq_entries", TypeSize: 4}}},
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "cq_entries", TypeSize: 4}}},
- &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "io_uring_setup_flags", FldName: "flags", TypeSize: 4}}, Vals: []uint64{1, 2, 4}, BitMask: true},
+ &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "io_uring_setup_flags", FldName: "flags", TypeSize: 4}}, Vals: []uint64{1, 2, 4, 8}, BitMask: true},
&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "sq_thread_cpu", TypeSize: 4}}, Kind: 2, RangeEnd: 3},
&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "sq_thread_idle", TypeSize: 4}}, Kind: 2, RangeEnd: 1000},
&ArrayType{TypeCommon: TypeCommon{TypeName: "array", FldName: "resv", TypeSize: 20}, Type: &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", TypeSize: 4}}}, Kind: 1, RangeBegin: 5, RangeEnd: 5},
@@ -22919,28 +22924,28 @@ var structDescs_arm64 = []*KeyedStruct{
}}},
{Key: StructKey{Name: "sockaddr_xdp"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "sockaddr_xdp", TypeSize: 16}, Fields: []Type{
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "sxdp_family", TypeSize: 2}}, Val: 44},
- &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "sxdp_flags", FldName: "sxdp_flags", TypeSize: 2}}, Vals: []uint64{1, 2, 4}, BitMask: true},
+ &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "sxdp_flags", FldName: "sxdp_flags", TypeSize: 2}}, Vals: []uint64{1, 2, 4, 8}, BitMask: true},
&ResourceType{TypeCommon: TypeCommon{TypeName: "ifindex", FldName: "sxdp_ifindex", TypeSize: 4}},
&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "sxdp_queue_id", TypeSize: 4}}, Kind: 2, RangeEnd: 64},
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "sxdp_shared_umem_fd", TypeSize: 4}}},
}}},
{Key: StructKey{Name: "sockaddr_xdp", Dir: 1}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "sockaddr_xdp", TypeSize: 16, ArgDir: 1}, Fields: []Type{
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "sxdp_family", TypeSize: 2, ArgDir: 1}}, Val: 44},
- &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "sxdp_flags", FldName: "sxdp_flags", TypeSize: 2, ArgDir: 1}}, Vals: []uint64{1, 2, 4}, BitMask: true},
+ &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "sxdp_flags", FldName: "sxdp_flags", TypeSize: 2, ArgDir: 1}}, Vals: []uint64{1, 2, 4, 8}, BitMask: true},
&ResourceType{TypeCommon: TypeCommon{TypeName: "ifindex", FldName: "sxdp_ifindex", TypeSize: 4, ArgDir: 1}},
&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "sxdp_queue_id", TypeSize: 4, ArgDir: 1}}, Kind: 2, RangeEnd: 64},
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "sxdp_shared_umem_fd", TypeSize: 4, ArgDir: 1}}},
}}},
{Key: StructKey{Name: "sockaddr_xdp", Dir: 2}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "sockaddr_xdp", TypeSize: 16, ArgDir: 2}, Fields: []Type{
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "sxdp_family", TypeSize: 2, ArgDir: 2}}, Val: 44},
- &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "sxdp_flags", FldName: "sxdp_flags", TypeSize: 2, ArgDir: 2}}, Vals: []uint64{1, 2, 4}, BitMask: true},
+ &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "sxdp_flags", FldName: "sxdp_flags", TypeSize: 2, ArgDir: 2}}, Vals: []uint64{1, 2, 4, 8}, BitMask: true},
&ResourceType{TypeCommon: TypeCommon{TypeName: "ifindex", FldName: "sxdp_ifindex", TypeSize: 4, ArgDir: 2}},
&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "sxdp_queue_id", TypeSize: 4, ArgDir: 2}}, Kind: 2, RangeEnd: 64},
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "sxdp_shared_umem_fd", TypeSize: 4, ArgDir: 2}}},
}}},
{Key: StructKey{Name: "sockaddr_xdp_bind"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "sockaddr_xdp_bind", TypeSize: 16}, Fields: []Type{
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "sxdp_family", TypeSize: 2}}, Val: 44},
- &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "sxdp_flags", FldName: "sxdp_flags", TypeSize: 2}}, Vals: []uint64{1, 2, 4}, BitMask: true},
+ &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "sxdp_flags", FldName: "sxdp_flags", TypeSize: 2}}, Vals: []uint64{1, 2, 4, 8}, BitMask: true},
&ResourceType{TypeCommon: TypeCommon{TypeName: "ifindex", FldName: "sxdp_ifindex", TypeSize: 4}},
&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "sxdp_queue_id", TypeSize: 4}}, Kind: 2, RangeEnd: 64},
&ResourceType{TypeCommon: TypeCommon{TypeName: "sock_xdp", FldName: "sxdp_shared_umem_fd", TypeSize: 4, IsOptional: true}},
@@ -33290,6 +33295,12 @@ var syscalls_arm64 = []*Syscall{
&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "arg", TypeSize: 8}, Type: &ArrayType{TypeCommon: TypeCommon{TypeName: "array", IsVarlen: true}, Type: &ResourceType{TypeCommon: TypeCommon{TypeName: "fd", TypeSize: 4}}}},
&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "nr_args", TypeSize: 8}}, Path: []string{"arg"}},
}},
+ {NR: 427, Name: "io_uring_register$IORING_REGISTER_FILES_UPDATE", CallName: "io_uring_register", Args: []Type{
+ &ResourceType{TypeCommon: TypeCommon{TypeName: "fd_io_uring", FldName: "fd", TypeSize: 4}},
+ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "opcode", TypeSize: 8}}, Val: 6},
+ &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "arg", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "io_uring_files_update"}}},
+ &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "nr_args", TypeSize: 8}}, Path: []string{"arg", "fds"}},
+ }},
{NR: 427, Name: "io_uring_register$IORING_UNREGISTER_BUFFERS", CallName: "io_uring_register", Args: []Type{
&ResourceType{TypeCommon: TypeCommon{TypeName: "fd_io_uring", FldName: "fd", TypeSize: 4}},
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "opcode", TypeSize: 8}}, Val: 1},
@@ -38879,7 +38890,7 @@ var syscalls_arm64 = []*Syscall{
{NR: 233, Name: "madvise", CallName: "madvise", Args: []Type{
&VmaType{TypeCommon: TypeCommon{TypeName: "vma", FldName: "addr", TypeSize: 8}},
&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "len", TypeSize: 8}}, Path: []string{"addr"}},
- &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "madvise_flags", FldName: "advice", TypeSize: 8}}, Vals: []uint64{0, 1, 2, 3, 4, 9, 10, 11, 100, 101, 12, 13, 14, 15, 16, 17, 18, 19}},
+ &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "madvise_flags", FldName: "advice", TypeSize: 8}}, Vals: []uint64{0, 1, 2, 3, 4, 9, 10, 11, 100, 101, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21}},
}},
{NR: 235, Name: "mbind", CallName: "mbind", Args: []Type{
&VmaType{TypeCommon: TypeCommon{TypeName: "vma", FldName: "addr", TypeSize: 8}},
@@ -44571,6 +44582,11 @@ var syscalls_arm64 = []*Syscall{
&FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "wait_options", FldName: "options", TypeSize: 8}}, Vals: []uint64{1, 2, 8, 4, 2, 8, 1, 16777216, 2147483648, 1073741824, 536870912}},
&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "ru", TypeSize: 8, IsOptional: true}, Type: &StructType{Key: StructKey{Name: "rusage", Dir: 1}}},
}},
+ {NR: 436, Name: "watch_devices", CallName: "watch_devices", Args: []Type{
+ &ResourceType{TypeCommon: TypeCommon{TypeName: "fd_watch_queue", FldName: "watch_fd", TypeSize: 4}},
+ &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "intptr", FldName: "watch_id", TypeSize: 8}}, Kind: 2, RangeBegin: 18446744073709551615, RangeEnd: 255},
+ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "flags", TypeSize: 8}}},
+ }},
{NR: 64, Name: "write", CallName: "write", Args: []Type{
&ResourceType{TypeCommon: TypeCommon{TypeName: "fd", FldName: "fd", TypeSize: 4}},
&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "buf", TypeSize: 8}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "array", IsVarlen: true}}},
@@ -47652,6 +47668,8 @@ var consts_arm64 = []ConstValue{
{Name: "IORING_REGISTER_BUFFERS"},
{Name: "IORING_REGISTER_EVENTFD", Value: 4},
{Name: "IORING_REGISTER_FILES", Value: 2},
+ {Name: "IORING_REGISTER_FILES_UPDATE", Value: 6},
+ {Name: "IORING_SETUP_CQSIZE", Value: 8},
{Name: "IORING_SETUP_IOPOLL", Value: 1},
{Name: "IORING_SETUP_SQPOLL", Value: 2},
{Name: "IORING_SETUP_SQ_AFF", Value: 4},
@@ -48431,6 +48449,7 @@ var consts_arm64 = []ConstValue{
{Name: "LWTUNNEL_ENCAP_NONE"},
{Name: "LWTUNNEL_ENCAP_SEG6", Value: 5},
{Name: "LWTUNNEL_ENCAP_SEG6_LOCAL", Value: 7},
+ {Name: "MADV_COLD", Value: 20},
{Name: "MADV_DODUMP", Value: 17},
{Name: "MADV_DOFORK", Value: 11},
{Name: "MADV_DONTDUMP", Value: 16},
@@ -48442,6 +48461,7 @@ var consts_arm64 = []ConstValue{
{Name: "MADV_MERGEABLE", Value: 12},
{Name: "MADV_NOHUGEPAGE", Value: 15},
{Name: "MADV_NORMAL"},
+ {Name: "MADV_PAGEOUT", Value: 21},
{Name: "MADV_RANDOM", Value: 1},
{Name: "MADV_REMOVE", Value: 9},
{Name: "MADV_SEQUENTIAL", Value: 2},
@@ -52819,6 +52839,7 @@ var consts_arm64 = []ConstValue{
{Name: "XDP_UMEM_PGOFF_COMPLETION_RING", Value: 6442450944},
{Name: "XDP_UMEM_PGOFF_FILL_RING", Value: 4294967296},
{Name: "XDP_UMEM_REG", Value: 4},
+ {Name: "XDP_USE_NEED_WAKEUP", Value: 8},
{Name: "XDP_ZEROCOPY", Value: 4},
{Name: "XFRMA_ADDRESS_FILTER", Value: 26},
{Name: "XFRMA_ALG_AEAD", Value: 18},
@@ -53392,6 +53413,7 @@ var consts_arm64 = []ConstValue{
{Name: "__NR_vmsplice", Value: 75},
{Name: "__NR_wait4", Value: 260},
{Name: "__NR_waitid", Value: 95},
+ {Name: "__NR_watch_devices", Value: 436},
{Name: "__NR_write", Value: 64},
{Name: "__NR_writev", Value: 66},
{Name: "__O_TMPFILE", Value: 4194304},
@@ -53403,4 +53425,4 @@ var consts_arm64 = []ConstValue{
{Name: "bpf_insn_load_imm_dw", Value: 24},
}
-const revision_arm64 = "3be2e93b9dafadcfb37c8f24908b970297b037ea"
+const revision_arm64 = "a91c28d3c7e5af90d54e53eefc925761205044e8"
diff --git a/sys/linux/gen/ppc64le.go b/sys/linux/gen/ppc64le.go
index a6a9e18d4..b98d4dc6d 100644
--- a/sys/linux/gen/ppc64le.go
+++ b/sys/linux/gen/ppc64le.go
@@ -8176,10 +8176,15 @@ var structDescs_ppc64le = []*KeyedStruct{
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "resv1", TypeSize: 4}}},
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "resv2", TypeSize: 8}}},
}}},
+ {Key: StructKey{Name: "io_uring_files_update"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "io_uring_files_update", TypeSize: 16}, Fields: []Type{
+ &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "offset", TypeSize: 4}}},
+ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "pad", TypeSize: 4}}, IsPad: true},
+ &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "fds", TypeSize: 8}, Type: &ArrayType{TypeCommon: TypeCommon{TypeName: "array", IsVarlen: true}, Type: &ResourceType{TypeCommon: TypeCommon{TypeName: "fd", TypeSize: 4}}}},
+ }}},
{Key: StructKey{Name: "io_uring_params"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "io_uring_params", TypeSize: 120}, Fields: []Type{
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "sq_entries", TypeSize: 4}}},
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "cq_entries", TypeSize: 4}}},
- &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "io_uring_setup_flags", FldName: "flags", TypeSize: 4}}, Vals: []uint64{1, 2, 4}, BitMask: true},
+ &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "io_uring_setup_flags", FldName: "flags", TypeSize: 4}}, Vals: []uint64{1, 2, 4, 8}, BitMask: true},
&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "sq_thread_cpu", TypeSize: 4}}, Kind: 2, RangeEnd: 3},
&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "sq_thread_idle", TypeSize: 4}}, Kind: 2, RangeEnd: 1000},
&ArrayType{TypeCommon: TypeCommon{TypeName: "array", FldName: "resv", TypeSize: 20}, Type: &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", TypeSize: 4}}}, Kind: 1, RangeBegin: 5, RangeEnd: 5},
@@ -22871,28 +22876,28 @@ var structDescs_ppc64le = []*KeyedStruct{
}}},
{Key: StructKey{Name: "sockaddr_xdp"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "sockaddr_xdp", TypeSize: 16}, Fields: []Type{
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "sxdp_family", TypeSize: 2}}, Val: 44},
- &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "sxdp_flags", FldName: "sxdp_flags", TypeSize: 2}}, Vals: []uint64{1, 2, 4}, BitMask: true},
+ &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "sxdp_flags", FldName: "sxdp_flags", TypeSize: 2}}, Vals: []uint64{1, 2, 4, 8}, BitMask: true},
&ResourceType{TypeCommon: TypeCommon{TypeName: "ifindex", FldName: "sxdp_ifindex", TypeSize: 4}},
&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "sxdp_queue_id", TypeSize: 4}}, Kind: 2, RangeEnd: 64},
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "sxdp_shared_umem_fd", TypeSize: 4}}},
}}},
{Key: StructKey{Name: "sockaddr_xdp", Dir: 1}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "sockaddr_xdp", TypeSize: 16, ArgDir: 1}, Fields: []Type{
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "sxdp_family", TypeSize: 2, ArgDir: 1}}, Val: 44},
- &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "sxdp_flags", FldName: "sxdp_flags", TypeSize: 2, ArgDir: 1}}, Vals: []uint64{1, 2, 4}, BitMask: true},
+ &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "sxdp_flags", FldName: "sxdp_flags", TypeSize: 2, ArgDir: 1}}, Vals: []uint64{1, 2, 4, 8}, BitMask: true},
&ResourceType{TypeCommon: TypeCommon{TypeName: "ifindex", FldName: "sxdp_ifindex", TypeSize: 4, ArgDir: 1}},
&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "sxdp_queue_id", TypeSize: 4, ArgDir: 1}}, Kind: 2, RangeEnd: 64},
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "sxdp_shared_umem_fd", TypeSize: 4, ArgDir: 1}}},
}}},
{Key: StructKey{Name: "sockaddr_xdp", Dir: 2}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "sockaddr_xdp", TypeSize: 16, ArgDir: 2}, Fields: []Type{
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "sxdp_family", TypeSize: 2, ArgDir: 2}}, Val: 44},
- &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "sxdp_flags", FldName: "sxdp_flags", TypeSize: 2, ArgDir: 2}}, Vals: []uint64{1, 2, 4}, BitMask: true},
+ &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "sxdp_flags", FldName: "sxdp_flags", TypeSize: 2, ArgDir: 2}}, Vals: []uint64{1, 2, 4, 8}, BitMask: true},
&ResourceType{TypeCommon: TypeCommon{TypeName: "ifindex", FldName: "sxdp_ifindex", TypeSize: 4, ArgDir: 2}},
&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "sxdp_queue_id", TypeSize: 4, ArgDir: 2}}, Kind: 2, RangeEnd: 64},
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "sxdp_shared_umem_fd", TypeSize: 4, ArgDir: 2}}},
}}},
{Key: StructKey{Name: "sockaddr_xdp_bind"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "sockaddr_xdp_bind", TypeSize: 16}, Fields: []Type{
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "sxdp_family", TypeSize: 2}}, Val: 44},
- &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "sxdp_flags", FldName: "sxdp_flags", TypeSize: 2}}, Vals: []uint64{1, 2, 4}, BitMask: true},
+ &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "sxdp_flags", FldName: "sxdp_flags", TypeSize: 2}}, Vals: []uint64{1, 2, 4, 8}, BitMask: true},
&ResourceType{TypeCommon: TypeCommon{TypeName: "ifindex", FldName: "sxdp_ifindex", TypeSize: 4}},
&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "sxdp_queue_id", TypeSize: 4}}, Kind: 2, RangeEnd: 64},
&ResourceType{TypeCommon: TypeCommon{TypeName: "sock_xdp", FldName: "sxdp_shared_umem_fd", TypeSize: 4, IsOptional: true}},
@@ -33231,6 +33236,12 @@ var syscalls_ppc64le = []*Syscall{
&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "arg", TypeSize: 8}, Type: &ArrayType{TypeCommon: TypeCommon{TypeName: "array", IsVarlen: true}, Type: &ResourceType{TypeCommon: TypeCommon{TypeName: "fd", TypeSize: 4}}}},
&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "nr_args", TypeSize: 8}}, Path: []string{"arg"}},
}},
+ {NR: 427, Name: "io_uring_register$IORING_REGISTER_FILES_UPDATE", CallName: "io_uring_register", Args: []Type{
+ &ResourceType{TypeCommon: TypeCommon{TypeName: "fd_io_uring", FldName: "fd", TypeSize: 4}},
+ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "opcode", TypeSize: 8}}, Val: 6},
+ &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "arg", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "io_uring_files_update"}}},
+ &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "nr_args", TypeSize: 8}}, Path: []string{"arg", "fds"}},
+ }},
{NR: 427, Name: "io_uring_register$IORING_UNREGISTER_BUFFERS", CallName: "io_uring_register", Args: []Type{
&ResourceType{TypeCommon: TypeCommon{TypeName: "fd_io_uring", FldName: "fd", TypeSize: 4}},
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "opcode", TypeSize: 8}}, Val: 1},
@@ -38766,7 +38777,7 @@ var syscalls_ppc64le = []*Syscall{
{NR: 205, Name: "madvise", CallName: "madvise", Args: []Type{
&VmaType{TypeCommon: TypeCommon{TypeName: "vma", FldName: "addr", TypeSize: 8}},
&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "len", TypeSize: 8}}, Path: []string{"addr"}},
- &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "madvise_flags", FldName: "advice", TypeSize: 8}}, Vals: []uint64{0, 1, 2, 3, 4, 9, 10, 11, 100, 101, 12, 13, 14, 15, 16, 17, 18, 19}},
+ &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "madvise_flags", FldName: "advice", TypeSize: 8}}, Vals: []uint64{0, 1, 2, 3, 4, 9, 10, 11, 100, 101, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21}},
}},
{NR: 259, Name: "mbind", CallName: "mbind", Args: []Type{
&VmaType{TypeCommon: TypeCommon{TypeName: "vma", FldName: "addr", TypeSize: 8}},
@@ -44565,6 +44576,11 @@ var syscalls_ppc64le = []*Syscall{
&FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "wait_options", FldName: "options", TypeSize: 8}}, Vals: []uint64{1, 2, 8, 4, 2, 8, 1, 16777216, 2147483648, 1073741824, 536870912}},
&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "ru", TypeSize: 8, IsOptional: true}, Type: &StructType{Key: StructKey{Name: "rusage", Dir: 1}}},
}},
+ {NR: 436, Name: "watch_devices", CallName: "watch_devices", Args: []Type{
+ &ResourceType{TypeCommon: TypeCommon{TypeName: "fd_watch_queue", FldName: "watch_fd", TypeSize: 4}},
+ &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "intptr", FldName: "watch_id", TypeSize: 8}}, Kind: 2, RangeBegin: 18446744073709551615, RangeEnd: 255},
+ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "flags", TypeSize: 8}}},
+ }},
{NR: 4, Name: "write", CallName: "write", Args: []Type{
&ResourceType{TypeCommon: TypeCommon{TypeName: "fd", FldName: "fd", TypeSize: 4}},
&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "buf", TypeSize: 8}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "array", IsVarlen: true}}},
@@ -47645,6 +47661,8 @@ var consts_ppc64le = []ConstValue{
{Name: "IORING_REGISTER_BUFFERS"},
{Name: "IORING_REGISTER_EVENTFD", Value: 4},
{Name: "IORING_REGISTER_FILES", Value: 2},
+ {Name: "IORING_REGISTER_FILES_UPDATE", Value: 6},
+ {Name: "IORING_SETUP_CQSIZE", Value: 8},
{Name: "IORING_SETUP_IOPOLL", Value: 1},
{Name: "IORING_SETUP_SQPOLL", Value: 2},
{Name: "IORING_SETUP_SQ_AFF", Value: 4},
@@ -48412,6 +48430,7 @@ var consts_ppc64le = []ConstValue{
{Name: "LWTUNNEL_ENCAP_NONE"},
{Name: "LWTUNNEL_ENCAP_SEG6", Value: 5},
{Name: "LWTUNNEL_ENCAP_SEG6_LOCAL", Value: 7},
+ {Name: "MADV_COLD", Value: 20},
{Name: "MADV_DODUMP", Value: 17},
{Name: "MADV_DOFORK", Value: 11},
{Name: "MADV_DONTDUMP", Value: 16},
@@ -48423,6 +48442,7 @@ var consts_ppc64le = []ConstValue{
{Name: "MADV_MERGEABLE", Value: 12},
{Name: "MADV_NOHUGEPAGE", Value: 15},
{Name: "MADV_NORMAL"},
+ {Name: "MADV_PAGEOUT", Value: 21},
{Name: "MADV_RANDOM", Value: 1},
{Name: "MADV_REMOVE", Value: 9},
{Name: "MADV_SEQUENTIAL", Value: 2},
@@ -52748,6 +52768,7 @@ var consts_ppc64le = []ConstValue{
{Name: "XDP_UMEM_PGOFF_COMPLETION_RING", Value: 6442450944},
{Name: "XDP_UMEM_PGOFF_FILL_RING", Value: 4294967296},
{Name: "XDP_UMEM_REG", Value: 4},
+ {Name: "XDP_USE_NEED_WAKEUP", Value: 8},
{Name: "XDP_ZEROCOPY", Value: 4},
{Name: "XFRMA_ADDRESS_FILTER", Value: 26},
{Name: "XFRMA_ALG_AEAD", Value: 18},
@@ -53357,6 +53378,7 @@ var consts_ppc64le = []ConstValue{
{Name: "__NR_vmsplice", Value: 285},
{Name: "__NR_wait4", Value: 114},
{Name: "__NR_waitid", Value: 272},
+ {Name: "__NR_watch_devices", Value: 436},
{Name: "__NR_write", Value: 4},
{Name: "__NR_writev", Value: 146},
{Name: "__O_TMPFILE", Value: 4194304},
@@ -53368,4 +53390,4 @@ var consts_ppc64le = []ConstValue{
{Name: "bpf_insn_load_imm_dw", Value: 24},
}
-const revision_ppc64le = "19e09581d8ed566be68db73353ecab73eb076e43"
+const revision_ppc64le = "9e3f5b4a675285543e20a0c7fe41ed40f58ff2c7"
diff --git a/sys/linux/io_uring.txt b/sys/linux/io_uring.txt
index f09ca4ee5..232cbee21 100644
--- a/sys/linux/io_uring.txt
+++ b/sys/linux/io_uring.txt
@@ -18,12 +18,13 @@ io_uring_register$IORING_REGISTER_FILES(fd fd_io_uring, opcode const[IORING_REGI
io_uring_register$IORING_UNREGISTER_FILES(fd fd_io_uring, opcode const[IORING_UNREGISTER_FILES], arg const[0], nr_args const[0])
io_uring_register$IORING_REGISTER_EVENTFD(fd fd_io_uring, opcode const[IORING_REGISTER_EVENTFD], arg ptr[in, fd_event], nr_args const[1])
io_uring_register$IORING_UNREGISTER_EVENTFD(fd fd_io_uring, opcode const[IORING_UNREGISTER_EVENTFD], arg const[0], nr_args const[0])
+io_uring_register$IORING_REGISTER_FILES_UPDATE(fd fd_io_uring, opcode const[IORING_REGISTER_FILES_UPDATE], arg ptr[in, io_uring_files_update], nr_args len[arg:fds])
mmap$IORING_OFF_SQ_RING(addr vma, len len[addr], prot flags[mmap_prot], flags flags[mmap_flags], fd fd_io_uring, offset const[IORING_OFF_SQ_RING])
mmap$IORING_OFF_CQ_RING(addr vma, len len[addr], prot flags[mmap_prot], flags flags[mmap_flags], fd fd_io_uring, offset const[IORING_OFF_CQ_RING])
mmap$IORING_OFF_SQES(addr vma, len len[addr], prot flags[mmap_prot], flags flags[mmap_flags], fd fd_io_uring, offset const[IORING_OFF_SQES])
-io_uring_setup_flags = IORING_SETUP_IOPOLL, IORING_SETUP_SQPOLL, IORING_SETUP_SQ_AFF
+io_uring_setup_flags = IORING_SETUP_IOPOLL, IORING_SETUP_SQPOLL, IORING_SETUP_SQ_AFF, IORING_SETUP_CQSIZE
io_uring_enter_flags = IORING_ENTER_GETEVENTS, IORING_ENTER_SQ_WAKEUP
_ = __NR_mmap2
@@ -49,3 +50,8 @@ io_sqring_offsets {
resv1 const[0, int32]
resv2 const[0, int64]
}
+
+io_uring_files_update {
+ offset int32
+ fds ptr[in, array[fd]]
+}
diff --git a/sys/linux/io_uring_386.const b/sys/linux/io_uring_386.const
index 95260a2bd..e740fc5fa 100644
--- a/sys/linux/io_uring_386.const
+++ b/sys/linux/io_uring_386.const
@@ -7,6 +7,8 @@ IORING_OFF_SQ_RING = 0
IORING_REGISTER_BUFFERS = 0
IORING_REGISTER_EVENTFD = 4
IORING_REGISTER_FILES = 2
+IORING_REGISTER_FILES_UPDATE = 6
+IORING_SETUP_CQSIZE = 8
IORING_SETUP_IOPOLL = 1
IORING_SETUP_SQPOLL = 2
IORING_SETUP_SQ_AFF = 4
diff --git a/sys/linux/io_uring_amd64.const b/sys/linux/io_uring_amd64.const
index f5488f709..17cb79106 100644
--- a/sys/linux/io_uring_amd64.const
+++ b/sys/linux/io_uring_amd64.const
@@ -7,6 +7,8 @@ IORING_OFF_SQ_RING = 0
IORING_REGISTER_BUFFERS = 0
IORING_REGISTER_EVENTFD = 4
IORING_REGISTER_FILES = 2
+IORING_REGISTER_FILES_UPDATE = 6
+IORING_SETUP_CQSIZE = 8
IORING_SETUP_IOPOLL = 1
IORING_SETUP_SQPOLL = 2
IORING_SETUP_SQ_AFF = 4
diff --git a/sys/linux/io_uring_arm.const b/sys/linux/io_uring_arm.const
index 95260a2bd..e740fc5fa 100644
--- a/sys/linux/io_uring_arm.const
+++ b/sys/linux/io_uring_arm.const
@@ -7,6 +7,8 @@ IORING_OFF_SQ_RING = 0
IORING_REGISTER_BUFFERS = 0
IORING_REGISTER_EVENTFD = 4
IORING_REGISTER_FILES = 2
+IORING_REGISTER_FILES_UPDATE = 6
+IORING_SETUP_CQSIZE = 8
IORING_SETUP_IOPOLL = 1
IORING_SETUP_SQPOLL = 2
IORING_SETUP_SQ_AFF = 4
diff --git a/sys/linux/io_uring_arm64.const b/sys/linux/io_uring_arm64.const
index cd1b69f3a..dda794af9 100644
--- a/sys/linux/io_uring_arm64.const
+++ b/sys/linux/io_uring_arm64.const
@@ -7,6 +7,8 @@ IORING_OFF_SQ_RING = 0
IORING_REGISTER_BUFFERS = 0
IORING_REGISTER_EVENTFD = 4
IORING_REGISTER_FILES = 2
+IORING_REGISTER_FILES_UPDATE = 6
+IORING_SETUP_CQSIZE = 8
IORING_SETUP_IOPOLL = 1
IORING_SETUP_SQPOLL = 2
IORING_SETUP_SQ_AFF = 4
diff --git a/sys/linux/io_uring_ppc64le.const b/sys/linux/io_uring_ppc64le.const
index 6d84aa00f..c7afcaa57 100644
--- a/sys/linux/io_uring_ppc64le.const
+++ b/sys/linux/io_uring_ppc64le.const
@@ -7,6 +7,8 @@ IORING_OFF_SQ_RING = 0
IORING_REGISTER_BUFFERS = 0
IORING_REGISTER_EVENTFD = 4
IORING_REGISTER_FILES = 2
+IORING_REGISTER_FILES_UPDATE = 6
+IORING_SETUP_CQSIZE = 8
IORING_SETUP_IOPOLL = 1
IORING_SETUP_SQPOLL = 2
IORING_SETUP_SQ_AFF = 4
diff --git a/sys/linux/socket_xdp.txt b/sys/linux/socket_xdp.txt
index ffcbd9ca0..d6596f1e6 100644
--- a/sys/linux/socket_xdp.txt
+++ b/sys/linux/socket_xdp.txt
@@ -42,7 +42,7 @@ sockaddr_xdp_bind {
sxdp_shared_umem_fd sock_xdp[opt]
}
-sxdp_flags = XDP_SHARED_UMEM, XDP_COPY, XDP_ZEROCOPY
+sxdp_flags = XDP_SHARED_UMEM, XDP_COPY, XDP_ZEROCOPY, XDP_USE_NEED_WAKEUP
msghdr_xdp {
msg_name ptr[in, sockaddr_xdp, opt]
diff --git a/sys/linux/socket_xdp_386.const b/sys/linux/socket_xdp_386.const
index fb1f25818..2900d24e0 100644
--- a/sys/linux/socket_xdp_386.const
+++ b/sys/linux/socket_xdp_386.const
@@ -17,6 +17,7 @@ XDP_UMEM_FILL_RING = 5
XDP_UMEM_PGOFF_COMPLETION_RING = 6442450944
XDP_UMEM_PGOFF_FILL_RING = 4294967296
XDP_UMEM_REG = 4
+XDP_USE_NEED_WAKEUP = 8
XDP_ZEROCOPY = 4
__NR_bind = 361
__NR_getsockopt = 365
diff --git a/sys/linux/socket_xdp_amd64.const b/sys/linux/socket_xdp_amd64.const
index fb8eac8da..5c2b2bea3 100644
--- a/sys/linux/socket_xdp_amd64.const
+++ b/sys/linux/socket_xdp_amd64.const
@@ -17,6 +17,7 @@ XDP_UMEM_FILL_RING = 5
XDP_UMEM_PGOFF_COMPLETION_RING = 6442450944
XDP_UMEM_PGOFF_FILL_RING = 4294967296
XDP_UMEM_REG = 4
+XDP_USE_NEED_WAKEUP = 8
XDP_ZEROCOPY = 4
__NR_bind = 49
__NR_getsockopt = 55
diff --git a/sys/linux/socket_xdp_arm.const b/sys/linux/socket_xdp_arm.const
index 835947f56..62e3ab49a 100644
--- a/sys/linux/socket_xdp_arm.const
+++ b/sys/linux/socket_xdp_arm.const
@@ -17,6 +17,7 @@ XDP_UMEM_FILL_RING = 5
XDP_UMEM_PGOFF_COMPLETION_RING = 6442450944
XDP_UMEM_PGOFF_FILL_RING = 4294967296
XDP_UMEM_REG = 4
+XDP_USE_NEED_WAKEUP = 8
XDP_ZEROCOPY = 4
__NR_bind = 282
__NR_getsockopt = 295
diff --git a/sys/linux/socket_xdp_arm64.const b/sys/linux/socket_xdp_arm64.const
index 0b5aafcf0..f4ba0dd5a 100644
--- a/sys/linux/socket_xdp_arm64.const
+++ b/sys/linux/socket_xdp_arm64.const
@@ -17,6 +17,7 @@ XDP_UMEM_FILL_RING = 5
XDP_UMEM_PGOFF_COMPLETION_RING = 6442450944
XDP_UMEM_PGOFF_FILL_RING = 4294967296
XDP_UMEM_REG = 4
+XDP_USE_NEED_WAKEUP = 8
XDP_ZEROCOPY = 4
__NR_bind = 200
__NR_getsockopt = 209
diff --git a/sys/linux/socket_xdp_ppc64le.const b/sys/linux/socket_xdp_ppc64le.const
index 66e1ec927..ccbfc765c 100644
--- a/sys/linux/socket_xdp_ppc64le.const
+++ b/sys/linux/socket_xdp_ppc64le.const
@@ -17,6 +17,7 @@ XDP_UMEM_FILL_RING = 5
XDP_UMEM_PGOFF_COMPLETION_RING = 6442450944
XDP_UMEM_PGOFF_FILL_RING = 4294967296
XDP_UMEM_REG = 4
+XDP_USE_NEED_WAKEUP = 8
XDP_ZEROCOPY = 4
__NR_bind = 327
__NR_getsockopt = 340
diff --git a/sys/linux/sys.txt b/sys/linux/sys.txt
index 93b921811..28ff45ac6 100644
--- a/sys/linux/sys.txt
+++ b/sys/linux/sys.txt
@@ -853,7 +853,7 @@ kcmp_epoll_slot {
open_flags = O_RDONLY, O_WRONLY, O_RDWR, O_APPEND, FASYNC, O_CLOEXEC, O_CREAT, O_DIRECT, O_DIRECTORY, O_EXCL, O_LARGEFILE, O_NOATIME, O_NOCTTY, O_NOFOLLOW, O_NONBLOCK, O_PATH, O_SYNC, O_TRUNC, __O_TMPFILE
open_mode = S_IRUSR, S_IWUSR, S_IXUSR, S_IRGRP, S_IWGRP, S_IXGRP, S_IROTH, S_IWOTH, S_IXOTH
-madvise_flags = MADV_NORMAL, MADV_RANDOM, MADV_SEQUENTIAL, MADV_WILLNEED, MADV_DONTNEED, MADV_REMOVE, MADV_DONTFORK, MADV_DOFORK, MADV_HWPOISON, MADV_SOFT_OFFLINE, MADV_MERGEABLE, MADV_UNMERGEABLE, MADV_HUGEPAGE, MADV_NOHUGEPAGE, MADV_DONTDUMP, MADV_DODUMP, MADV_WIPEONFORK, MADV_KEEPONFORK
+madvise_flags = MADV_NORMAL, MADV_RANDOM, MADV_SEQUENTIAL, MADV_WILLNEED, MADV_DONTNEED, MADV_REMOVE, MADV_DONTFORK, MADV_DOFORK, MADV_HWPOISON, MADV_SOFT_OFFLINE, MADV_MERGEABLE, MADV_UNMERGEABLE, MADV_HUGEPAGE, MADV_NOHUGEPAGE, MADV_DONTDUMP, MADV_DODUMP, MADV_WIPEONFORK, MADV_KEEPONFORK, MADV_COLD, MADV_PAGEOUT
fadvise_flags = POSIX_FADV_NORMAL, POSIX_FADV_SEQUENTIAL, POSIX_FADV_RANDOM, POSIX_FADV_NOREUSE, POSIX_FADV_WILLNEED, POSIX_FADV_DONTNEED
move_pages_flags = MPOL_MF_MOVE, MPOL_MF_MOVE_ALL
msync_flags = MS_ASYNC, MS_SYNC, MS_INVALIDATE
diff --git a/sys/linux/sys_386.const b/sys/linux/sys_386.const
index c1a43765a..369795c4a 100644
--- a/sys/linux/sys_386.const
+++ b/sys/linux/sys_386.const
@@ -194,6 +194,7 @@ LOCK_EX = 2
LOCK_NB = 4
LOCK_SH = 1
LOCK_UN = 8
+MADV_COLD = 20
MADV_DODUMP = 17
MADV_DOFORK = 11
MADV_DONTDUMP = 16
@@ -205,6 +206,7 @@ MADV_KEEPONFORK = 19
MADV_MERGEABLE = 12
MADV_NOHUGEPAGE = 15
MADV_NORMAL = 0
+MADV_PAGEOUT = 21
MADV_RANDOM = 1
MADV_REMOVE = 9
MADV_SEQUENTIAL = 2
diff --git a/sys/linux/sys_amd64.const b/sys/linux/sys_amd64.const
index bfc45ed71..041d5f071 100644
--- a/sys/linux/sys_amd64.const
+++ b/sys/linux/sys_amd64.const
@@ -194,6 +194,7 @@ LOCK_EX = 2
LOCK_NB = 4
LOCK_SH = 1
LOCK_UN = 8
+MADV_COLD = 20
MADV_DODUMP = 17
MADV_DOFORK = 11
MADV_DONTDUMP = 16
@@ -205,6 +206,7 @@ MADV_KEEPONFORK = 19
MADV_MERGEABLE = 12
MADV_NOHUGEPAGE = 15
MADV_NORMAL = 0
+MADV_PAGEOUT = 21
MADV_RANDOM = 1
MADV_REMOVE = 9
MADV_SEQUENTIAL = 2
diff --git a/sys/linux/sys_arm.const b/sys/linux/sys_arm.const
index c61e94f92..c2a48e080 100644
--- a/sys/linux/sys_arm.const
+++ b/sys/linux/sys_arm.const
@@ -194,6 +194,7 @@ LOCK_EX = 2
LOCK_NB = 4
LOCK_SH = 1
LOCK_UN = 8
+MADV_COLD = 20
MADV_DODUMP = 17
MADV_DOFORK = 11
MADV_DONTDUMP = 16
@@ -205,6 +206,7 @@ MADV_KEEPONFORK = 19
MADV_MERGEABLE = 12
MADV_NOHUGEPAGE = 15
MADV_NORMAL = 0
+MADV_PAGEOUT = 21
MADV_RANDOM = 1
MADV_REMOVE = 9
MADV_SEQUENTIAL = 2
diff --git a/sys/linux/sys_arm64.const b/sys/linux/sys_arm64.const
index f08d5559c..6b0ef3efb 100644
--- a/sys/linux/sys_arm64.const
+++ b/sys/linux/sys_arm64.const
@@ -194,6 +194,7 @@ LOCK_EX = 2
LOCK_NB = 4
LOCK_SH = 1
LOCK_UN = 8
+MADV_COLD = 20
MADV_DODUMP = 17
MADV_DOFORK = 11
MADV_DONTDUMP = 16
@@ -205,6 +206,7 @@ MADV_KEEPONFORK = 19
MADV_MERGEABLE = 12
MADV_NOHUGEPAGE = 15
MADV_NORMAL = 0
+MADV_PAGEOUT = 21
MADV_RANDOM = 1
MADV_REMOVE = 9
MADV_SEQUENTIAL = 2
diff --git a/sys/linux/sys_ppc64le.const b/sys/linux/sys_ppc64le.const
index 71d0afb50..1c3e14677 100644
--- a/sys/linux/sys_ppc64le.const
+++ b/sys/linux/sys_ppc64le.const
@@ -194,6 +194,7 @@ LOCK_EX = 2
LOCK_NB = 4
LOCK_SH = 1
LOCK_UN = 8
+MADV_COLD = 20
MADV_DODUMP = 17
MADV_DOFORK = 11
MADV_DONTDUMP = 16
@@ -205,6 +206,7 @@ MADV_KEEPONFORK = 19
MADV_MERGEABLE = 12
MADV_NOHUGEPAGE = 15
MADV_NORMAL = 0
+MADV_PAGEOUT = 21
MADV_RANDOM = 1
MADV_REMOVE = 9
MADV_SEQUENTIAL = 2
diff --git a/sys/linux/watch_queue.txt b/sys/linux/watch_queue.txt
index d6bc9b33c..9f08bf6f3 100644
--- a/sys/linux/watch_queue.txt
+++ b/sys/linux/watch_queue.txt
@@ -12,6 +12,8 @@ mmap$watch_queue(addr vma, len len[addr], prot flags[mmap_prot], flags flags[mma
ioctl$IOC_WATCH_QUEUE_SET_SIZE(fd fd_watch_queue, cmd const[IOC_WATCH_QUEUE_SET_SIZE], arg flags[watch_queue_size])
ioctl$IOC_WATCH_QUEUE_SET_FILTER(fd fd_watch_queue, cmd const[IOC_WATCH_QUEUE_SET_FILTER], arg ptr[in, watch_notification_filter])
+watch_devices(watch_fd fd_watch_queue, watch_id intptr[-1:0xff], flags const[0])
+
watch_notification_filter {
nr_filters len[filters, int32]
__reserved const[0, int32]
diff --git a/sys/linux/watch_queue_amd64.const b/sys/linux/watch_queue_amd64.const
index 35b23cfaa..362ffd18a 100644
--- a/sys/linux/watch_queue_amd64.const
+++ b/sys/linux/watch_queue_amd64.const
@@ -6,3 +6,4 @@ __NR_ioctl = 16
__NR_mmap = 9
# __NR_mmap2 is not set
__NR_openat = 257
+__NR_watch_devices = 436
diff --git a/sys/linux/watch_queue_arm64.const b/sys/linux/watch_queue_arm64.const
index 710f187af..951644fd3 100644
--- a/sys/linux/watch_queue_arm64.const
+++ b/sys/linux/watch_queue_arm64.const
@@ -6,3 +6,4 @@ __NR_ioctl = 29
__NR_mmap = 222
# __NR_mmap2 is not set
__NR_openat = 56
+__NR_watch_devices = 436
diff --git a/sys/linux/watch_queue_ppc64le.const b/sys/linux/watch_queue_ppc64le.const
index 21e0512bd..b0993c721 100644
--- a/sys/linux/watch_queue_ppc64le.const
+++ b/sys/linux/watch_queue_ppc64le.const
@@ -6,3 +6,4 @@ __NR_ioctl = 54
__NR_mmap = 90
# __NR_mmap2 is not set
__NR_openat = 286
+__NR_watch_devices = 436