Merge drm/drm-next into drm-intel-next-queued
This is needed to get the fourcc code merged without conflicts. Signed-off-by: Joonas Lahtinen <joonas.lahtinen@linux.intel.com>
This commit is contained in:
commit
0e2f54f88b
10350 changed files with 470334 additions and 217966 deletions
|
|
@ -1,6 +1,8 @@
|
|||
# SPDX-License-Identifier: GPL-2.0
|
||||
#
|
||||
# Headers that are mandatory in usr/include/asm/
|
||||
#
|
||||
# (This file is not included when SRCARCH=um since UML does not support UAPI.)
|
||||
|
||||
mandatory-y += auxvec.h
|
||||
mandatory-y += bitsperlong.h
|
||||
mandatory-y += bpf_perf_event.h
|
||||
|
|
@ -15,9 +15,7 @@
|
|||
#define PROT_GROWSDOWN 0x01000000 /* mprotect flag: extend change to start of growsdown vma */
|
||||
#define PROT_GROWSUP 0x02000000 /* mprotect flag: extend change to end of growsup vma */
|
||||
|
||||
#define MAP_SHARED 0x01 /* Share changes */
|
||||
#define MAP_PRIVATE 0x02 /* Changes are private */
|
||||
#define MAP_SHARED_VALIDATE 0x03 /* share + validate extension flags */
|
||||
/* 0x01 - 0x03 are defined in linux/mman.h */
|
||||
#define MAP_TYPE 0x0f /* Mask for type of mapping */
|
||||
#define MAP_FIXED 0x10 /* Interpret addr exactly */
|
||||
#define MAP_ANONYMOUS 0x20 /* don't use a file */
|
||||
|
|
|
|||
|
|
@ -2,6 +2,7 @@
|
|||
#ifndef __ASM_GENERIC_SOCKET_H
|
||||
#define __ASM_GENERIC_SOCKET_H
|
||||
|
||||
#include <linux/posix_types.h>
|
||||
#include <asm/sockios.h>
|
||||
|
||||
/* For setsockopt(2) */
|
||||
|
|
@ -29,8 +30,8 @@
|
|||
#define SO_PEERCRED 17
|
||||
#define SO_RCVLOWAT 18
|
||||
#define SO_SNDLOWAT 19
|
||||
#define SO_RCVTIMEO 20
|
||||
#define SO_SNDTIMEO 21
|
||||
#define SO_RCVTIMEO_OLD 20
|
||||
#define SO_SNDTIMEO_OLD 21
|
||||
#endif
|
||||
|
||||
/* Security levels - as per NRL IPv6 - don't actually do anything */
|
||||
|
|
@ -46,21 +47,14 @@
|
|||
#define SO_GET_FILTER SO_ATTACH_FILTER
|
||||
|
||||
#define SO_PEERNAME 28
|
||||
#define SO_TIMESTAMP 29
|
||||
#define SCM_TIMESTAMP SO_TIMESTAMP
|
||||
|
||||
#define SO_ACCEPTCONN 30
|
||||
|
||||
#define SO_PEERSEC 31
|
||||
#define SO_PASSSEC 34
|
||||
#define SO_TIMESTAMPNS 35
|
||||
#define SCM_TIMESTAMPNS SO_TIMESTAMPNS
|
||||
|
||||
#define SO_MARK 36
|
||||
|
||||
#define SO_TIMESTAMPING 37
|
||||
#define SCM_TIMESTAMPING SO_TIMESTAMPING
|
||||
|
||||
#define SO_PROTOCOL 38
|
||||
#define SO_DOMAIN 39
|
||||
|
||||
|
|
@ -110,4 +104,42 @@
|
|||
#define SO_TXTIME 61
|
||||
#define SCM_TXTIME SO_TXTIME
|
||||
|
||||
#define SO_BINDTOIFINDEX 62
|
||||
|
||||
#define SO_TIMESTAMP_OLD 29
|
||||
#define SO_TIMESTAMPNS_OLD 35
|
||||
#define SO_TIMESTAMPING_OLD 37
|
||||
|
||||
#define SO_TIMESTAMP_NEW 63
|
||||
#define SO_TIMESTAMPNS_NEW 64
|
||||
#define SO_TIMESTAMPING_NEW 65
|
||||
|
||||
#define SO_RCVTIMEO_NEW 66
|
||||
#define SO_SNDTIMEO_NEW 67
|
||||
|
||||
#if !defined(__KERNEL__)
|
||||
|
||||
#if __BITS_PER_LONG == 64 || (defined(__x86_64__) && defined(__ILP32__))
|
||||
/* on 64-bit and x32, avoid the ?: operator */
|
||||
#define SO_TIMESTAMP SO_TIMESTAMP_OLD
|
||||
#define SO_TIMESTAMPNS SO_TIMESTAMPNS_OLD
|
||||
#define SO_TIMESTAMPING SO_TIMESTAMPING_OLD
|
||||
|
||||
#define SO_RCVTIMEO SO_RCVTIMEO_OLD
|
||||
#define SO_SNDTIMEO SO_SNDTIMEO_OLD
|
||||
#else
|
||||
#define SO_TIMESTAMP (sizeof(time_t) == sizeof(__kernel_long_t) ? SO_TIMESTAMP_OLD : SO_TIMESTAMP_NEW)
|
||||
#define SO_TIMESTAMPNS (sizeof(time_t) == sizeof(__kernel_long_t) ? SO_TIMESTAMPNS_OLD : SO_TIMESTAMPNS_NEW)
|
||||
#define SO_TIMESTAMPING (sizeof(time_t) == sizeof(__kernel_long_t) ? SO_TIMESTAMPING_OLD : SO_TIMESTAMPING_NEW)
|
||||
|
||||
#define SO_RCVTIMEO (sizeof(time_t) == sizeof(__kernel_long_t) ? SO_RCVTIMEO_OLD : SO_RCVTIMEO_NEW)
|
||||
#define SO_SNDTIMEO (sizeof(time_t) == sizeof(__kernel_long_t) ? SO_SNDTIMEO_OLD : SO_SNDTIMEO_NEW)
|
||||
#endif
|
||||
|
||||
#define SCM_TIMESTAMP SO_TIMESTAMP
|
||||
#define SCM_TIMESTAMPNS SO_TIMESTAMPNS
|
||||
#define SCM_TIMESTAMPING SO_TIMESTAMPING
|
||||
|
||||
#endif
|
||||
|
||||
#endif /* __ASM_GENERIC_SOCKET_H */
|
||||
|
|
|
|||
|
|
@ -38,8 +38,10 @@ __SYSCALL(__NR_io_destroy, sys_io_destroy)
|
|||
__SC_COMP(__NR_io_submit, sys_io_submit, compat_sys_io_submit)
|
||||
#define __NR_io_cancel 3
|
||||
__SYSCALL(__NR_io_cancel, sys_io_cancel)
|
||||
#if defined(__ARCH_WANT_TIME32_SYSCALLS) || __BITS_PER_LONG != 32
|
||||
#define __NR_io_getevents 4
|
||||
__SC_COMP(__NR_io_getevents, sys_io_getevents, compat_sys_io_getevents)
|
||||
__SC_3264(__NR_io_getevents, sys_io_getevents_time32, sys_io_getevents)
|
||||
#endif
|
||||
|
||||
/* fs/xattr.c */
|
||||
#define __NR_setxattr 5
|
||||
|
|
@ -179,7 +181,7 @@ __SYSCALL(__NR_fchownat, sys_fchownat)
|
|||
#define __NR_fchown 55
|
||||
__SYSCALL(__NR_fchown, sys_fchown)
|
||||
#define __NR_openat 56
|
||||
__SC_COMP(__NR_openat, sys_openat, compat_sys_openat)
|
||||
__SYSCALL(__NR_openat, sys_openat)
|
||||
#define __NR_close 57
|
||||
__SYSCALL(__NR_close, sys_close)
|
||||
#define __NR_vhangup 58
|
||||
|
|
@ -222,10 +224,12 @@ __SC_COMP(__NR_pwritev, sys_pwritev, compat_sys_pwritev)
|
|||
__SYSCALL(__NR3264_sendfile, sys_sendfile64)
|
||||
|
||||
/* fs/select.c */
|
||||
#if defined(__ARCH_WANT_TIME32_SYSCALLS) || __BITS_PER_LONG != 32
|
||||
#define __NR_pselect6 72
|
||||
__SC_COMP(__NR_pselect6, sys_pselect6, compat_sys_pselect6)
|
||||
__SC_COMP_3264(__NR_pselect6, sys_pselect6_time32, sys_pselect6, compat_sys_pselect6_time32)
|
||||
#define __NR_ppoll 73
|
||||
__SC_COMP(__NR_ppoll, sys_ppoll, compat_sys_ppoll)
|
||||
__SC_COMP_3264(__NR_ppoll, sys_ppoll_time32, sys_ppoll, compat_sys_ppoll_time32)
|
||||
#endif
|
||||
|
||||
/* fs/signalfd.c */
|
||||
#define __NR_signalfd4 74
|
||||
|
|
@ -269,16 +273,20 @@ __SC_COMP(__NR_sync_file_range, sys_sync_file_range, \
|
|||
/* fs/timerfd.c */
|
||||
#define __NR_timerfd_create 85
|
||||
__SYSCALL(__NR_timerfd_create, sys_timerfd_create)
|
||||
#if defined(__ARCH_WANT_TIME32_SYSCALLS) || __BITS_PER_LONG != 32
|
||||
#define __NR_timerfd_settime 86
|
||||
__SC_COMP(__NR_timerfd_settime, sys_timerfd_settime, \
|
||||
compat_sys_timerfd_settime)
|
||||
__SC_3264(__NR_timerfd_settime, sys_timerfd_settime32, \
|
||||
sys_timerfd_settime)
|
||||
#define __NR_timerfd_gettime 87
|
||||
__SC_COMP(__NR_timerfd_gettime, sys_timerfd_gettime, \
|
||||
compat_sys_timerfd_gettime)
|
||||
__SC_3264(__NR_timerfd_gettime, sys_timerfd_gettime32, \
|
||||
sys_timerfd_gettime)
|
||||
#endif
|
||||
|
||||
/* fs/utimes.c */
|
||||
#if defined(__ARCH_WANT_TIME32_SYSCALLS) || __BITS_PER_LONG != 32
|
||||
#define __NR_utimensat 88
|
||||
__SC_COMP(__NR_utimensat, sys_utimensat, compat_sys_utimensat)
|
||||
__SC_3264(__NR_utimensat, sys_utimensat_time32, sys_utimensat)
|
||||
#endif
|
||||
|
||||
/* kernel/acct.c */
|
||||
#define __NR_acct 89
|
||||
|
|
@ -309,8 +317,10 @@ __SYSCALL(__NR_set_tid_address, sys_set_tid_address)
|
|||
__SYSCALL(__NR_unshare, sys_unshare)
|
||||
|
||||
/* kernel/futex.c */
|
||||
#if defined(__ARCH_WANT_TIME32_SYSCALLS) || __BITS_PER_LONG != 32
|
||||
#define __NR_futex 98
|
||||
__SC_COMP(__NR_futex, sys_futex, compat_sys_futex)
|
||||
__SC_3264(__NR_futex, sys_futex_time32, sys_futex)
|
||||
#endif
|
||||
#define __NR_set_robust_list 99
|
||||
__SC_COMP(__NR_set_robust_list, sys_set_robust_list, \
|
||||
compat_sys_set_robust_list)
|
||||
|
|
@ -319,8 +329,10 @@ __SC_COMP(__NR_get_robust_list, sys_get_robust_list, \
|
|||
compat_sys_get_robust_list)
|
||||
|
||||
/* kernel/hrtimer.c */
|
||||
#if defined(__ARCH_WANT_TIME32_SYSCALLS) || __BITS_PER_LONG != 32
|
||||
#define __NR_nanosleep 101
|
||||
__SC_COMP(__NR_nanosleep, sys_nanosleep, compat_sys_nanosleep)
|
||||
__SC_3264(__NR_nanosleep, sys_nanosleep_time32, sys_nanosleep)
|
||||
#endif
|
||||
|
||||
/* kernel/itimer.c */
|
||||
#define __NR_getitimer 102
|
||||
|
|
@ -341,23 +353,29 @@ __SYSCALL(__NR_delete_module, sys_delete_module)
|
|||
/* kernel/posix-timers.c */
|
||||
#define __NR_timer_create 107
|
||||
__SC_COMP(__NR_timer_create, sys_timer_create, compat_sys_timer_create)
|
||||
#if defined(__ARCH_WANT_TIME32_SYSCALLS) || __BITS_PER_LONG != 32
|
||||
#define __NR_timer_gettime 108
|
||||
__SC_COMP(__NR_timer_gettime, sys_timer_gettime, compat_sys_timer_gettime)
|
||||
__SC_3264(__NR_timer_gettime, sys_timer_gettime32, sys_timer_gettime)
|
||||
#endif
|
||||
#define __NR_timer_getoverrun 109
|
||||
__SYSCALL(__NR_timer_getoverrun, sys_timer_getoverrun)
|
||||
#if defined(__ARCH_WANT_TIME32_SYSCALLS) || __BITS_PER_LONG != 32
|
||||
#define __NR_timer_settime 110
|
||||
__SC_COMP(__NR_timer_settime, sys_timer_settime, compat_sys_timer_settime)
|
||||
__SC_3264(__NR_timer_settime, sys_timer_settime32, sys_timer_settime)
|
||||
#endif
|
||||
#define __NR_timer_delete 111
|
||||
__SYSCALL(__NR_timer_delete, sys_timer_delete)
|
||||
#if defined(__ARCH_WANT_TIME32_SYSCALLS) || __BITS_PER_LONG != 32
|
||||
#define __NR_clock_settime 112
|
||||
__SC_COMP(__NR_clock_settime, sys_clock_settime, compat_sys_clock_settime)
|
||||
__SC_3264(__NR_clock_settime, sys_clock_settime32, sys_clock_settime)
|
||||
#define __NR_clock_gettime 113
|
||||
__SC_COMP(__NR_clock_gettime, sys_clock_gettime, compat_sys_clock_gettime)
|
||||
__SC_3264(__NR_clock_gettime, sys_clock_gettime32, sys_clock_gettime)
|
||||
#define __NR_clock_getres 114
|
||||
__SC_COMP(__NR_clock_getres, sys_clock_getres, compat_sys_clock_getres)
|
||||
__SC_3264(__NR_clock_getres, sys_clock_getres_time32, sys_clock_getres)
|
||||
#define __NR_clock_nanosleep 115
|
||||
__SC_COMP(__NR_clock_nanosleep, sys_clock_nanosleep, \
|
||||
compat_sys_clock_nanosleep)
|
||||
__SC_3264(__NR_clock_nanosleep, sys_clock_nanosleep_time32, \
|
||||
sys_clock_nanosleep)
|
||||
#endif
|
||||
|
||||
/* kernel/printk.c */
|
||||
#define __NR_syslog 116
|
||||
|
|
@ -388,9 +406,11 @@ __SYSCALL(__NR_sched_yield, sys_sched_yield)
|
|||
__SYSCALL(__NR_sched_get_priority_max, sys_sched_get_priority_max)
|
||||
#define __NR_sched_get_priority_min 126
|
||||
__SYSCALL(__NR_sched_get_priority_min, sys_sched_get_priority_min)
|
||||
#if defined(__ARCH_WANT_TIME32_SYSCALLS) || __BITS_PER_LONG != 32
|
||||
#define __NR_sched_rr_get_interval 127
|
||||
__SC_COMP(__NR_sched_rr_get_interval, sys_sched_rr_get_interval, \
|
||||
compat_sys_sched_rr_get_interval)
|
||||
__SC_3264(__NR_sched_rr_get_interval, sys_sched_rr_get_interval_time32, \
|
||||
sys_sched_rr_get_interval)
|
||||
#endif
|
||||
|
||||
/* kernel/signal.c */
|
||||
#define __NR_restart_syscall 128
|
||||
|
|
@ -411,9 +431,11 @@ __SC_COMP(__NR_rt_sigaction, sys_rt_sigaction, compat_sys_rt_sigaction)
|
|||
__SC_COMP(__NR_rt_sigprocmask, sys_rt_sigprocmask, compat_sys_rt_sigprocmask)
|
||||
#define __NR_rt_sigpending 136
|
||||
__SC_COMP(__NR_rt_sigpending, sys_rt_sigpending, compat_sys_rt_sigpending)
|
||||
#if defined(__ARCH_WANT_TIME32_SYSCALLS) || __BITS_PER_LONG != 32
|
||||
#define __NR_rt_sigtimedwait 137
|
||||
__SC_COMP(__NR_rt_sigtimedwait, sys_rt_sigtimedwait, \
|
||||
compat_sys_rt_sigtimedwait)
|
||||
__SC_COMP_3264(__NR_rt_sigtimedwait, sys_rt_sigtimedwait_time32, \
|
||||
sys_rt_sigtimedwait, compat_sys_rt_sigtimedwait_time32)
|
||||
#endif
|
||||
#define __NR_rt_sigqueueinfo 138
|
||||
__SC_COMP(__NR_rt_sigqueueinfo, sys_rt_sigqueueinfo, \
|
||||
compat_sys_rt_sigqueueinfo)
|
||||
|
|
@ -467,10 +489,15 @@ __SYSCALL(__NR_uname, sys_newuname)
|
|||
__SYSCALL(__NR_sethostname, sys_sethostname)
|
||||
#define __NR_setdomainname 162
|
||||
__SYSCALL(__NR_setdomainname, sys_setdomainname)
|
||||
|
||||
#ifdef __ARCH_WANT_SET_GET_RLIMIT
|
||||
/* getrlimit and setrlimit are superseded with prlimit64 */
|
||||
#define __NR_getrlimit 163
|
||||
__SC_COMP(__NR_getrlimit, sys_getrlimit, compat_sys_getrlimit)
|
||||
#define __NR_setrlimit 164
|
||||
__SC_COMP(__NR_setrlimit, sys_setrlimit, compat_sys_setrlimit)
|
||||
#endif
|
||||
|
||||
#define __NR_getrusage 165
|
||||
__SC_COMP(__NR_getrusage, sys_getrusage, compat_sys_getrusage)
|
||||
#define __NR_umask 166
|
||||
|
|
@ -481,12 +508,14 @@ __SYSCALL(__NR_prctl, sys_prctl)
|
|||
__SYSCALL(__NR_getcpu, sys_getcpu)
|
||||
|
||||
/* kernel/time.c */
|
||||
#if defined(__ARCH_WANT_TIME32_SYSCALLS) || __BITS_PER_LONG != 32
|
||||
#define __NR_gettimeofday 169
|
||||
__SC_COMP(__NR_gettimeofday, sys_gettimeofday, compat_sys_gettimeofday)
|
||||
#define __NR_settimeofday 170
|
||||
__SC_COMP(__NR_settimeofday, sys_settimeofday, compat_sys_settimeofday)
|
||||
#define __NR_adjtimex 171
|
||||
__SC_COMP(__NR_adjtimex, sys_adjtimex, compat_sys_adjtimex)
|
||||
__SC_3264(__NR_adjtimex, sys_adjtimex_time32, sys_adjtimex)
|
||||
#endif
|
||||
|
||||
/* kernel/timer.c */
|
||||
#define __NR_getpid 172
|
||||
|
|
@ -511,11 +540,13 @@ __SC_COMP(__NR_sysinfo, sys_sysinfo, compat_sys_sysinfo)
|
|||
__SC_COMP(__NR_mq_open, sys_mq_open, compat_sys_mq_open)
|
||||
#define __NR_mq_unlink 181
|
||||
__SYSCALL(__NR_mq_unlink, sys_mq_unlink)
|
||||
#if defined(__ARCH_WANT_TIME32_SYSCALLS) || __BITS_PER_LONG != 32
|
||||
#define __NR_mq_timedsend 182
|
||||
__SC_COMP(__NR_mq_timedsend, sys_mq_timedsend, compat_sys_mq_timedsend)
|
||||
__SC_3264(__NR_mq_timedsend, sys_mq_timedsend_time32, sys_mq_timedsend)
|
||||
#define __NR_mq_timedreceive 183
|
||||
__SC_COMP(__NR_mq_timedreceive, sys_mq_timedreceive, \
|
||||
compat_sys_mq_timedreceive)
|
||||
__SC_3264(__NR_mq_timedreceive, sys_mq_timedreceive_time32, \
|
||||
sys_mq_timedreceive)
|
||||
#endif
|
||||
#define __NR_mq_notify 184
|
||||
__SC_COMP(__NR_mq_notify, sys_mq_notify, compat_sys_mq_notify)
|
||||
#define __NR_mq_getsetattr 185
|
||||
|
|
@ -536,8 +567,10 @@ __SC_COMP(__NR_msgsnd, sys_msgsnd, compat_sys_msgsnd)
|
|||
__SYSCALL(__NR_semget, sys_semget)
|
||||
#define __NR_semctl 191
|
||||
__SC_COMP(__NR_semctl, sys_semctl, compat_sys_semctl)
|
||||
#if defined(__ARCH_WANT_TIME32_SYSCALLS) || __BITS_PER_LONG != 32
|
||||
#define __NR_semtimedop 192
|
||||
__SC_COMP(__NR_semtimedop, sys_semtimedop, compat_sys_semtimedop)
|
||||
__SC_COMP(__NR_semtimedop, sys_semtimedop, sys_semtimedop_time32)
|
||||
#endif
|
||||
#define __NR_semop 193
|
||||
__SYSCALL(__NR_semop, sys_semop)
|
||||
|
||||
|
|
@ -658,8 +691,10 @@ __SC_COMP(__NR_rt_tgsigqueueinfo, sys_rt_tgsigqueueinfo, \
|
|||
__SYSCALL(__NR_perf_event_open, sys_perf_event_open)
|
||||
#define __NR_accept4 242
|
||||
__SYSCALL(__NR_accept4, sys_accept4)
|
||||
#if defined(__ARCH_WANT_TIME32_SYSCALLS) || __BITS_PER_LONG != 32
|
||||
#define __NR_recvmmsg 243
|
||||
__SC_COMP(__NR_recvmmsg, sys_recvmmsg, compat_sys_recvmmsg)
|
||||
__SC_COMP_3264(__NR_recvmmsg, sys_recvmmsg_time32, sys_recvmmsg, compat_sys_recvmmsg_time32)
|
||||
#endif
|
||||
|
||||
/*
|
||||
* Architectures may provide up to 16 syscalls of their own
|
||||
|
|
@ -667,8 +702,10 @@ __SC_COMP(__NR_recvmmsg, sys_recvmmsg, compat_sys_recvmmsg)
|
|||
*/
|
||||
#define __NR_arch_specific_syscall 244
|
||||
|
||||
#if defined(__ARCH_WANT_TIME32_SYSCALLS) || __BITS_PER_LONG != 32
|
||||
#define __NR_wait4 260
|
||||
__SC_COMP(__NR_wait4, sys_wait4, compat_sys_wait4)
|
||||
#endif
|
||||
#define __NR_prlimit64 261
|
||||
__SYSCALL(__NR_prlimit64, sys_prlimit64)
|
||||
#define __NR_fanotify_init 262
|
||||
|
|
@ -678,10 +715,11 @@ __SYSCALL(__NR_fanotify_mark, sys_fanotify_mark)
|
|||
#define __NR_name_to_handle_at 264
|
||||
__SYSCALL(__NR_name_to_handle_at, sys_name_to_handle_at)
|
||||
#define __NR_open_by_handle_at 265
|
||||
__SC_COMP(__NR_open_by_handle_at, sys_open_by_handle_at, \
|
||||
compat_sys_open_by_handle_at)
|
||||
__SYSCALL(__NR_open_by_handle_at, sys_open_by_handle_at)
|
||||
#if defined(__ARCH_WANT_TIME32_SYSCALLS) || __BITS_PER_LONG != 32
|
||||
#define __NR_clock_adjtime 266
|
||||
__SC_COMP(__NR_clock_adjtime, sys_clock_adjtime, compat_sys_clock_adjtime)
|
||||
__SC_3264(__NR_clock_adjtime, sys_clock_adjtime32, sys_clock_adjtime)
|
||||
#endif
|
||||
#define __NR_syncfs 267
|
||||
__SYSCALL(__NR_syncfs, sys_syncfs)
|
||||
#define __NR_setns 268
|
||||
|
|
@ -734,15 +772,69 @@ __SYSCALL(__NR_pkey_alloc, sys_pkey_alloc)
|
|||
__SYSCALL(__NR_pkey_free, sys_pkey_free)
|
||||
#define __NR_statx 291
|
||||
__SYSCALL(__NR_statx, sys_statx)
|
||||
#if defined(__ARCH_WANT_TIME32_SYSCALLS) || __BITS_PER_LONG != 32
|
||||
#define __NR_io_pgetevents 292
|
||||
__SC_COMP(__NR_io_pgetevents, sys_io_pgetevents, compat_sys_io_pgetevents)
|
||||
__SC_COMP_3264(__NR_io_pgetevents, sys_io_pgetevents_time32, sys_io_pgetevents, compat_sys_io_pgetevents)
|
||||
#endif
|
||||
#define __NR_rseq 293
|
||||
__SYSCALL(__NR_rseq, sys_rseq)
|
||||
#define __NR_kexec_file_load 294
|
||||
__SYSCALL(__NR_kexec_file_load, sys_kexec_file_load)
|
||||
/* 295 through 402 are unassigned to sync up with generic numbers, don't use */
|
||||
#if __BITS_PER_LONG == 32
|
||||
#define __NR_clock_gettime64 403
|
||||
__SYSCALL(__NR_clock_gettime64, sys_clock_gettime)
|
||||
#define __NR_clock_settime64 404
|
||||
__SYSCALL(__NR_clock_settime64, sys_clock_settime)
|
||||
#define __NR_clock_adjtime64 405
|
||||
__SYSCALL(__NR_clock_adjtime64, sys_clock_adjtime)
|
||||
#define __NR_clock_getres_time64 406
|
||||
__SYSCALL(__NR_clock_getres_time64, sys_clock_getres)
|
||||
#define __NR_clock_nanosleep_time64 407
|
||||
__SYSCALL(__NR_clock_nanosleep_time64, sys_clock_nanosleep)
|
||||
#define __NR_timer_gettime64 408
|
||||
__SYSCALL(__NR_timer_gettime64, sys_timer_gettime)
|
||||
#define __NR_timer_settime64 409
|
||||
__SYSCALL(__NR_timer_settime64, sys_timer_settime)
|
||||
#define __NR_timerfd_gettime64 410
|
||||
__SYSCALL(__NR_timerfd_gettime64, sys_timerfd_gettime)
|
||||
#define __NR_timerfd_settime64 411
|
||||
__SYSCALL(__NR_timerfd_settime64, sys_timerfd_settime)
|
||||
#define __NR_utimensat_time64 412
|
||||
__SYSCALL(__NR_utimensat_time64, sys_utimensat)
|
||||
#define __NR_pselect6_time64 413
|
||||
__SC_COMP(__NR_pselect6_time64, sys_pselect6, compat_sys_pselect6_time64)
|
||||
#define __NR_ppoll_time64 414
|
||||
__SC_COMP(__NR_ppoll_time64, sys_ppoll, compat_sys_ppoll_time64)
|
||||
#define __NR_io_pgetevents_time64 416
|
||||
__SYSCALL(__NR_io_pgetevents_time64, sys_io_pgetevents)
|
||||
#define __NR_recvmmsg_time64 417
|
||||
__SC_COMP(__NR_recvmmsg_time64, sys_recvmmsg, compat_sys_recvmmsg_time64)
|
||||
#define __NR_mq_timedsend_time64 418
|
||||
__SYSCALL(__NR_mq_timedsend_time64, sys_mq_timedsend)
|
||||
#define __NR_mq_timedreceive_time64 419
|
||||
__SYSCALL(__NR_mq_timedreceive_time64, sys_mq_timedreceive)
|
||||
#define __NR_semtimedop_time64 420
|
||||
__SYSCALL(__NR_semtimedop_time64, sys_semtimedop)
|
||||
#define __NR_rt_sigtimedwait_time64 421
|
||||
__SC_COMP(__NR_rt_sigtimedwait_time64, sys_rt_sigtimedwait, compat_sys_rt_sigtimedwait_time64)
|
||||
#define __NR_futex_time64 422
|
||||
__SYSCALL(__NR_futex_time64, sys_futex)
|
||||
#define __NR_sched_rr_get_interval_time64 423
|
||||
__SYSCALL(__NR_sched_rr_get_interval_time64, sys_sched_rr_get_interval)
|
||||
#endif
|
||||
|
||||
#define __NR_pidfd_send_signal 424
|
||||
__SYSCALL(__NR_pidfd_send_signal, sys_pidfd_send_signal)
|
||||
#define __NR_io_uring_setup 425
|
||||
__SYSCALL(__NR_io_uring_setup, sys_io_uring_setup)
|
||||
#define __NR_io_uring_enter 426
|
||||
__SYSCALL(__NR_io_uring_enter, sys_io_uring_enter)
|
||||
#define __NR_io_uring_register 427
|
||||
__SYSCALL(__NR_io_uring_register, sys_io_uring_register)
|
||||
|
||||
#undef __NR_syscalls
|
||||
#define __NR_syscalls 295
|
||||
#define __NR_syscalls 428
|
||||
|
||||
/*
|
||||
* 32 bit systems traditionally used different
|
||||
|
|
|
|||
|
|
@ -162,23 +162,29 @@ extern "C" {
|
|||
#define DRM_FORMAT_VYUY fourcc_code('V', 'Y', 'U', 'Y') /* [31:0] Y1:Cb0:Y0:Cr0 8:8:8:8 little endian */
|
||||
|
||||
#define DRM_FORMAT_AYUV fourcc_code('A', 'Y', 'U', 'V') /* [31:0] A:Y:Cb:Cr 8:8:8:8 little endian */
|
||||
#define DRM_FORMAT_XYUV8888 fourcc_code('X', 'Y', 'U', 'V') /* [31:0] X:Y:Cb:Cr 8:8:8:8 little endian */
|
||||
#define DRM_FORMAT_XYUV8888 fourcc_code('X', 'Y', 'U', 'V') /* [31:0] X:Y:Cb:Cr 8:8:8:8 little endian */
|
||||
#define DRM_FORMAT_VUY888 fourcc_code('V', 'U', '2', '4') /* [23:0] Cr:Cb:Y 8:8:8 little endian */
|
||||
#define DRM_FORMAT_VUY101010 fourcc_code('V', 'U', '3', '0') /* Y followed by U then V, 10:10:10. Non-linear modifier only */
|
||||
|
||||
/*
|
||||
* packed Y2xx indicate for each component, xx valid data occupy msb
|
||||
* 16-xx padding occupy lsb
|
||||
*/
|
||||
#define DRM_FORMAT_Y210 fourcc_code('Y', '2', '1', '0') /* [63:0] Y0:x:Cb0:x:Y1:x:Cr1:x 10:6:10:6:10:6:10:6 little endian per 2 Y pixels */
|
||||
#define DRM_FORMAT_Y212 fourcc_code('Y', '2', '1', '2') /* [63:0] Y0:x:Cb0:x:Y1:x:Cr1:x 12:4:12:4:12:4:12:4 little endian per 2 Y pixels */
|
||||
#define DRM_FORMAT_Y216 fourcc_code('Y', '2', '1', '6') /* [63:0] Y0:Cb0:Y1:Cr1 16:16:16:16 little endian per 2 Y pixels */
|
||||
#define DRM_FORMAT_Y210 fourcc_code('Y', '2', '1', '0') /* [63:0] Cr0:0:Y1:0:Cb0:0:Y0:0 10:6:10:6:10:6:10:6 little endian per 2 Y pixels */
|
||||
#define DRM_FORMAT_Y212 fourcc_code('Y', '2', '1', '2') /* [63:0] Cr0:0:Y1:0:Cb0:0:Y0:0 12:4:12:4:12:4:12:4 little endian per 2 Y pixels */
|
||||
#define DRM_FORMAT_Y216 fourcc_code('Y', '2', '1', '6') /* [63:0] Cr0:Y1:Cb0:Y0 16:16:16:16 little endian per 2 Y pixels */
|
||||
|
||||
/*
|
||||
* packed Y4xx indicate for each component, xx valid data occupy msb
|
||||
* 16-xx padding occupy lsb except Y410
|
||||
*/
|
||||
#define DRM_FORMAT_Y410 fourcc_code('Y', '4', '1', '0') /* [31:0] X:V:Y:U 2:10:10:10 little endian */
|
||||
#define DRM_FORMAT_Y412 fourcc_code('Y', '4', '1', '2') /* [63:0] X:x:V:x:Y:x:U:x 12:4:12:4:12:4:12:4 little endian */
|
||||
#define DRM_FORMAT_Y416 fourcc_code('Y', '4', '1', '6') /* [63:0] X:V:Y:U 16:16:16:16 little endian */
|
||||
#define DRM_FORMAT_Y410 fourcc_code('Y', '4', '1', '0') /* [31:0] A:Cr:Y:Cb 2:10:10:10 little endian */
|
||||
#define DRM_FORMAT_Y412 fourcc_code('Y', '4', '1', '2') /* [63:0] A:0:Cr:0:Y:0:Cb:0 12:4:12:4:12:4:12:4 little endian */
|
||||
#define DRM_FORMAT_Y416 fourcc_code('Y', '4', '1', '6') /* [63:0] A:Cr:Y:Cb 16:16:16:16 little endian */
|
||||
|
||||
#define DRM_FORMAT_XVYU2101010 fourcc_code('X', 'V', '3', '0') /* [31:0] X:Cr:Y:Cb 2:10:10:10 little endian */
|
||||
#define DRM_FORMAT_XVYU12_16161616 fourcc_code('X', 'V', '3', '6') /* [63:0] X:0:Cr:0:Y:0:Cb:0 12:4:12:4:12:4:12:4 little endian */
|
||||
#define DRM_FORMAT_XVYU16161616 fourcc_code('X', 'V', '4', '8') /* [63:0] X:Cr:Y:Cb 16:16:16:16 little endian */
|
||||
|
||||
/*
|
||||
* packed YCbCr420 2x2 tiled formats
|
||||
|
|
@ -194,6 +200,15 @@ extern "C" {
|
|||
/* [63:0] X3:X2:Y3:Cr0:Y2:X1:X0:Y1:Cb0:Y0 1:1:10:10:10:1:1:10:10:10 little endian */
|
||||
#define DRM_FORMAT_X0L2 fourcc_code('X', '0', 'L', '2')
|
||||
|
||||
/*
|
||||
* 1-plane YUV 4:2:0
|
||||
* In these formats, the component ordering is specified (Y, followed by U
|
||||
* then V), but the exact Linear layout is undefined.
|
||||
* These formats can only be used with a non-Linear modifier.
|
||||
*/
|
||||
#define DRM_FORMAT_YUV420_8BIT fourcc_code('Y', 'U', '0', '8')
|
||||
#define DRM_FORMAT_YUV420_10BIT fourcc_code('Y', 'U', '1', '0')
|
||||
|
||||
/*
|
||||
* 2 plane RGB + A
|
||||
* index 0 = RGB plane, same format as the corresponding non _A8 format has
|
||||
|
|
@ -222,6 +237,13 @@ extern "C" {
|
|||
#define DRM_FORMAT_NV24 fourcc_code('N', 'V', '2', '4') /* non-subsampled Cr:Cb plane */
|
||||
#define DRM_FORMAT_NV42 fourcc_code('N', 'V', '4', '2') /* non-subsampled Cb:Cr plane */
|
||||
|
||||
/*
|
||||
* 2 plane YCbCr MSB aligned
|
||||
* index 0 = Y plane, [15:0] Y:x [10:6] little endian
|
||||
* index 1 = Cr:Cb plane, [31:0] Cr:x:Cb:x [10:6:10:6] little endian
|
||||
*/
|
||||
#define DRM_FORMAT_P210 fourcc_code('P', '2', '1', '0') /* 2x1 subsampled Cr:Cb plane, 10 bit per channel */
|
||||
|
||||
/*
|
||||
* 2 plane YCbCr MSB aligned
|
||||
* index 0 = Y plane, [15:0] Y:x [10:6] little endian
|
||||
|
|
|
|||
|
|
@ -41,6 +41,14 @@ enum {
|
|||
enum {
|
||||
FLAT_BINDER_FLAG_PRIORITY_MASK = 0xff,
|
||||
FLAT_BINDER_FLAG_ACCEPTS_FDS = 0x100,
|
||||
|
||||
/**
|
||||
* @FLAT_BINDER_FLAG_TXN_SECURITY_CTX: request security contexts
|
||||
*
|
||||
* Only when set, causes senders to include their security
|
||||
* context
|
||||
*/
|
||||
FLAT_BINDER_FLAG_TXN_SECURITY_CTX = 0x1000,
|
||||
};
|
||||
|
||||
#ifdef BINDER_IPC_32BIT
|
||||
|
|
@ -218,6 +226,7 @@ struct binder_node_info_for_ref {
|
|||
#define BINDER_VERSION _IOWR('b', 9, struct binder_version)
|
||||
#define BINDER_GET_NODE_DEBUG_INFO _IOWR('b', 11, struct binder_node_debug_info)
|
||||
#define BINDER_GET_NODE_INFO_FOR_REF _IOWR('b', 12, struct binder_node_info_for_ref)
|
||||
#define BINDER_SET_CONTEXT_MGR_EXT _IOW('b', 13, struct flat_binder_object)
|
||||
|
||||
/*
|
||||
* NOTE: Two special error codes you should check for when calling
|
||||
|
|
@ -276,6 +285,11 @@ struct binder_transaction_data {
|
|||
} data;
|
||||
};
|
||||
|
||||
struct binder_transaction_data_secctx {
|
||||
struct binder_transaction_data transaction_data;
|
||||
binder_uintptr_t secctx;
|
||||
};
|
||||
|
||||
struct binder_transaction_data_sg {
|
||||
struct binder_transaction_data transaction_data;
|
||||
binder_size_t buffers_size;
|
||||
|
|
@ -311,6 +325,11 @@ enum binder_driver_return_protocol {
|
|||
BR_OK = _IO('r', 1),
|
||||
/* No parameters! */
|
||||
|
||||
BR_TRANSACTION_SEC_CTX = _IOR('r', 2,
|
||||
struct binder_transaction_data_secctx),
|
||||
/*
|
||||
* binder_transaction_data_secctx: the received command.
|
||||
*/
|
||||
BR_TRANSACTION = _IOR('r', 2, struct binder_transaction_data),
|
||||
BR_REPLY = _IOR('r', 3, struct binder_transaction_data),
|
||||
/*
|
||||
|
|
|
|||
|
|
@ -23,7 +23,7 @@
|
|||
#define AUTOFS_MIN_PROTO_VERSION 3
|
||||
#define AUTOFS_MAX_PROTO_VERSION 5
|
||||
|
||||
#define AUTOFS_PROTO_SUBVERSION 4
|
||||
#define AUTOFS_PROTO_SUBVERSION 5
|
||||
|
||||
/*
|
||||
* The wait_queue_token (autofs_wqt_t) is part of a structure which is passed
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
/* SPDX-License-Identifier: (GPL-2.0 WITH Linux-syscall-note) */
|
||||
/* Copyright (C) 2007-2018 B.A.T.M.A.N. contributors:
|
||||
/* Copyright (C) 2007-2019 B.A.T.M.A.N. contributors:
|
||||
*
|
||||
* Marek Lindner, Simon Wunderlich
|
||||
*
|
||||
|
|
@ -229,7 +229,7 @@ struct batadv_ogm_packet {
|
|||
* @packet_type: batman-adv packet type, part of the general header
|
||||
* @version: batman-adv protocol version, part of the general header
|
||||
* @ttl: time to live for this packet, part of the general header
|
||||
* @flags: reseved for routing relevant flags - currently always 0
|
||||
* @flags: reserved for routing relevant flags - currently always 0
|
||||
* @seqno: sequence number
|
||||
* @orig: originator mac address
|
||||
* @tvlv_len: length of the appended tvlv buffer (in bytes)
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
/* SPDX-License-Identifier: MIT */
|
||||
/* Copyright (C) 2016-2018 B.A.T.M.A.N. contributors:
|
||||
/* Copyright (C) 2016-2019 B.A.T.M.A.N. contributors:
|
||||
*
|
||||
* Matthias Schiffer
|
||||
*
|
||||
|
|
@ -27,6 +27,7 @@
|
|||
|
||||
#define BATADV_NL_NAME "batadv"
|
||||
|
||||
#define BATADV_NL_MCAST_GROUP_CONFIG "config"
|
||||
#define BATADV_NL_MCAST_GROUP_TPMETER "tpmeter"
|
||||
|
||||
/**
|
||||
|
|
@ -138,6 +139,20 @@ enum batadv_mcast_flags_priv {
|
|||
BATADV_MCAST_FLAGS_QUERIER_IPV6_SHADOWING = (1 << 4),
|
||||
};
|
||||
|
||||
/**
|
||||
* enum batadv_gw_modes - gateway mode of node
|
||||
*/
|
||||
enum batadv_gw_modes {
|
||||
/** @BATADV_GW_MODE_OFF: gw mode disabled */
|
||||
BATADV_GW_MODE_OFF,
|
||||
|
||||
/** @BATADV_GW_MODE_CLIENT: send DHCP requests to gw servers */
|
||||
BATADV_GW_MODE_CLIENT,
|
||||
|
||||
/** @BATADV_GW_MODE_SERVER: announce itself as gatway server */
|
||||
BATADV_GW_MODE_SERVER,
|
||||
};
|
||||
|
||||
/**
|
||||
* enum batadv_nl_attrs - batman-adv netlink attributes
|
||||
*/
|
||||
|
|
@ -344,6 +359,138 @@ enum batadv_nl_attrs {
|
|||
*/
|
||||
BATADV_ATTR_MCAST_FLAGS_PRIV,
|
||||
|
||||
/**
|
||||
* @BATADV_ATTR_VLANID: VLAN id on top of soft interface
|
||||
*/
|
||||
BATADV_ATTR_VLANID,
|
||||
|
||||
/**
|
||||
* @BATADV_ATTR_AGGREGATED_OGMS_ENABLED: whether the batman protocol
|
||||
* messages of the mesh interface shall be aggregated or not.
|
||||
*/
|
||||
BATADV_ATTR_AGGREGATED_OGMS_ENABLED,
|
||||
|
||||
/**
|
||||
* @BATADV_ATTR_AP_ISOLATION_ENABLED: whether the data traffic going
|
||||
* from a wireless client to another wireless client will be silently
|
||||
* dropped.
|
||||
*/
|
||||
BATADV_ATTR_AP_ISOLATION_ENABLED,
|
||||
|
||||
/**
|
||||
* @BATADV_ATTR_ISOLATION_MARK: the isolation mark which is used to
|
||||
* classify clients as "isolated" by the Extended Isolation feature.
|
||||
*/
|
||||
BATADV_ATTR_ISOLATION_MARK,
|
||||
|
||||
/**
|
||||
* @BATADV_ATTR_ISOLATION_MASK: the isolation (bit)mask which is used to
|
||||
* classify clients as "isolated" by the Extended Isolation feature.
|
||||
*/
|
||||
BATADV_ATTR_ISOLATION_MASK,
|
||||
|
||||
/**
|
||||
* @BATADV_ATTR_BONDING_ENABLED: whether the data traffic going through
|
||||
* the mesh will be sent using multiple interfaces at the same time.
|
||||
*/
|
||||
BATADV_ATTR_BONDING_ENABLED,
|
||||
|
||||
/**
|
||||
* @BATADV_ATTR_BRIDGE_LOOP_AVOIDANCE_ENABLED: whether the bridge loop
|
||||
* avoidance feature is enabled. This feature detects and avoids loops
|
||||
* between the mesh and devices bridged with the soft interface
|
||||
*/
|
||||
BATADV_ATTR_BRIDGE_LOOP_AVOIDANCE_ENABLED,
|
||||
|
||||
/**
|
||||
* @BATADV_ATTR_DISTRIBUTED_ARP_TABLE_ENABLED: whether the distributed
|
||||
* arp table feature is enabled. This feature uses a distributed hash
|
||||
* table to answer ARP requests without flooding the request through
|
||||
* the whole mesh.
|
||||
*/
|
||||
BATADV_ATTR_DISTRIBUTED_ARP_TABLE_ENABLED,
|
||||
|
||||
/**
|
||||
* @BATADV_ATTR_FRAGMENTATION_ENABLED: whether the data traffic going
|
||||
* through the mesh will be fragmented or silently discarded if the
|
||||
* packet size exceeds the outgoing interface MTU.
|
||||
*/
|
||||
BATADV_ATTR_FRAGMENTATION_ENABLED,
|
||||
|
||||
/**
|
||||
* @BATADV_ATTR_GW_BANDWIDTH_DOWN: defines the download bandwidth which
|
||||
* is propagated by this node if %BATADV_ATTR_GW_BANDWIDTH_MODE was set
|
||||
* to 'server'.
|
||||
*/
|
||||
BATADV_ATTR_GW_BANDWIDTH_DOWN,
|
||||
|
||||
/**
|
||||
* @BATADV_ATTR_GW_BANDWIDTH_UP: defines the upload bandwidth which
|
||||
* is propagated by this node if %BATADV_ATTR_GW_BANDWIDTH_MODE was set
|
||||
* to 'server'.
|
||||
*/
|
||||
BATADV_ATTR_GW_BANDWIDTH_UP,
|
||||
|
||||
/**
|
||||
* @BATADV_ATTR_GW_MODE: defines the state of the gateway features.
|
||||
* Possible values are specified in enum batadv_gw_modes
|
||||
*/
|
||||
BATADV_ATTR_GW_MODE,
|
||||
|
||||
/**
|
||||
* @BATADV_ATTR_GW_SEL_CLASS: defines the selection criteria this node
|
||||
* will use to choose a gateway if gw_mode was set to 'client'.
|
||||
*/
|
||||
BATADV_ATTR_GW_SEL_CLASS,
|
||||
|
||||
/**
|
||||
* @BATADV_ATTR_HOP_PENALTY: defines the penalty which will be applied
|
||||
* to an originator message's tq-field on every hop.
|
||||
*/
|
||||
BATADV_ATTR_HOP_PENALTY,
|
||||
|
||||
/**
|
||||
* @BATADV_ATTR_LOG_LEVEL: bitmask with to define which debug messages
|
||||
* should be send to the debug log/trace ring buffer
|
||||
*/
|
||||
BATADV_ATTR_LOG_LEVEL,
|
||||
|
||||
/**
|
||||
* @BATADV_ATTR_MULTICAST_FORCEFLOOD_ENABLED: whether multicast
|
||||
* optimizations should be replaced by simple broadcast-like flooding
|
||||
* of multicast packets. If set to non-zero then all nodes in the mesh
|
||||
* are going to use classic flooding for any multicast packet with no
|
||||
* optimizations.
|
||||
*/
|
||||
BATADV_ATTR_MULTICAST_FORCEFLOOD_ENABLED,
|
||||
|
||||
/**
|
||||
* @BATADV_ATTR_NETWORK_CODING_ENABLED: whether Network Coding (using
|
||||
* some magic to send fewer wifi packets but still the same content) is
|
||||
* enabled or not.
|
||||
*/
|
||||
BATADV_ATTR_NETWORK_CODING_ENABLED,
|
||||
|
||||
/**
|
||||
* @BATADV_ATTR_ORIG_INTERVAL: defines the interval in milliseconds in
|
||||
* which batman sends its protocol messages.
|
||||
*/
|
||||
BATADV_ATTR_ORIG_INTERVAL,
|
||||
|
||||
/**
|
||||
* @BATADV_ATTR_ELP_INTERVAL: defines the interval in milliseconds in
|
||||
* which batman emits probing packets for neighbor sensing (ELP).
|
||||
*/
|
||||
BATADV_ATTR_ELP_INTERVAL,
|
||||
|
||||
/**
|
||||
* @BATADV_ATTR_THROUGHPUT_OVERRIDE: defines the throughput value to be
|
||||
* used by B.A.T.M.A.N. V when estimating the link throughput using
|
||||
* this interface. If the value is set to 0 then batman-adv will try to
|
||||
* estimate the throughput by itself.
|
||||
*/
|
||||
BATADV_ATTR_THROUGHPUT_OVERRIDE,
|
||||
|
||||
/* add attributes above here, update the policy in netlink.c */
|
||||
|
||||
/**
|
||||
|
|
@ -372,10 +519,14 @@ enum batadv_nl_commands {
|
|||
BATADV_CMD_UNSPEC,
|
||||
|
||||
/**
|
||||
* @BATADV_CMD_GET_MESH_INFO: Query basic information about batman-adv
|
||||
* device
|
||||
* @BATADV_CMD_GET_MESH: Get attributes from softif/mesh
|
||||
*/
|
||||
BATADV_CMD_GET_MESH_INFO,
|
||||
BATADV_CMD_GET_MESH,
|
||||
|
||||
/**
|
||||
* @BATADV_CMD_GET_MESH_INFO: Alias for @BATADV_CMD_GET_MESH
|
||||
*/
|
||||
BATADV_CMD_GET_MESH_INFO = BATADV_CMD_GET_MESH,
|
||||
|
||||
/**
|
||||
* @BATADV_CMD_TP_METER: Start a tp meter session
|
||||
|
|
@ -393,9 +544,15 @@ enum batadv_nl_commands {
|
|||
BATADV_CMD_GET_ROUTING_ALGOS,
|
||||
|
||||
/**
|
||||
* @BATADV_CMD_GET_HARDIFS: Query list of hard interfaces
|
||||
* @BATADV_CMD_GET_HARDIF: Get attributes from a hardif of the
|
||||
* current softif
|
||||
*/
|
||||
BATADV_CMD_GET_HARDIFS,
|
||||
BATADV_CMD_GET_HARDIF,
|
||||
|
||||
/**
|
||||
* @BATADV_CMD_GET_HARDIFS: Alias for @BATADV_CMD_GET_HARDIF
|
||||
*/
|
||||
BATADV_CMD_GET_HARDIFS = BATADV_CMD_GET_HARDIF,
|
||||
|
||||
/**
|
||||
* @BATADV_CMD_GET_TRANSTABLE_LOCAL: Query list of local translations
|
||||
|
|
@ -443,6 +600,29 @@ enum batadv_nl_commands {
|
|||
*/
|
||||
BATADV_CMD_GET_MCAST_FLAGS,
|
||||
|
||||
/**
|
||||
* @BATADV_CMD_SET_MESH: Set attributes for softif/mesh
|
||||
*/
|
||||
BATADV_CMD_SET_MESH,
|
||||
|
||||
/**
|
||||
* @BATADV_CMD_SET_HARDIF: Set attributes for hardif of the
|
||||
* current softif
|
||||
*/
|
||||
BATADV_CMD_SET_HARDIF,
|
||||
|
||||
/**
|
||||
* @BATADV_CMD_GET_VLAN: Get attributes from a VLAN of the
|
||||
* current softif
|
||||
*/
|
||||
BATADV_CMD_GET_VLAN,
|
||||
|
||||
/**
|
||||
* @BATADV_CMD_SET_VLAN: Set attributes for VLAN of the
|
||||
* current softif
|
||||
*/
|
||||
BATADV_CMD_SET_VLAN,
|
||||
|
||||
/* add new commands above here */
|
||||
|
||||
/**
|
||||
|
|
|
|||
|
|
@ -16,6 +16,6 @@ struct pt_regs;
|
|||
#define MAX_ARG_STRINGS 0x7FFFFFFF
|
||||
|
||||
/* sizeof(linux_binprm->buf) */
|
||||
#define BINPRM_BUF_SIZE 128
|
||||
#define BINPRM_BUF_SIZE 256
|
||||
|
||||
#endif /* _UAPI_LINUX_BINFMTS_H */
|
||||
|
|
|
|||
|
|
@ -14,6 +14,7 @@
|
|||
/* Extended instruction set based on top of classic BPF */
|
||||
|
||||
/* instruction classes */
|
||||
#define BPF_JMP32 0x06 /* jmp mode in word width */
|
||||
#define BPF_ALU64 0x07 /* alu mode in double word width */
|
||||
|
||||
/* ld/ldx fields */
|
||||
|
|
@ -266,6 +267,7 @@ enum bpf_attach_type {
|
|||
#define BPF_ANY 0 /* create new element or update existing */
|
||||
#define BPF_NOEXIST 1 /* create new element if it didn't exist */
|
||||
#define BPF_EXIST 2 /* update existing element */
|
||||
#define BPF_F_LOCK 4 /* spin_lock-ed map_lookup/map_update */
|
||||
|
||||
/* flags for BPF_MAP_CREATE command */
|
||||
#define BPF_F_NO_PREALLOC (1U << 0)
|
||||
|
|
@ -2014,6 +2016,19 @@ union bpf_attr {
|
|||
* Only works if *skb* contains an IPv6 packet. Insert a
|
||||
* Segment Routing Header (**struct ipv6_sr_hdr**) inside
|
||||
* the IPv6 header.
|
||||
* **BPF_LWT_ENCAP_IP**
|
||||
* IP encapsulation (GRE/GUE/IPIP/etc). The outer header
|
||||
* must be IPv4 or IPv6, followed by zero or more
|
||||
* additional headers, up to LWT_BPF_MAX_HEADROOM total
|
||||
* bytes in all prepended headers. Please note that
|
||||
* if skb_is_gso(skb) is true, no more than two headers
|
||||
* can be prepended, and the inner header, if present,
|
||||
* should be either GRE or UDP/GUE.
|
||||
*
|
||||
* BPF_LWT_ENCAP_SEG6*** types can be called by bpf programs of
|
||||
* type BPF_PROG_TYPE_LWT_IN; BPF_LWT_ENCAP_IP type can be called
|
||||
* by bpf programs of types BPF_PROG_TYPE_LWT_IN and
|
||||
* BPF_PROG_TYPE_LWT_XMIT.
|
||||
*
|
||||
* A call to this helper is susceptible to change the underlaying
|
||||
* packet buffer. Therefore, at load time, all checks on pointers
|
||||
|
|
@ -2327,6 +2342,30 @@ union bpf_attr {
|
|||
* "**y**".
|
||||
* Return
|
||||
* 0
|
||||
*
|
||||
* struct bpf_sock *bpf_sk_fullsock(struct bpf_sock *sk)
|
||||
* Description
|
||||
* This helper gets a **struct bpf_sock** pointer such
|
||||
* that all the fields in bpf_sock can be accessed.
|
||||
* Return
|
||||
* A **struct bpf_sock** pointer on success, or NULL in
|
||||
* case of failure.
|
||||
*
|
||||
* struct bpf_tcp_sock *bpf_tcp_sock(struct bpf_sock *sk)
|
||||
* Description
|
||||
* This helper gets a **struct bpf_tcp_sock** pointer from a
|
||||
* **struct bpf_sock** pointer.
|
||||
*
|
||||
* Return
|
||||
* A **struct bpf_tcp_sock** pointer on success, or NULL in
|
||||
* case of failure.
|
||||
*
|
||||
* int bpf_skb_ecn_set_ce(struct sk_buf *skb)
|
||||
* Description
|
||||
* Sets ECN of IP header to ce (congestion encountered) if
|
||||
* current value is ect (ECN capable). Works with IPv6 and IPv4.
|
||||
* Return
|
||||
* 1 if set, 0 if not set.
|
||||
*/
|
||||
#define __BPF_FUNC_MAPPER(FN) \
|
||||
FN(unspec), \
|
||||
|
|
@ -2421,7 +2460,12 @@ union bpf_attr {
|
|||
FN(map_peek_elem), \
|
||||
FN(msg_push_data), \
|
||||
FN(msg_pop_data), \
|
||||
FN(rc_pointer_rel),
|
||||
FN(rc_pointer_rel), \
|
||||
FN(spin_lock), \
|
||||
FN(spin_unlock), \
|
||||
FN(sk_fullsock), \
|
||||
FN(tcp_sock), \
|
||||
FN(skb_ecn_set_ce),
|
||||
|
||||
/* integer value in 'imm' field of BPF_CALL instruction selects which helper
|
||||
* function eBPF program intends to call
|
||||
|
|
@ -2494,7 +2538,8 @@ enum bpf_hdr_start_off {
|
|||
/* Encapsulation type for BPF_FUNC_lwt_push_encap helper. */
|
||||
enum bpf_lwt_encap_mode {
|
||||
BPF_LWT_ENCAP_SEG6,
|
||||
BPF_LWT_ENCAP_SEG6_INLINE
|
||||
BPF_LWT_ENCAP_SEG6_INLINE,
|
||||
BPF_LWT_ENCAP_IP,
|
||||
};
|
||||
|
||||
#define __bpf_md_ptr(type, name) \
|
||||
|
|
@ -2540,6 +2585,8 @@ struct __sk_buff {
|
|||
__bpf_md_ptr(struct bpf_flow_keys *, flow_keys);
|
||||
__u64 tstamp;
|
||||
__u32 wire_len;
|
||||
__u32 gso_segs;
|
||||
__bpf_md_ptr(struct bpf_sock *, sk);
|
||||
};
|
||||
|
||||
struct bpf_tunnel_key {
|
||||
|
|
@ -2581,7 +2628,15 @@ enum bpf_ret_code {
|
|||
BPF_DROP = 2,
|
||||
/* 3-6 reserved */
|
||||
BPF_REDIRECT = 7,
|
||||
/* >127 are reserved for prog type specific return codes */
|
||||
/* >127 are reserved for prog type specific return codes.
|
||||
*
|
||||
* BPF_LWT_REROUTE: used by BPF_PROG_TYPE_LWT_IN and
|
||||
* BPF_PROG_TYPE_LWT_XMIT to indicate that skb had been
|
||||
* changed and should be routed based on its new L3 header.
|
||||
* (This is an L3 redirect, as opposed to L2 redirect
|
||||
* represented by BPF_REDIRECT above).
|
||||
*/
|
||||
BPF_LWT_REROUTE = 128,
|
||||
};
|
||||
|
||||
struct bpf_sock {
|
||||
|
|
@ -2591,14 +2646,52 @@ struct bpf_sock {
|
|||
__u32 protocol;
|
||||
__u32 mark;
|
||||
__u32 priority;
|
||||
__u32 src_ip4; /* Allows 1,2,4-byte read.
|
||||
* Stored in network byte order.
|
||||
/* IP address also allows 1 and 2 bytes access */
|
||||
__u32 src_ip4;
|
||||
__u32 src_ip6[4];
|
||||
__u32 src_port; /* host byte order */
|
||||
__u32 dst_port; /* network byte order */
|
||||
__u32 dst_ip4;
|
||||
__u32 dst_ip6[4];
|
||||
__u32 state;
|
||||
};
|
||||
|
||||
struct bpf_tcp_sock {
|
||||
__u32 snd_cwnd; /* Sending congestion window */
|
||||
__u32 srtt_us; /* smoothed round trip time << 3 in usecs */
|
||||
__u32 rtt_min;
|
||||
__u32 snd_ssthresh; /* Slow start size threshold */
|
||||
__u32 rcv_nxt; /* What we want to receive next */
|
||||
__u32 snd_nxt; /* Next sequence we send */
|
||||
__u32 snd_una; /* First byte we want an ack for */
|
||||
__u32 mss_cache; /* Cached effective mss, not including SACKS */
|
||||
__u32 ecn_flags; /* ECN status bits. */
|
||||
__u32 rate_delivered; /* saved rate sample: packets delivered */
|
||||
__u32 rate_interval_us; /* saved rate sample: time elapsed */
|
||||
__u32 packets_out; /* Packets which are "in flight" */
|
||||
__u32 retrans_out; /* Retransmitted packets out */
|
||||
__u32 total_retrans; /* Total retransmits for entire connection */
|
||||
__u32 segs_in; /* RFC4898 tcpEStatsPerfSegsIn
|
||||
* total number of segments in.
|
||||
*/
|
||||
__u32 src_ip6[4]; /* Allows 1,2,4-byte read.
|
||||
* Stored in network byte order.
|
||||
__u32 data_segs_in; /* RFC4898 tcpEStatsPerfDataSegsIn
|
||||
* total number of data segments in.
|
||||
*/
|
||||
__u32 src_port; /* Allows 4-byte read.
|
||||
* Stored in host byte order
|
||||
__u32 segs_out; /* RFC4898 tcpEStatsPerfSegsOut
|
||||
* The total number of segments sent.
|
||||
*/
|
||||
__u32 data_segs_out; /* RFC4898 tcpEStatsPerfDataSegsOut
|
||||
* total number of data segments sent.
|
||||
*/
|
||||
__u32 lost_out; /* Lost packets */
|
||||
__u32 sacked_out; /* SACK'd packets */
|
||||
__u64 bytes_received; /* RFC4898 tcpEStatsAppHCThruOctetsReceived
|
||||
* sum(delta(rcv_nxt)), or how many bytes
|
||||
* were acked.
|
||||
*/
|
||||
__u64 bytes_acked; /* RFC4898 tcpEStatsAppHCThruOctetsAcked
|
||||
* sum(delta(snd_una)), or how many bytes
|
||||
* were acked.
|
||||
*/
|
||||
};
|
||||
|
||||
|
|
@ -2728,6 +2821,8 @@ struct bpf_prog_info {
|
|||
__u32 jited_line_info_rec_size;
|
||||
__u32 nr_prog_tags;
|
||||
__aligned_u64 prog_tags;
|
||||
__u64 run_time_ns;
|
||||
__u64 run_cnt;
|
||||
} __attribute__((aligned(8)));
|
||||
|
||||
struct bpf_map_info {
|
||||
|
|
@ -3054,4 +3149,7 @@ struct bpf_line_info {
|
|||
__u32 line_col;
|
||||
};
|
||||
|
||||
struct bpf_spin_lock {
|
||||
__u32 val;
|
||||
};
|
||||
#endif /* _UAPI__LINUX_BPF_H__ */
|
||||
|
|
|
|||
|
|
@ -837,6 +837,8 @@ enum btrfs_err_code {
|
|||
struct btrfs_ioctl_vol_args)
|
||||
#define BTRFS_IOC_SCAN_DEV _IOW(BTRFS_IOCTL_MAGIC, 4, \
|
||||
struct btrfs_ioctl_vol_args)
|
||||
#define BTRFS_IOC_FORGET_DEV _IOW(BTRFS_IOCTL_MAGIC, 5, \
|
||||
struct btrfs_ioctl_vol_args)
|
||||
/* trans start and trans end are dangerous, and only for
|
||||
* use by applications that know how to avoid the
|
||||
* resulting deadlocks
|
||||
|
|
|
|||
|
|
@ -89,6 +89,22 @@ enum devlink_command {
|
|||
DEVLINK_CMD_REGION_DEL,
|
||||
DEVLINK_CMD_REGION_READ,
|
||||
|
||||
DEVLINK_CMD_PORT_PARAM_GET, /* can dump */
|
||||
DEVLINK_CMD_PORT_PARAM_SET,
|
||||
DEVLINK_CMD_PORT_PARAM_NEW,
|
||||
DEVLINK_CMD_PORT_PARAM_DEL,
|
||||
|
||||
DEVLINK_CMD_INFO_GET, /* can dump */
|
||||
|
||||
DEVLINK_CMD_HEALTH_REPORTER_GET,
|
||||
DEVLINK_CMD_HEALTH_REPORTER_SET,
|
||||
DEVLINK_CMD_HEALTH_REPORTER_RECOVER,
|
||||
DEVLINK_CMD_HEALTH_REPORTER_DIAGNOSE,
|
||||
DEVLINK_CMD_HEALTH_REPORTER_DUMP_GET,
|
||||
DEVLINK_CMD_HEALTH_REPORTER_DUMP_CLEAR,
|
||||
|
||||
DEVLINK_CMD_FLASH_UPDATE,
|
||||
|
||||
/* add new commands above here */
|
||||
__DEVLINK_CMD_MAX,
|
||||
DEVLINK_CMD_MAX = __DEVLINK_CMD_MAX - 1
|
||||
|
|
@ -285,6 +301,37 @@ enum devlink_attr {
|
|||
DEVLINK_ATTR_REGION_CHUNK_ADDR, /* u64 */
|
||||
DEVLINK_ATTR_REGION_CHUNK_LEN, /* u64 */
|
||||
|
||||
DEVLINK_ATTR_INFO_DRIVER_NAME, /* string */
|
||||
DEVLINK_ATTR_INFO_SERIAL_NUMBER, /* string */
|
||||
DEVLINK_ATTR_INFO_VERSION_FIXED, /* nested */
|
||||
DEVLINK_ATTR_INFO_VERSION_RUNNING, /* nested */
|
||||
DEVLINK_ATTR_INFO_VERSION_STORED, /* nested */
|
||||
DEVLINK_ATTR_INFO_VERSION_NAME, /* string */
|
||||
DEVLINK_ATTR_INFO_VERSION_VALUE, /* string */
|
||||
|
||||
DEVLINK_ATTR_SB_POOL_CELL_SIZE, /* u32 */
|
||||
|
||||
DEVLINK_ATTR_FMSG, /* nested */
|
||||
DEVLINK_ATTR_FMSG_OBJ_NEST_START, /* flag */
|
||||
DEVLINK_ATTR_FMSG_PAIR_NEST_START, /* flag */
|
||||
DEVLINK_ATTR_FMSG_ARR_NEST_START, /* flag */
|
||||
DEVLINK_ATTR_FMSG_NEST_END, /* flag */
|
||||
DEVLINK_ATTR_FMSG_OBJ_NAME, /* string */
|
||||
DEVLINK_ATTR_FMSG_OBJ_VALUE_TYPE, /* u8 */
|
||||
DEVLINK_ATTR_FMSG_OBJ_VALUE_DATA, /* dynamic */
|
||||
|
||||
DEVLINK_ATTR_HEALTH_REPORTER, /* nested */
|
||||
DEVLINK_ATTR_HEALTH_REPORTER_NAME, /* string */
|
||||
DEVLINK_ATTR_HEALTH_REPORTER_STATE, /* u8 */
|
||||
DEVLINK_ATTR_HEALTH_REPORTER_ERR_COUNT, /* u64 */
|
||||
DEVLINK_ATTR_HEALTH_REPORTER_RECOVER_COUNT, /* u64 */
|
||||
DEVLINK_ATTR_HEALTH_REPORTER_DUMP_TS, /* u64 */
|
||||
DEVLINK_ATTR_HEALTH_REPORTER_GRACEFUL_PERIOD, /* u64 */
|
||||
DEVLINK_ATTR_HEALTH_REPORTER_AUTO_RECOVER, /* u8 */
|
||||
|
||||
DEVLINK_ATTR_FLASH_UPDATE_FILE_NAME, /* string */
|
||||
DEVLINK_ATTR_FLASH_UPDATE_COMPONENT, /* string */
|
||||
|
||||
/* add new attributes above here, update the policy in devlink.c */
|
||||
|
||||
__DEVLINK_ATTR_MAX,
|
||||
|
|
|
|||
|
|
@ -270,9 +270,9 @@ enum {
|
|||
#define DM_DEV_SET_GEOMETRY _IOWR(DM_IOCTL, DM_DEV_SET_GEOMETRY_CMD, struct dm_ioctl)
|
||||
|
||||
#define DM_VERSION_MAJOR 4
|
||||
#define DM_VERSION_MINOR 39
|
||||
#define DM_VERSION_MINOR 40
|
||||
#define DM_VERSION_PATCHLEVEL 0
|
||||
#define DM_VERSION_EXTRA "-ioctl (2018-04-03)"
|
||||
#define DM_VERSION_EXTRA "-ioctl (2019-01-18)"
|
||||
|
||||
/* Status bits */
|
||||
#define DM_READONLY_FLAG (1 << 0) /* In/Out */
|
||||
|
|
|
|||
|
|
@ -421,6 +421,8 @@ typedef struct elf64_shdr {
|
|||
#define NT_ARM_SYSTEM_CALL 0x404 /* ARM system call number */
|
||||
#define NT_ARM_SVE 0x405 /* ARM Scalable Vector Extension registers */
|
||||
#define NT_ARM_PAC_MASK 0x406 /* ARM pointer authentication code masks */
|
||||
#define NT_ARM_PACA_KEYS 0x407 /* ARM pointer authentication address keys */
|
||||
#define NT_ARM_PACG_KEYS 0x408 /* ARM pointer authentication generic key */
|
||||
#define NT_ARC_V2 0x600 /* ARCv2 accumulator/extra registers */
|
||||
#define NT_VMCOREDD 0x700 /* Vmcore Device Dump Note */
|
||||
#define NT_MIPS_DSP 0x800 /* MIPS DSP ASE registers */
|
||||
|
|
|
|||
|
|
@ -3,6 +3,7 @@
|
|||
#define _UAPI_LINUX_ERRQUEUE_H
|
||||
|
||||
#include <linux/types.h>
|
||||
#include <linux/time_types.h>
|
||||
|
||||
struct sock_extended_err {
|
||||
__u32 ee_errno;
|
||||
|
|
@ -41,6 +42,10 @@ struct scm_timestamping {
|
|||
struct timespec ts[3];
|
||||
};
|
||||
|
||||
struct scm_timestamping64 {
|
||||
struct __kernel_timespec ts[3];
|
||||
};
|
||||
|
||||
/* The type of scm_timestamping, passed in sock_extended_err ee_info.
|
||||
* This defines the type of ts[0]. For SCM_TSTAMP_SND only, if ts[0]
|
||||
* is zero, then this is a hardware timestamp and recorded in ts[2].
|
||||
|
|
|
|||
|
|
@ -1432,6 +1432,13 @@ enum ethtool_link_mode_bit_indices {
|
|||
ETHTOOL_LINK_MODE_56000baseSR4_Full_BIT = 29,
|
||||
ETHTOOL_LINK_MODE_56000baseLR4_Full_BIT = 30,
|
||||
ETHTOOL_LINK_MODE_25000baseCR_Full_BIT = 31,
|
||||
|
||||
/* Last allowed bit for __ETHTOOL_LINK_MODE_LEGACY_MASK is bit
|
||||
* 31. Please do NOT define any SUPPORTED_* or ADVERTISED_*
|
||||
* macro for bits > 31. The only way to use indices > 31 is to
|
||||
* use the new ETHTOOL_GLINKSETTINGS/ETHTOOL_SLINKSETTINGS API.
|
||||
*/
|
||||
|
||||
ETHTOOL_LINK_MODE_25000baseKR_Full_BIT = 32,
|
||||
ETHTOOL_LINK_MODE_25000baseSR_Full_BIT = 33,
|
||||
ETHTOOL_LINK_MODE_50000baseCR2_Full_BIT = 34,
|
||||
|
|
@ -1453,15 +1460,24 @@ enum ethtool_link_mode_bit_indices {
|
|||
ETHTOOL_LINK_MODE_FEC_NONE_BIT = 49,
|
||||
ETHTOOL_LINK_MODE_FEC_RS_BIT = 50,
|
||||
ETHTOOL_LINK_MODE_FEC_BASER_BIT = 51,
|
||||
ETHTOOL_LINK_MODE_50000baseKR_Full_BIT = 52,
|
||||
ETHTOOL_LINK_MODE_50000baseSR_Full_BIT = 53,
|
||||
ETHTOOL_LINK_MODE_50000baseCR_Full_BIT = 54,
|
||||
ETHTOOL_LINK_MODE_50000baseLR_ER_FR_Full_BIT = 55,
|
||||
ETHTOOL_LINK_MODE_50000baseDR_Full_BIT = 56,
|
||||
ETHTOOL_LINK_MODE_100000baseKR2_Full_BIT = 57,
|
||||
ETHTOOL_LINK_MODE_100000baseSR2_Full_BIT = 58,
|
||||
ETHTOOL_LINK_MODE_100000baseCR2_Full_BIT = 59,
|
||||
ETHTOOL_LINK_MODE_100000baseLR2_ER2_FR2_Full_BIT = 60,
|
||||
ETHTOOL_LINK_MODE_100000baseDR2_Full_BIT = 61,
|
||||
ETHTOOL_LINK_MODE_200000baseKR4_Full_BIT = 62,
|
||||
ETHTOOL_LINK_MODE_200000baseSR4_Full_BIT = 63,
|
||||
ETHTOOL_LINK_MODE_200000baseLR4_ER4_FR4_Full_BIT = 64,
|
||||
ETHTOOL_LINK_MODE_200000baseDR4_Full_BIT = 65,
|
||||
ETHTOOL_LINK_MODE_200000baseCR4_Full_BIT = 66,
|
||||
|
||||
/* Last allowed bit for __ETHTOOL_LINK_MODE_LEGACY_MASK is bit
|
||||
* 31. Please do NOT define any SUPPORTED_* or ADVERTISED_*
|
||||
* macro for bits > 31. The only way to use indices > 31 is to
|
||||
* use the new ETHTOOL_GLINKSETTINGS/ETHTOOL_SLINKSETTINGS API.
|
||||
*/
|
||||
|
||||
__ETHTOOL_LINK_MODE_LAST
|
||||
= ETHTOOL_LINK_MODE_FEC_BASER_BIT,
|
||||
/* must be last entry */
|
||||
__ETHTOOL_LINK_MODE_MASK_NBITS
|
||||
};
|
||||
|
||||
#define __ETHTOOL_LINK_MODE_LEGACY_MASK(base_name) \
|
||||
|
|
@ -1569,6 +1585,7 @@ enum ethtool_link_mode_bit_indices {
|
|||
#define SPEED_50000 50000
|
||||
#define SPEED_56000 56000
|
||||
#define SPEED_100000 100000
|
||||
#define SPEED_200000 200000
|
||||
|
||||
#define SPEED_UNKNOWN -1
|
||||
|
||||
|
|
|
|||
|
|
@ -7,9 +7,16 @@
|
|||
/* the following events that user-space can register for */
|
||||
#define FAN_ACCESS 0x00000001 /* File was accessed */
|
||||
#define FAN_MODIFY 0x00000002 /* File was modified */
|
||||
#define FAN_ATTRIB 0x00000004 /* Metadata changed */
|
||||
#define FAN_CLOSE_WRITE 0x00000008 /* Writtable file closed */
|
||||
#define FAN_CLOSE_NOWRITE 0x00000010 /* Unwrittable file closed */
|
||||
#define FAN_OPEN 0x00000020 /* File was opened */
|
||||
#define FAN_MOVED_FROM 0x00000040 /* File was moved from X */
|
||||
#define FAN_MOVED_TO 0x00000080 /* File was moved to Y */
|
||||
#define FAN_CREATE 0x00000100 /* Subfile was created */
|
||||
#define FAN_DELETE 0x00000200 /* Subfile was deleted */
|
||||
#define FAN_DELETE_SELF 0x00000400 /* Self was deleted */
|
||||
#define FAN_MOVE_SELF 0x00000800 /* Self was moved */
|
||||
#define FAN_OPEN_EXEC 0x00001000 /* File was opened for exec */
|
||||
|
||||
#define FAN_Q_OVERFLOW 0x00004000 /* Event queued overflowed */
|
||||
|
|
@ -24,6 +31,7 @@
|
|||
|
||||
/* helper events */
|
||||
#define FAN_CLOSE (FAN_CLOSE_WRITE | FAN_CLOSE_NOWRITE) /* close */
|
||||
#define FAN_MOVE (FAN_MOVED_FROM | FAN_MOVED_TO) /* moves */
|
||||
|
||||
/* flags used for fanotify_init() */
|
||||
#define FAN_CLOEXEC 0x00000001
|
||||
|
|
@ -44,6 +52,7 @@
|
|||
|
||||
/* Flags to determine fanotify event format */
|
||||
#define FAN_REPORT_TID 0x00000100 /* event->pid is thread id */
|
||||
#define FAN_REPORT_FID 0x00000200 /* Report unique file id */
|
||||
|
||||
/* Deprecated - do not use this in programs and do not add new flags here! */
|
||||
#define FAN_ALL_INIT_FLAGS (FAN_CLOEXEC | FAN_NONBLOCK | \
|
||||
|
|
@ -106,6 +115,26 @@ struct fanotify_event_metadata {
|
|||
__s32 pid;
|
||||
};
|
||||
|
||||
#define FAN_EVENT_INFO_TYPE_FID 1
|
||||
|
||||
/* Variable length info record following event metadata */
|
||||
struct fanotify_event_info_header {
|
||||
__u8 info_type;
|
||||
__u8 pad;
|
||||
__u16 len;
|
||||
};
|
||||
|
||||
/* Unique file identifier info record */
|
||||
struct fanotify_event_info_fid {
|
||||
struct fanotify_event_info_header hdr;
|
||||
__kernel_fsid_t fsid;
|
||||
/*
|
||||
* Following is an opaque struct file_handle that can be passed as
|
||||
* an argument to open_by_handle_at(2).
|
||||
*/
|
||||
unsigned char handle[0];
|
||||
};
|
||||
|
||||
struct fanotify_response {
|
||||
__s32 fd;
|
||||
__u32 response;
|
||||
|
|
|
|||
|
|
@ -41,6 +41,7 @@
|
|||
#define F_SEAL_SHRINK 0x0002 /* prevent file from shrinking */
|
||||
#define F_SEAL_GROW 0x0004 /* prevent file from growing */
|
||||
#define F_SEAL_WRITE 0x0008 /* prevent writes */
|
||||
#define F_SEAL_FUTURE_WRITE 0x0010 /* prevent future writes while mapped */
|
||||
/* (1U << 31) is reserved for signed error codes */
|
||||
|
||||
/*
|
||||
|
|
|
|||
|
|
@ -122,6 +122,9 @@
|
|||
* - add FOPEN_CACHE_DIR
|
||||
* - add FUSE_MAX_PAGES, add max_pages to init_out
|
||||
* - add FUSE_CACHE_SYMLINKS
|
||||
*
|
||||
* 7.29
|
||||
* - add FUSE_NO_OPENDIR_SUPPORT flag
|
||||
*/
|
||||
|
||||
#ifndef _LINUX_FUSE_H
|
||||
|
|
@ -157,7 +160,7 @@
|
|||
#define FUSE_KERNEL_VERSION 7
|
||||
|
||||
/** Minor version number of this interface */
|
||||
#define FUSE_KERNEL_MINOR_VERSION 28
|
||||
#define FUSE_KERNEL_MINOR_VERSION 29
|
||||
|
||||
/** The node ID of the root inode */
|
||||
#define FUSE_ROOT_ID 1
|
||||
|
|
@ -259,6 +262,7 @@ struct fuse_file_lock {
|
|||
* FUSE_ABORT_ERROR: reading the device after abort returns ECONNABORTED
|
||||
* FUSE_MAX_PAGES: init_out.max_pages contains the max number of req pages
|
||||
* FUSE_CACHE_SYMLINKS: cache READLINK responses
|
||||
* FUSE_NO_OPENDIR_SUPPORT: kernel supports zero-message opendir
|
||||
*/
|
||||
#define FUSE_ASYNC_READ (1 << 0)
|
||||
#define FUSE_POSIX_LOCKS (1 << 1)
|
||||
|
|
@ -284,6 +288,7 @@ struct fuse_file_lock {
|
|||
#define FUSE_ABORT_ERROR (1 << 21)
|
||||
#define FUSE_MAX_PAGES (1 << 22)
|
||||
#define FUSE_CACHE_SYMLINKS (1 << 23)
|
||||
#define FUSE_NO_OPENDIR_SUPPORT (1 << 24)
|
||||
|
||||
/**
|
||||
* CUSE INIT request/reply flags
|
||||
|
|
|
|||
|
|
@ -108,6 +108,8 @@ struct icmp6hdr {
|
|||
#define ICMPV6_MOBILE_PREFIX_SOL 146
|
||||
#define ICMPV6_MOBILE_PREFIX_ADV 147
|
||||
|
||||
#define ICMPV6_MRDISC_ADV 151
|
||||
|
||||
/*
|
||||
* Codes for Destination Unreachable
|
||||
*/
|
||||
|
|
|
|||
|
|
@ -117,6 +117,30 @@ struct ad_info {
|
|||
__u8 partner_system[ETH_ALEN];
|
||||
};
|
||||
|
||||
/* Embedded inside LINK_XSTATS_TYPE_BOND */
|
||||
enum {
|
||||
BOND_XSTATS_UNSPEC,
|
||||
BOND_XSTATS_3AD,
|
||||
__BOND_XSTATS_MAX
|
||||
};
|
||||
#define BOND_XSTATS_MAX (__BOND_XSTATS_MAX - 1)
|
||||
|
||||
/* Embedded inside BOND_XSTATS_3AD */
|
||||
enum {
|
||||
BOND_3AD_STAT_LACPDU_RX,
|
||||
BOND_3AD_STAT_LACPDU_TX,
|
||||
BOND_3AD_STAT_LACPDU_UNKNOWN_RX,
|
||||
BOND_3AD_STAT_LACPDU_ILLEGAL_RX,
|
||||
BOND_3AD_STAT_MARKER_RX,
|
||||
BOND_3AD_STAT_MARKER_TX,
|
||||
BOND_3AD_STAT_MARKER_RESP_RX,
|
||||
BOND_3AD_STAT_MARKER_RESP_TX,
|
||||
BOND_3AD_STAT_MARKER_UNKNOWN_RX,
|
||||
BOND_3AD_STAT_PAD,
|
||||
__BOND_3AD_STAT_MAX
|
||||
};
|
||||
#define BOND_3AD_STAT_MAX (__BOND_3AD_STAT_MAX - 1)
|
||||
|
||||
#endif /* _LINUX_IF_BONDING_H */
|
||||
|
||||
/*
|
||||
|
|
|
|||
|
|
@ -925,6 +925,7 @@ enum {
|
|||
enum {
|
||||
LINK_XSTATS_TYPE_UNSPEC,
|
||||
LINK_XSTATS_TYPE_BRIDGE,
|
||||
LINK_XSTATS_TYPE_BOND,
|
||||
__LINK_XSTATS_TYPE_MAX
|
||||
};
|
||||
#define LINK_XSTATS_TYPE_MAX (__LINK_XSTATS_TYPE_MAX - 1)
|
||||
|
|
|
|||
|
|
@ -93,6 +93,7 @@ struct igmpv3_query {
|
|||
#define IGMP_MTRACE_RESP 0x1e
|
||||
#define IGMP_MTRACE 0x1f
|
||||
|
||||
#define IGMP_MRDISC_ADV 0x30 /* From RFC4286 */
|
||||
|
||||
/*
|
||||
* Use the BSD names for these for compatibility
|
||||
|
|
|
|||
|
|
@ -46,6 +46,7 @@ enum iio_chan_type {
|
|||
IIO_GRAVITY,
|
||||
IIO_POSITIONRELATIVE,
|
||||
IIO_PHASE,
|
||||
IIO_MASSCONCENTRATION,
|
||||
};
|
||||
|
||||
enum iio_modifier {
|
||||
|
|
@ -87,6 +88,12 @@ enum iio_modifier {
|
|||
IIO_MOD_VOC,
|
||||
IIO_MOD_LIGHT_UV,
|
||||
IIO_MOD_LIGHT_DUV,
|
||||
IIO_MOD_PM1,
|
||||
IIO_MOD_PM2P5,
|
||||
IIO_MOD_PM4,
|
||||
IIO_MOD_PM10,
|
||||
IIO_MOD_ETHANOL,
|
||||
IIO_MOD_H2,
|
||||
};
|
||||
|
||||
enum iio_event_type {
|
||||
|
|
|
|||
|
|
@ -292,10 +292,11 @@ struct sockaddr_in {
|
|||
#define IN_LOOPBACK(a) ((((long int) (a)) & 0xff000000) == 0x7f000000)
|
||||
|
||||
/* Defines for Multicast INADDR */
|
||||
#define INADDR_UNSPEC_GROUP 0xe0000000U /* 224.0.0.0 */
|
||||
#define INADDR_ALLHOSTS_GROUP 0xe0000001U /* 224.0.0.1 */
|
||||
#define INADDR_ALLRTRS_GROUP 0xe0000002U /* 224.0.0.2 */
|
||||
#define INADDR_MAX_LOCAL_GROUP 0xe00000ffU /* 224.0.0.255 */
|
||||
#define INADDR_UNSPEC_GROUP 0xe0000000U /* 224.0.0.0 */
|
||||
#define INADDR_ALLHOSTS_GROUP 0xe0000001U /* 224.0.0.1 */
|
||||
#define INADDR_ALLRTRS_GROUP 0xe0000002U /* 224.0.0.2 */
|
||||
#define INADDR_ALLSNOOPERS_GROUP 0xe000006aU /* 224.0.0.106 */
|
||||
#define INADDR_MAX_LOCAL_GROUP 0xe00000ffU /* 224.0.0.255 */
|
||||
#endif
|
||||
|
||||
/* <asm/byteorder.h> contains the htonl type stuff.. */
|
||||
|
|
|
|||
|
|
@ -178,6 +178,7 @@ struct in6_flowlabel_req {
|
|||
#define IPV6_JOIN_ANYCAST 27
|
||||
#define IPV6_LEAVE_ANYCAST 28
|
||||
#define IPV6_MULTICAST_ALL 29
|
||||
#define IPV6_ROUTER_ALERT_ISOLATE 30
|
||||
|
||||
/* IPV6_MTU_DISCOVER values */
|
||||
#define IPV6_PMTUDISC_DONT 0
|
||||
|
|
|
|||
137
include/uapi/linux/io_uring.h
Normal file
137
include/uapi/linux/io_uring.h
Normal file
|
|
@ -0,0 +1,137 @@
|
|||
/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
|
||||
/*
|
||||
* Header file for the io_uring interface.
|
||||
*
|
||||
* Copyright (C) 2019 Jens Axboe
|
||||
* Copyright (C) 2019 Christoph Hellwig
|
||||
*/
|
||||
#ifndef LINUX_IO_URING_H
|
||||
#define LINUX_IO_URING_H
|
||||
|
||||
#include <linux/fs.h>
|
||||
#include <linux/types.h>
|
||||
|
||||
/*
|
||||
* IO submission data structure (Submission Queue Entry)
|
||||
*/
|
||||
struct io_uring_sqe {
|
||||
__u8 opcode; /* type of operation for this sqe */
|
||||
__u8 flags; /* IOSQE_ flags */
|
||||
__u16 ioprio; /* ioprio for the request */
|
||||
__s32 fd; /* file descriptor to do IO on */
|
||||
__u64 off; /* offset into file */
|
||||
__u64 addr; /* pointer to buffer or iovecs */
|
||||
__u32 len; /* buffer size or number of iovecs */
|
||||
union {
|
||||
__kernel_rwf_t rw_flags;
|
||||
__u32 fsync_flags;
|
||||
__u16 poll_events;
|
||||
};
|
||||
__u64 user_data; /* data to be passed back at completion time */
|
||||
union {
|
||||
__u16 buf_index; /* index into fixed buffers, if used */
|
||||
__u64 __pad2[3];
|
||||
};
|
||||
};
|
||||
|
||||
/*
|
||||
* sqe->flags
|
||||
*/
|
||||
#define IOSQE_FIXED_FILE (1U << 0) /* use fixed fileset */
|
||||
|
||||
/*
|
||||
* io_uring_setup() flags
|
||||
*/
|
||||
#define IORING_SETUP_IOPOLL (1U << 0) /* io_context is polled */
|
||||
#define IORING_SETUP_SQPOLL (1U << 1) /* SQ poll thread */
|
||||
#define IORING_SETUP_SQ_AFF (1U << 2) /* sq_thread_cpu is valid */
|
||||
|
||||
#define IORING_OP_NOP 0
|
||||
#define IORING_OP_READV 1
|
||||
#define IORING_OP_WRITEV 2
|
||||
#define IORING_OP_FSYNC 3
|
||||
#define IORING_OP_READ_FIXED 4
|
||||
#define IORING_OP_WRITE_FIXED 5
|
||||
#define IORING_OP_POLL_ADD 6
|
||||
#define IORING_OP_POLL_REMOVE 7
|
||||
|
||||
/*
|
||||
* sqe->fsync_flags
|
||||
*/
|
||||
#define IORING_FSYNC_DATASYNC (1U << 0)
|
||||
|
||||
/*
|
||||
* IO completion data structure (Completion Queue Entry)
|
||||
*/
|
||||
struct io_uring_cqe {
|
||||
__u64 user_data; /* sqe->data submission passed back */
|
||||
__s32 res; /* result code for this event */
|
||||
__u32 flags;
|
||||
};
|
||||
|
||||
/*
|
||||
* Magic offsets for the application to mmap the data it needs
|
||||
*/
|
||||
#define IORING_OFF_SQ_RING 0ULL
|
||||
#define IORING_OFF_CQ_RING 0x8000000ULL
|
||||
#define IORING_OFF_SQES 0x10000000ULL
|
||||
|
||||
/*
|
||||
* Filled with the offset for mmap(2)
|
||||
*/
|
||||
struct io_sqring_offsets {
|
||||
__u32 head;
|
||||
__u32 tail;
|
||||
__u32 ring_mask;
|
||||
__u32 ring_entries;
|
||||
__u32 flags;
|
||||
__u32 dropped;
|
||||
__u32 array;
|
||||
__u32 resv1;
|
||||
__u64 resv2;
|
||||
};
|
||||
|
||||
/*
|
||||
* sq_ring->flags
|
||||
*/
|
||||
#define IORING_SQ_NEED_WAKEUP (1U << 0) /* needs io_uring_enter wakeup */
|
||||
|
||||
struct io_cqring_offsets {
|
||||
__u32 head;
|
||||
__u32 tail;
|
||||
__u32 ring_mask;
|
||||
__u32 ring_entries;
|
||||
__u32 overflow;
|
||||
__u32 cqes;
|
||||
__u64 resv[2];
|
||||
};
|
||||
|
||||
/*
|
||||
* io_uring_enter(2) flags
|
||||
*/
|
||||
#define IORING_ENTER_GETEVENTS (1U << 0)
|
||||
#define IORING_ENTER_SQ_WAKEUP (1U << 1)
|
||||
|
||||
/*
|
||||
* Passed in for io_uring_setup(2). Copied back with updated info on success
|
||||
*/
|
||||
struct io_uring_params {
|
||||
__u32 sq_entries;
|
||||
__u32 cq_entries;
|
||||
__u32 flags;
|
||||
__u32 sq_thread_cpu;
|
||||
__u32 sq_thread_idle;
|
||||
__u32 resv[5];
|
||||
struct io_sqring_offsets sq_off;
|
||||
struct io_cqring_offsets cq_off;
|
||||
};
|
||||
|
||||
/*
|
||||
* io_uring_register(2) opcodes and arguments
|
||||
*/
|
||||
#define IORING_REGISTER_BUFFERS 0
|
||||
#define IORING_UNREGISTER_BUFFERS 1
|
||||
#define IORING_REGISTER_FILES 2
|
||||
#define IORING_UNREGISTER_FILES 3
|
||||
|
||||
#endif
|
||||
|
|
@ -32,7 +32,7 @@
|
|||
|
||||
#define KPF_KSM 21
|
||||
#define KPF_THP 22
|
||||
#define KPF_BALLOON 23
|
||||
#define KPF_OFFLINE 23
|
||||
#define KPF_ZERO_PAGE 24
|
||||
#define KPF_IDLE 25
|
||||
#define KPF_PGTABLE 26
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
|
||||
#ifndef _LINUX_LIMITS_H
|
||||
#define _LINUX_LIMITS_H
|
||||
#ifndef _UAPI_LINUX_LIMITS_H
|
||||
#define _UAPI_LINUX_LIMITS_H
|
||||
|
||||
#define NR_OPEN 1024
|
||||
|
||||
|
|
|
|||
|
|
@ -192,6 +192,9 @@ struct lirc_scancode {
|
|||
* @RC_PROTO_XMP: XMP protocol
|
||||
* @RC_PROTO_CEC: CEC protocol
|
||||
* @RC_PROTO_IMON: iMon Pad protocol
|
||||
* @RC_PROTO_RCMM12: RC-MM protocol 12 bits
|
||||
* @RC_PROTO_RCMM24: RC-MM protocol 24 bits
|
||||
* @RC_PROTO_RCMM32: RC-MM protocol 32 bits
|
||||
*/
|
||||
enum rc_proto {
|
||||
RC_PROTO_UNKNOWN = 0,
|
||||
|
|
@ -218,6 +221,9 @@ enum rc_proto {
|
|||
RC_PROTO_XMP = 21,
|
||||
RC_PROTO_CEC = 22,
|
||||
RC_PROTO_IMON = 23,
|
||||
RC_PROTO_RCMM12 = 24,
|
||||
RC_PROTO_RCMM24 = 25,
|
||||
RC_PROTO_RCMM32 = 26,
|
||||
};
|
||||
|
||||
#endif
|
||||
|
|
|
|||
|
|
@ -45,6 +45,7 @@
|
|||
#define MDIO_AN_ADVERTISE 16 /* AN advertising (base page) */
|
||||
#define MDIO_AN_LPA 19 /* AN LP abilities (base page) */
|
||||
#define MDIO_PCS_EEE_ABLE 20 /* EEE Capability register */
|
||||
#define MDIO_PMA_NG_EXTABLE 21 /* 2.5G/5G PMA/PMD extended ability */
|
||||
#define MDIO_PCS_EEE_WK_ERR 22 /* EEE wake error counter */
|
||||
#define MDIO_PHYXS_LNSTAT 24 /* PHY XGXS lane state */
|
||||
#define MDIO_AN_EEE_ADV 60 /* EEE advertisement */
|
||||
|
|
@ -92,6 +93,10 @@
|
|||
#define MDIO_CTRL1_SPEED10G (MDIO_CTRL1_SPEEDSELEXT | 0x00)
|
||||
/* 10PASS-TS/2BASE-TL */
|
||||
#define MDIO_CTRL1_SPEED10P2B (MDIO_CTRL1_SPEEDSELEXT | 0x04)
|
||||
/* 2.5 Gb/s */
|
||||
#define MDIO_CTRL1_SPEED2_5G (MDIO_CTRL1_SPEEDSELEXT | 0x18)
|
||||
/* 5 Gb/s */
|
||||
#define MDIO_CTRL1_SPEED5G (MDIO_CTRL1_SPEEDSELEXT | 0x1c)
|
||||
|
||||
/* Status register 1. */
|
||||
#define MDIO_STAT1_LPOWERABLE 0x0002 /* Low-power ability */
|
||||
|
|
@ -115,6 +120,7 @@
|
|||
|
||||
/* Device present registers. */
|
||||
#define MDIO_DEVS_PRESENT(devad) (1 << (devad))
|
||||
#define MDIO_DEVS_C22PRESENT MDIO_DEVS_PRESENT(0)
|
||||
#define MDIO_DEVS_PMAPMD MDIO_DEVS_PRESENT(MDIO_MMD_PMAPMD)
|
||||
#define MDIO_DEVS_WIS MDIO_DEVS_PRESENT(MDIO_MMD_WIS)
|
||||
#define MDIO_DEVS_PCS MDIO_DEVS_PRESENT(MDIO_MMD_PCS)
|
||||
|
|
@ -123,6 +129,8 @@
|
|||
#define MDIO_DEVS_TC MDIO_DEVS_PRESENT(MDIO_MMD_TC)
|
||||
#define MDIO_DEVS_AN MDIO_DEVS_PRESENT(MDIO_MMD_AN)
|
||||
#define MDIO_DEVS_C22EXT MDIO_DEVS_PRESENT(MDIO_MMD_C22EXT)
|
||||
#define MDIO_DEVS_VEND1 MDIO_DEVS_PRESENT(MDIO_MMD_VEND1)
|
||||
#define MDIO_DEVS_VEND2 MDIO_DEVS_PRESENT(MDIO_MMD_VEND2)
|
||||
|
||||
/* Control register 2. */
|
||||
#define MDIO_PMA_CTRL2_TYPE 0x000f /* PMA/PMD type selection */
|
||||
|
|
@ -142,6 +150,8 @@
|
|||
#define MDIO_PMA_CTRL2_1000BKX 0x000d /* 1000BASE-KX type */
|
||||
#define MDIO_PMA_CTRL2_100BTX 0x000e /* 100BASE-TX type */
|
||||
#define MDIO_PMA_CTRL2_10BT 0x000f /* 10BASE-T type */
|
||||
#define MDIO_PMA_CTRL2_2_5GBT 0x0030 /* 2.5GBaseT type */
|
||||
#define MDIO_PMA_CTRL2_5GBT 0x0031 /* 5GBaseT type */
|
||||
#define MDIO_PCS_CTRL2_TYPE 0x0003 /* PCS type selection */
|
||||
#define MDIO_PCS_CTRL2_10GBR 0x0000 /* 10GBASE-R type */
|
||||
#define MDIO_PCS_CTRL2_10GBX 0x0001 /* 10GBASE-X type */
|
||||
|
|
@ -195,6 +205,7 @@
|
|||
#define MDIO_PMA_EXTABLE_1000BKX 0x0040 /* 1000BASE-KX ability */
|
||||
#define MDIO_PMA_EXTABLE_100BTX 0x0080 /* 100BASE-TX ability */
|
||||
#define MDIO_PMA_EXTABLE_10BT 0x0100 /* 10BASE-T ability */
|
||||
#define MDIO_PMA_EXTABLE_NBT 0x4000 /* 2.5/5GBASE-T ability */
|
||||
|
||||
/* PHY XGXS lane state register. */
|
||||
#define MDIO_PHYXS_LNSTAT_SYNC0 0x0001
|
||||
|
|
@ -231,9 +242,13 @@
|
|||
#define MDIO_PCS_10GBRT_STAT2_BER 0x3f00
|
||||
|
||||
/* AN 10GBASE-T control register. */
|
||||
#define MDIO_AN_10GBT_CTRL_ADV2_5G 0x0080 /* Advertise 2.5GBASE-T */
|
||||
#define MDIO_AN_10GBT_CTRL_ADV5G 0x0100 /* Advertise 5GBASE-T */
|
||||
#define MDIO_AN_10GBT_CTRL_ADV10G 0x1000 /* Advertise 10GBASE-T */
|
||||
|
||||
/* AN 10GBASE-T status register. */
|
||||
#define MDIO_AN_10GBT_STAT_LP2_5G 0x0020 /* LP is 2.5GBT capable */
|
||||
#define MDIO_AN_10GBT_STAT_LP5G 0x0040 /* LP is 5GBT capable */
|
||||
#define MDIO_AN_10GBT_STAT_LPTRR 0x0200 /* LP training reset req. */
|
||||
#define MDIO_AN_10GBT_STAT_LPLTABLE 0x0400 /* LP loop timing ability */
|
||||
#define MDIO_AN_10GBT_STAT_LP10G 0x0800 /* LP is 10GBT capable */
|
||||
|
|
@ -262,6 +277,10 @@
|
|||
#define MDIO_EEE_10GKX4 0x0020 /* 10G KX4 EEE cap */
|
||||
#define MDIO_EEE_10GKR 0x0040 /* 10G KR EEE cap */
|
||||
|
||||
/* 2.5G/5G Extended abilities register. */
|
||||
#define MDIO_PMA_NG_EXTABLE_2_5GBT 0x0001 /* 2.5GBASET ability */
|
||||
#define MDIO_PMA_NG_EXTABLE_5GBT 0x0002 /* 5GBASET ability */
|
||||
|
||||
/* LASI RX_ALARM control/status registers. */
|
||||
#define MDIO_PMA_LASI_RX_PHYXSLFLT 0x0001 /* PHY XS RX local fault */
|
||||
#define MDIO_PMA_LASI_RX_PCSLFLT 0x0008 /* PCS RX local fault */
|
||||
|
|
|
|||
|
|
@ -12,6 +12,10 @@
|
|||
#define OVERCOMMIT_ALWAYS 1
|
||||
#define OVERCOMMIT_NEVER 2
|
||||
|
||||
#define MAP_SHARED 0x01 /* Share changes */
|
||||
#define MAP_PRIVATE 0x02 /* Changes are private */
|
||||
#define MAP_SHARED_VALIDATE 0x03 /* share + validate extension flags */
|
||||
|
||||
/*
|
||||
* Huge page size encoding when MAP_HUGETLB is specified, and a huge page
|
||||
* size other than the default is desired. See hugetlb_encode.h.
|
||||
|
|
|
|||
|
|
@ -28,12 +28,19 @@
|
|||
#define MRT_TABLE (MRT_BASE+9) /* Specify mroute table ID */
|
||||
#define MRT_ADD_MFC_PROXY (MRT_BASE+10) /* Add a (*,*|G) mfc entry */
|
||||
#define MRT_DEL_MFC_PROXY (MRT_BASE+11) /* Del a (*,*|G) mfc entry */
|
||||
#define MRT_MAX (MRT_BASE+11)
|
||||
#define MRT_FLUSH (MRT_BASE+12) /* Flush all mfc entries and/or vifs */
|
||||
#define MRT_MAX (MRT_BASE+12)
|
||||
|
||||
#define SIOCGETVIFCNT SIOCPROTOPRIVATE /* IP protocol privates */
|
||||
#define SIOCGETSGCNT (SIOCPROTOPRIVATE+1)
|
||||
#define SIOCGETRPF (SIOCPROTOPRIVATE+2)
|
||||
|
||||
/* MRT_FLUSH optional flags */
|
||||
#define MRT_FLUSH_MFC 1 /* Flush multicast entries */
|
||||
#define MRT_FLUSH_MFC_STATIC 2 /* Flush static multicast entries */
|
||||
#define MRT_FLUSH_VIFS 4 /* Flush multicast vifs */
|
||||
#define MRT_FLUSH_VIFS_STATIC 8 /* Flush static multicast vifs */
|
||||
|
||||
#define MAXVIFS 32
|
||||
typedef unsigned long vifbitmap_t; /* User mode code depends on this lot */
|
||||
typedef unsigned short vifi_t;
|
||||
|
|
|
|||
|
|
@ -31,12 +31,19 @@
|
|||
#define MRT6_TABLE (MRT6_BASE+9) /* Specify mroute table ID */
|
||||
#define MRT6_ADD_MFC_PROXY (MRT6_BASE+10) /* Add a (*,*|G) mfc entry */
|
||||
#define MRT6_DEL_MFC_PROXY (MRT6_BASE+11) /* Del a (*,*|G) mfc entry */
|
||||
#define MRT6_MAX (MRT6_BASE+11)
|
||||
#define MRT6_FLUSH (MRT6_BASE+12) /* Flush all mfc entries and/or vifs */
|
||||
#define MRT6_MAX (MRT6_BASE+12)
|
||||
|
||||
#define SIOCGETMIFCNT_IN6 SIOCPROTOPRIVATE /* IP protocol privates */
|
||||
#define SIOCGETSGCNT_IN6 (SIOCPROTOPRIVATE+1)
|
||||
#define SIOCGETRPF (SIOCPROTOPRIVATE+2)
|
||||
|
||||
/* MRT6_FLUSH optional flags */
|
||||
#define MRT6_FLUSH_MFC 1 /* Flush multicast entries */
|
||||
#define MRT6_FLUSH_MFC_STATIC 2 /* Flush static multicast entries */
|
||||
#define MRT6_FLUSH_MIFS 4 /* Flushing multicast vifs */
|
||||
#define MRT6_FLUSH_MIFS_STATIC 8 /* Flush static multicast vifs */
|
||||
|
||||
#define MAXMIFS 32
|
||||
typedef unsigned long mifbitmap_t; /* User mode code depends on this lot */
|
||||
typedef unsigned short mifi_t;
|
||||
|
|
|
|||
|
|
@ -243,6 +243,7 @@ struct nd_cmd_pkg {
|
|||
#define NVDIMM_FAMILY_HPE1 1
|
||||
#define NVDIMM_FAMILY_HPE2 2
|
||||
#define NVDIMM_FAMILY_MSFT 3
|
||||
#define NVDIMM_FAMILY_HYPERV 4
|
||||
|
||||
#define ND_IOCTL_CALL _IOWR(ND_IOCTL, ND_CMD_CALL,\
|
||||
struct nd_cmd_pkg)
|
||||
|
|
|
|||
|
|
@ -219,6 +219,7 @@ enum nft_chain_attributes {
|
|||
* @NFTA_RULE_POSITION: numeric handle of the previous rule (NLA_U64)
|
||||
* @NFTA_RULE_USERDATA: user data (NLA_BINARY, NFT_USERDATA_MAXLEN)
|
||||
* @NFTA_RULE_ID: uniquely identifies a rule in a transaction (NLA_U32)
|
||||
* @NFTA_RULE_POSITION_ID: transaction unique identifier of the previous rule (NLA_U32)
|
||||
*/
|
||||
enum nft_rule_attributes {
|
||||
NFTA_RULE_UNSPEC,
|
||||
|
|
@ -231,6 +232,7 @@ enum nft_rule_attributes {
|
|||
NFTA_RULE_USERDATA,
|
||||
NFTA_RULE_PAD,
|
||||
NFTA_RULE_ID,
|
||||
NFTA_RULE_POSITION_ID,
|
||||
__NFTA_RULE_MAX
|
||||
};
|
||||
#define NFTA_RULE_MAX (__NFTA_RULE_MAX - 1)
|
||||
|
|
@ -789,6 +791,8 @@ enum nft_exthdr_attributes {
|
|||
* @NFT_META_CGROUP: socket control group (skb->sk->sk_classid)
|
||||
* @NFT_META_PRANDOM: a 32bit pseudo-random number
|
||||
* @NFT_META_SECPATH: boolean, secpath_exists (!!skb->sp)
|
||||
* @NFT_META_IIFKIND: packet input interface kind name (dev->rtnl_link_ops->kind)
|
||||
* @NFT_META_OIFKIND: packet output interface kind name (dev->rtnl_link_ops->kind)
|
||||
*/
|
||||
enum nft_meta_keys {
|
||||
NFT_META_LEN,
|
||||
|
|
@ -817,6 +821,8 @@ enum nft_meta_keys {
|
|||
NFT_META_CGROUP,
|
||||
NFT_META_PRANDOM,
|
||||
NFT_META_SECPATH,
|
||||
NFT_META_IIFKIND,
|
||||
NFT_META_OIFKIND,
|
||||
};
|
||||
|
||||
/**
|
||||
|
|
@ -871,8 +877,8 @@ enum nft_hash_attributes {
|
|||
NFTA_HASH_SEED,
|
||||
NFTA_HASH_OFFSET,
|
||||
NFTA_HASH_TYPE,
|
||||
NFTA_HASH_SET_NAME,
|
||||
NFTA_HASH_SET_ID,
|
||||
NFTA_HASH_SET_NAME, /* deprecated */
|
||||
NFTA_HASH_SET_ID, /* deprecated */
|
||||
__NFTA_HASH_MAX,
|
||||
};
|
||||
#define NFTA_HASH_MAX (__NFTA_HASH_MAX - 1)
|
||||
|
|
@ -1721,10 +1727,19 @@ enum nft_tunnel_keys {
|
|||
};
|
||||
#define NFT_TUNNEL_MAX (__NFT_TUNNEL_MAX - 1)
|
||||
|
||||
enum nft_tunnel_mode {
|
||||
NFT_TUNNEL_MODE_NONE,
|
||||
NFT_TUNNEL_MODE_RX,
|
||||
NFT_TUNNEL_MODE_TX,
|
||||
__NFT_TUNNEL_MODE_MAX
|
||||
};
|
||||
#define NFT_TUNNEL_MODE_MAX (__NFT_TUNNEL_MODE_MAX - 1)
|
||||
|
||||
enum nft_tunnel_attributes {
|
||||
NFTA_TUNNEL_UNSPEC,
|
||||
NFTA_TUNNEL_KEY,
|
||||
NFTA_TUNNEL_DREG,
|
||||
NFTA_TUNNEL_MODE,
|
||||
__NFTA_TUNNEL_MAX
|
||||
};
|
||||
#define NFTA_TUNNEL_MAX (__NFTA_TUNNEL_MAX - 1)
|
||||
|
|
|
|||
|
|
@ -1565,6 +1565,12 @@ enum nl80211_commands {
|
|||
* (a u32 with flags from &enum nl80211_wpa_versions).
|
||||
* @NL80211_ATTR_AKM_SUITES: Used with CONNECT, ASSOCIATE, and NEW_BEACON to
|
||||
* indicate which key management algorithm(s) to use (an array of u32).
|
||||
* This attribute is also sent in response to @NL80211_CMD_GET_WIPHY,
|
||||
* indicating the supported AKM suites, intended for specific drivers which
|
||||
* implement SME and have constraints on which AKMs are supported and also
|
||||
* the cases where an AKM support is offloaded to the driver/firmware.
|
||||
* If there is no such notification from the driver, user space should
|
||||
* assume the driver supports all the AKM suites.
|
||||
*
|
||||
* @NL80211_ATTR_REQ_IE: (Re)association request information elements as
|
||||
* sent out by the card, for ROAM and successful CONNECT events.
|
||||
|
|
@ -2260,10 +2266,10 @@ enum nl80211_commands {
|
|||
* &enum nl80211_external_auth_action value). This is used with the
|
||||
* %NL80211_CMD_EXTERNAL_AUTH request event.
|
||||
* @NL80211_ATTR_EXTERNAL_AUTH_SUPPORT: Flag attribute indicating that the user
|
||||
* space supports external authentication. This attribute shall be used
|
||||
* only with %NL80211_CMD_CONNECT request. The driver may offload
|
||||
* authentication processing to user space if this capability is indicated
|
||||
* in NL80211_CMD_CONNECT requests from the user space.
|
||||
* space supports external authentication. This attribute shall be used
|
||||
* with %NL80211_CMD_CONNECT and %NL80211_CMD_START_AP request. The driver
|
||||
* may offload authentication processing to user space if this capability
|
||||
* is indicated in the respective requests from the user space.
|
||||
*
|
||||
* @NL80211_ATTR_NSS: Station's New/updated RX_NSS value notified using this
|
||||
* u8 attribute. This is used with %NL80211_CMD_STA_OPMODE_CHANGED.
|
||||
|
|
@ -2299,6 +2305,9 @@ enum nl80211_commands {
|
|||
* This is also used for capability advertisement in the wiphy information,
|
||||
* with the appropriate sub-attributes.
|
||||
*
|
||||
* @NL80211_ATTR_AIRTIME_WEIGHT: Station's weight when scheduled by the airtime
|
||||
* scheduler.
|
||||
*
|
||||
* @NUM_NL80211_ATTR: total number of nl80211_attrs available
|
||||
* @NL80211_ATTR_MAX: highest attribute number currently defined
|
||||
* @__NL80211_ATTR_AFTER_LAST: internal use
|
||||
|
|
@ -2748,6 +2757,8 @@ enum nl80211_attrs {
|
|||
|
||||
NL80211_ATTR_PEER_MEASUREMENTS,
|
||||
|
||||
NL80211_ATTR_AIRTIME_WEIGHT,
|
||||
|
||||
/* add attributes here, update the policy in nl80211.c */
|
||||
|
||||
__NL80211_ATTR_AFTER_LAST,
|
||||
|
|
@ -3125,6 +3136,9 @@ enum nl80211_sta_bss_param {
|
|||
* might not be fully accurate.
|
||||
* @NL80211_STA_INFO_CONNECTED_TO_GATE: set to true if STA has a path to a
|
||||
* mesh gate (u8, 0 or 1)
|
||||
* @NL80211_STA_INFO_TX_DURATION: aggregate PPDU duration for all frames
|
||||
* sent to the station (u64, usec)
|
||||
* @NL80211_STA_INFO_AIRTIME_WEIGHT: current airtime weight for station (u16)
|
||||
* @__NL80211_STA_INFO_AFTER_LAST: internal
|
||||
* @NL80211_STA_INFO_MAX: highest possible station info attribute
|
||||
*/
|
||||
|
|
@ -3168,6 +3182,8 @@ enum nl80211_sta_info {
|
|||
NL80211_STA_INFO_RX_MPDUS,
|
||||
NL80211_STA_INFO_FCS_ERROR_COUNT,
|
||||
NL80211_STA_INFO_CONNECTED_TO_GATE,
|
||||
NL80211_STA_INFO_TX_DURATION,
|
||||
NL80211_STA_INFO_AIRTIME_WEIGHT,
|
||||
|
||||
/* keep last */
|
||||
__NL80211_STA_INFO_AFTER_LAST,
|
||||
|
|
@ -3277,8 +3293,10 @@ enum nl80211_mpath_flags {
|
|||
* &enum nl80211_mpath_flags;
|
||||
* @NL80211_MPATH_INFO_DISCOVERY_TIMEOUT: total path discovery timeout, in msec
|
||||
* @NL80211_MPATH_INFO_DISCOVERY_RETRIES: mesh path discovery retries
|
||||
* @NL80211_MPATH_INFO_HOP_COUNT: hop count to destination
|
||||
* @NL80211_MPATH_INFO_PATH_CHANGE: total number of path changes to destination
|
||||
* @NL80211_MPATH_INFO_MAX: highest mesh path information attribute number
|
||||
* currently defind
|
||||
* currently defined
|
||||
* @__NL80211_MPATH_INFO_AFTER_LAST: internal use
|
||||
*/
|
||||
enum nl80211_mpath_info {
|
||||
|
|
@ -3290,6 +3308,8 @@ enum nl80211_mpath_info {
|
|||
NL80211_MPATH_INFO_FLAGS,
|
||||
NL80211_MPATH_INFO_DISCOVERY_TIMEOUT,
|
||||
NL80211_MPATH_INFO_DISCOVERY_RETRIES,
|
||||
NL80211_MPATH_INFO_HOP_COUNT,
|
||||
NL80211_MPATH_INFO_PATH_CHANGE,
|
||||
|
||||
/* keep last */
|
||||
__NL80211_MPATH_INFO_AFTER_LAST,
|
||||
|
|
@ -5316,6 +5336,13 @@ enum nl80211_feature_flags {
|
|||
* if this flag is not set. Ignoring this can leak clear text packets and/or
|
||||
* freeze the connection.
|
||||
*
|
||||
* @NL80211_EXT_FEATURE_AIRTIME_FAIRNESS: Driver supports getting airtime
|
||||
* fairness for transmitted packets and has enabled airtime fairness
|
||||
* scheduling.
|
||||
*
|
||||
* @NL80211_EXT_FEATURE_AP_PMKSA_CACHING: Driver/device supports PMKSA caching
|
||||
* (set/del PMKSA operations) in AP mode.
|
||||
*
|
||||
* @NUM_NL80211_EXT_FEATURES: number of extended features.
|
||||
* @MAX_NL80211_EXT_FEATURES: highest extended feature index.
|
||||
*/
|
||||
|
|
@ -5355,6 +5382,8 @@ enum nl80211_ext_feature_index {
|
|||
NL80211_EXT_FEATURE_SCAN_MIN_PREQ_CONTENT,
|
||||
NL80211_EXT_FEATURE_CAN_REPLACE_PTK0,
|
||||
NL80211_EXT_FEATURE_ENABLE_FTM_RESPONDER,
|
||||
NL80211_EXT_FEATURE_AIRTIME_FAIRNESS,
|
||||
NL80211_EXT_FEATURE_AP_PMKSA_CACHING,
|
||||
|
||||
/* add new features before the definition below */
|
||||
NUM_NL80211_EXT_FEATURES,
|
||||
|
|
@ -5606,9 +5635,14 @@ enum nl80211_crit_proto_id {
|
|||
* Used by cfg80211_rx_mgmt()
|
||||
*
|
||||
* @NL80211_RXMGMT_FLAG_ANSWERED: frame was answered by device/driver.
|
||||
* @NL80211_RXMGMT_FLAG_EXTERNAL_AUTH: Host driver intends to offload
|
||||
* the authentication. Exclusively defined for host drivers that
|
||||
* advertises the SME functionality but would like the userspace
|
||||
* to handle certain authentication algorithms (e.g. SAE).
|
||||
*/
|
||||
enum nl80211_rxmgmt_flags {
|
||||
NL80211_RXMGMT_FLAG_ANSWERED = 1 << 0,
|
||||
NL80211_RXMGMT_FLAG_EXTERNAL_AUTH = 1 << 1,
|
||||
};
|
||||
|
||||
/*
|
||||
|
|
|
|||
|
|
@ -2,15 +2,6 @@
|
|||
/*
|
||||
* Definitions for the NVM Express ioctl interface
|
||||
* Copyright (c) 2011-2014, Intel Corporation.
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify it
|
||||
* under the terms and conditions of the GNU General Public License,
|
||||
* version 2, as published by the Free Software Foundation.
|
||||
*
|
||||
* This program is distributed in the hope it will be useful, but WITHOUT
|
||||
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
|
||||
* more details.
|
||||
*/
|
||||
|
||||
#ifndef _UAPI_LINUX_NVME_IOCTL_H
|
||||
|
|
|
|||
|
|
@ -866,6 +866,7 @@
|
|||
#define PCI_ATS_CAP 0x04 /* ATS Capability Register */
|
||||
#define PCI_ATS_CAP_QDEP(x) ((x) & 0x1f) /* Invalidate Queue Depth */
|
||||
#define PCI_ATS_MAX_QDEP 32 /* Max Invalidate Queue Depth */
|
||||
#define PCI_ATS_CAP_PAGE_ALIGNED 0x0020 /* Page Aligned Request */
|
||||
#define PCI_ATS_CTRL 0x06 /* ATS Control Register */
|
||||
#define PCI_ATS_CTRL_ENABLE 0x8000 /* ATS Enable */
|
||||
#define PCI_ATS_CTRL_STU(x) ((x) & 0x1f) /* Smallest Translation Unit */
|
||||
|
|
@ -880,6 +881,7 @@
|
|||
#define PCI_PRI_STATUS_RF 0x001 /* Response Failure */
|
||||
#define PCI_PRI_STATUS_UPRGI 0x002 /* Unexpected PRG index */
|
||||
#define PCI_PRI_STATUS_STOPPED 0x100 /* PRI Stopped */
|
||||
#define PCI_PRI_STATUS_PASID 0x8000 /* PRG Response PASID Required */
|
||||
#define PCI_PRI_MAX_REQ 0x08 /* PRI max reqs supported */
|
||||
#define PCI_PRI_ALLOC_REQ 0x0c /* PRI max reqs allowed */
|
||||
#define PCI_EXT_CAP_PRI_SIZEOF 16
|
||||
|
|
|
|||
|
|
@ -372,7 +372,9 @@ struct perf_event_attr {
|
|||
context_switch : 1, /* context switch data */
|
||||
write_backward : 1, /* Write ring buffer from end to beginning */
|
||||
namespaces : 1, /* include namespaces data */
|
||||
__reserved_1 : 35;
|
||||
ksymbol : 1, /* include ksymbol events */
|
||||
bpf_event : 1, /* include bpf events */
|
||||
__reserved_1 : 33;
|
||||
|
||||
union {
|
||||
__u32 wakeup_events; /* wakeup every n events */
|
||||
|
|
@ -445,8 +447,6 @@ struct perf_event_query_bpf {
|
|||
__u32 ids[0];
|
||||
};
|
||||
|
||||
#define perf_flags(attr) (*(&(attr)->read_format + 1))
|
||||
|
||||
/*
|
||||
* Ioctls that can be done on a perf event fd:
|
||||
*/
|
||||
|
|
@ -965,9 +965,58 @@ enum perf_event_type {
|
|||
*/
|
||||
PERF_RECORD_NAMESPACES = 16,
|
||||
|
||||
/*
|
||||
* Record ksymbol register/unregister events:
|
||||
*
|
||||
* struct {
|
||||
* struct perf_event_header header;
|
||||
* u64 addr;
|
||||
* u32 len;
|
||||
* u16 ksym_type;
|
||||
* u16 flags;
|
||||
* char name[];
|
||||
* struct sample_id sample_id;
|
||||
* };
|
||||
*/
|
||||
PERF_RECORD_KSYMBOL = 17,
|
||||
|
||||
/*
|
||||
* Record bpf events:
|
||||
* enum perf_bpf_event_type {
|
||||
* PERF_BPF_EVENT_UNKNOWN = 0,
|
||||
* PERF_BPF_EVENT_PROG_LOAD = 1,
|
||||
* PERF_BPF_EVENT_PROG_UNLOAD = 2,
|
||||
* };
|
||||
*
|
||||
* struct {
|
||||
* struct perf_event_header header;
|
||||
* u16 type;
|
||||
* u16 flags;
|
||||
* u32 id;
|
||||
* u8 tag[BPF_TAG_SIZE];
|
||||
* struct sample_id sample_id;
|
||||
* };
|
||||
*/
|
||||
PERF_RECORD_BPF_EVENT = 18,
|
||||
|
||||
PERF_RECORD_MAX, /* non-ABI */
|
||||
};
|
||||
|
||||
enum perf_record_ksymbol_type {
|
||||
PERF_RECORD_KSYMBOL_TYPE_UNKNOWN = 0,
|
||||
PERF_RECORD_KSYMBOL_TYPE_BPF = 1,
|
||||
PERF_RECORD_KSYMBOL_TYPE_MAX /* non-ABI */
|
||||
};
|
||||
|
||||
#define PERF_RECORD_KSYMBOL_FLAGS_UNREGISTER (1 << 0)
|
||||
|
||||
enum perf_bpf_event_type {
|
||||
PERF_BPF_EVENT_UNKNOWN = 0,
|
||||
PERF_BPF_EVENT_PROG_LOAD = 1,
|
||||
PERF_BPF_EVENT_PROG_UNLOAD = 2,
|
||||
PERF_BPF_EVENT_MAX, /* non-ABI */
|
||||
};
|
||||
|
||||
#define PERF_MAX_STACK_DEPTH 127
|
||||
#define PERF_MAX_CONTEXTS_PER_STACK 8
|
||||
|
||||
|
|
|
|||
|
|
@ -63,12 +63,49 @@ enum {
|
|||
#define TC_ACT_GOTO_CHAIN __TC_ACT_EXT(2)
|
||||
#define TC_ACT_EXT_OPCODE_MAX TC_ACT_GOTO_CHAIN
|
||||
|
||||
/* These macros are put here for binary compatibility with userspace apps that
|
||||
* make use of them. For kernel code and new userspace apps, use the TCA_ID_*
|
||||
* versions.
|
||||
*/
|
||||
#define TCA_ACT_GACT 5
|
||||
#define TCA_ACT_IPT 6
|
||||
#define TCA_ACT_PEDIT 7
|
||||
#define TCA_ACT_MIRRED 8
|
||||
#define TCA_ACT_NAT 9
|
||||
#define TCA_ACT_XT 10
|
||||
#define TCA_ACT_SKBEDIT 11
|
||||
#define TCA_ACT_VLAN 12
|
||||
#define TCA_ACT_BPF 13
|
||||
#define TCA_ACT_CONNMARK 14
|
||||
#define TCA_ACT_SKBMOD 15
|
||||
#define TCA_ACT_CSUM 16
|
||||
#define TCA_ACT_TUNNEL_KEY 17
|
||||
#define TCA_ACT_SIMP 22
|
||||
#define TCA_ACT_IFE 25
|
||||
#define TCA_ACT_SAMPLE 26
|
||||
|
||||
/* Action type identifiers*/
|
||||
enum {
|
||||
TCA_ID_UNSPEC=0,
|
||||
TCA_ID_POLICE=1,
|
||||
enum tca_id {
|
||||
TCA_ID_UNSPEC = 0,
|
||||
TCA_ID_POLICE = 1,
|
||||
TCA_ID_GACT = TCA_ACT_GACT,
|
||||
TCA_ID_IPT = TCA_ACT_IPT,
|
||||
TCA_ID_PEDIT = TCA_ACT_PEDIT,
|
||||
TCA_ID_MIRRED = TCA_ACT_MIRRED,
|
||||
TCA_ID_NAT = TCA_ACT_NAT,
|
||||
TCA_ID_XT = TCA_ACT_XT,
|
||||
TCA_ID_SKBEDIT = TCA_ACT_SKBEDIT,
|
||||
TCA_ID_VLAN = TCA_ACT_VLAN,
|
||||
TCA_ID_BPF = TCA_ACT_BPF,
|
||||
TCA_ID_CONNMARK = TCA_ACT_CONNMARK,
|
||||
TCA_ID_SKBMOD = TCA_ACT_SKBMOD,
|
||||
TCA_ID_CSUM = TCA_ACT_CSUM,
|
||||
TCA_ID_TUNNEL_KEY = TCA_ACT_TUNNEL_KEY,
|
||||
TCA_ID_SIMP = TCA_ACT_SIMP,
|
||||
TCA_ID_IFE = TCA_ACT_IFE,
|
||||
TCA_ID_SAMPLE = TCA_ACT_SAMPLE,
|
||||
/* other actions go here */
|
||||
__TCA_ID_MAX=255
|
||||
__TCA_ID_MAX = 255
|
||||
};
|
||||
|
||||
#define TCA_ID_MAX __TCA_ID_MAX
|
||||
|
|
@ -333,12 +370,19 @@ enum {
|
|||
|
||||
/* Basic filter */
|
||||
|
||||
struct tc_basic_pcnt {
|
||||
__u64 rcnt;
|
||||
__u64 rhit;
|
||||
};
|
||||
|
||||
enum {
|
||||
TCA_BASIC_UNSPEC,
|
||||
TCA_BASIC_CLASSID,
|
||||
TCA_BASIC_EMATCHES,
|
||||
TCA_BASIC_ACT,
|
||||
TCA_BASIC_POLICE,
|
||||
TCA_BASIC_PCNT,
|
||||
TCA_BASIC_PAD,
|
||||
__TCA_BASIC_MAX
|
||||
};
|
||||
|
||||
|
|
@ -527,11 +571,17 @@ enum {
|
|||
|
||||
/* Match-all classifier */
|
||||
|
||||
struct tc_matchall_pcnt {
|
||||
__u64 rhit;
|
||||
};
|
||||
|
||||
enum {
|
||||
TCA_MATCHALL_UNSPEC,
|
||||
TCA_MATCHALL_CLASSID,
|
||||
TCA_MATCHALL_ACT,
|
||||
TCA_MATCHALL_FLAGS,
|
||||
TCA_MATCHALL_PCNT,
|
||||
TCA_MATCHALL_PAD,
|
||||
__TCA_MATCHALL_MAX,
|
||||
};
|
||||
|
||||
|
|
|
|||
|
|
@ -954,7 +954,7 @@ enum {
|
|||
#define TCA_PIE_MAX (__TCA_PIE_MAX - 1)
|
||||
|
||||
struct tc_pie_xstats {
|
||||
__u32 prob; /* current probability */
|
||||
__u64 prob; /* current probability */
|
||||
__u32 delay; /* current delay in ms */
|
||||
__u32 avg_dq_rate; /* current average dq_rate in bits/pie_time */
|
||||
__u32 packets_in; /* total number of packets enqueued */
|
||||
|
|
@ -1021,6 +1021,7 @@ enum {
|
|||
TCA_CAKE_INGRESS,
|
||||
TCA_CAKE_ACK_FILTER,
|
||||
TCA_CAKE_SPLIT_GSO,
|
||||
TCA_CAKE_FWMARK,
|
||||
__TCA_CAKE_MAX
|
||||
};
|
||||
#define TCA_CAKE_MAX (__TCA_CAKE_MAX - 1)
|
||||
|
|
|
|||
|
|
@ -19,7 +19,9 @@
|
|||
#define PMU_POWER_CTRL 0x11 /* control power of some devices */
|
||||
#define PMU_ADB_CMD 0x20 /* send ADB packet */
|
||||
#define PMU_ADB_POLL_OFF 0x21 /* disable ADB auto-poll */
|
||||
#define PMU_WRITE_XPRAM 0x32 /* write eXtended Parameter RAM */
|
||||
#define PMU_WRITE_NVRAM 0x33 /* write non-volatile RAM */
|
||||
#define PMU_READ_XPRAM 0x3a /* read eXtended Parameter RAM */
|
||||
#define PMU_READ_NVRAM 0x3b /* read non-volatile RAM */
|
||||
#define PMU_SET_RTC 0x30 /* set real-time clock */
|
||||
#define PMU_READ_RTC 0x38 /* read real-time clock */
|
||||
|
|
|
|||
|
|
@ -219,6 +219,7 @@ struct prctl_mm_map {
|
|||
# define PR_SPEC_ENABLE (1UL << 1)
|
||||
# define PR_SPEC_DISABLE (1UL << 2)
|
||||
# define PR_SPEC_FORCE_DISABLE (1UL << 3)
|
||||
# define PR_SPEC_DISABLE_NOEXEC (1UL << 4)
|
||||
|
||||
/* Reset arm64 pointer authentication keys */
|
||||
#define PR_PAC_RESET_KEYS 54
|
||||
|
|
|
|||
|
|
@ -69,6 +69,12 @@
|
|||
#define RDS_TRANS_COUNT 3
|
||||
#define RDS_TRANS_NONE (~0)
|
||||
|
||||
/* IOCTLS commands for SOL_RDS */
|
||||
#define SIOCRDSSETTOS (SIOCPROTOPRIVATE)
|
||||
#define SIOCRDSGETTOS (SIOCPROTOPRIVATE + 1)
|
||||
|
||||
typedef __u8 rds_tos_t;
|
||||
|
||||
/*
|
||||
* Control message types for SOL_RDS.
|
||||
*
|
||||
|
|
@ -149,6 +155,7 @@ struct rds_info_connection {
|
|||
__be32 faddr;
|
||||
__u8 transport[TRANSNAMSIZ]; /* null term ascii */
|
||||
__u8 flags;
|
||||
__u8 tos;
|
||||
} __attribute__((packed));
|
||||
|
||||
struct rds6_info_connection {
|
||||
|
|
@ -171,6 +178,7 @@ struct rds_info_message {
|
|||
__be16 lport;
|
||||
__be16 fport;
|
||||
__u8 flags;
|
||||
__u8 tos;
|
||||
} __attribute__((packed));
|
||||
|
||||
struct rds6_info_message {
|
||||
|
|
@ -214,6 +222,7 @@ struct rds_info_tcp_socket {
|
|||
__u32 last_sent_nxt;
|
||||
__u32 last_expected_una;
|
||||
__u32 last_seen_una;
|
||||
__u8 tos;
|
||||
} __attribute__((packed));
|
||||
|
||||
struct rds6_info_tcp_socket {
|
||||
|
|
@ -240,6 +249,7 @@ struct rds_info_rdma_connection {
|
|||
__u32 max_send_sge;
|
||||
__u32 rdma_mr_max;
|
||||
__u32 rdma_mr_size;
|
||||
__u8 tos;
|
||||
};
|
||||
|
||||
struct rds6_info_rdma_connection {
|
||||
|
|
@ -253,6 +263,7 @@ struct rds6_info_rdma_connection {
|
|||
__u32 max_send_sge;
|
||||
__u32 rdma_mr_max;
|
||||
__u32 rdma_mr_size;
|
||||
__u8 tos;
|
||||
};
|
||||
|
||||
/* RDS message Receive Path Latency points */
|
||||
|
|
|
|||
|
|
@ -59,6 +59,10 @@
|
|||
|
||||
typedef __s32 sctp_assoc_t;
|
||||
|
||||
#define SCTP_FUTURE_ASSOC 0
|
||||
#define SCTP_CURRENT_ASSOC 1
|
||||
#define SCTP_ALL_ASSOC 2
|
||||
|
||||
/* The following symbols come from the Sockets API Extensions for
|
||||
* SCTP <draft-ietf-tsvwg-sctpsocket-07.txt>.
|
||||
*/
|
||||
|
|
|
|||
|
|
@ -79,6 +79,9 @@
|
|||
/* Nuvoton UART */
|
||||
#define PORT_NPCM 40
|
||||
|
||||
/* NVIDIA Tegra Combined UART */
|
||||
#define PORT_TEGRA_TCU 41
|
||||
|
||||
/* Intel EG20 */
|
||||
#define PORT_PCH_8LINE 44
|
||||
#define PORT_PCH_2LINE 45
|
||||
|
|
|
|||
|
|
@ -13,8 +13,6 @@
|
|||
|
||||
#include <linux/pkt_cls.h>
|
||||
|
||||
#define TCA_ACT_BPF 13
|
||||
|
||||
struct tc_act_bpf {
|
||||
tc_gen;
|
||||
};
|
||||
|
|
|
|||
|
|
@ -5,8 +5,6 @@
|
|||
#include <linux/types.h>
|
||||
#include <linux/pkt_cls.h>
|
||||
|
||||
#define TCA_ACT_CONNMARK 14
|
||||
|
||||
struct tc_connmark {
|
||||
tc_gen;
|
||||
__u16 zone;
|
||||
|
|
|
|||
|
|
@ -5,8 +5,6 @@
|
|||
#include <linux/types.h>
|
||||
#include <linux/pkt_cls.h>
|
||||
|
||||
#define TCA_ACT_CSUM 16
|
||||
|
||||
enum {
|
||||
TCA_CSUM_UNSPEC,
|
||||
TCA_CSUM_PARMS,
|
||||
|
|
|
|||
|
|
@ -5,7 +5,6 @@
|
|||
#include <linux/types.h>
|
||||
#include <linux/pkt_cls.h>
|
||||
|
||||
#define TCA_ACT_GACT 5
|
||||
struct tc_gact {
|
||||
tc_gen;
|
||||
|
||||
|
|
|
|||
|
|
@ -6,7 +6,6 @@
|
|||
#include <linux/pkt_cls.h>
|
||||
#include <linux/ife.h>
|
||||
|
||||
#define TCA_ACT_IFE 25
|
||||
/* Flag bits for now just encoding/decoding; mutually exclusive */
|
||||
#define IFE_ENCODE 1
|
||||
#define IFE_DECODE 0
|
||||
|
|
|
|||
|
|
@ -4,9 +4,6 @@
|
|||
|
||||
#include <linux/pkt_cls.h>
|
||||
|
||||
#define TCA_ACT_IPT 6
|
||||
#define TCA_ACT_XT 10
|
||||
|
||||
enum {
|
||||
TCA_IPT_UNSPEC,
|
||||
TCA_IPT_TABLE,
|
||||
|
|
|
|||
|
|
@ -5,7 +5,6 @@
|
|||
#include <linux/types.h>
|
||||
#include <linux/pkt_cls.h>
|
||||
|
||||
#define TCA_ACT_MIRRED 8
|
||||
#define TCA_EGRESS_REDIR 1 /* packet redirect to EGRESS*/
|
||||
#define TCA_EGRESS_MIRROR 2 /* mirror packet to EGRESS */
|
||||
#define TCA_INGRESS_REDIR 3 /* packet redirect to INGRESS*/
|
||||
|
|
|
|||
|
|
@ -5,8 +5,6 @@
|
|||
#include <linux/pkt_cls.h>
|
||||
#include <linux/types.h>
|
||||
|
||||
#define TCA_ACT_NAT 9
|
||||
|
||||
enum {
|
||||
TCA_NAT_UNSPEC,
|
||||
TCA_NAT_PARMS,
|
||||
|
|
|
|||
|
|
@ -5,8 +5,6 @@
|
|||
#include <linux/types.h>
|
||||
#include <linux/pkt_cls.h>
|
||||
|
||||
#define TCA_ACT_PEDIT 7
|
||||
|
||||
enum {
|
||||
TCA_PEDIT_UNSPEC,
|
||||
TCA_PEDIT_TM,
|
||||
|
|
|
|||
|
|
@ -6,8 +6,6 @@
|
|||
#include <linux/pkt_cls.h>
|
||||
#include <linux/if_ether.h>
|
||||
|
||||
#define TCA_ACT_SAMPLE 26
|
||||
|
||||
struct tc_sample {
|
||||
tc_gen;
|
||||
};
|
||||
|
|
|
|||
|
|
@ -23,8 +23,6 @@
|
|||
|
||||
#include <linux/pkt_cls.h>
|
||||
|
||||
#define TCA_ACT_SKBEDIT 11
|
||||
|
||||
#define SKBEDIT_F_PRIORITY 0x1
|
||||
#define SKBEDIT_F_QUEUE_MAPPING 0x2
|
||||
#define SKBEDIT_F_MARK 0x4
|
||||
|
|
|
|||
|
|
@ -13,8 +13,6 @@
|
|||
|
||||
#include <linux/pkt_cls.h>
|
||||
|
||||
#define TCA_ACT_SKBMOD 15
|
||||
|
||||
#define SKBMOD_F_DMAC 0x1
|
||||
#define SKBMOD_F_SMAC 0x2
|
||||
#define SKBMOD_F_ETYPE 0x4
|
||||
|
|
|
|||
|
|
@ -14,8 +14,6 @@
|
|||
|
||||
#include <linux/pkt_cls.h>
|
||||
|
||||
#define TCA_ACT_TUNNEL_KEY 17
|
||||
|
||||
#define TCA_TUNNEL_KEY_ACT_SET 1
|
||||
#define TCA_TUNNEL_KEY_ACT_RELEASE 2
|
||||
|
||||
|
|
|
|||
|
|
@ -13,8 +13,6 @@
|
|||
|
||||
#include <linux/pkt_cls.h>
|
||||
|
||||
#define TCA_ACT_VLAN 12
|
||||
|
||||
#define TCA_VLAN_ACT_POP 1
|
||||
#define TCA_VLAN_ACT_PUSH 2
|
||||
#define TCA_VLAN_ACT_MODIFY 3
|
||||
|
|
|
|||
|
|
@ -3,7 +3,7 @@
|
|||
#define _UAPI_LINUX_TIME_H
|
||||
|
||||
#include <linux/types.h>
|
||||
|
||||
#include <linux/time_types.h>
|
||||
|
||||
#ifndef _STRUCT_TIMESPEC
|
||||
#define _STRUCT_TIMESPEC
|
||||
|
|
@ -23,7 +23,6 @@ struct timezone {
|
|||
int tz_dsttime; /* type of dst correction */
|
||||
};
|
||||
|
||||
|
||||
/*
|
||||
* Names of the interval timers, and structure
|
||||
* defining a timer setting:
|
||||
|
|
@ -42,32 +41,6 @@ struct itimerval {
|
|||
struct timeval it_value; /* current value */
|
||||
};
|
||||
|
||||
#ifndef __kernel_timespec
|
||||
struct __kernel_timespec {
|
||||
__kernel_time64_t tv_sec; /* seconds */
|
||||
long long tv_nsec; /* nanoseconds */
|
||||
};
|
||||
#endif
|
||||
|
||||
#ifndef __kernel_itimerspec
|
||||
struct __kernel_itimerspec {
|
||||
struct __kernel_timespec it_interval; /* timer period */
|
||||
struct __kernel_timespec it_value; /* timer expiration */
|
||||
};
|
||||
#endif
|
||||
|
||||
/*
|
||||
* legacy timeval structure, only embedded in structures that
|
||||
* traditionally used 'timeval' to pass time intervals (not absolute
|
||||
* times). Do not add new users. If user space fails to compile
|
||||
* here, this is probably because it is not y2038 safe and needs to
|
||||
* be changed to use another interface.
|
||||
*/
|
||||
struct __kernel_old_timeval {
|
||||
__kernel_long_t tv_sec;
|
||||
__kernel_long_t tv_usec;
|
||||
};
|
||||
|
||||
/*
|
||||
* The IDs of the various system clocks (for POSIX.1b interval timers):
|
||||
*/
|
||||
|
|
|
|||
36
include/uapi/linux/time_types.h
Normal file
36
include/uapi/linux/time_types.h
Normal file
|
|
@ -0,0 +1,36 @@
|
|||
/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
|
||||
#ifndef _UAPI_LINUX_TIME_TYPES_H
|
||||
#define _UAPI_LINUX_TIME_TYPES_H
|
||||
|
||||
#include <linux/types.h>
|
||||
|
||||
struct __kernel_timespec {
|
||||
__kernel_time64_t tv_sec; /* seconds */
|
||||
long long tv_nsec; /* nanoseconds */
|
||||
};
|
||||
|
||||
struct __kernel_itimerspec {
|
||||
struct __kernel_timespec it_interval; /* timer period */
|
||||
struct __kernel_timespec it_value; /* timer expiration */
|
||||
};
|
||||
|
||||
/*
|
||||
* legacy timeval structure, only embedded in structures that
|
||||
* traditionally used 'timeval' to pass time intervals (not absolute
|
||||
* times). Do not add new users. If user space fails to compile
|
||||
* here, this is probably because it is not y2038 safe and needs to
|
||||
* be changed to use another interface.
|
||||
*/
|
||||
#ifndef __kernel_old_timeval
|
||||
struct __kernel_old_timeval {
|
||||
__kernel_long_t tv_sec;
|
||||
__kernel_long_t tv_usec;
|
||||
};
|
||||
#endif
|
||||
|
||||
struct __kernel_sock_timeval {
|
||||
__s64 tv_sec;
|
||||
__s64 tv_usec;
|
||||
};
|
||||
|
||||
#endif /* _UAPI_LINUX_TIME_TYPES_H */
|
||||
|
|
@ -92,6 +92,45 @@ struct timex {
|
|||
int :32; int :32; int :32;
|
||||
};
|
||||
|
||||
struct __kernel_timex_timeval {
|
||||
__kernel_time64_t tv_sec;
|
||||
long long tv_usec;
|
||||
};
|
||||
|
||||
struct __kernel_timex {
|
||||
unsigned int modes; /* mode selector */
|
||||
int :32; /* pad */
|
||||
long long offset; /* time offset (usec) */
|
||||
long long freq; /* frequency offset (scaled ppm) */
|
||||
long long maxerror;/* maximum error (usec) */
|
||||
long long esterror;/* estimated error (usec) */
|
||||
int status; /* clock command/status */
|
||||
int :32; /* pad */
|
||||
long long constant;/* pll time constant */
|
||||
long long precision;/* clock precision (usec) (read only) */
|
||||
long long tolerance;/* clock frequency tolerance (ppm)
|
||||
* (read only)
|
||||
*/
|
||||
struct __kernel_timex_timeval time; /* (read only, except for ADJ_SETOFFSET) */
|
||||
long long tick; /* (modified) usecs between clock ticks */
|
||||
|
||||
long long ppsfreq;/* pps frequency (scaled ppm) (ro) */
|
||||
long long jitter; /* pps jitter (us) (ro) */
|
||||
int shift; /* interval duration (s) (shift) (ro) */
|
||||
int :32; /* pad */
|
||||
long long stabil; /* pps stability (scaled ppm) (ro) */
|
||||
long long jitcnt; /* jitter limit exceeded (ro) */
|
||||
long long calcnt; /* calibration intervals (ro) */
|
||||
long long errcnt; /* calibration errors (ro) */
|
||||
long long stbcnt; /* stability limit exceeded (ro) */
|
||||
|
||||
int tai; /* TAI offset (ro) */
|
||||
|
||||
int :32; int :32; int :32; int :32;
|
||||
int :32; int :32; int :32; int :32;
|
||||
int :32; int :32; int :32;
|
||||
};
|
||||
|
||||
/*
|
||||
* Mode codes (timex.mode)
|
||||
*/
|
||||
|
|
|
|||
|
|
@ -51,6 +51,10 @@
|
|||
#define TLS_1_2_VERSION_MINOR 0x3
|
||||
#define TLS_1_2_VERSION TLS_VERSION_NUMBER(TLS_1_2)
|
||||
|
||||
#define TLS_1_3_VERSION_MAJOR 0x3
|
||||
#define TLS_1_3_VERSION_MINOR 0x4
|
||||
#define TLS_1_3_VERSION TLS_VERSION_NUMBER(TLS_1_3)
|
||||
|
||||
/* Supported ciphers */
|
||||
#define TLS_CIPHER_AES_GCM_128 51
|
||||
#define TLS_CIPHER_AES_GCM_128_IV_SIZE 8
|
||||
|
|
@ -59,6 +63,13 @@
|
|||
#define TLS_CIPHER_AES_GCM_128_TAG_SIZE 16
|
||||
#define TLS_CIPHER_AES_GCM_128_REC_SEQ_SIZE 8
|
||||
|
||||
#define TLS_CIPHER_AES_GCM_256 52
|
||||
#define TLS_CIPHER_AES_GCM_256_IV_SIZE 8
|
||||
#define TLS_CIPHER_AES_GCM_256_KEY_SIZE 32
|
||||
#define TLS_CIPHER_AES_GCM_256_SALT_SIZE 4
|
||||
#define TLS_CIPHER_AES_GCM_256_TAG_SIZE 16
|
||||
#define TLS_CIPHER_AES_GCM_256_REC_SEQ_SIZE 8
|
||||
|
||||
#define TLS_SET_RECORD_TYPE 1
|
||||
#define TLS_GET_RECORD_TYPE 2
|
||||
|
||||
|
|
@ -75,4 +86,12 @@ struct tls12_crypto_info_aes_gcm_128 {
|
|||
unsigned char rec_seq[TLS_CIPHER_AES_GCM_128_REC_SEQ_SIZE];
|
||||
};
|
||||
|
||||
struct tls12_crypto_info_aes_gcm_256 {
|
||||
struct tls_crypto_info info;
|
||||
unsigned char iv[TLS_CIPHER_AES_GCM_256_IV_SIZE];
|
||||
unsigned char key[TLS_CIPHER_AES_GCM_256_KEY_SIZE];
|
||||
unsigned char salt[TLS_CIPHER_AES_GCM_256_SALT_SIZE];
|
||||
unsigned char rec_seq[TLS_CIPHER_AES_GCM_256_REC_SEQ_SIZE];
|
||||
};
|
||||
|
||||
#endif /* _UAPI_LINUX_TLS_H */
|
||||
|
|
|
|||
|
|
@ -533,6 +533,8 @@ enum v4l2_mpeg_video_h264_hierarchical_coding_type {
|
|||
};
|
||||
#define V4L2_CID_MPEG_VIDEO_H264_HIERARCHICAL_CODING_LAYER (V4L2_CID_MPEG_BASE+381)
|
||||
#define V4L2_CID_MPEG_VIDEO_H264_HIERARCHICAL_CODING_LAYER_QP (V4L2_CID_MPEG_BASE+382)
|
||||
#define V4L2_CID_MPEG_VIDEO_H264_CONSTRAINED_INTRA_PREDICTION (V4L2_CID_MPEG_BASE+383)
|
||||
#define V4L2_CID_MPEG_VIDEO_H264_CHROMA_QP_INDEX_OFFSET (V4L2_CID_MPEG_BASE+384)
|
||||
#define V4L2_CID_MPEG_VIDEO_MPEG4_I_FRAME_QP (V4L2_CID_MPEG_BASE+400)
|
||||
#define V4L2_CID_MPEG_VIDEO_MPEG4_P_FRAME_QP (V4L2_CID_MPEG_BASE+401)
|
||||
#define V4L2_CID_MPEG_VIDEO_MPEG4_B_FRAME_QP (V4L2_CID_MPEG_BASE+402)
|
||||
|
|
|
|||
|
|
@ -130,6 +130,13 @@ enum v4l2_field {
|
|||
((field) == V4L2_FIELD_BOTTOM ||\
|
||||
(field) == V4L2_FIELD_TOP ||\
|
||||
(field) == V4L2_FIELD_ALTERNATE)
|
||||
#define V4L2_FIELD_IS_INTERLACED(field) \
|
||||
((field) == V4L2_FIELD_INTERLACED ||\
|
||||
(field) == V4L2_FIELD_INTERLACED_TB ||\
|
||||
(field) == V4L2_FIELD_INTERLACED_BT)
|
||||
#define V4L2_FIELD_IS_SEQUENTIAL(field) \
|
||||
((field) == V4L2_FIELD_SEQ_TB ||\
|
||||
(field) == V4L2_FIELD_SEQ_BT)
|
||||
|
||||
enum v4l2_buf_type {
|
||||
V4L2_BUF_TYPE_VIDEO_CAPTURE = 1,
|
||||
|
|
@ -161,7 +168,8 @@ enum v4l2_buf_type {
|
|||
|| (type) == V4L2_BUF_TYPE_VIDEO_OUTPUT_OVERLAY \
|
||||
|| (type) == V4L2_BUF_TYPE_VBI_OUTPUT \
|
||||
|| (type) == V4L2_BUF_TYPE_SLICED_VBI_OUTPUT \
|
||||
|| (type) == V4L2_BUF_TYPE_SDR_OUTPUT)
|
||||
|| (type) == V4L2_BUF_TYPE_SDR_OUTPUT \
|
||||
|| (type) == V4L2_BUF_TYPE_META_OUTPUT)
|
||||
|
||||
enum v4l2_tuner_type {
|
||||
V4L2_TUNER_RADIO = 1,
|
||||
|
|
@ -554,6 +562,10 @@ struct v4l2_pix_format {
|
|||
#define V4L2_PIX_FMT_YUV555 v4l2_fourcc('Y', 'U', 'V', 'O') /* 16 YUV-5-5-5 */
|
||||
#define V4L2_PIX_FMT_YUV565 v4l2_fourcc('Y', 'U', 'V', 'P') /* 16 YUV-5-6-5 */
|
||||
#define V4L2_PIX_FMT_YUV32 v4l2_fourcc('Y', 'U', 'V', '4') /* 32 YUV-8-8-8-8 */
|
||||
#define V4L2_PIX_FMT_AYUV32 v4l2_fourcc('A', 'Y', 'U', 'V') /* 32 AYUV-8-8-8-8 */
|
||||
#define V4L2_PIX_FMT_XYUV32 v4l2_fourcc('X', 'Y', 'U', 'V') /* 32 XYUV-8-8-8-8 */
|
||||
#define V4L2_PIX_FMT_VUYA32 v4l2_fourcc('V', 'U', 'Y', 'A') /* 32 VUYA-8-8-8-8 */
|
||||
#define V4L2_PIX_FMT_VUYX32 v4l2_fourcc('V', 'U', 'Y', 'X') /* 32 VUYX-8-8-8-8 */
|
||||
#define V4L2_PIX_FMT_HI240 v4l2_fourcc('H', 'I', '2', '4') /* 8 8-bit color */
|
||||
#define V4L2_PIX_FMT_HM12 v4l2_fourcc('H', 'M', '1', '2') /* 8 YUV 4:2:0 16x16 macroblocks */
|
||||
#define V4L2_PIX_FMT_M420 v4l2_fourcc('M', '4', '2', '0') /* 12 YUV 4:2:0 2 lines y, 1 line uv interleaved */
|
||||
|
|
@ -973,6 +985,18 @@ struct v4l2_buffer {
|
|||
};
|
||||
};
|
||||
|
||||
/**
|
||||
* v4l2_timeval_to_ns - Convert timeval to nanoseconds
|
||||
* @ts: pointer to the timeval variable to be converted
|
||||
*
|
||||
* Returns the scalar nanosecond representation of the timeval
|
||||
* parameter.
|
||||
*/
|
||||
static inline __u64 v4l2_timeval_to_ns(const struct timeval *tv)
|
||||
{
|
||||
return (__u64)tv->tv_sec * 1000000000ULL + tv->tv_usec * 1000;
|
||||
}
|
||||
|
||||
/* Flags for 'flags' field */
|
||||
/* Buffer is mapped (flag) */
|
||||
#define V4L2_BUF_FLAG_MAPPED 0x00000001
|
||||
|
|
|
|||
72
include/uapi/linux/xdp_diag.h
Normal file
72
include/uapi/linux/xdp_diag.h
Normal file
|
|
@ -0,0 +1,72 @@
|
|||
/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
|
||||
/*
|
||||
* xdp_diag: interface for query/monitor XDP sockets
|
||||
* Copyright(c) 2019 Intel Corporation.
|
||||
*/
|
||||
|
||||
#ifndef _LINUX_XDP_DIAG_H
|
||||
#define _LINUX_XDP_DIAG_H
|
||||
|
||||
#include <linux/types.h>
|
||||
|
||||
struct xdp_diag_req {
|
||||
__u8 sdiag_family;
|
||||
__u8 sdiag_protocol;
|
||||
__u16 pad;
|
||||
__u32 xdiag_ino;
|
||||
__u32 xdiag_show;
|
||||
__u32 xdiag_cookie[2];
|
||||
};
|
||||
|
||||
struct xdp_diag_msg {
|
||||
__u8 xdiag_family;
|
||||
__u8 xdiag_type;
|
||||
__u16 pad;
|
||||
__u32 xdiag_ino;
|
||||
__u32 xdiag_cookie[2];
|
||||
};
|
||||
|
||||
#define XDP_SHOW_INFO (1 << 0) /* Basic information */
|
||||
#define XDP_SHOW_RING_CFG (1 << 1)
|
||||
#define XDP_SHOW_UMEM (1 << 2)
|
||||
#define XDP_SHOW_MEMINFO (1 << 3)
|
||||
|
||||
enum {
|
||||
XDP_DIAG_NONE,
|
||||
XDP_DIAG_INFO,
|
||||
XDP_DIAG_UID,
|
||||
XDP_DIAG_RX_RING,
|
||||
XDP_DIAG_TX_RING,
|
||||
XDP_DIAG_UMEM,
|
||||
XDP_DIAG_UMEM_FILL_RING,
|
||||
XDP_DIAG_UMEM_COMPLETION_RING,
|
||||
XDP_DIAG_MEMINFO,
|
||||
__XDP_DIAG_MAX,
|
||||
};
|
||||
|
||||
#define XDP_DIAG_MAX (__XDP_DIAG_MAX - 1)
|
||||
|
||||
struct xdp_diag_info {
|
||||
__u32 ifindex;
|
||||
__u32 queue_id;
|
||||
};
|
||||
|
||||
struct xdp_diag_ring {
|
||||
__u32 entries; /*num descs */
|
||||
};
|
||||
|
||||
#define XDP_DU_F_ZEROCOPY (1 << 0)
|
||||
|
||||
struct xdp_diag_umem {
|
||||
__u64 size;
|
||||
__u32 id;
|
||||
__u32 num_pages;
|
||||
__u32 chunk_size;
|
||||
__u32 headroom;
|
||||
__u32 ifindex;
|
||||
__u32 queue_id;
|
||||
__u32 flags;
|
||||
__u32 refs;
|
||||
};
|
||||
|
||||
#endif /* _LINUX_XDP_DIAG_H */
|
||||
41
include/uapi/misc/fastrpc.h
Normal file
41
include/uapi/misc/fastrpc.h
Normal file
|
|
@ -0,0 +1,41 @@
|
|||
/* SPDX-License-Identifier: GPL-2.0 */
|
||||
|
||||
#ifndef __QCOM_FASTRPC_H__
|
||||
#define __QCOM_FASTRPC_H__
|
||||
|
||||
#include <linux/types.h>
|
||||
|
||||
#define FASTRPC_IOCTL_ALLOC_DMA_BUFF _IOWR('R', 1, struct fastrpc_alloc_dma_buf)
|
||||
#define FASTRPC_IOCTL_FREE_DMA_BUFF _IOWR('R', 2, __u32)
|
||||
#define FASTRPC_IOCTL_INVOKE _IOWR('R', 3, struct fastrpc_invoke)
|
||||
#define FASTRPC_IOCTL_INIT_ATTACH _IO('R', 4)
|
||||
#define FASTRPC_IOCTL_INIT_CREATE _IOWR('R', 5, struct fastrpc_init_create)
|
||||
|
||||
struct fastrpc_invoke_args {
|
||||
__u64 ptr;
|
||||
__u64 length;
|
||||
__s32 fd;
|
||||
__u32 reserved;
|
||||
};
|
||||
|
||||
struct fastrpc_invoke {
|
||||
__u32 handle;
|
||||
__u32 sc;
|
||||
__u64 args;
|
||||
};
|
||||
|
||||
struct fastrpc_init_create {
|
||||
__u32 filelen; /* elf file length */
|
||||
__s32 filefd; /* fd for the file */
|
||||
__u32 attrs;
|
||||
__u32 siglen;
|
||||
__u64 file; /* pointer to elf file */
|
||||
};
|
||||
|
||||
struct fastrpc_alloc_dma_buf {
|
||||
__s32 fd; /* fd */
|
||||
__u32 flags; /* flags to map with */
|
||||
__u64 size; /* size */
|
||||
};
|
||||
|
||||
#endif /* __QCOM_FASTRPC_H__ */
|
||||
450
include/uapi/misc/habanalabs.h
Normal file
450
include/uapi/misc/habanalabs.h
Normal file
|
|
@ -0,0 +1,450 @@
|
|||
/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note
|
||||
*
|
||||
* Copyright 2016-2018 HabanaLabs, Ltd.
|
||||
* All Rights Reserved.
|
||||
*
|
||||
*/
|
||||
|
||||
#ifndef HABANALABS_H_
|
||||
#define HABANALABS_H_
|
||||
|
||||
#include <linux/types.h>
|
||||
#include <linux/ioctl.h>
|
||||
|
||||
/*
|
||||
* Defines that are asic-specific but constitutes as ABI between kernel driver
|
||||
* and userspace
|
||||
*/
|
||||
#define GOYA_KMD_SRAM_RESERVED_SIZE_FROM_START 0x8000 /* 32KB */
|
||||
|
||||
/*
|
||||
* Queue Numbering
|
||||
*
|
||||
* The external queues (DMA channels + CPU) MUST be before the internal queues
|
||||
* and each group (DMA channels + CPU and internal) must be contiguous inside
|
||||
* itself but there can be a gap between the two groups (although not
|
||||
* recommended)
|
||||
*/
|
||||
|
||||
enum goya_queue_id {
|
||||
GOYA_QUEUE_ID_DMA_0 = 0,
|
||||
GOYA_QUEUE_ID_DMA_1,
|
||||
GOYA_QUEUE_ID_DMA_2,
|
||||
GOYA_QUEUE_ID_DMA_3,
|
||||
GOYA_QUEUE_ID_DMA_4,
|
||||
GOYA_QUEUE_ID_CPU_PQ,
|
||||
GOYA_QUEUE_ID_MME,
|
||||
GOYA_QUEUE_ID_TPC0,
|
||||
GOYA_QUEUE_ID_TPC1,
|
||||
GOYA_QUEUE_ID_TPC2,
|
||||
GOYA_QUEUE_ID_TPC3,
|
||||
GOYA_QUEUE_ID_TPC4,
|
||||
GOYA_QUEUE_ID_TPC5,
|
||||
GOYA_QUEUE_ID_TPC6,
|
||||
GOYA_QUEUE_ID_TPC7,
|
||||
GOYA_QUEUE_ID_SIZE
|
||||
};
|
||||
|
||||
/* Opcode for management ioctl */
|
||||
#define HL_INFO_HW_IP_INFO 0
|
||||
#define HL_INFO_HW_EVENTS 1
|
||||
#define HL_INFO_DRAM_USAGE 2
|
||||
#define HL_INFO_HW_IDLE 3
|
||||
|
||||
#define HL_INFO_VERSION_MAX_LEN 128
|
||||
|
||||
struct hl_info_hw_ip_info {
|
||||
__u64 sram_base_address;
|
||||
__u64 dram_base_address;
|
||||
__u64 dram_size;
|
||||
__u32 sram_size;
|
||||
__u32 num_of_events;
|
||||
__u32 device_id; /* PCI Device ID */
|
||||
__u32 reserved[3];
|
||||
__u32 armcp_cpld_version;
|
||||
__u32 psoc_pci_pll_nr;
|
||||
__u32 psoc_pci_pll_nf;
|
||||
__u32 psoc_pci_pll_od;
|
||||
__u32 psoc_pci_pll_div_factor;
|
||||
__u8 tpc_enabled_mask;
|
||||
__u8 dram_enabled;
|
||||
__u8 pad[2];
|
||||
__u8 armcp_version[HL_INFO_VERSION_MAX_LEN];
|
||||
};
|
||||
|
||||
struct hl_info_dram_usage {
|
||||
__u64 dram_free_mem;
|
||||
__u64 ctx_dram_mem;
|
||||
};
|
||||
|
||||
struct hl_info_hw_idle {
|
||||
__u32 is_idle;
|
||||
__u32 pad;
|
||||
};
|
||||
|
||||
struct hl_info_args {
|
||||
/* Location of relevant struct in userspace */
|
||||
__u64 return_pointer;
|
||||
/*
|
||||
* The size of the return value. Just like "size" in "snprintf",
|
||||
* it limits how many bytes the kernel can write
|
||||
*
|
||||
* For hw_events array, the size should be
|
||||
* hl_info_hw_ip_info.num_of_events * sizeof(__u32)
|
||||
*/
|
||||
__u32 return_size;
|
||||
|
||||
/* HL_INFO_* */
|
||||
__u32 op;
|
||||
|
||||
/* Context ID - Currently not in use */
|
||||
__u32 ctx_id;
|
||||
__u32 pad;
|
||||
};
|
||||
|
||||
/* Opcode to create a new command buffer */
|
||||
#define HL_CB_OP_CREATE 0
|
||||
/* Opcode to destroy previously created command buffer */
|
||||
#define HL_CB_OP_DESTROY 1
|
||||
|
||||
struct hl_cb_in {
|
||||
/* Handle of CB or 0 if we want to create one */
|
||||
__u64 cb_handle;
|
||||
/* HL_CB_OP_* */
|
||||
__u32 op;
|
||||
/* Size of CB. Maximum size is 2MB. The minimum size that will be
|
||||
* allocated, regardless of this parameter's value, is PAGE_SIZE
|
||||
*/
|
||||
__u32 cb_size;
|
||||
/* Context ID - Currently not in use */
|
||||
__u32 ctx_id;
|
||||
__u32 pad;
|
||||
};
|
||||
|
||||
struct hl_cb_out {
|
||||
/* Handle of CB */
|
||||
__u64 cb_handle;
|
||||
};
|
||||
|
||||
union hl_cb_args {
|
||||
struct hl_cb_in in;
|
||||
struct hl_cb_out out;
|
||||
};
|
||||
|
||||
/*
|
||||
* This structure size must always be fixed to 64-bytes for backward
|
||||
* compatibility
|
||||
*/
|
||||
struct hl_cs_chunk {
|
||||
/*
|
||||
* For external queue, this represents a Handle of CB on the Host
|
||||
* For internal queue, this represents an SRAM or DRAM address of the
|
||||
* internal CB
|
||||
*/
|
||||
__u64 cb_handle;
|
||||
/* Index of queue to put the CB on */
|
||||
__u32 queue_index;
|
||||
/*
|
||||
* Size of command buffer with valid packets
|
||||
* Can be smaller then actual CB size
|
||||
*/
|
||||
__u32 cb_size;
|
||||
/* HL_CS_CHUNK_FLAGS_* */
|
||||
__u32 cs_chunk_flags;
|
||||
/* Align structure to 64 bytes */
|
||||
__u32 pad[11];
|
||||
};
|
||||
|
||||
#define HL_CS_FLAGS_FORCE_RESTORE 0x1
|
||||
|
||||
#define HL_CS_STATUS_SUCCESS 0
|
||||
|
||||
struct hl_cs_in {
|
||||
/* this holds address of array of hl_cs_chunk for restore phase */
|
||||
__u64 chunks_restore;
|
||||
/* this holds address of array of hl_cs_chunk for execution phase */
|
||||
__u64 chunks_execute;
|
||||
/* this holds address of array of hl_cs_chunk for store phase -
|
||||
* Currently not in use
|
||||
*/
|
||||
__u64 chunks_store;
|
||||
/* Number of chunks in restore phase array */
|
||||
__u32 num_chunks_restore;
|
||||
/* Number of chunks in execution array */
|
||||
__u32 num_chunks_execute;
|
||||
/* Number of chunks in restore phase array - Currently not in use */
|
||||
__u32 num_chunks_store;
|
||||
/* HL_CS_FLAGS_* */
|
||||
__u32 cs_flags;
|
||||
/* Context ID - Currently not in use */
|
||||
__u32 ctx_id;
|
||||
};
|
||||
|
||||
struct hl_cs_out {
|
||||
/* this holds the sequence number of the CS to pass to wait ioctl */
|
||||
__u64 seq;
|
||||
/* HL_CS_STATUS_* */
|
||||
__u32 status;
|
||||
__u32 pad;
|
||||
};
|
||||
|
||||
union hl_cs_args {
|
||||
struct hl_cs_in in;
|
||||
struct hl_cs_out out;
|
||||
};
|
||||
|
||||
struct hl_wait_cs_in {
|
||||
/* Command submission sequence number */
|
||||
__u64 seq;
|
||||
/* Absolute timeout to wait in microseconds */
|
||||
__u64 timeout_us;
|
||||
/* Context ID - Currently not in use */
|
||||
__u32 ctx_id;
|
||||
__u32 pad;
|
||||
};
|
||||
|
||||
#define HL_WAIT_CS_STATUS_COMPLETED 0
|
||||
#define HL_WAIT_CS_STATUS_BUSY 1
|
||||
#define HL_WAIT_CS_STATUS_TIMEDOUT 2
|
||||
#define HL_WAIT_CS_STATUS_ABORTED 3
|
||||
#define HL_WAIT_CS_STATUS_INTERRUPTED 4
|
||||
|
||||
struct hl_wait_cs_out {
|
||||
/* HL_WAIT_CS_STATUS_* */
|
||||
__u32 status;
|
||||
__u32 pad;
|
||||
};
|
||||
|
||||
union hl_wait_cs_args {
|
||||
struct hl_wait_cs_in in;
|
||||
struct hl_wait_cs_out out;
|
||||
};
|
||||
|
||||
/* Opcode to alloc device memory */
|
||||
#define HL_MEM_OP_ALLOC 0
|
||||
/* Opcode to free previously allocated device memory */
|
||||
#define HL_MEM_OP_FREE 1
|
||||
/* Opcode to map host memory */
|
||||
#define HL_MEM_OP_MAP 2
|
||||
/* Opcode to unmap previously mapped host memory */
|
||||
#define HL_MEM_OP_UNMAP 3
|
||||
|
||||
/* Memory flags */
|
||||
#define HL_MEM_CONTIGUOUS 0x1
|
||||
#define HL_MEM_SHARED 0x2
|
||||
#define HL_MEM_USERPTR 0x4
|
||||
|
||||
struct hl_mem_in {
|
||||
union {
|
||||
/* HL_MEM_OP_ALLOC- allocate device memory */
|
||||
struct {
|
||||
/* Size to alloc */
|
||||
__u64 mem_size;
|
||||
} alloc;
|
||||
|
||||
/* HL_MEM_OP_FREE - free device memory */
|
||||
struct {
|
||||
/* Handle returned from HL_MEM_OP_ALLOC */
|
||||
__u64 handle;
|
||||
} free;
|
||||
|
||||
/* HL_MEM_OP_MAP - map device memory */
|
||||
struct {
|
||||
/*
|
||||
* Requested virtual address of mapped memory.
|
||||
* KMD will try to map the requested region to this
|
||||
* hint address, as long as the address is valid and
|
||||
* not already mapped. The user should check the
|
||||
* returned address of the IOCTL to make sure he got
|
||||
* the hint address. Passing 0 here means that KMD
|
||||
* will choose the address itself.
|
||||
*/
|
||||
__u64 hint_addr;
|
||||
/* Handle returned from HL_MEM_OP_ALLOC */
|
||||
__u64 handle;
|
||||
} map_device;
|
||||
|
||||
/* HL_MEM_OP_MAP - map host memory */
|
||||
struct {
|
||||
/* Address of allocated host memory */
|
||||
__u64 host_virt_addr;
|
||||
/*
|
||||
* Requested virtual address of mapped memory.
|
||||
* KMD will try to map the requested region to this
|
||||
* hint address, as long as the address is valid and
|
||||
* not already mapped. The user should check the
|
||||
* returned address of the IOCTL to make sure he got
|
||||
* the hint address. Passing 0 here means that KMD
|
||||
* will choose the address itself.
|
||||
*/
|
||||
__u64 hint_addr;
|
||||
/* Size of allocated host memory */
|
||||
__u64 mem_size;
|
||||
} map_host;
|
||||
|
||||
/* HL_MEM_OP_UNMAP - unmap host memory */
|
||||
struct {
|
||||
/* Virtual address returned from HL_MEM_OP_MAP */
|
||||
__u64 device_virt_addr;
|
||||
} unmap;
|
||||
};
|
||||
|
||||
/* HL_MEM_OP_* */
|
||||
__u32 op;
|
||||
/* HL_MEM_* flags */
|
||||
__u32 flags;
|
||||
/* Context ID - Currently not in use */
|
||||
__u32 ctx_id;
|
||||
__u32 pad;
|
||||
};
|
||||
|
||||
struct hl_mem_out {
|
||||
union {
|
||||
/*
|
||||
* Used for HL_MEM_OP_MAP as the virtual address that was
|
||||
* assigned in the device VA space.
|
||||
* A value of 0 means the requested operation failed.
|
||||
*/
|
||||
__u64 device_virt_addr;
|
||||
|
||||
/*
|
||||
* Used for HL_MEM_OP_ALLOC. This is the assigned
|
||||
* handle for the allocated memory
|
||||
*/
|
||||
__u64 handle;
|
||||
};
|
||||
};
|
||||
|
||||
union hl_mem_args {
|
||||
struct hl_mem_in in;
|
||||
struct hl_mem_out out;
|
||||
};
|
||||
|
||||
/*
|
||||
* Various information operations such as:
|
||||
* - H/W IP information
|
||||
* - Current dram usage
|
||||
*
|
||||
* The user calls this IOCTL with an opcode that describes the required
|
||||
* information. The user should supply a pointer to a user-allocated memory
|
||||
* chunk, which will be filled by the driver with the requested information.
|
||||
*
|
||||
* The user supplies the maximum amount of size to copy into the user's memory,
|
||||
* in order to prevent data corruption in case of differences between the
|
||||
* definitions of structures in kernel and userspace, e.g. in case of old
|
||||
* userspace and new kernel driver
|
||||
*/
|
||||
#define HL_IOCTL_INFO \
|
||||
_IOWR('H', 0x01, struct hl_info_args)
|
||||
|
||||
/*
|
||||
* Command Buffer
|
||||
* - Request a Command Buffer
|
||||
* - Destroy a Command Buffer
|
||||
*
|
||||
* The command buffers are memory blocks that reside in DMA-able address
|
||||
* space and are physically contiguous so they can be accessed by the device
|
||||
* directly. They are allocated using the coherent DMA API.
|
||||
*
|
||||
* When creating a new CB, the IOCTL returns a handle of it, and the user-space
|
||||
* process needs to use that handle to mmap the buffer so it can access them.
|
||||
*
|
||||
*/
|
||||
#define HL_IOCTL_CB \
|
||||
_IOWR('H', 0x02, union hl_cb_args)
|
||||
|
||||
/*
|
||||
* Command Submission
|
||||
*
|
||||
* To submit work to the device, the user need to call this IOCTL with a set
|
||||
* of JOBS. That set of JOBS constitutes a CS object.
|
||||
* Each JOB will be enqueued on a specific queue, according to the user's input.
|
||||
* There can be more then one JOB per queue.
|
||||
*
|
||||
* There are two types of queues - external and internal. External queues
|
||||
* are DMA queues which transfer data from/to the Host. All other queues are
|
||||
* internal. The driver will get completion notifications from the device only
|
||||
* on JOBS which are enqueued in the external queues.
|
||||
*
|
||||
* For jobs on external queues, the user needs to create command buffers
|
||||
* through the CB ioctl and give the CB's handle to the CS ioctl. For jobs on
|
||||
* internal queues, the user needs to prepare a "command buffer" with packets
|
||||
* on either the SRAM or DRAM, and give the device address of that buffer to
|
||||
* the CS ioctl.
|
||||
*
|
||||
* This IOCTL is asynchronous in regard to the actual execution of the CS. This
|
||||
* means it returns immediately after ALL the JOBS were enqueued on their
|
||||
* relevant queues. Therefore, the user mustn't assume the CS has been completed
|
||||
* or has even started to execute.
|
||||
*
|
||||
* Upon successful enqueue, the IOCTL returns an opaque handle which the user
|
||||
* can use with the "Wait for CS" IOCTL to check whether the handle's CS
|
||||
* external JOBS have been completed. Note that if the CS has internal JOBS
|
||||
* which can execute AFTER the external JOBS have finished, the driver might
|
||||
* report that the CS has finished executing BEFORE the internal JOBS have
|
||||
* actually finish executing.
|
||||
*
|
||||
* The CS IOCTL will receive three sets of JOBS. One set is for "restore" phase,
|
||||
* a second set is for "execution" phase and a third set is for "store" phase.
|
||||
* The JOBS on the "restore" phase are enqueued only after context-switch
|
||||
* (or if its the first CS for this context). The user can also order the
|
||||
* driver to run the "restore" phase explicitly
|
||||
*
|
||||
*/
|
||||
#define HL_IOCTL_CS \
|
||||
_IOWR('H', 0x03, union hl_cs_args)
|
||||
|
||||
/*
|
||||
* Wait for Command Submission
|
||||
*
|
||||
* The user can call this IOCTL with a handle it received from the CS IOCTL
|
||||
* to wait until the handle's CS has finished executing. The user will wait
|
||||
* inside the kernel until the CS has finished or until the user-requeusted
|
||||
* timeout has expired.
|
||||
*
|
||||
* The return value of the IOCTL is a standard Linux error code. The possible
|
||||
* values are:
|
||||
*
|
||||
* EINTR - Kernel waiting has been interrupted, e.g. due to OS signal
|
||||
* that the user process received
|
||||
* ETIMEDOUT - The CS has caused a timeout on the device
|
||||
* EIO - The CS was aborted (usually because the device was reset)
|
||||
* ENODEV - The device wants to do hard-reset (so user need to close FD)
|
||||
*
|
||||
* The driver also returns a custom define inside the IOCTL which can be:
|
||||
*
|
||||
* HL_WAIT_CS_STATUS_COMPLETED - The CS has been completed successfully (0)
|
||||
* HL_WAIT_CS_STATUS_BUSY - The CS is still executing (0)
|
||||
* HL_WAIT_CS_STATUS_TIMEDOUT - The CS has caused a timeout on the device
|
||||
* (ETIMEDOUT)
|
||||
* HL_WAIT_CS_STATUS_ABORTED - The CS was aborted, usually because the
|
||||
* device was reset (EIO)
|
||||
* HL_WAIT_CS_STATUS_INTERRUPTED - Waiting for the CS was interrupted (EINTR)
|
||||
*
|
||||
*/
|
||||
|
||||
#define HL_IOCTL_WAIT_CS \
|
||||
_IOWR('H', 0x04, union hl_wait_cs_args)
|
||||
|
||||
/*
|
||||
* Memory
|
||||
* - Map host memory to device MMU
|
||||
* - Unmap host memory from device MMU
|
||||
*
|
||||
* This IOCTL allows the user to map host memory to the device MMU
|
||||
*
|
||||
* For host memory, the IOCTL doesn't allocate memory. The user is supposed
|
||||
* to allocate the memory in user-space (malloc/new). The driver pins the
|
||||
* physical pages (up to the allowed limit by the OS), assigns a virtual
|
||||
* address in the device VA space and initializes the device MMU.
|
||||
*
|
||||
* There is an option for the user to specify the requested virtual address.
|
||||
*
|
||||
*/
|
||||
#define HL_IOCTL_MEMORY \
|
||||
_IOWR('H', 0x05, union hl_mem_args)
|
||||
|
||||
#define HL_COMMAND_START 0x01
|
||||
#define HL_COMMAND_END 0x06
|
||||
|
||||
#endif /* HABANALABS_H_ */
|
||||
|
|
@ -171,6 +171,11 @@
|
|||
/* Re-name volumes */
|
||||
#define UBI_IOCRNVOL _IOW(UBI_IOC_MAGIC, 3, struct ubi_rnvol_req)
|
||||
|
||||
/* Read the specified PEB and scrub it if there are bitflips */
|
||||
#define UBI_IOCRPEB _IOW(UBI_IOC_MAGIC, 4, __s32)
|
||||
/* Force scrubbing on the specified PEB */
|
||||
#define UBI_IOCSPEB _IOW(UBI_IOC_MAGIC, 5, __s32)
|
||||
|
||||
/* ioctl commands of the UBI control character device */
|
||||
|
||||
#define UBI_CTRL_IOC_MAGIC 'o'
|
||||
|
|
|
|||
|
|
@ -44,6 +44,14 @@
|
|||
|
||||
#define BNXT_RE_ABI_VERSION 1
|
||||
|
||||
#define BNXT_RE_CHIP_ID0_CHIP_NUM_SFT 0x00
|
||||
#define BNXT_RE_CHIP_ID0_CHIP_REV_SFT 0x10
|
||||
#define BNXT_RE_CHIP_ID0_CHIP_MET_SFT 0x18
|
||||
|
||||
enum {
|
||||
BNXT_RE_UCNTX_CMASK_HAVE_CCTX = 0x1ULL
|
||||
};
|
||||
|
||||
struct bnxt_re_uctx_resp {
|
||||
__u32 dev_id;
|
||||
__u32 max_qp;
|
||||
|
|
@ -51,6 +59,9 @@ struct bnxt_re_uctx_resp {
|
|||
__u32 cqe_sz;
|
||||
__u32 max_cqd;
|
||||
__u32 rsvd;
|
||||
__aligned_u64 comp_mask;
|
||||
__u32 chip_id0;
|
||||
__u32 chip_id1;
|
||||
};
|
||||
|
||||
/*
|
||||
|
|
|
|||
|
|
@ -270,6 +270,8 @@ struct ib_uverbs_ex_query_device_resp {
|
|||
struct ib_uverbs_tm_caps tm_caps;
|
||||
struct ib_uverbs_cq_moderation_caps cq_moderation_caps;
|
||||
__aligned_u64 max_dm_size;
|
||||
__u32 xrc_odp_caps;
|
||||
__u32 reserved;
|
||||
};
|
||||
|
||||
struct ib_uverbs_query_port {
|
||||
|
|
|
|||
|
|
@ -84,6 +84,14 @@ enum mlx5_ib_devx_obj_query_attrs {
|
|||
MLX5_IB_ATTR_DEVX_OBJ_QUERY_CMD_OUT,
|
||||
};
|
||||
|
||||
enum mlx5_ib_devx_obj_query_async_attrs {
|
||||
MLX5_IB_ATTR_DEVX_OBJ_QUERY_ASYNC_HANDLE = (1U << UVERBS_ID_NS_SHIFT),
|
||||
MLX5_IB_ATTR_DEVX_OBJ_QUERY_ASYNC_CMD_IN,
|
||||
MLX5_IB_ATTR_DEVX_OBJ_QUERY_ASYNC_FD,
|
||||
MLX5_IB_ATTR_DEVX_OBJ_QUERY_ASYNC_WR_ID,
|
||||
MLX5_IB_ATTR_DEVX_OBJ_QUERY_ASYNC_OUT_LEN,
|
||||
};
|
||||
|
||||
enum mlx5_ib_devx_query_eqn_attrs {
|
||||
MLX5_IB_ATTR_DEVX_QUERY_EQN_USER_VEC = (1U << UVERBS_ID_NS_SHIFT),
|
||||
MLX5_IB_ATTR_DEVX_QUERY_EQN_DEV_EQN,
|
||||
|
|
@ -94,6 +102,7 @@ enum mlx5_ib_devx_obj_methods {
|
|||
MLX5_IB_METHOD_DEVX_OBJ_DESTROY,
|
||||
MLX5_IB_METHOD_DEVX_OBJ_MODIFY,
|
||||
MLX5_IB_METHOD_DEVX_OBJ_QUERY,
|
||||
MLX5_IB_METHOD_DEVX_OBJ_ASYNC_QUERY,
|
||||
};
|
||||
|
||||
enum mlx5_ib_devx_umem_reg_attrs {
|
||||
|
|
@ -113,11 +122,20 @@ enum mlx5_ib_devx_umem_methods {
|
|||
MLX5_IB_METHOD_DEVX_UMEM_DEREG,
|
||||
};
|
||||
|
||||
enum mlx5_ib_devx_async_cmd_fd_alloc_attrs {
|
||||
MLX5_IB_ATTR_DEVX_ASYNC_CMD_FD_ALLOC_HANDLE = (1U << UVERBS_ID_NS_SHIFT),
|
||||
};
|
||||
|
||||
enum mlx5_ib_devx_async_cmd_fd_methods {
|
||||
MLX5_IB_METHOD_DEVX_ASYNC_CMD_FD_ALLOC = (1U << UVERBS_ID_NS_SHIFT),
|
||||
};
|
||||
|
||||
enum mlx5_ib_objects {
|
||||
MLX5_IB_OBJECT_DEVX = (1U << UVERBS_ID_NS_SHIFT),
|
||||
MLX5_IB_OBJECT_DEVX_OBJ,
|
||||
MLX5_IB_OBJECT_DEVX_UMEM,
|
||||
MLX5_IB_OBJECT_FLOW_MATCHER,
|
||||
MLX5_IB_OBJECT_DEVX_ASYNC_CMD_FD,
|
||||
};
|
||||
|
||||
enum mlx5_ib_flow_matcher_create_attrs {
|
||||
|
|
|
|||
|
|
@ -51,5 +51,10 @@ enum mlx5_ib_uapi_flow_action_packet_reformat_type {
|
|||
MLX5_IB_UAPI_FLOW_ACTION_PACKET_REFORMAT_TYPE_L2_TO_L3_TUNNEL = 0x3,
|
||||
};
|
||||
|
||||
struct mlx5_ib_uapi_devx_async_cmd_hdr {
|
||||
__aligned_u64 wr_id;
|
||||
__u8 out_data[];
|
||||
};
|
||||
|
||||
#endif
|
||||
|
||||
|
|
|
|||
|
|
@ -5,8 +5,7 @@
|
|||
#include <linux/types.h>
|
||||
|
||||
enum {
|
||||
RDMA_NL_RDMA_CM = 1,
|
||||
RDMA_NL_IWCM,
|
||||
RDMA_NL_IWCM = 2,
|
||||
RDMA_NL_RSVD,
|
||||
RDMA_NL_LS, /* RDMA Local Services */
|
||||
RDMA_NL_NLDEV, /* RDMA device interface */
|
||||
|
|
@ -14,8 +13,7 @@ enum {
|
|||
};
|
||||
|
||||
enum {
|
||||
RDMA_NL_GROUP_CM = 1,
|
||||
RDMA_NL_GROUP_IWPM,
|
||||
RDMA_NL_GROUP_IWPM = 2,
|
||||
RDMA_NL_GROUP_LS,
|
||||
RDMA_NL_NUM_GROUPS
|
||||
};
|
||||
|
|
@ -24,15 +22,17 @@ enum {
|
|||
#define RDMA_NL_GET_OP(type) (type & ((1 << 10) - 1))
|
||||
#define RDMA_NL_GET_TYPE(client, op) ((client << 10) + op)
|
||||
|
||||
enum {
|
||||
RDMA_NL_RDMA_CM_ID_STATS = 0,
|
||||
RDMA_NL_RDMA_CM_NUM_OPS
|
||||
};
|
||||
/* The minimum version that the iwpm kernel supports */
|
||||
#define IWPM_UABI_VERSION_MIN 3
|
||||
|
||||
/* The latest version that the iwpm kernel supports */
|
||||
#define IWPM_UABI_VERSION 4
|
||||
|
||||
/* iwarp port mapper message flags */
|
||||
enum {
|
||||
RDMA_NL_RDMA_CM_ATTR_SRC_ADDR = 1,
|
||||
RDMA_NL_RDMA_CM_ATTR_DST_ADDR,
|
||||
RDMA_NL_RDMA_CM_NUM_ATTR,
|
||||
|
||||
/* Do not map the port for this IWPM request */
|
||||
IWPM_FLAGS_NO_PORT_MAP = (1 << 0),
|
||||
};
|
||||
|
||||
/* iwarp port mapper op-codes */
|
||||
|
|
@ -45,6 +45,7 @@ enum {
|
|||
RDMA_NL_IWPM_HANDLE_ERR,
|
||||
RDMA_NL_IWPM_MAPINFO,
|
||||
RDMA_NL_IWPM_MAPINFO_NUM,
|
||||
RDMA_NL_IWPM_HELLO,
|
||||
RDMA_NL_IWPM_NUM_OPS
|
||||
};
|
||||
|
||||
|
|
@ -83,20 +84,38 @@ enum {
|
|||
IWPM_NLA_MANAGE_MAPPING_UNSPEC = 0,
|
||||
IWPM_NLA_MANAGE_MAPPING_SEQ,
|
||||
IWPM_NLA_MANAGE_ADDR,
|
||||
IWPM_NLA_MANAGE_MAPPED_LOC_ADDR,
|
||||
IWPM_NLA_MANAGE_FLAGS,
|
||||
IWPM_NLA_MANAGE_MAPPING_MAX
|
||||
};
|
||||
|
||||
enum {
|
||||
IWPM_NLA_RMANAGE_MAPPING_UNSPEC = 0,
|
||||
IWPM_NLA_RMANAGE_MAPPING_SEQ,
|
||||
IWPM_NLA_RMANAGE_ADDR,
|
||||
IWPM_NLA_RMANAGE_MAPPED_LOC_ADDR,
|
||||
/* The following maintains bisectability of rdma-core */
|
||||
IWPM_NLA_MANAGE_MAPPED_LOC_ADDR = IWPM_NLA_RMANAGE_MAPPED_LOC_ADDR,
|
||||
IWPM_NLA_RMANAGE_MAPPING_ERR,
|
||||
IWPM_NLA_RMANAGE_MAPPING_MAX
|
||||
};
|
||||
|
||||
#define IWPM_NLA_MANAGE_MAPPING_MAX 3
|
||||
#define IWPM_NLA_QUERY_MAPPING_MAX 4
|
||||
#define IWPM_NLA_MAPINFO_SEND_MAX 3
|
||||
#define IWPM_NLA_REMOVE_MAPPING_MAX 3
|
||||
|
||||
enum {
|
||||
IWPM_NLA_QUERY_MAPPING_UNSPEC = 0,
|
||||
IWPM_NLA_QUERY_MAPPING_SEQ,
|
||||
IWPM_NLA_QUERY_LOCAL_ADDR,
|
||||
IWPM_NLA_QUERY_REMOTE_ADDR,
|
||||
IWPM_NLA_QUERY_FLAGS,
|
||||
IWPM_NLA_QUERY_MAPPING_MAX,
|
||||
};
|
||||
|
||||
enum {
|
||||
IWPM_NLA_RQUERY_MAPPING_UNSPEC = 0,
|
||||
IWPM_NLA_RQUERY_MAPPING_SEQ,
|
||||
IWPM_NLA_RQUERY_LOCAL_ADDR,
|
||||
IWPM_NLA_RQUERY_REMOTE_ADDR,
|
||||
IWPM_NLA_RQUERY_MAPPED_LOC_ADDR,
|
||||
IWPM_NLA_RQUERY_MAPPED_REM_ADDR,
|
||||
IWPM_NLA_RQUERY_MAPPING_ERR,
|
||||
|
|
@ -114,6 +133,7 @@ enum {
|
|||
IWPM_NLA_MAPINFO_UNSPEC = 0,
|
||||
IWPM_NLA_MAPINFO_LOCAL_ADDR,
|
||||
IWPM_NLA_MAPINFO_MAPPED_ADDR,
|
||||
IWPM_NLA_MAPINFO_FLAGS,
|
||||
IWPM_NLA_MAPINFO_MAX
|
||||
};
|
||||
|
||||
|
|
@ -132,6 +152,12 @@ enum {
|
|||
IWPM_NLA_ERR_MAX
|
||||
};
|
||||
|
||||
enum {
|
||||
IWPM_NLA_HELLO_UNSPEC = 0,
|
||||
IWPM_NLA_HELLO_ABI_VERSION,
|
||||
IWPM_NLA_HELLO_MAX
|
||||
};
|
||||
|
||||
/*
|
||||
* Local service operations:
|
||||
* RESOLVE - The client requests the local service to resolve a path.
|
||||
|
|
@ -229,9 +255,11 @@ enum rdma_nldev_command {
|
|||
RDMA_NLDEV_CMD_GET, /* can dump */
|
||||
RDMA_NLDEV_CMD_SET,
|
||||
|
||||
/* 3 - 4 are free to use */
|
||||
RDMA_NLDEV_CMD_NEWLINK,
|
||||
|
||||
RDMA_NLDEV_CMD_PORT_GET = 5, /* can dump */
|
||||
RDMA_NLDEV_CMD_DELLINK,
|
||||
|
||||
RDMA_NLDEV_CMD_PORT_GET, /* can dump */
|
||||
|
||||
/* 6 - 8 are free to use */
|
||||
|
||||
|
|
@ -430,6 +458,20 @@ enum rdma_nldev_attr {
|
|||
RDMA_NLDEV_ATTR_DRIVER_S64, /* s64 */
|
||||
RDMA_NLDEV_ATTR_DRIVER_U64, /* u64 */
|
||||
|
||||
/*
|
||||
* Indexes to get/set secific entry,
|
||||
* for QP use RDMA_NLDEV_ATTR_RES_LQPN
|
||||
*/
|
||||
RDMA_NLDEV_ATTR_RES_PDN, /* u32 */
|
||||
RDMA_NLDEV_ATTR_RES_CQN, /* u32 */
|
||||
RDMA_NLDEV_ATTR_RES_MRN, /* u32 */
|
||||
RDMA_NLDEV_ATTR_RES_CM_IDN, /* u32 */
|
||||
RDMA_NLDEV_ATTR_RES_CTXN, /* u32 */
|
||||
/*
|
||||
* Identifies the rdma driver. eg: "rxe" or "siw"
|
||||
*/
|
||||
RDMA_NLDEV_ATTR_LINK_TYPE, /* string */
|
||||
|
||||
/*
|
||||
* Always the end
|
||||
*/
|
||||
|
|
|
|||
|
|
@ -300,6 +300,10 @@ enum {
|
|||
RDMA_OPTION_ID_TOS = 0,
|
||||
RDMA_OPTION_ID_REUSEADDR = 1,
|
||||
RDMA_OPTION_ID_AFONLY = 2,
|
||||
RDMA_OPTION_ID_ACK_TIMEOUT = 3
|
||||
};
|
||||
|
||||
enum {
|
||||
RDMA_OPTION_IB_PATH = 1
|
||||
};
|
||||
|
||||
|
|
|
|||
|
|
@ -58,8 +58,7 @@ struct rxe_global_route {
|
|||
struct rxe_av {
|
||||
__u8 port_num;
|
||||
__u8 network_type;
|
||||
__u16 reserved1;
|
||||
__u32 reserved2;
|
||||
__u8 dmac[6];
|
||||
struct rxe_global_route grh;
|
||||
union {
|
||||
struct sockaddr_in _sockaddr_in;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue