sys/linux: add watch_queue descriptions
diff --git a/executor/defs.h b/executor/defs.h
index 8bf115f..80454b6 100644
--- a/executor/defs.h
+++ b/executor/defs.h
@@ -70,7 +70,7 @@
 
 #if GOARCH_386
 #define GOARCH "386"
-#define SYZ_REVISION "aa1396241f46bcc6fb20a1c9a155aff4af6b18b9"
+#define SYZ_REVISION "caa34ba6028e204ea1ede873fa3484a49a147985"
 #define SYZ_EXECUTOR_USES_FORK_SERVER 1
 #define SYZ_EXECUTOR_USES_SHMEM 1
 #define SYZ_PAGE_SIZE 4096
@@ -80,7 +80,7 @@
 
 #if GOARCH_amd64
 #define GOARCH "amd64"
-#define SYZ_REVISION "e7d25307e725b1e6951f545be84795f566d999a8"
+#define SYZ_REVISION "5bb7010023efe0a465a43638f719c7ab6d7b2158"
 #define SYZ_EXECUTOR_USES_FORK_SERVER 1
 #define SYZ_EXECUTOR_USES_SHMEM 1
 #define SYZ_PAGE_SIZE 4096
@@ -90,7 +90,7 @@
 
 #if GOARCH_arm
 #define GOARCH "arm"
-#define SYZ_REVISION "83c3c7ca6808ff3085c1422f4eb13a6917a9d6a5"
+#define SYZ_REVISION "0b7b2d545de7e689555e47957f7e2ced5fa23f1d"
 #define SYZ_EXECUTOR_USES_FORK_SERVER 1
 #define SYZ_EXECUTOR_USES_SHMEM 1
 #define SYZ_PAGE_SIZE 4096
@@ -100,7 +100,7 @@
 
 #if GOARCH_arm64
 #define GOARCH "arm64"
-#define SYZ_REVISION "e37e0795739c9fbd08ef79ba57bcee09ec4262f9"
+#define SYZ_REVISION "f9df0cdbf2cb34d1601a792c5e261d29f4d9d2da"
 #define SYZ_EXECUTOR_USES_FORK_SERVER 1
 #define SYZ_EXECUTOR_USES_SHMEM 1
 #define SYZ_PAGE_SIZE 4096
@@ -110,7 +110,7 @@
 
 #if GOARCH_ppc64le
 #define GOARCH "ppc64le"
-#define SYZ_REVISION "42a1b9f46b354dff77558c3da620f311189b48aa"
+#define SYZ_REVISION "261e2fa5f00888060a46dbcb9028289bf439890f"
 #define SYZ_EXECUTOR_USES_FORK_SERVER 1
 #define SYZ_EXECUTOR_USES_SHMEM 1
 #define SYZ_PAGE_SIZE 4096
diff --git a/executor/syscalls.h b/executor/syscalls.h
index f24c81e..1b7e527 100644
--- a/executor/syscalls.h
+++ b/executor/syscalls.h
@@ -2832,6 +2832,8 @@
     {"ioctl$IOC_PR_REGISTER", 54},
     {"ioctl$IOC_PR_RELEASE", 54},
     {"ioctl$IOC_PR_RESERVE", 54},
+    {"ioctl$IOC_WATCH_QUEUE_SET_FILTER", 54},
+    {"ioctl$IOC_WATCH_QUEUE_SET_SIZE", 54},
     {"ioctl$ION_IOC_ALLOC", 54},
     {"ioctl$ION_IOC_HEAP_QUERY", 54},
     {"ioctl$KDADDIO", 54},
@@ -3685,6 +3687,7 @@
     {"mmap$perf", 192},
     {"mmap$usbfs", 192},
     {"mmap$usbmon", 192},
+    {"mmap$watch_queue", 192},
     {"mmap$xdp", 192},
     {"modify_ldt$read", 123},
     {"modify_ldt$read_default", 123},
@@ -3837,6 +3840,7 @@
     {"openat$vimc2", 295},
     {"openat$vnet", 295},
     {"openat$vsock", 295},
+    {"openat$watch_queue", 295},
     {"openat$xenevtchn", 295},
     {"openat$zero", 295},
     {"openat$zygote", 295},
@@ -5635,6 +5639,8 @@
     {"ioctl$IOC_PR_REGISTER", 16},
     {"ioctl$IOC_PR_RELEASE", 16},
     {"ioctl$IOC_PR_RESERVE", 16},
+    {"ioctl$IOC_WATCH_QUEUE_SET_FILTER", 16},
+    {"ioctl$IOC_WATCH_QUEUE_SET_SIZE", 16},
     {"ioctl$ION_IOC_ALLOC", 16},
     {"ioctl$ION_IOC_HEAP_QUERY", 16},
     {"ioctl$KDADDIO", 16},
@@ -6492,6 +6498,7 @@
     {"mmap$perf", 9},
     {"mmap$usbfs", 9},
     {"mmap$usbmon", 9},
+    {"mmap$watch_queue", 9},
     {"mmap$xdp", 9},
     {"modify_ldt$read", 154},
     {"modify_ldt$read_default", 154},
@@ -6644,6 +6651,7 @@
     {"openat$vimc2", 257},
     {"openat$vnet", 257},
     {"openat$vsock", 257},
+    {"openat$watch_queue", 257},
     {"openat$xenevtchn", 257},
     {"openat$zero", 257},
     {"openat$zygote", 257},
@@ -8430,6 +8438,8 @@
     {"ioctl$IOC_PR_REGISTER", 54},
     {"ioctl$IOC_PR_RELEASE", 54},
     {"ioctl$IOC_PR_RESERVE", 54},
+    {"ioctl$IOC_WATCH_QUEUE_SET_FILTER", 54},
+    {"ioctl$IOC_WATCH_QUEUE_SET_SIZE", 54},
     {"ioctl$ION_IOC_ALLOC", 54},
     {"ioctl$ION_IOC_HEAP_QUERY", 54},
     {"ioctl$KDADDIO", 54},
@@ -9258,6 +9268,7 @@
     {"mmap$perf", 192},
     {"mmap$usbfs", 192},
     {"mmap$usbmon", 192},
+    {"mmap$watch_queue", 192},
     {"mmap$xdp", 192},
     {"mount", 21},
     {"mount$9p_fd", 21},
@@ -9406,6 +9417,7 @@
     {"openat$vimc2", 322},
     {"openat$vnet", 322},
     {"openat$vsock", 322},
+    {"openat$watch_queue", 322},
     {"openat$xenevtchn", 322},
     {"openat$zero", 322},
     {"openat$zygote", 322},
@@ -11180,6 +11192,8 @@
     {"ioctl$IOC_PR_REGISTER", 29},
     {"ioctl$IOC_PR_RELEASE", 29},
     {"ioctl$IOC_PR_RESERVE", 29},
+    {"ioctl$IOC_WATCH_QUEUE_SET_FILTER", 29},
+    {"ioctl$IOC_WATCH_QUEUE_SET_SIZE", 29},
     {"ioctl$ION_IOC_ALLOC", 29},
     {"ioctl$ION_IOC_HEAP_QUERY", 29},
     {"ioctl$KDADDIO", 29},
@@ -12006,6 +12020,7 @@
     {"mmap$perf", 222},
     {"mmap$usbfs", 222},
     {"mmap$usbmon", 222},
+    {"mmap$watch_queue", 222},
     {"mmap$xdp", 222},
     {"mount", 40},
     {"mount$9p_fd", 40},
@@ -12152,6 +12167,7 @@
     {"openat$vimc2", 56},
     {"openat$vnet", 56},
     {"openat$vsock", 56},
+    {"openat$watch_queue", 56},
     {"openat$xenevtchn", 56},
     {"openat$zero", 56},
     {"openat$zygote", 56},
@@ -13921,6 +13937,8 @@
     {"ioctl$IOC_PR_REGISTER", 54},
     {"ioctl$IOC_PR_RELEASE", 54},
     {"ioctl$IOC_PR_RESERVE", 54},
+    {"ioctl$IOC_WATCH_QUEUE_SET_FILTER", 54},
+    {"ioctl$IOC_WATCH_QUEUE_SET_SIZE", 54},
     {"ioctl$ION_IOC_ALLOC", 54},
     {"ioctl$ION_IOC_HEAP_QUERY", 54},
     {"ioctl$KDADDIO", 54},
@@ -14741,6 +14759,7 @@
     {"mmap$perf", 90},
     {"mmap$usbfs", 90},
     {"mmap$usbmon", 90},
+    {"mmap$watch_queue", 90},
     {"mmap$xdp", 90},
     {"modify_ldt$read", 123},
     {"modify_ldt$read_default", 123},
@@ -14893,6 +14912,7 @@
     {"openat$vimc2", 286},
     {"openat$vnet", 286},
     {"openat$vsock", 286},
+    {"openat$watch_queue", 286},
     {"openat$xenevtchn", 286},
     {"openat$zero", 286},
     {"openat$zygote", 286},
diff --git a/sys/linux/gen/386.go b/sys/linux/gen/386.go
index b6f7368..0f5f561 100644
--- a/sys/linux/gen/386.go
+++ b/sys/linux/gen/386.go
@@ -126,6 +126,7 @@
 	{Name: "fd_vhci", Type: &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", TypeSize: 4}}}, Kind: []string{"fd", "fd_vhci"}, Values: []uint64{18446744073709551615}},
 	{Name: "fd_vhost", Type: &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", TypeSize: 4}}}, Kind: []string{"fd", "fd_vhost"}, Values: []uint64{18446744073709551615}},
 	{Name: "fd_video", Type: &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", TypeSize: 4}}}, Kind: []string{"fd", "fd_video"}, Values: []uint64{18446744073709551615}},
+	{Name: "fd_watch_queue", Type: &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", TypeSize: 4}}}, Kind: []string{"fd", "fd_watch_queue"}, Values: []uint64{18446744073709551615}},
 	{Name: "flow_handle", Type: &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", TypeSize: 4}}}, Kind: []string{"flow_handle"}, Values: []uint64{0}},
 	{Name: "genl_fou_family_id", Type: &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int16", TypeSize: 2}}}, Kind: []string{"genl_fou_family_id"}, Values: []uint64{0}},
 	{Name: "genl_ipvs_family_id", Type: &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int16", TypeSize: 2}}}, Kind: []string{"genl_ipvs_family_id"}, Values: []uint64{0}},
@@ -28022,6 +28023,17 @@
 		&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "audio_UAC_GET_RES", TypeSize: 4}, Type: &StructType{Key: StructKey{Name: "vusb_response_t[USB_TYPE_CLASS, UAC_GET_RES, array[int8, 1:4]]"}}},
 		&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "audio_UAC_GET_MEM", TypeSize: 4}, Type: &StructType{Key: StructKey{Name: "vusb_response_t[USB_TYPE_CLASS, UAC_GET_MEM, array[int8, 3]]"}}},
 	}}},
+	{Key: StructKey{Name: "watch_notification_filter"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "watch_notification_filter", IsVarlen: true}, Fields: []Type{
+		&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "nr_filters", TypeSize: 4}}, Path: []string{"filters"}},
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "__reserved", TypeSize: 4}}},
+		&ArrayType{TypeCommon: TypeCommon{TypeName: "array", FldName: "filters", IsVarlen: true}, Type: &StructType{Key: StructKey{Name: "watch_notification_type_filter"}}},
+	}}},
+	{Key: StructKey{Name: "watch_notification_type_filter"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "watch_notification_type_filter", TypeSize: 44}, Fields: []Type{
+		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "type", TypeSize: 4}}},
+		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "info_filter", TypeSize: 4}}},
+		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "info_mask", TypeSize: 4}}},
+		&ArrayType{TypeCommon: TypeCommon{TypeName: "array", FldName: "subtype_filter", TypeSize: 32}, Type: &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", TypeSize: 4}}}, Kind: 1, RangeBegin: 8, RangeEnd: 8},
+	}}},
 	{Key: StructKey{Name: "winsize"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "winsize", TypeSize: 8}, Fields: []Type{
 		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int16", FldName: "row", TypeSize: 2}}},
 		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int16", FldName: "col", TypeSize: 2}}},
@@ -34597,6 +34609,16 @@
 		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "cmd", TypeSize: 4}}, Val: 1074819273},
 		&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "arg", TypeSize: 4}, Type: &StructType{Key: StructKey{Name: "pr_reservation"}}},
 	}},
+	{NR: 54, Name: "ioctl$IOC_WATCH_QUEUE_SET_FILTER", CallName: "ioctl", Args: []Type{
+		&ResourceType{TypeCommon: TypeCommon{TypeName: "fd_watch_queue", FldName: "fd", TypeSize: 4}},
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "cmd", TypeSize: 4}}, Val: 22369},
+		&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "arg", TypeSize: 4}, Type: &StructType{Key: StructKey{Name: "watch_notification_filter"}}},
+	}},
+	{NR: 54, Name: "ioctl$IOC_WATCH_QUEUE_SET_SIZE", CallName: "ioctl", Args: []Type{
+		&ResourceType{TypeCommon: TypeCommon{TypeName: "fd_watch_queue", FldName: "fd", TypeSize: 4}},
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "cmd", TypeSize: 4}}, Val: 22368},
+		&FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "watch_queue_size", FldName: "arg", TypeSize: 4}}, Vals: []uint64{1, 2, 4, 8, 16}, BitMask: true},
+	}},
 	{NR: 54, Name: "ioctl$ION_IOC_ALLOC", CallName: "ioctl", Args: []Type{
 		&ResourceType{TypeCommon: TypeCommon{TypeName: "fd_ion", FldName: "fd", TypeSize: 4}},
 		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "cmd", TypeSize: 4}}, Val: 3222817024},
@@ -38873,6 +38895,14 @@
 		&ResourceType{TypeCommon: TypeCommon{TypeName: "fd_usbmon", FldName: "fd", TypeSize: 4}},
 		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "fileoff", FldName: "offset", TypeSize: 4}}, Kind: 1},
 	}},
+	{NR: 192, Name: "mmap$watch_queue", CallName: "mmap", 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: "mmap_prot", FldName: "prot", TypeSize: 4}}, Vals: []uint64{0, 4, 1, 2, 8, 16777216, 33554432}, BitMask: true},
+		&FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "mmap_flags", FldName: "flags", TypeSize: 4}}, Vals: []uint64{1, 2, 64, 32, 2048, 4096, 0, 16, 256, 262144, 8192, 65536, 16384, 32768, 131072, 67108864, 3, 524288, 1048576}},
+		&ResourceType{TypeCommon: TypeCommon{TypeName: "fd_watch_queue", FldName: "fd", TypeSize: 4}},
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "offset", TypeSize: 4}}},
+	}},
 	{NR: 192, Name: "mmap$xdp", CallName: "mmap", 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"}},
@@ -39766,6 +39796,12 @@
 		&FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "open_flags", FldName: "flags", TypeSize: 4}}, Vals: []uint64{0, 1, 2, 1024, 8192, 524288, 64, 16384, 65536, 128, 32768, 262144, 256, 131072, 2048, 2097152, 1052672, 512, 4194304}, BitMask: true},
 		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "mode", TypeSize: 4}}},
 	}, Ret: &ResourceType{TypeCommon: TypeCommon{TypeName: "fd", FldName: "ret", TypeSize: 4, ArgDir: 1}}},
+	{NR: 295, Name: "openat$watch_queue", CallName: "openat", Args: []Type{
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "fd", TypeSize: 4}}, Val: 18446744073709551516},
+		&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "file", TypeSize: 4}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "string", TypeSize: 20}, Kind: 2, Values: []string{"/dev/fd_watch_queue\x00"}}},
+		&FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "open_flags", FldName: "flags", TypeSize: 4}}, Vals: []uint64{0, 1, 2, 1024, 8192, 524288, 64, 16384, 65536, 128, 32768, 262144, 256, 131072, 2048, 2097152, 1052672, 512, 4194304}, BitMask: true},
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "mode", TypeSize: 4}}},
+	}, Ret: &ResourceType{TypeCommon: TypeCommon{TypeName: "fd_watch_queue", FldName: "ret", TypeSize: 4, ArgDir: 1}}},
 	{NR: 295, Name: "openat$xenevtchn", CallName: "openat", Args: []Type{
 		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "fd", TypeSize: 4}}, Val: 18446744073709551516},
 		&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "file", TypeSize: 4}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "string", TypeSize: 16}, Kind: 2, Values: []string{"/dev/xen/evtchn\x00"}}},
@@ -47586,6 +47622,8 @@
 	{Name: "IOC_PR_REGISTER", Value: 1075343560},
 	{Name: "IOC_PR_RELEASE", Value: 1074819274},
 	{Name: "IOC_PR_RESERVE", Value: 1074819273},
+	{Name: "IOC_WATCH_QUEUE_SET_FILTER", Value: 22369},
+	{Name: "IOC_WATCH_QUEUE_SET_SIZE", Value: 22368},
 	{Name: "ION_FLAG_CACHED", Value: 1},
 	{Name: "ION_HEAP_TYPE_CARVEOUT_BIT", Value: 4},
 	{Name: "ION_HEAP_TYPE_CHUNK_BIT", Value: 8},
@@ -53436,4 +53474,4 @@
 	{Name: "bpf_insn_load_imm_dw", Value: 24},
 }
 
-const revision_386 = "aa1396241f46bcc6fb20a1c9a155aff4af6b18b9"
+const revision_386 = "caa34ba6028e204ea1ede873fa3484a49a147985"
diff --git a/sys/linux/gen/amd64.go b/sys/linux/gen/amd64.go
index 3ecfcf7..a994bfb 100644
--- a/sys/linux/gen/amd64.go
+++ b/sys/linux/gen/amd64.go
@@ -126,6 +126,7 @@
 	{Name: "fd_vhci", Type: &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", TypeSize: 4}}}, Kind: []string{"fd", "fd_vhci"}, Values: []uint64{18446744073709551615}},
 	{Name: "fd_vhost", Type: &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", TypeSize: 4}}}, Kind: []string{"fd", "fd_vhost"}, Values: []uint64{18446744073709551615}},
 	{Name: "fd_video", Type: &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", TypeSize: 4}}}, Kind: []string{"fd", "fd_video"}, Values: []uint64{18446744073709551615}},
+	{Name: "fd_watch_queue", Type: &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", TypeSize: 4}}}, Kind: []string{"fd", "fd_watch_queue"}, Values: []uint64{18446744073709551615}},
 	{Name: "flow_handle", Type: &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", TypeSize: 4}}}, Kind: []string{"flow_handle"}, Values: []uint64{0}},
 	{Name: "genl_fou_family_id", Type: &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int16", TypeSize: 2}}}, Kind: []string{"genl_fou_family_id"}, Values: []uint64{0}},
 	{Name: "genl_ipvs_family_id", Type: &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int16", TypeSize: 2}}}, Kind: []string{"genl_ipvs_family_id"}, Values: []uint64{0}},
@@ -28407,6 +28408,17 @@
 		&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "audio_UAC_GET_RES", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "vusb_response_t[USB_TYPE_CLASS, UAC_GET_RES, array[int8, 1:4]]"}}},
 		&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "audio_UAC_GET_MEM", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "vusb_response_t[USB_TYPE_CLASS, UAC_GET_MEM, array[int8, 3]]"}}},
 	}}},
+	{Key: StructKey{Name: "watch_notification_filter"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "watch_notification_filter", IsVarlen: true}, Fields: []Type{
+		&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "nr_filters", TypeSize: 4}}, Path: []string{"filters"}},
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "__reserved", TypeSize: 4}}},
+		&ArrayType{TypeCommon: TypeCommon{TypeName: "array", FldName: "filters", IsVarlen: true}, Type: &StructType{Key: StructKey{Name: "watch_notification_type_filter"}}},
+	}}},
+	{Key: StructKey{Name: "watch_notification_type_filter"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "watch_notification_type_filter", TypeSize: 44}, Fields: []Type{
+		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "type", TypeSize: 4}}},
+		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "info_filter", TypeSize: 4}}},
+		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "info_mask", TypeSize: 4}}},
+		&ArrayType{TypeCommon: TypeCommon{TypeName: "array", FldName: "subtype_filter", TypeSize: 32}, Type: &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", TypeSize: 4}}}, Kind: 1, RangeBegin: 8, RangeEnd: 8},
+	}}},
 	{Key: StructKey{Name: "winsize"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "winsize", TypeSize: 8}, Fields: []Type{
 		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int16", FldName: "row", TypeSize: 2}}},
 		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int16", FldName: "col", TypeSize: 2}}},
@@ -35101,6 +35113,16 @@
 		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "cmd", TypeSize: 8}}, Val: 1074819273},
 		&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "arg", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "pr_reservation"}}},
 	}},
+	{NR: 16, Name: "ioctl$IOC_WATCH_QUEUE_SET_FILTER", CallName: "ioctl", Args: []Type{
+		&ResourceType{TypeCommon: TypeCommon{TypeName: "fd_watch_queue", FldName: "fd", TypeSize: 4}},
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "cmd", TypeSize: 8}}, Val: 22369},
+		&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "arg", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "watch_notification_filter"}}},
+	}},
+	{NR: 16, Name: "ioctl$IOC_WATCH_QUEUE_SET_SIZE", CallName: "ioctl", Args: []Type{
+		&ResourceType{TypeCommon: TypeCommon{TypeName: "fd_watch_queue", FldName: "fd", TypeSize: 4}},
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "cmd", TypeSize: 8}}, Val: 22368},
+		&FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "watch_queue_size", FldName: "arg", TypeSize: 8}}, Vals: []uint64{1, 2, 4, 8, 16}, BitMask: true},
+	}},
 	{NR: 16, Name: "ioctl$ION_IOC_ALLOC", CallName: "ioctl", Args: []Type{
 		&ResourceType{TypeCommon: TypeCommon{TypeName: "fd_ion", FldName: "fd", TypeSize: 4}},
 		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "cmd", TypeSize: 8}}, Val: 3222817024},
@@ -39397,6 +39419,14 @@
 		&ResourceType{TypeCommon: TypeCommon{TypeName: "fd_usbmon", FldName: "fd", TypeSize: 4}},
 		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "fileoff", FldName: "offset", TypeSize: 8}}, Kind: 1},
 	}},
+	{NR: 9, Name: "mmap$watch_queue", CallName: "mmap", 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: "mmap_prot", FldName: "prot", TypeSize: 8}}, Vals: []uint64{0, 4, 1, 2, 8, 16777216, 33554432}, BitMask: true},
+		&FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "mmap_flags", FldName: "flags", TypeSize: 8}}, Vals: []uint64{1, 2, 64, 32, 2048, 4096, 0, 16, 256, 262144, 8192, 65536, 16384, 32768, 131072, 67108864, 3, 524288, 1048576}},
+		&ResourceType{TypeCommon: TypeCommon{TypeName: "fd_watch_queue", FldName: "fd", TypeSize: 4}},
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "offset", TypeSize: 8}}},
+	}},
 	{NR: 9, Name: "mmap$xdp", CallName: "mmap", 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"}},
@@ -40290,6 +40320,12 @@
 		&FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "open_flags", FldName: "flags", TypeSize: 8}}, Vals: []uint64{0, 1, 2, 1024, 8192, 524288, 64, 16384, 65536, 128, 32768, 262144, 256, 131072, 2048, 2097152, 1052672, 512, 4194304}, BitMask: true},
 		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "mode", TypeSize: 8}}},
 	}, Ret: &ResourceType{TypeCommon: TypeCommon{TypeName: "fd", FldName: "ret", TypeSize: 4, ArgDir: 1}}},
+	{NR: 257, Name: "openat$watch_queue", CallName: "openat", Args: []Type{
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "fd", TypeSize: 8}}, Val: 18446744073709551516},
+		&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "file", TypeSize: 8}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "string", TypeSize: 20}, Kind: 2, Values: []string{"/dev/fd_watch_queue\x00"}}},
+		&FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "open_flags", FldName: "flags", TypeSize: 8}}, Vals: []uint64{0, 1, 2, 1024, 8192, 524288, 64, 16384, 65536, 128, 32768, 262144, 256, 131072, 2048, 2097152, 1052672, 512, 4194304}, BitMask: true},
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "mode", TypeSize: 8}}},
+	}, Ret: &ResourceType{TypeCommon: TypeCommon{TypeName: "fd_watch_queue", FldName: "ret", TypeSize: 4, ArgDir: 1}}},
 	{NR: 257, Name: "openat$xenevtchn", CallName: "openat", Args: []Type{
 		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "fd", TypeSize: 8}}, Val: 18446744073709551516},
 		&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "file", TypeSize: 8}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "string", TypeSize: 16}, Kind: 2, Values: []string{"/dev/xen/evtchn\x00"}}},
@@ -48115,6 +48151,8 @@
 	{Name: "IOC_PR_REGISTER", Value: 1075343560},
 	{Name: "IOC_PR_RELEASE", Value: 1074819274},
 	{Name: "IOC_PR_RESERVE", Value: 1074819273},
+	{Name: "IOC_WATCH_QUEUE_SET_FILTER", Value: 22369},
+	{Name: "IOC_WATCH_QUEUE_SET_SIZE", Value: 22368},
 	{Name: "ION_FLAG_CACHED", Value: 1},
 	{Name: "ION_HEAP_TYPE_CARVEOUT_BIT", Value: 4},
 	{Name: "ION_HEAP_TYPE_CHUNK_BIT", Value: 8},
@@ -53980,4 +54018,4 @@
 	{Name: "bpf_insn_load_imm_dw", Value: 24},
 }
 
-const revision_amd64 = "e7d25307e725b1e6951f545be84795f566d999a8"
+const revision_amd64 = "5bb7010023efe0a465a43638f719c7ab6d7b2158"
diff --git a/sys/linux/gen/arm.go b/sys/linux/gen/arm.go
index 188f1ad..200260d 100644
--- a/sys/linux/gen/arm.go
+++ b/sys/linux/gen/arm.go
@@ -126,6 +126,7 @@
 	{Name: "fd_vhci", Type: &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", TypeSize: 4}}}, Kind: []string{"fd", "fd_vhci"}, Values: []uint64{18446744073709551615}},
 	{Name: "fd_vhost", Type: &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", TypeSize: 4}}}, Kind: []string{"fd", "fd_vhost"}, Values: []uint64{18446744073709551615}},
 	{Name: "fd_video", Type: &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", TypeSize: 4}}}, Kind: []string{"fd", "fd_video"}, Values: []uint64{18446744073709551615}},
+	{Name: "fd_watch_queue", Type: &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", TypeSize: 4}}}, Kind: []string{"fd", "fd_watch_queue"}, Values: []uint64{18446744073709551615}},
 	{Name: "flow_handle", Type: &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", TypeSize: 4}}}, Kind: []string{"flow_handle"}, Values: []uint64{0}},
 	{Name: "genl_fou_family_id", Type: &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int16", TypeSize: 2}}}, Kind: []string{"genl_fou_family_id"}, Values: []uint64{0}},
 	{Name: "genl_ipvs_family_id", Type: &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int16", TypeSize: 2}}}, Kind: []string{"genl_ipvs_family_id"}, Values: []uint64{0}},
@@ -27828,6 +27829,17 @@
 		&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "audio_UAC_GET_RES", TypeSize: 4}, Type: &StructType{Key: StructKey{Name: "vusb_response_t[USB_TYPE_CLASS, UAC_GET_RES, array[int8, 1:4]]"}}},
 		&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "audio_UAC_GET_MEM", TypeSize: 4}, Type: &StructType{Key: StructKey{Name: "vusb_response_t[USB_TYPE_CLASS, UAC_GET_MEM, array[int8, 3]]"}}},
 	}}},
+	{Key: StructKey{Name: "watch_notification_filter"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "watch_notification_filter", IsVarlen: true}, Fields: []Type{
+		&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "nr_filters", TypeSize: 4}}, Path: []string{"filters"}},
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "__reserved", TypeSize: 4}}},
+		&ArrayType{TypeCommon: TypeCommon{TypeName: "array", FldName: "filters", IsVarlen: true}, Type: &StructType{Key: StructKey{Name: "watch_notification_type_filter"}}},
+	}}},
+	{Key: StructKey{Name: "watch_notification_type_filter"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "watch_notification_type_filter", TypeSize: 44}, Fields: []Type{
+		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "type", TypeSize: 4}}},
+		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "info_filter", TypeSize: 4}}},
+		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "info_mask", TypeSize: 4}}},
+		&ArrayType{TypeCommon: TypeCommon{TypeName: "array", FldName: "subtype_filter", TypeSize: 32}, Type: &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", TypeSize: 4}}}, Kind: 1, RangeBegin: 8, RangeEnd: 8},
+	}}},
 	{Key: StructKey{Name: "winsize"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "winsize", TypeSize: 8}, Fields: []Type{
 		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int16", FldName: "row", TypeSize: 2}}},
 		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int16", FldName: "col", TypeSize: 2}}},
@@ -34401,6 +34413,16 @@
 		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "cmd", TypeSize: 4}}, Val: 1074819273},
 		&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "arg", TypeSize: 4}, Type: &StructType{Key: StructKey{Name: "pr_reservation"}}},
 	}},
+	{NR: 54, Name: "ioctl$IOC_WATCH_QUEUE_SET_FILTER", CallName: "ioctl", Args: []Type{
+		&ResourceType{TypeCommon: TypeCommon{TypeName: "fd_watch_queue", FldName: "fd", TypeSize: 4}},
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "cmd", TypeSize: 4}}, Val: 22369},
+		&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "arg", TypeSize: 4}, Type: &StructType{Key: StructKey{Name: "watch_notification_filter"}}},
+	}},
+	{NR: 54, Name: "ioctl$IOC_WATCH_QUEUE_SET_SIZE", CallName: "ioctl", Args: []Type{
+		&ResourceType{TypeCommon: TypeCommon{TypeName: "fd_watch_queue", FldName: "fd", TypeSize: 4}},
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "cmd", TypeSize: 4}}, Val: 22368},
+		&FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "watch_queue_size", FldName: "arg", TypeSize: 4}}, Vals: []uint64{1, 2, 4, 8, 16}, BitMask: true},
+	}},
 	{NR: 54, Name: "ioctl$ION_IOC_ALLOC", CallName: "ioctl", Args: []Type{
 		&ResourceType{TypeCommon: TypeCommon{TypeName: "fd_ion", FldName: "fd", TypeSize: 4}},
 		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "cmd", TypeSize: 4}}, Val: 3222817024},
@@ -38554,6 +38576,14 @@
 		&ResourceType{TypeCommon: TypeCommon{TypeName: "fd_usbmon", FldName: "fd", TypeSize: 4}},
 		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "fileoff", FldName: "offset", TypeSize: 4}}, Kind: 1},
 	}},
+	{NR: 192, Name: "mmap$watch_queue", CallName: "mmap", 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: "mmap_prot", FldName: "prot", TypeSize: 4}}, Vals: []uint64{0, 4, 1, 2, 8, 16777216, 33554432}, BitMask: true},
+		&FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "mmap_flags", FldName: "flags", TypeSize: 4}}, Vals: []uint64{1, 2, 0, 32, 2048, 4096, 0, 16, 256, 262144, 8192, 65536, 16384, 32768, 131072, 67108864, 3, 524288, 1048576}},
+		&ResourceType{TypeCommon: TypeCommon{TypeName: "fd_watch_queue", FldName: "fd", TypeSize: 4}},
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "offset", TypeSize: 4}}},
+	}},
 	{NR: 192, Name: "mmap$xdp", CallName: "mmap", 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"}},
@@ -39427,6 +39457,12 @@
 		&FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "open_flags", FldName: "flags", TypeSize: 4}}, Vals: []uint64{0, 1, 2, 1024, 8192, 524288, 64, 65536, 16384, 128, 131072, 262144, 256, 32768, 2048, 2097152, 1052672, 512, 4194304}, BitMask: true},
 		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "mode", TypeSize: 4}}},
 	}, Ret: &ResourceType{TypeCommon: TypeCommon{TypeName: "fd", FldName: "ret", TypeSize: 4, ArgDir: 1}}},
+	{NR: 322, Name: "openat$watch_queue", CallName: "openat", Args: []Type{
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "fd", TypeSize: 4}}, Val: 18446744073709551516},
+		&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "file", TypeSize: 4}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "string", TypeSize: 20}, Kind: 2, Values: []string{"/dev/fd_watch_queue\x00"}}},
+		&FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "open_flags", FldName: "flags", TypeSize: 4}}, Vals: []uint64{0, 1, 2, 1024, 8192, 524288, 64, 65536, 16384, 128, 131072, 262144, 256, 32768, 2048, 2097152, 1052672, 512, 4194304}, BitMask: true},
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "mode", TypeSize: 4}}},
+	}, Ret: &ResourceType{TypeCommon: TypeCommon{TypeName: "fd_watch_queue", FldName: "ret", TypeSize: 4, ArgDir: 1}}},
 	{NR: 322, Name: "openat$xenevtchn", CallName: "openat", Args: []Type{
 		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "fd", TypeSize: 4}}, Val: 18446744073709551516},
 		&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "file", TypeSize: 4}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "string", TypeSize: 16}, Kind: 2, Values: []string{"/dev/xen/evtchn\x00"}}},
@@ -47225,6 +47261,8 @@
 	{Name: "IOC_PR_REGISTER", Value: 1075343560},
 	{Name: "IOC_PR_RELEASE", Value: 1074819274},
 	{Name: "IOC_PR_RESERVE", Value: 1074819273},
+	{Name: "IOC_WATCH_QUEUE_SET_FILTER", Value: 22369},
+	{Name: "IOC_WATCH_QUEUE_SET_SIZE", Value: 22368},
 	{Name: "ION_FLAG_CACHED", Value: 1},
 	{Name: "ION_HEAP_TYPE_CARVEOUT_BIT", Value: 4},
 	{Name: "ION_HEAP_TYPE_CHUNK_BIT", Value: 8},
@@ -53013,4 +53051,4 @@
 	{Name: "bpf_insn_load_imm_dw", Value: 24},
 }
 
-const revision_arm = "83c3c7ca6808ff3085c1422f4eb13a6917a9d6a5"
+const revision_arm = "0b7b2d545de7e689555e47957f7e2ced5fa23f1d"
diff --git a/sys/linux/gen/arm64.go b/sys/linux/gen/arm64.go
index 31910ad..c96f718 100644
--- a/sys/linux/gen/arm64.go
+++ b/sys/linux/gen/arm64.go
@@ -126,6 +126,7 @@
 	{Name: "fd_vhci", Type: &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", TypeSize: 4}}}, Kind: []string{"fd", "fd_vhci"}, Values: []uint64{18446744073709551615}},
 	{Name: "fd_vhost", Type: &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", TypeSize: 4}}}, Kind: []string{"fd", "fd_vhost"}, Values: []uint64{18446744073709551615}},
 	{Name: "fd_video", Type: &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", TypeSize: 4}}}, Kind: []string{"fd", "fd_video"}, Values: []uint64{18446744073709551615}},
+	{Name: "fd_watch_queue", Type: &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", TypeSize: 4}}}, Kind: []string{"fd", "fd_watch_queue"}, Values: []uint64{18446744073709551615}},
 	{Name: "flow_handle", Type: &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", TypeSize: 4}}}, Kind: []string{"flow_handle"}, Values: []uint64{0}},
 	{Name: "genl_fou_family_id", Type: &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int16", TypeSize: 2}}}, Kind: []string{"genl_fou_family_id"}, Values: []uint64{0}},
 	{Name: "genl_ipvs_family_id", Type: &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int16", TypeSize: 2}}}, Kind: []string{"genl_ipvs_family_id"}, Values: []uint64{0}},
@@ -28199,6 +28200,17 @@
 		&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "audio_UAC_GET_RES", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "vusb_response_t[USB_TYPE_CLASS, UAC_GET_RES, array[int8, 1:4]]"}}},
 		&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "audio_UAC_GET_MEM", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "vusb_response_t[USB_TYPE_CLASS, UAC_GET_MEM, array[int8, 3]]"}}},
 	}}},
+	{Key: StructKey{Name: "watch_notification_filter"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "watch_notification_filter", IsVarlen: true}, Fields: []Type{
+		&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "nr_filters", TypeSize: 4}}, Path: []string{"filters"}},
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "__reserved", TypeSize: 4}}},
+		&ArrayType{TypeCommon: TypeCommon{TypeName: "array", FldName: "filters", IsVarlen: true}, Type: &StructType{Key: StructKey{Name: "watch_notification_type_filter"}}},
+	}}},
+	{Key: StructKey{Name: "watch_notification_type_filter"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "watch_notification_type_filter", TypeSize: 44}, Fields: []Type{
+		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "type", TypeSize: 4}}},
+		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "info_filter", TypeSize: 4}}},
+		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "info_mask", TypeSize: 4}}},
+		&ArrayType{TypeCommon: TypeCommon{TypeName: "array", FldName: "subtype_filter", TypeSize: 32}, Type: &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", TypeSize: 4}}}, Kind: 1, RangeBegin: 8, RangeEnd: 8},
+	}}},
 	{Key: StructKey{Name: "winsize"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "winsize", TypeSize: 8}, Fields: []Type{
 		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int16", FldName: "row", TypeSize: 2}}},
 		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int16", FldName: "col", TypeSize: 2}}},
@@ -34813,6 +34825,16 @@
 		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "cmd", TypeSize: 8}}, Val: 1074819273},
 		&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "arg", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "pr_reservation"}}},
 	}},
+	{NR: 29, Name: "ioctl$IOC_WATCH_QUEUE_SET_FILTER", CallName: "ioctl", Args: []Type{
+		&ResourceType{TypeCommon: TypeCommon{TypeName: "fd_watch_queue", FldName: "fd", TypeSize: 4}},
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "cmd", TypeSize: 8}}, Val: 22369},
+		&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "arg", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "watch_notification_filter"}}},
+	}},
+	{NR: 29, Name: "ioctl$IOC_WATCH_QUEUE_SET_SIZE", CallName: "ioctl", Args: []Type{
+		&ResourceType{TypeCommon: TypeCommon{TypeName: "fd_watch_queue", FldName: "fd", TypeSize: 4}},
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "cmd", TypeSize: 8}}, Val: 22368},
+		&FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "watch_queue_size", FldName: "arg", TypeSize: 8}}, Vals: []uint64{1, 2, 4, 8, 16}, BitMask: true},
+	}},
 	{NR: 29, Name: "ioctl$ION_IOC_ALLOC", CallName: "ioctl", Args: []Type{
 		&ResourceType{TypeCommon: TypeCommon{TypeName: "fd_ion", FldName: "fd", TypeSize: 4}},
 		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "cmd", TypeSize: 8}}, Val: 3222817024},
@@ -38959,6 +38981,14 @@
 		&ResourceType{TypeCommon: TypeCommon{TypeName: "fd_usbmon", FldName: "fd", TypeSize: 4}},
 		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "fileoff", FldName: "offset", TypeSize: 8}}, Kind: 1},
 	}},
+	{NR: 222, Name: "mmap$watch_queue", CallName: "mmap", 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: "mmap_prot", FldName: "prot", TypeSize: 8}}, Vals: []uint64{0, 4, 1, 2, 8, 16777216, 33554432}, BitMask: true},
+		&FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "mmap_flags", FldName: "flags", TypeSize: 8}}, Vals: []uint64{1, 2, 0, 32, 2048, 4096, 0, 16, 256, 262144, 8192, 65536, 16384, 32768, 131072, 67108864, 3, 524288, 1048576}},
+		&ResourceType{TypeCommon: TypeCommon{TypeName: "fd_watch_queue", FldName: "fd", TypeSize: 4}},
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "offset", TypeSize: 8}}},
+	}},
 	{NR: 222, Name: "mmap$xdp", CallName: "mmap", 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"}},
@@ -39822,6 +39852,12 @@
 		&FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "open_flags", FldName: "flags", TypeSize: 8}}, Vals: []uint64{0, 1, 2, 1024, 8192, 524288, 64, 65536, 16384, 128, 131072, 262144, 256, 32768, 2048, 2097152, 1052672, 512, 4194304}, BitMask: true},
 		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "mode", TypeSize: 8}}},
 	}, Ret: &ResourceType{TypeCommon: TypeCommon{TypeName: "fd", FldName: "ret", TypeSize: 4, ArgDir: 1}}},
+	{NR: 56, Name: "openat$watch_queue", CallName: "openat", Args: []Type{
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "fd", TypeSize: 8}}, Val: 18446744073709551516},
+		&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "file", TypeSize: 8}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "string", TypeSize: 20}, Kind: 2, Values: []string{"/dev/fd_watch_queue\x00"}}},
+		&FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "open_flags", FldName: "flags", TypeSize: 8}}, Vals: []uint64{0, 1, 2, 1024, 8192, 524288, 64, 65536, 16384, 128, 131072, 262144, 256, 32768, 2048, 2097152, 1052672, 512, 4194304}, BitMask: true},
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "mode", TypeSize: 8}}},
+	}, Ret: &ResourceType{TypeCommon: TypeCommon{TypeName: "fd_watch_queue", FldName: "ret", TypeSize: 4, ArgDir: 1}}},
 	{NR: 56, Name: "openat$xenevtchn", CallName: "openat", Args: []Type{
 		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "fd", TypeSize: 8}}, Val: 18446744073709551516},
 		&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "file", TypeSize: 8}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "string", TypeSize: 16}, Kind: 2, Values: []string{"/dev/xen/evtchn\x00"}}},
@@ -47561,6 +47597,8 @@
 	{Name: "IOC_PR_REGISTER", Value: 1075343560},
 	{Name: "IOC_PR_RELEASE", Value: 1074819274},
 	{Name: "IOC_PR_RESERVE", Value: 1074819273},
+	{Name: "IOC_WATCH_QUEUE_SET_FILTER", Value: 22369},
+	{Name: "IOC_WATCH_QUEUE_SET_SIZE", Value: 22368},
 	{Name: "ION_FLAG_CACHED", Value: 1},
 	{Name: "ION_HEAP_TYPE_CARVEOUT_BIT", Value: 4},
 	{Name: "ION_HEAP_TYPE_CHUNK_BIT", Value: 8},
@@ -53332,4 +53370,4 @@
 	{Name: "bpf_insn_load_imm_dw", Value: 24},
 }
 
-const revision_arm64 = "e37e0795739c9fbd08ef79ba57bcee09ec4262f9"
+const revision_arm64 = "f9df0cdbf2cb34d1601a792c5e261d29f4d9d2da"
diff --git a/sys/linux/gen/ppc64le.go b/sys/linux/gen/ppc64le.go
index d1a6e58..62a3bff 100644
--- a/sys/linux/gen/ppc64le.go
+++ b/sys/linux/gen/ppc64le.go
@@ -126,6 +126,7 @@
 	{Name: "fd_vhci", Type: &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", TypeSize: 4}}}, Kind: []string{"fd", "fd_vhci"}, Values: []uint64{18446744073709551615}},
 	{Name: "fd_vhost", Type: &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", TypeSize: 4}}}, Kind: []string{"fd", "fd_vhost"}, Values: []uint64{18446744073709551615}},
 	{Name: "fd_video", Type: &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", TypeSize: 4}}}, Kind: []string{"fd", "fd_video"}, Values: []uint64{18446744073709551615}},
+	{Name: "fd_watch_queue", Type: &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", TypeSize: 4}}}, Kind: []string{"fd", "fd_watch_queue"}, Values: []uint64{18446744073709551615}},
 	{Name: "flow_handle", Type: &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", TypeSize: 4}}}, Kind: []string{"flow_handle"}, Values: []uint64{0}},
 	{Name: "genl_fou_family_id", Type: &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int16", TypeSize: 2}}}, Kind: []string{"genl_fou_family_id"}, Values: []uint64{0}},
 	{Name: "genl_ipvs_family_id", Type: &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int16", TypeSize: 2}}}, Kind: []string{"genl_ipvs_family_id"}, Values: []uint64{0}},
@@ -28094,6 +28095,17 @@
 		&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "audio_UAC_GET_RES", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "vusb_response_t[USB_TYPE_CLASS, UAC_GET_RES, array[int8, 1:4]]"}}},
 		&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "audio_UAC_GET_MEM", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "vusb_response_t[USB_TYPE_CLASS, UAC_GET_MEM, array[int8, 3]]"}}},
 	}}},
+	{Key: StructKey{Name: "watch_notification_filter"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "watch_notification_filter", IsVarlen: true}, Fields: []Type{
+		&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "nr_filters", TypeSize: 4}}, Path: []string{"filters"}},
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "__reserved", TypeSize: 4}}},
+		&ArrayType{TypeCommon: TypeCommon{TypeName: "array", FldName: "filters", IsVarlen: true}, Type: &StructType{Key: StructKey{Name: "watch_notification_type_filter"}}},
+	}}},
+	{Key: StructKey{Name: "watch_notification_type_filter"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "watch_notification_type_filter", TypeSize: 44}, Fields: []Type{
+		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "type", TypeSize: 4}}},
+		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "info_filter", TypeSize: 4}}},
+		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "info_mask", TypeSize: 4}}},
+		&ArrayType{TypeCommon: TypeCommon{TypeName: "array", FldName: "subtype_filter", TypeSize: 32}, Type: &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", TypeSize: 4}}}, Kind: 1, RangeBegin: 8, RangeEnd: 8},
+	}}},
 	{Key: StructKey{Name: "winsize"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "winsize", TypeSize: 8}, Fields: []Type{
 		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int16", FldName: "row", TypeSize: 2}}},
 		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int16", FldName: "col", TypeSize: 2}}},
@@ -34749,6 +34761,16 @@
 		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "cmd", TypeSize: 8}}, Val: 2148561097},
 		&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "arg", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "pr_reservation"}}},
 	}},
+	{NR: 54, Name: "ioctl$IOC_WATCH_QUEUE_SET_FILTER", CallName: "ioctl", Args: []Type{
+		&ResourceType{TypeCommon: TypeCommon{TypeName: "fd_watch_queue", FldName: "fd", TypeSize: 4}},
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "cmd", TypeSize: 8}}, Val: 536893281},
+		&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "arg", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "watch_notification_filter"}}},
+	}},
+	{NR: 54, Name: "ioctl$IOC_WATCH_QUEUE_SET_SIZE", CallName: "ioctl", Args: []Type{
+		&ResourceType{TypeCommon: TypeCommon{TypeName: "fd_watch_queue", FldName: "fd", TypeSize: 4}},
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "cmd", TypeSize: 8}}, Val: 536893280},
+		&FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "watch_queue_size", FldName: "arg", TypeSize: 8}}, Vals: []uint64{1, 2, 4, 8, 16}, BitMask: true},
+	}},
 	{NR: 54, Name: "ioctl$ION_IOC_ALLOC", CallName: "ioctl", Args: []Type{
 		&ResourceType{TypeCommon: TypeCommon{TypeName: "fd_ion", FldName: "fd", TypeSize: 4}},
 		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "cmd", TypeSize: 8}}, Val: 3222817024},
@@ -38860,6 +38882,14 @@
 		&ResourceType{TypeCommon: TypeCommon{TypeName: "fd_usbmon", FldName: "fd", TypeSize: 4}},
 		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "fileoff", FldName: "offset", TypeSize: 8}}, Kind: 1},
 	}},
+	{NR: 90, Name: "mmap$watch_queue", CallName: "mmap", 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: "mmap_prot", FldName: "prot", TypeSize: 8}}, Vals: []uint64{0, 4, 1, 2, 8, 16777216, 33554432}, BitMask: true},
+		&FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "mmap_flags", FldName: "flags", TypeSize: 8}}, Vals: []uint64{1, 2, 0, 32, 2048, 4096, 0, 16, 256, 262144, 128, 65536, 64, 32768, 131072, 67108864, 3, 524288, 1048576}},
+		&ResourceType{TypeCommon: TypeCommon{TypeName: "fd_watch_queue", FldName: "fd", TypeSize: 4}},
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "offset", TypeSize: 8}}},
+	}},
 	{NR: 90, Name: "mmap$xdp", CallName: "mmap", 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"}},
@@ -39753,6 +39783,12 @@
 		&FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "open_flags", FldName: "flags", TypeSize: 8}}, Vals: []uint64{0, 1, 2, 1024, 8192, 524288, 64, 131072, 16384, 128, 65536, 262144, 256, 32768, 2048, 2097152, 1052672, 512, 4194304}, BitMask: true},
 		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "mode", TypeSize: 8}}},
 	}, Ret: &ResourceType{TypeCommon: TypeCommon{TypeName: "fd", FldName: "ret", TypeSize: 4, ArgDir: 1}}},
+	{NR: 286, Name: "openat$watch_queue", CallName: "openat", Args: []Type{
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "fd", TypeSize: 8}}, Val: 18446744073709551516},
+		&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "file", TypeSize: 8}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "string", TypeSize: 20}, Kind: 2, Values: []string{"/dev/fd_watch_queue\x00"}}},
+		&FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "open_flags", FldName: "flags", TypeSize: 8}}, Vals: []uint64{0, 1, 2, 1024, 8192, 524288, 64, 131072, 16384, 128, 65536, 262144, 256, 32768, 2048, 2097152, 1052672, 512, 4194304}, BitMask: true},
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "mode", TypeSize: 8}}},
+	}, Ret: &ResourceType{TypeCommon: TypeCommon{TypeName: "fd_watch_queue", FldName: "ret", TypeSize: 4, ArgDir: 1}}},
 	{NR: 286, Name: "openat$xenevtchn", CallName: "openat", Args: []Type{
 		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "fd", TypeSize: 8}}, Val: 18446744073709551516},
 		&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "file", TypeSize: 8}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "string", TypeSize: 16}, Kind: 2, Values: []string{"/dev/xen/evtchn\x00"}}},
@@ -47554,6 +47590,8 @@
 	{Name: "IOC_PR_REGISTER", Value: 2149085384},
 	{Name: "IOC_PR_RELEASE", Value: 2148561098},
 	{Name: "IOC_PR_RESERVE", Value: 2148561097},
+	{Name: "IOC_WATCH_QUEUE_SET_FILTER", Value: 536893281},
+	{Name: "IOC_WATCH_QUEUE_SET_SIZE", Value: 536893280},
 	{Name: "ION_FLAG_CACHED", Value: 1},
 	{Name: "ION_HEAP_TYPE_CARVEOUT_BIT", Value: 4},
 	{Name: "ION_HEAP_TYPE_CHUNK_BIT", Value: 8},
@@ -53297,4 +53335,4 @@
 	{Name: "bpf_insn_load_imm_dw", Value: 24},
 }
 
-const revision_ppc64le = "42a1b9f46b354dff77558c3da620f311189b48aa"
+const revision_ppc64le = "261e2fa5f00888060a46dbcb9028289bf439890f"
diff --git a/sys/linux/watch_queue.txt b/sys/linux/watch_queue.txt
new file mode 100644
index 0000000..d6bc9b3
--- /dev/null
+++ b/sys/linux/watch_queue.txt
@@ -0,0 +1,29 @@
+# Copyright 2019 syzkaller project authors. All rights reserved.
+# Use of this source code is governed by Apache 2 LICENSE that can be found in the LICENSE file.
+
+include <linux/fcntl.h>
+include <linux/ioctl.h>
+include <uapi/linux/watch_queue.h>
+
+resource fd_watch_queue[fd]
+
+openat$watch_queue(fd const[AT_FDCWD], file ptr[in, string["/dev/fd_watch_queue"]], flags flags[open_flags], mode const[0]) fd_watch_queue
+mmap$watch_queue(addr vma, len len[addr], prot flags[mmap_prot], flags flags[mmap_flags], fd fd_watch_queue, offset const[0])
+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_notification_filter {
+	nr_filters	len[filters, int32]
+	__reserved	const[0, int32]
+	filters		array[watch_notification_type_filter]
+}
+
+watch_notification_type_filter {
+	type		int32
+	info_filter	int32
+	info_mask	int32
+	subtype_filter	array[int32, 8]
+}
+
+watch_queue_size = 1, 2, 4, 8, 16
+_ = __NR_mmap2
diff --git a/sys/linux/watch_queue_386.const b/sys/linux/watch_queue_386.const
new file mode 100644
index 0000000..a499f94
--- /dev/null
+++ b/sys/linux/watch_queue_386.const
@@ -0,0 +1,8 @@
+# AUTOGENERATED FILE
+AT_FDCWD = 18446744073709551516
+IOC_WATCH_QUEUE_SET_FILTER = 22369
+IOC_WATCH_QUEUE_SET_SIZE = 22368
+__NR_ioctl = 54
+__NR_mmap = 192
+__NR_mmap2 = 192
+__NR_openat = 295
diff --git a/sys/linux/watch_queue_amd64.const b/sys/linux/watch_queue_amd64.const
new file mode 100644
index 0000000..35b23cf
--- /dev/null
+++ b/sys/linux/watch_queue_amd64.const
@@ -0,0 +1,8 @@
+# AUTOGENERATED FILE
+AT_FDCWD = 18446744073709551516
+IOC_WATCH_QUEUE_SET_FILTER = 22369
+IOC_WATCH_QUEUE_SET_SIZE = 22368
+__NR_ioctl = 16
+__NR_mmap = 9
+# __NR_mmap2 is not set
+__NR_openat = 257
diff --git a/sys/linux/watch_queue_arm.const b/sys/linux/watch_queue_arm.const
new file mode 100644
index 0000000..a0062b2
--- /dev/null
+++ b/sys/linux/watch_queue_arm.const
@@ -0,0 +1,8 @@
+# AUTOGENERATED FILE
+AT_FDCWD = 18446744073709551516
+IOC_WATCH_QUEUE_SET_FILTER = 22369
+IOC_WATCH_QUEUE_SET_SIZE = 22368
+__NR_ioctl = 54
+__NR_mmap = 192
+__NR_mmap2 = 192
+__NR_openat = 322
diff --git a/sys/linux/watch_queue_arm64.const b/sys/linux/watch_queue_arm64.const
new file mode 100644
index 0000000..710f187
--- /dev/null
+++ b/sys/linux/watch_queue_arm64.const
@@ -0,0 +1,8 @@
+# AUTOGENERATED FILE
+AT_FDCWD = 18446744073709551516
+IOC_WATCH_QUEUE_SET_FILTER = 22369
+IOC_WATCH_QUEUE_SET_SIZE = 22368
+__NR_ioctl = 29
+__NR_mmap = 222
+# __NR_mmap2 is not set
+__NR_openat = 56
diff --git a/sys/linux/watch_queue_ppc64le.const b/sys/linux/watch_queue_ppc64le.const
new file mode 100644
index 0000000..21e0512
--- /dev/null
+++ b/sys/linux/watch_queue_ppc64le.const
@@ -0,0 +1,8 @@
+# AUTOGENERATED FILE
+AT_FDCWD = 18446744073709551516
+IOC_WATCH_QUEUE_SET_FILTER = 536893281
+IOC_WATCH_QUEUE_SET_SIZE = 536893280
+__NR_ioctl = 54
+__NR_mmap = 90
+# __NR_mmap2 is not set
+__NR_openat = 286