Let's kick-off this release cycle.
Showing the changes to include/uapi (83 of 11870 files). Show all
Unified · Split
| @@ -20,18 +20,18 @@ · 19 unmodified lines | |||
| 20 | #define HUGETLB_FLAG_ENCODE_SHIFT 26 | 20 | #define HUGETLB_FLAG_ENCODE_SHIFT 26 |
| 21 | #define HUGETLB_FLAG_ENCODE_MASK 0x3f | 21 | #define HUGETLB_FLAG_ENCODE_MASK 0x3f |
| 22 | 22 | ||
| 23 | #define HUGETLB_FLAG_ENCODE_16KB (14 << HUGETLB_FLAG_ENCODE_SHIFT) | 23 | #define HUGETLB_FLAG_ENCODE_16KB (14U << HUGETLB_FLAG_ENCODE_SHIFT) |
| 24 | #define HUGETLB_FLAG_ENCODE_64KB (16 << HUGETLB_FLAG_ENCODE_SHIFT) | 24 | #define HUGETLB_FLAG_ENCODE_64KB (16U << HUGETLB_FLAG_ENCODE_SHIFT) |
| 25 | #define HUGETLB_FLAG_ENCODE_512KB (19 << HUGETLB_FLAG_ENCODE_SHIFT) | 25 | #define HUGETLB_FLAG_ENCODE_512KB (19U << HUGETLB_FLAG_ENCODE_SHIFT) |
| 26 | #define HUGETLB_FLAG_ENCODE_1MB (20 << HUGETLB_FLAG_ENCODE_SHIFT) | 26 | #define HUGETLB_FLAG_ENCODE_1MB (20U << HUGETLB_FLAG_ENCODE_SHIFT) |
| 27 | #define HUGETLB_FLAG_ENCODE_2MB (21 << HUGETLB_FLAG_ENCODE_SHIFT) | 27 | #define HUGETLB_FLAG_ENCODE_2MB (21U << HUGETLB_FLAG_ENCODE_SHIFT) |
| 28 | #define HUGETLB_FLAG_ENCODE_8MB (23 << HUGETLB_FLAG_ENCODE_SHIFT) | 28 | #define HUGETLB_FLAG_ENCODE_8MB (23U << HUGETLB_FLAG_ENCODE_SHIFT) |
| 29 | #define HUGETLB_FLAG_ENCODE_16MB (24 << HUGETLB_FLAG_ENCODE_SHIFT) | 29 | #define HUGETLB_FLAG_ENCODE_16MB (24U << HUGETLB_FLAG_ENCODE_SHIFT) |
| 30 | #define HUGETLB_FLAG_ENCODE_32MB (25 << HUGETLB_FLAG_ENCODE_SHIFT) | 30 | #define HUGETLB_FLAG_ENCODE_32MB (25U << HUGETLB_FLAG_ENCODE_SHIFT) |
| 31 | #define HUGETLB_FLAG_ENCODE_256MB (28 << HUGETLB_FLAG_ENCODE_SHIFT) | 31 | #define HUGETLB_FLAG_ENCODE_256MB (28U << HUGETLB_FLAG_ENCODE_SHIFT) |
| 32 | #define HUGETLB_FLAG_ENCODE_512MB (29 << HUGETLB_FLAG_ENCODE_SHIFT) | 32 | #define HUGETLB_FLAG_ENCODE_512MB (29U << HUGETLB_FLAG_ENCODE_SHIFT) |
| 33 | #define HUGETLB_FLAG_ENCODE_1GB (30 << HUGETLB_FLAG_ENCODE_SHIFT) | 33 | #define HUGETLB_FLAG_ENCODE_1GB (30U << HUGETLB_FLAG_ENCODE_SHIFT) |
| 34 | #define HUGETLB_FLAG_ENCODE_2GB (31 << HUGETLB_FLAG_ENCODE_SHIFT) | 34 | #define HUGETLB_FLAG_ENCODE_2GB (31U << HUGETLB_FLAG_ENCODE_SHIFT) |
| 35 | #define HUGETLB_FLAG_ENCODE_16GB (34 << HUGETLB_FLAG_ENCODE_SHIFT) | 35 | #define HUGETLB_FLAG_ENCODE_16GB (34U << HUGETLB_FLAG_ENCODE_SHIFT) |
| 36 | 36 | ||
| 37 | #endif /* _ASM_GENERIC_HUGETLB_ENCODE_H_ */ | 37 | #endif /* _ASM_GENERIC_HUGETLB_ENCODE_H_ */ |
| @@ -77,6 +77,8 @@ · 76 unmodified lines | |||
| 77 | 77 | ||
| 78 | #define MADV_DONTNEED_LOCKED 24 /* like DONTNEED, but drop locked pages too */ | 78 | #define MADV_DONTNEED_LOCKED 24 /* like DONTNEED, but drop locked pages too */ |
| 79 | 79 | ||
| 80 | #define MADV_COLLAPSE 25 /* Synchronous hugepage collapse */ | ||
| 81 | |||
| 80 | /* compatibility flags */ | 82 | /* compatibility flags */ |
| 81 | #define MAP_FILE 0 | 83 | #define MAP_FILE 0 |
| 82 | 84 | ||
| @@ -755,6 +755,14 @@ struct drm_amdgpu_cs_chunk_data { · 754 unmodified lines | |||
| 755 | #define AMDGPU_INFO_FW_TOC 0x15 | 755 | #define AMDGPU_INFO_FW_TOC 0x15 |
| 756 | /* Subquery id: Query CAP firmware version */ | 756 | /* Subquery id: Query CAP firmware version */ |
| 757 | #define AMDGPU_INFO_FW_CAP 0x16 | 757 | #define AMDGPU_INFO_FW_CAP 0x16 |
| 758 | /* Subquery id: Query GFX RLCP firmware version */ | ||
| 759 | #define AMDGPU_INFO_FW_GFX_RLCP 0x17 | ||
| 760 | /* Subquery id: Query GFX RLCV firmware version */ | ||
| 761 | #define AMDGPU_INFO_FW_GFX_RLCV 0x18 | ||
| 762 | /* Subquery id: Query MES_KIQ firmware version */ | ||
| 763 | #define AMDGPU_INFO_FW_MES_KIQ 0x19 | ||
| 764 | /* Subquery id: Query MES firmware version */ | ||
| 765 | #define AMDGPU_INFO_FW_MES 0x1a | ||
| 758 | 766 | ||
| 759 | /* number of bytes moved for TTM migration */ | 767 | /* number of bytes moved for TTM migration */ |
| 760 | #define AMDGPU_INFO_NUM_BYTES_MOVED 0x0f | 768 | #define AMDGPU_INFO_NUM_BYTES_MOVED 0x0f |
| @@ -79,7 +79,7 @@ struct bpf_insn { · 78 unmodified lines | |||
| 79 | /* Key of an a BPF_MAP_TYPE_LPM_TRIE entry */ | 79 | /* Key of an a BPF_MAP_TYPE_LPM_TRIE entry */ |
| 80 | struct bpf_lpm_trie_key { | 80 | struct bpf_lpm_trie_key { |
| 81 | __u32 prefixlen; /* up to 32 for AF_INET, 128 for AF_INET6 */ | 81 | __u32 prefixlen; /* up to 32 for AF_INET, 128 for AF_INET6 */ |
| 82 | __u8 data[]; /* Arbitrary size */ | 82 | __u8 data[0]; /* Arbitrary size */ |
| 83 | }; | 83 | }; |
| 84 | 84 | ||
| 85 | struct bpf_cgroup_storage_key { | 85 | struct bpf_cgroup_storage_key { |
| @@ -87,10 +87,35 @@ struct bpf_cgroup_storage_key { · 1 unmodified line | |||
| 87 | __u32 attach_type; /* program attach type (enum bpf_attach_type) */ | 87 | __u32 attach_type; /* program attach type (enum bpf_attach_type) */ |
| 88 | }; | 88 | }; |
| 89 | 89 | ||
| 90 | enum bpf_cgroup_iter_order { | ||
| 91 | BPF_CGROUP_ITER_ORDER_UNSPEC = 0, | ||
| 92 | BPF_CGROUP_ITER_SELF_ONLY, /* process only a single object. */ | ||
| 93 | BPF_CGROUP_ITER_DESCENDANTS_PRE, /* walk descendants in pre-order. */ | ||
| 94 | BPF_CGROUP_ITER_DESCENDANTS_POST, /* walk descendants in post-order. */ | ||
| 95 | BPF_CGROUP_ITER_ANCESTORS_UP, /* walk ancestors upward. */ | ||
| 96 | }; | ||
| 97 | |||
| 90 | union bpf_iter_link_info { | 98 | union bpf_iter_link_info { |
| 91 | struct { | 99 | struct { |
| 92 | __u32 map_fd; | 100 | __u32 map_fd; |
| 93 | } map; | 101 | } map; |
| 102 | struct { | ||
| 103 | enum bpf_cgroup_iter_order order; | ||
| 104 | |||
| 105 | /* At most one of cgroup_fd and cgroup_id can be non-zero. If | ||
| 106 | * both are zero, the walk starts from the default cgroup v2 | ||
| 107 | * root. For walking v1 hierarchy, one should always explicitly | ||
| 108 | * specify cgroup_fd. | ||
| 109 | */ | ||
| 110 | __u32 cgroup_fd; | ||
| 111 | __u64 cgroup_id; | ||
| 112 | } cgroup; | ||
| 113 | /* Parameters of task iterators. */ | ||
| 114 | struct { | ||
| 115 | __u32 tid; | ||
| 116 | __u32 pid; | ||
| 117 | __u32 pid_fd; | ||
| 118 | } task; | ||
| 94 | }; | 119 | }; |
| 95 | 120 | ||
| 96 | /* BPF syscall commands, see bpf(2) man-page for more details. */ | 121 | /* BPF syscall commands, see bpf(2) man-page for more details. */ |
| @@ -909,6 +934,7 @@ enum bpf_map_type { · 812 unmodified lines | |||
| 909 | BPF_MAP_TYPE_INODE_STORAGE, | 934 | BPF_MAP_TYPE_INODE_STORAGE, |
| 910 | BPF_MAP_TYPE_TASK_STORAGE, | 935 | BPF_MAP_TYPE_TASK_STORAGE, |
| 911 | BPF_MAP_TYPE_BLOOM_FILTER, | 936 | BPF_MAP_TYPE_BLOOM_FILTER, |
| 937 | BPF_MAP_TYPE_USER_RINGBUF, | ||
| 912 | }; | 938 | }; |
| 913 | 939 | ||
| 914 | /* Note that tracing related programs such as | 940 | /* Note that tracing related programs such as |
| @@ -1233,7 +1259,7 @@ enum { · 318 unmodified lines | |||
| 1233 | 1259 | ||
| 1234 | /* Query effective (directly attached + inherited from ancestor cgroups) | 1260 | /* Query effective (directly attached + inherited from ancestor cgroups) |
| 1235 | * programs that will be executed for events within a cgroup. | 1261 | * programs that will be executed for events within a cgroup. |
| 1236 | * attach_flags with this flag are returned only for directly attached programs. | 1262 | * attach_flags with this flag are always returned 0. |
| 1237 | */ | 1263 | */ |
| 1238 | #define BPF_F_QUERY_EFFECTIVE (1U << 0) | 1264 | #define BPF_F_QUERY_EFFECTIVE (1U << 0) |
| 1239 | 1265 | ||
| @@ -1432,7 +1458,10 @@ union bpf_attr { · 192 unmodified lines | |||
| 1432 | __u32 attach_flags; | 1458 | __u32 attach_flags; |
| 1433 | __aligned_u64 prog_ids; | 1459 | __aligned_u64 prog_ids; |
| 1434 | __u32 prog_cnt; | 1460 | __u32 prog_cnt; |
| 1435 | __aligned_u64 prog_attach_flags; /* output: per-program attach_flags */ | 1461 | /* output: per-program attach_flags. |
| 1462 | * not allowed to be set during effective query. | ||
| 1463 | */ | ||
| 1464 | __aligned_u64 prog_attach_flags; | ||
| 1436 | } query; | 1465 | } query; |
| 1437 | 1466 | ||
| 1438 | struct { /* anonymous struct used by BPF_RAW_TRACEPOINT_OPEN command */ | 1467 | struct { /* anonymous struct used by BPF_RAW_TRACEPOINT_OPEN command */ |
| @@ -2573,10 +2602,12 @@ union bpf_attr { · 1134 unmodified lines | |||
| 2573 | * There are two supported modes at this time: | 2602 | * There are two supported modes at this time: |
| 2574 | * | 2603 | * |
| 2575 | * * **BPF_ADJ_ROOM_MAC**: Adjust room at the mac layer | 2604 | * * **BPF_ADJ_ROOM_MAC**: Adjust room at the mac layer |
| 2576 | * (room space is added or removed below the layer 2 header). | 2605 | * (room space is added or removed between the layer 2 and |
| 2606 | * layer 3 headers). | ||
| 2577 | * | 2607 | * |
| 2578 | * * **BPF_ADJ_ROOM_NET**: Adjust room at the network layer | 2608 | * * **BPF_ADJ_ROOM_NET**: Adjust room at the network layer |
| 2579 | * (room space is added or removed below the layer 3 header). | 2609 | * (room space is added or removed between the layer 3 and |
| 2610 | * layer 4 headers). | ||
| 2580 | * | 2611 | * |
| 2581 | * The following flags are supported at this time: | 2612 | * The following flags are supported at this time: |
| 2582 | * | 2613 | * |
| @@ -3008,8 +3039,18 @@ union bpf_attr { · 425 unmodified lines | |||
| 3008 | * **BPF_F_USER_STACK** | 3039 | * **BPF_F_USER_STACK** |
| 3009 | * Collect a user space stack instead of a kernel stack. | 3040 | * Collect a user space stack instead of a kernel stack. |
| 3010 | * **BPF_F_USER_BUILD_ID** | 3041 | * **BPF_F_USER_BUILD_ID** |
| 3011 | * Collect buildid+offset instead of ips for user stack, | 3042 | * Collect (build_id, file_offset) instead of ips for user |
| 3012 | * only valid if **BPF_F_USER_STACK** is also specified. | 3043 | * stack, only valid if **BPF_F_USER_STACK** is also |
| 3044 | * specified. | ||
| 3045 | * | ||
| 3046 | * *file_offset* is an offset relative to the beginning | ||
| 3047 | * of the executable or shared object file backing the vma | ||
| 3048 | * which the *ip* falls in. It is *not* an offset relative | ||
| 3049 | * to that object's base address. Accordingly, it must be | ||
| 3050 | * adjusted by adding (sh_addr - sh_offset), where | ||
| 3051 | * sh_{addr,offset} correspond to the executable section | ||
| 3052 | * containing *file_offset* in the object, for comparisons | ||
| 3053 | * to symbols' st_value to be valid. | ||
| 3013 | * | 3054 | * |
| 3014 | * **bpf_get_stack**\ () can collect up to | 3055 | * **bpf_get_stack**\ () can collect up to |
| 3015 | * **PERF_MAX_STACK_DEPTH** both kernel and user frames, subject | 3056 | * **PERF_MAX_STACK_DEPTH** both kernel and user frames, subject |
| @@ -4425,7 +4466,7 @@ union bpf_attr { · 1409 unmodified lines | |||
| 4425 | * | 4466 | * |
| 4426 | * **-EEXIST** if the option already exists. | 4467 | * **-EEXIST** if the option already exists. |
| 4427 | * | 4468 | * |
| 4428 | * **-EFAULT** on failrue to parse the existing header options. | 4469 | * **-EFAULT** on failure to parse the existing header options. |
| 4429 | * | 4470 | * |
| 4430 | * **-EPERM** if the helper cannot be used under the current | 4471 | * **-EPERM** if the helper cannot be used under the current |
| 4431 | * *skops*\ **->op**. | 4472 | * *skops*\ **->op**. |
| @@ -4634,7 +4675,7 @@ union bpf_attr { · 202 unmodified lines | |||
| 4634 | * a *map* with *task* as the **key**. From this | 4675 | * a *map* with *task* as the **key**. From this |
| 4635 | * perspective, the usage is not much different from | 4676 | * perspective, the usage is not much different from |
| 4636 | * **bpf_map_lookup_elem**\ (*map*, **&**\ *task*) except this | 4677 | * **bpf_map_lookup_elem**\ (*map*, **&**\ *task*) except this |
| 4637 | * helper enforces the key must be an task_struct and the map must also | 4678 | * helper enforces the key must be a task_struct and the map must also |
| 4638 | * be a **BPF_MAP_TYPE_TASK_STORAGE**. | 4679 | * be a **BPF_MAP_TYPE_TASK_STORAGE**. |
| 4639 | * | 4680 | * |
| 4640 | * Underneath, the value is stored locally at *task* instead of | 4681 | * Underneath, the value is stored locally at *task* instead of |
| @@ -4692,7 +4733,7 @@ union bpf_attr { · 51 unmodified lines | |||
| 4692 | * | 4733 | * |
| 4693 | * long bpf_ima_inode_hash(struct inode *inode, void *dst, u32 size) | 4734 | * long bpf_ima_inode_hash(struct inode *inode, void *dst, u32 size) |
| 4694 | * Description | 4735 | * Description |
| 4695 | * Returns the stored IMA hash of the *inode* (if it's avaialable). | 4736 | * Returns the stored IMA hash of the *inode* (if it's available). |
| 4696 | * If the hash is larger than *size*, then only *size* | 4737 | * If the hash is larger than *size*, then only *size* |
| 4697 | * bytes will be copied to *dst* | 4738 | * bytes will be copied to *dst* |
| 4698 | * Return | 4739 | * Return |
| @@ -4716,12 +4757,12 @@ union bpf_attr { · 17 unmodified lines | |||
| 4716 | * | 4757 | * |
| 4717 | * The argument *len_diff* can be used for querying with a planned | 4758 | * The argument *len_diff* can be used for querying with a planned |
| 4718 | * size change. This allows to check MTU prior to changing packet | 4759 | * size change. This allows to check MTU prior to changing packet |
| 4719 | * ctx. Providing an *len_diff* adjustment that is larger than the | 4760 | * ctx. Providing a *len_diff* adjustment that is larger than the |
| 4720 | * actual packet size (resulting in negative packet size) will in | 4761 | * actual packet size (resulting in negative packet size) will in |
| 4721 | * principle not exceed the MTU, why it is not considered a | 4762 | * principle not exceed the MTU, which is why it is not considered |
| 4722 | * failure. Other BPF-helpers are needed for performing the | 4763 | * a failure. Other BPF helpers are needed for performing the |
| 4723 | * planned size change, why the responsability for catch a negative | 4764 | * planned size change; therefore the responsibility for catching |
| 4724 | * packet size belong in those helpers. | 4765 | * a negative packet size belongs in those helpers. |
| 4725 | * | 4766 | * |
| 4726 | * Specifying *ifindex* zero means the MTU check is performed | 4767 | * Specifying *ifindex* zero means the MTU check is performed |
| 4727 | * against the current net device. This is practical if this isn't | 4768 | * against the current net device. This is practical if this isn't |
| @@ -4919,6 +4960,7 @@ union bpf_attr { · 191 unmodified lines | |||
| 4919 | * Get address of the traced function (for tracing and kprobe programs). | 4960 | * Get address of the traced function (for tracing and kprobe programs). |
| 4920 | * Return | 4961 | * Return |
| 4921 | * Address of the traced function. | 4962 | * Address of the traced function. |
| 4963 | * 0 for kprobes placed within the function (not at the entry). | ||
| 4922 | * | 4964 | * |
| 4923 | * u64 bpf_get_attach_cookie(void *ctx) | 4965 | * u64 bpf_get_attach_cookie(void *ctx) |
| 4924 | * Description | 4966 | * Description |
| @@ -5048,12 +5090,12 @@ union bpf_attr { · 123 unmodified lines | |||
| 5048 | * | 5090 | * |
| 5049 | * long bpf_get_func_arg(void *ctx, u32 n, u64 *value) | 5091 | * long bpf_get_func_arg(void *ctx, u32 n, u64 *value) |
| 5050 | * Description | 5092 | * Description |
| 5051 | * Get **n**-th argument (zero based) of the traced function (for tracing programs) | 5093 | * Get **n**-th argument register (zero based) of the traced function (for tracing programs) |
| 5052 | * returned in **value**. | 5094 | * returned in **value**. |
| 5053 | * | 5095 | * |
| 5054 | * Return | 5096 | * Return |
| 5055 | * 0 on success. | 5097 | * 0 on success. |
| 5056 | * **-EINVAL** if n >= arguments count of traced function. | 5098 | * **-EINVAL** if n >= argument register count of traced function. |
| 5057 | * | 5099 | * |
| 5058 | * long bpf_get_func_ret(void *ctx, u64 *value) | 5100 | * long bpf_get_func_ret(void *ctx, u64 *value) |
| 5059 | * Description | 5101 | * Description |
| @@ -5066,24 +5108,37 @@ union bpf_attr { · 6 unmodified lines | |||
| 5066 | * | 5108 | * |
| 5067 | * long bpf_get_func_arg_cnt(void *ctx) | 5109 | * long bpf_get_func_arg_cnt(void *ctx) |
| 5068 | * Description | 5110 | * Description |
| 5069 | * Get number of arguments of the traced function (for tracing programs). | 5111 | * Get number of registers of the traced function (for tracing programs) where |
| 5112 | * function arguments are stored in these registers. | ||
| 5070 | * | 5113 | * |
| 5071 | * Return | 5114 | * Return |
| 5072 | * The number of arguments of the traced function. | 5115 | * The number of argument registers of the traced function. |
| 5073 | * | 5116 | * |
| 5074 | * int bpf_get_retval(void) | 5117 | * int bpf_get_retval(void) |
| 5075 | * Description | 5118 | * Description |
| 5076 | * Get the syscall's return value that will be returned to userspace. | 5119 | * Get the BPF program's return value that will be returned to the upper layers. |
| 5077 | * | 5120 | * |
| 5078 | * This helper is currently supported by cgroup programs only. | 5121 | * This helper is currently supported by cgroup programs and only by the hooks |
| 5122 | * where BPF program's return value is returned to the userspace via errno. | ||
| 5079 | * Return | 5123 | * Return |
| 5080 | * The syscall's return value. | 5124 | * The BPF program's return value. |
| 5081 | * | 5125 | * |
| 5082 | * int bpf_set_retval(int retval) | 5126 | * int bpf_set_retval(int retval) |
| 5083 | * Description | 5127 | * Description |
| 5084 | * Set the syscall's return value that will be returned to userspace. | 5128 | * Set the BPF program's return value that will be returned to the upper layers. |
| 5129 | * | ||
| 5130 | * This helper is currently supported by cgroup programs and only by the hooks | ||
| 5131 | * where BPF program's return value is returned to the userspace via errno. | ||
| 5132 | * | ||
| 5133 | * Note that there is the following corner case where the program exports an error | ||
| 5134 | * via bpf_set_retval but signals success via 'return 1': | ||
| 5135 | * | ||
| 5136 | * bpf_set_retval(-EPERM); | ||
| 5137 | * return 1; | ||
| 5138 | * | ||
| 5139 | * In this case, the BPF program's return value will use helper's -EPERM. This | ||
| 5140 | * still holds true for cgroup/bind{4,6} which supports extra 'return 3' success case. | ||
| 5085 | * | 5141 | * |
| 5086 | * This helper is currently supported by cgroup programs only. | ||
| 5087 | * Return | 5142 | * Return |
| 5088 | * 0 on success, or a negative error in case of failure. | 5143 | * 0 on success, or a negative error in case of failure. |
| 5089 | * | 5144 | * |
| @@ -5331,6 +5386,55 @@ union bpf_attr { · 241 unmodified lines | |||
| 5331 | * **-EACCES** if the SYN cookie is not valid. | 5386 | * **-EACCES** if the SYN cookie is not valid. |
| 5332 | * | 5387 | * |
| 5333 | * **-EPROTONOSUPPORT** if CONFIG_IPV6 is not builtin. | 5388 | * **-EPROTONOSUPPORT** if CONFIG_IPV6 is not builtin. |
| 5389 | * | ||
| 5390 | * u64 bpf_ktime_get_tai_ns(void) | ||
| 5391 | * Description | ||
| 5392 | * A nonsettable system-wide clock derived from wall-clock time but | ||
| 5393 | * ignoring leap seconds. This clock does not experience | ||
| 5394 | * discontinuities and backwards jumps caused by NTP inserting leap | ||
| 5395 | * seconds as CLOCK_REALTIME does. | ||
| 5396 | * | ||
| 5397 | * See: **clock_gettime**\ (**CLOCK_TAI**) | ||
| 5398 | * Return | ||
| 5399 | * Current *ktime*. | ||
| 5400 | * | ||
| 5401 | * long bpf_user_ringbuf_drain(struct bpf_map *map, void *callback_fn, void *ctx, u64 flags) | ||
| 5402 | * Description | ||
| 5403 | * Drain samples from the specified user ring buffer, and invoke | ||
| 5404 | * the provided callback for each such sample: | ||
| 5405 | * | ||
| 5406 | * long (\*callback_fn)(struct bpf_dynptr \*dynptr, void \*ctx); | ||
| 5407 | * | ||
| 5408 | * If **callback_fn** returns 0, the helper will continue to try | ||
| 5409 | * and drain the next sample, up to a maximum of | ||
| 5410 | * BPF_MAX_USER_RINGBUF_SAMPLES samples. If the return value is 1, | ||
| 5411 | * the helper will skip the rest of the samples and return. Other | ||
| 5412 | * return values are not used now, and will be rejected by the | ||
| 5413 | * verifier. | ||
| 5414 | * Return | ||
| 5415 | * The number of drained samples if no error was encountered while | ||
| 5416 | * draining samples, or 0 if no samples were present in the ring | ||
| 5417 | * buffer. If a user-space producer was epoll-waiting on this map, | ||
| 5418 | * and at least one sample was drained, they will receive an event | ||
| 5419 | * notification notifying them of available space in the ring | ||
| 5420 | * buffer. If the BPF_RB_NO_WAKEUP flag is passed to this | ||
| 5421 | * function, no wakeup notification will be sent. If the | ||
| 5422 | * BPF_RB_FORCE_WAKEUP flag is passed, a wakeup notification will | ||
| 5423 | * be sent even if no sample was drained. | ||
| 5424 | * | ||
| 5425 | * On failure, the returned value is one of the following: | ||
| 5426 | * | ||
| 5427 | * **-EBUSY** if the ring buffer is contended, and another calling | ||
| 5428 | * context was concurrently draining the ring buffer. | ||
| 5429 | * | ||
| 5430 | * **-EINVAL** if user-space is not properly tracking the ring | ||
| 5431 | * buffer due to the producer position not being aligned to 8 | ||
| 5432 | * bytes, a sample not being aligned to 8 bytes, or the producer | ||
| 5433 | * position not matching the advertised length of a sample. | ||
| 5434 | * | ||
| 5435 | * **-E2BIG** if user-space has tried to publish a sample which is | ||
| 5436 | * larger than the size of the ring buffer, or which cannot fit | ||
| 5437 | * within a struct bpf_dynptr. | ||
| 5334 | */ | 5438 | */ |
| 5335 | #define __BPF_FUNC_MAPPER(FN) \ | 5439 | #define __BPF_FUNC_MAPPER(FN) \ |
| 5336 | FN(unspec), \ | 5440 | FN(unspec), \ |
| @@ -5541,6 +5645,8 @@ union bpf_attr { · 204 unmodified lines | |||
| 5541 | FN(tcp_raw_gen_syncookie_ipv6), \ | 5645 | FN(tcp_raw_gen_syncookie_ipv6), \ |
| 5542 | FN(tcp_raw_check_syncookie_ipv4), \ | 5646 | FN(tcp_raw_check_syncookie_ipv4), \ |
| 5543 | FN(tcp_raw_check_syncookie_ipv6), \ | 5647 | FN(tcp_raw_check_syncookie_ipv6), \ |
| 5648 | FN(ktime_get_tai_ns), \ | ||
| 5649 | FN(user_ringbuf_drain), \ | ||
| 5544 | /* */ | 5650 | /* */ |
| 5545 | 5651 | ||
| 5546 | /* integer value in 'imm' field of BPF_CALL instruction selects which helper | 5652 | /* integer value in 'imm' field of BPF_CALL instruction selects which helper |
| @@ -5603,6 +5709,11 @@ enum { · 56 unmodified lines | |||
| 5603 | BPF_F_SEQ_NUMBER = (1ULL << 3), | 5709 | BPF_F_SEQ_NUMBER = (1ULL << 3), |
| 5604 | }; | 5710 | }; |
| 5605 | 5711 | ||
| 5712 | /* BPF_FUNC_skb_get_tunnel_key flags. */ | ||
| 5713 | enum { | ||
| 5714 | BPF_F_TUNINFO_FLAGS = (1ULL << 4), | ||
| 5715 | }; | ||
| 5716 | |||
| 5606 | /* BPF_FUNC_perf_event_output, BPF_FUNC_perf_event_read and | 5717 | /* BPF_FUNC_perf_event_output, BPF_FUNC_perf_event_read and |
| 5607 | * BPF_FUNC_perf_event_read_value flags. | 5718 | * BPF_FUNC_perf_event_read_value flags. |
| 5608 | */ | 5719 | */ |
| @@ -5792,7 +5903,10 @@ struct bpf_tunnel_key { · 183 unmodified lines | |||
| 5792 | }; | 5903 | }; |
| 5793 | __u8 tunnel_tos; | 5904 | __u8 tunnel_tos; |
| 5794 | __u8 tunnel_ttl; | 5905 | __u8 tunnel_ttl; |
| 5795 | __u16 tunnel_ext; /* Padding, future use. */ | 5906 | union { |
| 5907 | __u16 tunnel_ext; /* compat */ | ||
| 5908 | __be16 tunnel_flags; | ||
| 5909 | }; | ||
| 5796 | __u32 tunnel_label; | 5910 | __u32 tunnel_label; |
| 5797 | union { | 5911 | union { |
| 5798 | __u32 local_ipv4; | 5912 | __u32 local_ipv4; |
| @@ -5836,6 +5950,11 @@ enum bpf_ret_code { · 37 unmodified lines | |||
| 5836 | * represented by BPF_REDIRECT above). | 5950 | * represented by BPF_REDIRECT above). |
| 5837 | */ | 5951 | */ |
| 5838 | BPF_LWT_REROUTE = 128, | 5952 | BPF_LWT_REROUTE = 128, |
| 5953 | /* BPF_FLOW_DISSECTOR_CONTINUE: used by BPF_PROG_TYPE_FLOW_DISSECTOR | ||
| 5954 | * to indicate that no custom dissection was performed, and | ||
| 5955 | * fallback to standard dissector is requested. | ||
| 5956 | */ | ||
| 5957 | BPF_FLOW_DISSECTOR_CONTINUE = 129, | ||
| 5839 | }; | 5958 | }; |
| 5840 | 5959 | ||
| 5841 | struct bpf_sock { | 5960 | struct bpf_sock { |
| @@ -6134,11 +6253,26 @@ struct bpf_link_info { · 292 unmodified lines | |||
| 6134 | struct { | 6253 | struct { |
| 6135 | __aligned_u64 target_name; /* in/out: target_name buffer ptr */ | 6254 | __aligned_u64 target_name; /* in/out: target_name buffer ptr */ |
| 6136 | __u32 target_name_len; /* in/out: target_name buffer len */ | 6255 | __u32 target_name_len; /* in/out: target_name buffer len */ |
| 6256 | |||
| 6257 | /* If the iter specific field is 32 bits, it can be put | ||
| 6258 | * in the first or second union. Otherwise it should be | ||
| 6259 | * put in the second union. | ||
| 6260 | */ | ||
| 6137 | union { | 6261 | union { |
| 6138 | struct { | 6262 | struct { |
| 6139 | __u32 map_id; | 6263 | __u32 map_id; |
| 6140 | } map; | 6264 | } map; |
| 6141 | }; | 6265 | }; |
| 6266 | union { | ||
| 6267 | struct { | ||
| 6268 | __u64 cgroup_id; | ||
| 6269 | __u32 order; | ||
| 6270 | } cgroup; | ||
| 6271 | struct { | ||
| 6272 | __u32 tid; | ||
| 6273 | __u32 pid; | ||
| 6274 | } task; | ||
| 6275 | }; | ||
| 6142 | } iter; | 6276 | } iter; |
| 6143 | struct { | 6277 | struct { |
| 6144 | __u32 netns_ino; | 6278 | __u32 netns_ino; |
| @@ -290,6 +290,12 @@ struct btrfs_ioctl_fs_info_args { · 289 unmodified lines | |||
| 290 | #define BTRFS_FEATURE_COMPAT_RO_FREE_SPACE_TREE_VALID (1ULL << 1) | 290 | #define BTRFS_FEATURE_COMPAT_RO_FREE_SPACE_TREE_VALID (1ULL << 1) |
| 291 | #define BTRFS_FEATURE_COMPAT_RO_VERITY (1ULL << 2) | 291 | #define BTRFS_FEATURE_COMPAT_RO_VERITY (1ULL << 2) |
| 292 | 292 | ||
| 293 | /* | ||
| 294 | * Put all block group items into a dedicated block group tree, greatly | ||
| 295 | * reducing mount time for large filesystem due to better locality. | ||
| 296 | */ | ||
| 297 | #define BTRFS_FEATURE_COMPAT_RO_BLOCK_GROUP_TREE (1ULL << 3) | ||
| 298 | |||
| 293 | #define BTRFS_FEATURE_INCOMPAT_MIXED_BACKREF (1ULL << 0) | 299 | #define BTRFS_FEATURE_INCOMPAT_MIXED_BACKREF (1ULL << 0) |
| 294 | #define BTRFS_FEATURE_INCOMPAT_DEFAULT_SUBVOL (1ULL << 1) | 300 | #define BTRFS_FEATURE_INCOMPAT_DEFAULT_SUBVOL (1ULL << 1) |
| 295 | #define BTRFS_FEATURE_INCOMPAT_MIXED_GROUPS (1ULL << 2) | 301 | #define BTRFS_FEATURE_INCOMPAT_MIXED_GROUPS (1ULL << 2) |
| @@ -965,6 +965,10 @@ static inline __u16 btrfs_qgroup_level(__u64 qgroupid) · 964 unmodified lines | |||
| 965 | */ | 965 | */ |
| 966 | #define BTRFS_QGROUP_STATUS_FLAG_INCONSISTENT (1ULL << 2) | 966 | #define BTRFS_QGROUP_STATUS_FLAG_INCONSISTENT (1ULL << 2) |
| 967 | 967 | ||
| 968 | #define BTRFS_QGROUP_STATUS_FLAGS_MASK (BTRFS_QGROUP_STATUS_FLAG_ON | \ | ||
| 969 | BTRFS_QGROUP_STATUS_FLAG_RESCAN | \ | ||
| 970 | BTRFS_QGROUP_STATUS_FLAG_INCONSISTENT) | ||
| 971 | |||
| 968 | #define BTRFS_QGROUP_STATUS_VERSION 1 | 972 | #define BTRFS_QGROUP_STATUS_VERSION 1 |
| 969 | 973 | ||
| 970 | struct btrfs_qgroup_status_item { | 974 | struct btrfs_qgroup_status_item { |
| @@ -48,6 +48,7 @@ · 47 unmodified lines | |||
| 48 | 48 | ||
| 49 | #include <linux/types.h> | 49 | #include <linux/types.h> |
| 50 | #include <linux/socket.h> | 50 | #include <linux/socket.h> |
| 51 | #include <linux/stddef.h> /* for offsetof */ | ||
| 51 | 52 | ||
| 52 | /* controller area network (CAN) kernel definitions */ | 53 | /* controller area network (CAN) kernel definitions */ |
| 53 | 54 | ||
| @@ -60,6 +61,7 @@ · 6 unmodified lines | |||
| 60 | #define CAN_SFF_MASK 0x000007FFU /* standard frame format (SFF) */ | 61 | #define CAN_SFF_MASK 0x000007FFU /* standard frame format (SFF) */ |
| 61 | #define CAN_EFF_MASK 0x1FFFFFFFU /* extended frame format (EFF) */ | 62 | #define CAN_EFF_MASK 0x1FFFFFFFU /* extended frame format (EFF) */ |
| 62 | #define CAN_ERR_MASK 0x1FFFFFFFU /* omit EFF, RTR, ERR flags */ | 63 | #define CAN_ERR_MASK 0x1FFFFFFFU /* omit EFF, RTR, ERR flags */ |
| 64 | #define CANXL_PRIO_MASK CAN_SFF_MASK /* 11 bit priority mask */ | ||
| 63 | 65 | ||
| 64 | /* | 66 | /* |
| 65 | * Controller Area Network Identifier structure | 67 | * Controller Area Network Identifier structure |
| @@ -73,6 +75,7 @@ typedef __u32 canid_t; · 7 unmodified lines | |||
| 73 | 75 | ||
| 74 | #define CAN_SFF_ID_BITS 11 | 76 | #define CAN_SFF_ID_BITS 11 |
| 75 | #define CAN_EFF_ID_BITS 29 | 77 | #define CAN_EFF_ID_BITS 29 |
| 78 | #define CANXL_PRIO_BITS CAN_SFF_ID_BITS | ||
| 76 | 79 | ||
| 77 | /* | 80 | /* |
| 78 | * Controller Area Network Error Message Frame Mask structure | 81 | * Controller Area Network Error Message Frame Mask structure |
| @@ -91,6 +94,16 @@ typedef __u32 can_err_mask_t; · 12 unmodified lines | |||
| 91 | #define CANFD_MAX_DLC 15 | 94 | #define CANFD_MAX_DLC 15 |
| 92 | #define CANFD_MAX_DLEN 64 | 95 | #define CANFD_MAX_DLEN 64 |
| 93 | 96 | ||
| 97 | /* | ||
| 98 | * CAN XL payload length and DLC definitions according to ISO 11898-1 | ||
| 99 | * CAN XL DLC ranges from 0 .. 2047 => data length from 1 .. 2048 byte | ||
| 100 | */ | ||
| 101 | #define CANXL_MIN_DLC 0 | ||
| 102 | #define CANXL_MAX_DLC 2047 | ||
| 103 | #define CANXL_MAX_DLC_MASK 0x07FF | ||
| 104 | #define CANXL_MIN_DLEN 1 | ||
| 105 | #define CANXL_MAX_DLEN 2048 | ||
| 106 | |||
| 94 | /** | 107 | /** |
| 95 | * struct can_frame - Classical CAN frame structure (aka CAN 2.0B) | 108 | * struct can_frame - Classical CAN frame structure (aka CAN 2.0B) |
| 96 | * @can_id: CAN ID of the frame and CAN_*_FLAG flags, see canid_t definition | 109 | * @can_id: CAN ID of the frame and CAN_*_FLAG flags, see canid_t definition |
| @@ -141,8 +154,8 @@ struct can_frame { · 44 unmodified lines | |||
| 141 | * When this is done the former differentiation via CAN_MTU / CANFD_MTU gets | 154 | * When this is done the former differentiation via CAN_MTU / CANFD_MTU gets |
| 142 | * lost. CANFD_FDF allows programmers to mark CAN FD frames in the case of | 155 | * lost. CANFD_FDF allows programmers to mark CAN FD frames in the case of |
| 143 | * using struct canfd_frame for mixed CAN / CAN FD content (dual use). | 156 | * using struct canfd_frame for mixed CAN / CAN FD content (dual use). |
| 144 | * N.B. the Kernel APIs do NOT provide mixed CAN / CAN FD content inside of | 157 | * Since the introduction of CAN XL the CANFD_FDF flag is set in all CAN FD |
| 145 | * struct canfd_frame therefore the CANFD_FDF flag is disregarded by Linux. | 158 | * frame structures provided by the CAN subsystem of the Linux kernel. |
| 146 | */ | 159 | */ |
| 147 | #define CANFD_BRS 0x01 /* bit rate switch (second bitrate for payload data) */ | 160 | #define CANFD_BRS 0x01 /* bit rate switch (second bitrate for payload data) */ |
| 148 | #define CANFD_ESI 0x02 /* error state indicator of the transmitting node */ | 161 | #define CANFD_ESI 0x02 /* error state indicator of the transmitting node */ |
| @@ -166,8 +179,46 @@ struct canfd_frame { · 17 unmodified lines | |||
| 166 | __u8 data[CANFD_MAX_DLEN] __attribute__((aligned(8))); | 179 | __u8 data[CANFD_MAX_DLEN] __attribute__((aligned(8))); |
| 167 | }; | 180 | }; |
| 168 | 181 | ||
| 182 | /* | ||
| 183 | * defined bits for canxl_frame.flags | ||
| 184 | * | ||
| 185 | * The canxl_frame.flags element contains two bits CANXL_XLF and CANXL_SEC | ||
| 186 | * and shares the relative position of the struct can[fd]_frame.len element. | ||
| 187 | * The CANXL_XLF bit ALWAYS needs to be set to indicate a valid CAN XL frame. | ||
| 188 | * As a side effect setting this bit intentionally breaks the length checks | ||
| 189 | * for Classical CAN and CAN FD frames. | ||
| 190 | * | ||
| 191 | * Undefined bits in canxl_frame.flags are reserved and shall be set to zero. | ||
| 192 | */ | ||
| 193 | #define CANXL_XLF 0x80 /* mandatory CAN XL frame flag (must always be set!) */ | ||
| 194 | #define CANXL_SEC 0x01 /* Simple Extended Content (security/segmentation) */ | ||
| 195 | |||
| 196 | /** | ||
| 197 | * struct canxl_frame - CAN with e'X'tended frame 'L'ength frame structure | ||
| 198 | * @prio: 11 bit arbitration priority with zero'ed CAN_*_FLAG flags | ||
| 199 | * @flags: additional flags for CAN XL | ||
| 200 | * @sdt: SDU (service data unit) type | ||
| 201 | * @len: frame payload length in byte (CANXL_MIN_DLEN .. CANXL_MAX_DLEN) | ||
| 202 | * @af: acceptance field | ||
| 203 | * @data: CAN XL frame payload (CANXL_MIN_DLEN .. CANXL_MAX_DLEN byte) | ||
| 204 | * | ||
| 205 | * @prio shares the same position as @can_id from struct can[fd]_frame. | ||
| 206 | */ | ||
| 207 | struct canxl_frame { | ||
| 208 | canid_t prio; /* 11 bit priority for arbitration (canid_t) */ | ||
| 209 | __u8 flags; /* additional flags for CAN XL */ | ||
| 210 | __u8 sdt; /* SDU (service data unit) type */ | ||
| 211 | __u16 len; /* frame payload length in byte */ | ||
| 212 | __u32 af; /* acceptance field */ | ||
| 213 | __u8 data[CANXL_MAX_DLEN]; | ||
| 214 | }; | ||
| 215 | |||
| 169 | #define CAN_MTU (sizeof(struct can_frame)) | 216 | #define CAN_MTU (sizeof(struct can_frame)) |
| 170 | #define CANFD_MTU (sizeof(struct canfd_frame)) | 217 | #define CANFD_MTU (sizeof(struct canfd_frame)) |
| 218 | #define CANXL_MTU (sizeof(struct canxl_frame)) | ||
| 219 | #define CANXL_HDR_SIZE (offsetof(struct canxl_frame, data)) | ||
| 220 | #define CANXL_MIN_MTU (CANXL_HDR_SIZE + 64) | ||
| 221 | #define CANXL_MAX_MTU CANXL_MTU | ||
| 171 | 222 | ||
| 172 | /* particular protocols of the protocol family PF_CAN */ | 223 | /* particular protocols of the protocol family PF_CAN */ |
| 173 | #define CAN_RAW 1 /* RAW sockets */ | 224 | #define CAN_RAW 1 /* RAW sockets */ |
| @@ -62,6 +62,7 @@ enum { · 61 unmodified lines | |||
| 62 | CAN_RAW_RECV_OWN_MSGS, /* receive my own msgs (default:off) */ | 62 | CAN_RAW_RECV_OWN_MSGS, /* receive my own msgs (default:off) */ |
| 63 | CAN_RAW_FD_FRAMES, /* allow CAN FD frames (default:off) */ | 63 | CAN_RAW_FD_FRAMES, /* allow CAN FD frames (default:off) */ |
| 64 | CAN_RAW_JOIN_FILTERS, /* all filters must match to trigger */ | 64 | CAN_RAW_JOIN_FILTERS, /* all filters must match to trigger */ |
| 65 | CAN_RAW_XL_FRAMES, /* allow CAN XL frames (default:off) */ | ||
| 65 | }; | 66 | }; |
| 66 | 67 | ||
| 67 | #endif /* !_UAPI_CAN_RAW_H */ | 68 | #endif /* !_UAPI_CAN_RAW_H */ |
| @@ -63,6 +63,8 @@ enum counter_event_type { · 62 unmodified lines | |||
| 63 | COUNTER_EVENT_INDEX, | 63 | COUNTER_EVENT_INDEX, |
| 64 | /* State of counter is changed */ | 64 | /* State of counter is changed */ |
| 65 | COUNTER_EVENT_CHANGE_OF_STATE, | 65 | COUNTER_EVENT_CHANGE_OF_STATE, |
| 66 | /* Count value captured */ | ||
| 67 | COUNTER_EVENT_CAPTURE, | ||
| 66 | }; | 68 | }; |
| 67 | 69 | ||
| 68 | /** | 70 | /** |
| @@ -153,4 +155,10 @@ enum counter_synapse_action { · 84 unmodified lines | |||
| 153 | COUNTER_SYNAPSE_ACTION_BOTH_EDGES, | 155 | COUNTER_SYNAPSE_ACTION_BOTH_EDGES, |
| 154 | }; | 156 | }; |
| 155 | 157 | ||
| 158 | /* Signal polarity values */ | ||
| 159 | enum counter_signal_polarity { | ||
| 160 | COUNTER_SIGNAL_POLARITY_POSITIVE, | ||
| 161 | COUNTER_SIGNAL_POLARITY_NEGATIVE, | ||
| 162 | }; | ||
| 163 | |||
| 156 | #endif /* _UAPI_COUNTER_H_ */ | 164 | #endif /* _UAPI_COUNTER_H_ */ |
| @@ -69,7 +69,6 @@ struct dlm_lksb { · 68 unmodified lines | |||
| 69 | /* dlm_new_lockspace() flags */ | 69 | /* dlm_new_lockspace() flags */ |
| 70 | 70 | ||
| 71 | #define DLM_LSFL_TIMEWARN 0x00000002 | 71 | #define DLM_LSFL_TIMEWARN 0x00000002 |
| 72 | #define DLM_LSFL_FS 0x00000004 | ||
| 73 | #define DLM_LSFL_NEWEXCL 0x00000008 | 72 | #define DLM_LSFL_NEWEXCL 0x00000008 |
| 74 | 73 | ||
| 75 | 74 | ||
| @@ -1,149 +0,0 @@ | |||
| 1 | /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ | ||
| 2 | #ifndef _LINUX_DN_H | ||
| 3 | #define _LINUX_DN_H | ||
| 4 | |||
| 5 | #include <linux/ioctl.h> | ||
| 6 | #include <linux/types.h> | ||
| 7 | #include <linux/if_ether.h> | ||
| 8 | |||
| 9 | /* | ||
| 10 | |||
| 11 | DECnet Data Structures and Constants | ||
| 12 | |||
| 13 | */ | ||
| 14 | |||
| 15 | /* | ||
| 16 | * DNPROTO_NSP can't be the same as SOL_SOCKET, | ||
| 17 | * so increment each by one (compared to ULTRIX) | ||
| 18 | */ | ||
| 19 | #define DNPROTO_NSP 2 /* NSP protocol number */ | ||
| 20 | #define DNPROTO_ROU 3 /* Routing protocol number */ | ||
| 21 | #define DNPROTO_NML 4 /* Net mgt protocol number */ | ||
| 22 | #define DNPROTO_EVL 5 /* Evl protocol number (usr) */ | ||
| 23 | #define DNPROTO_EVR 6 /* Evl protocol number (evl) */ | ||
| 24 | #define DNPROTO_NSPT 7 /* NSP trace protocol number */ | ||
| 25 | |||
| 26 | |||
| 27 | #define DN_ADDL 2 | ||
| 28 | #define DN_MAXADDL 2 /* ULTRIX headers have 20 here, but pathworks has 2 */ | ||
| 29 | #define DN_MAXOPTL 16 | ||
| 30 | #define DN_MAXOBJL 16 | ||
| 31 | #define DN_MAXACCL 40 | ||
| 32 | #define DN_MAXALIASL 128 | ||
| 33 | #define DN_MAXNODEL 256 | ||
| 34 | #define DNBUFSIZE 65023 | ||
| 35 | |||
| 36 | /* | ||
| 37 | * SET/GET Socket options - must match the DSO_ numbers below | ||
| 38 | */ | ||
| 39 | #define SO_CONDATA 1 | ||
| 40 | #define SO_CONACCESS 2 | ||
| 41 | #define SO_PROXYUSR 3 | ||
| 42 | #define SO_LINKINFO 7 | ||
| 43 | |||
| 44 | #define DSO_CONDATA 1 /* Set/Get connect data */ | ||
| 45 | #define DSO_DISDATA 10 /* Set/Get disconnect data */ | ||
| 46 | #define DSO_CONACCESS 2 /* Set/Get connect access data */ | ||
| 47 | #define DSO_ACCEPTMODE 4 /* Set/Get accept mode */ | ||
| 48 | #define DSO_CONACCEPT 5 /* Accept deferred connection */ | ||
| 49 | #define DSO_CONREJECT 6 /* Reject deferred connection */ | ||
| 50 | #define DSO_LINKINFO 7 /* Set/Get link information */ | ||
| 51 | #define DSO_STREAM 8 /* Set socket type to stream */ | ||
| 52 | #define DSO_SEQPACKET 9 /* Set socket type to sequenced packet */ | ||
| 53 | #define DSO_MAXWINDOW 11 /* Maximum window size allowed */ | ||
| 54 | #define DSO_NODELAY 12 /* Turn off nagle */ | ||
| 55 | #define DSO_CORK 13 /* Wait for more data! */ | ||
| 56 | #define DSO_SERVICES 14 /* NSP Services field */ | ||
| 57 | #define DSO_INFO 15 /* NSP Info field */ | ||
| 58 | #define DSO_MAX 15 /* Maximum option number */ | ||
| 59 | |||
| 60 | |||
| 61 | /* LINK States */ | ||
| 62 | #define LL_INACTIVE 0 | ||
| 63 | #define LL_CONNECTING 1 | ||
| 64 | #define LL_RUNNING 2 | ||
| 65 | #define LL_DISCONNECTING 3 | ||
| 66 | |||
| 67 | #define ACC_IMMED 0 | ||
| 68 | #define ACC_DEFER 1 | ||
| 69 | |||
| 70 | #define SDF_WILD 1 /* Wild card object */ | ||
| 71 | #define SDF_PROXY 2 /* Addr eligible for proxy */ | ||
| 72 | #define SDF_UICPROXY 4 /* Use uic-based proxy */ | ||
| 73 | |||
| 74 | /* Structures */ | ||
| 75 | |||
| 76 | |||
| 77 | struct dn_naddr { | ||
| 78 | __le16 a_len; | ||
| 79 | __u8 a_addr[DN_MAXADDL]; /* Two bytes little endian */ | ||
| 80 | }; | ||
| 81 | |||
| 82 | struct sockaddr_dn { | ||
| 83 | __u16 sdn_family; | ||
| 84 | __u8 sdn_flags; | ||
| 85 | __u8 sdn_objnum; | ||
| 86 | __le16 sdn_objnamel; | ||
| 87 | __u8 sdn_objname[DN_MAXOBJL]; | ||
| 88 | struct dn_naddr sdn_add; | ||
| 89 | }; | ||
| 90 | #define sdn_nodeaddrl sdn_add.a_len /* Node address length */ | ||
| 91 | #define sdn_nodeaddr sdn_add.a_addr /* Node address */ | ||
| 92 | |||
| 93 | |||
| 94 | |||
| 95 | /* | ||
| 96 | * DECnet set/get DSO_CONDATA, DSO_DISDATA (optional data) structure | ||
| 97 | */ | ||
| 98 | struct optdata_dn { | ||
| 99 | __le16 opt_status; /* Extended status return */ | ||
| 100 | #define opt_sts opt_status | ||
| 101 | __le16 opt_optl; /* Length of user data */ | ||
| 102 | __u8 opt_data[16]; /* User data */ | ||
| 103 | }; | ||
| 104 | |||
| 105 | struct accessdata_dn { | ||
| 106 | __u8 acc_accl; | ||
| 107 | __u8 acc_acc[DN_MAXACCL]; | ||
| 108 | __u8 acc_passl; | ||
| 109 | __u8 acc_pass[DN_MAXACCL]; | ||
| 110 | __u8 acc_userl; | ||
| 111 | __u8 acc_user[DN_MAXACCL]; | ||
| 112 | }; | ||
| 113 | |||
| 114 | /* | ||
| 115 | * DECnet logical link information structure | ||
| 116 | */ | ||
| 117 | struct linkinfo_dn { | ||
| 118 | __u16 idn_segsize; /* Segment size for link */ | ||
| 119 | __u8 idn_linkstate; /* Logical link state */ | ||
| 120 | }; | ||
| 121 | |||
| 122 | /* | ||
| 123 | * Ethernet address format (for DECnet) | ||
| 124 | */ | ||
| 125 | union etheraddress { | ||
| 126 | __u8 dne_addr[ETH_ALEN]; /* Full ethernet address */ | ||
| 127 | struct { | ||
| 128 | __u8 dne_hiord[4]; /* DECnet HIORD prefix */ | ||
| 129 | __u8 dne_nodeaddr[2]; /* DECnet node address */ | ||
| 130 | } dne_remote; | ||
| 131 | }; | ||
| 132 | |||
| 133 | |||
| 134 | /* | ||
| 135 | * DECnet physical socket address format | ||
| 136 | */ | ||
| 137 | struct dn_addr { | ||
| 138 | __le16 dna_family; /* AF_DECnet */ | ||
| 139 | union etheraddress dna_netaddr; /* DECnet ethernet address */ | ||
| 140 | }; | ||
| 141 | |||
| 142 | #define DECNET_IOCTL_BASE 0x89 /* PROTOPRIVATE range */ | ||
| 143 | |||
| 144 | #define SIOCSNETADDR _IOW(DECNET_IOCTL_BASE, 0xe0, struct dn_naddr) | ||
| 145 | #define SIOCGNETADDR _IOR(DECNET_IOCTL_BASE, 0xe1, struct dn_naddr) | ||
| 146 | #define OSIOCSNETADDR _IOW(DECNET_IOCTL_BASE, 0xe0, int) | ||
| 147 | #define OSIOCGNETADDR _IOR(DECNET_IOCTL_BASE, 0xe1, int) | ||
| 148 | |||
| 149 | #endif /* _LINUX_DN_H */ | ||
| @@ -0,0 +1,14 @@ | |||
| 1 | /* SPDX-License-Identifier: GPL-2.0-only WITH Linux-syscall-note */ | ||
| 2 | /* Copyright 2022 NXP */ | ||
| 3 | |||
| 4 | #ifndef __UAPI_DW100_H__ | ||
| 5 | #define __UAPI_DW100_H__ | ||
| 6 | |||
| 7 | #include <linux/v4l2-controls.h> | ||
| 8 | |||
| 9 | /* | ||
| 10 | * Check Documentation/userspace-api/media/drivers/dw100.rst for control details. | ||
| 11 | */ | ||
| 12 | #define V4L2_CID_DW100_DEWARPING_16x16_VERTEX_MAP (V4L2_CID_USER_DW100_BASE + 1) | ||
| 13 | |||
| 14 | #endif | ||
| @@ -736,6 +736,51 @@ enum ethtool_module_power_mode { · 735 unmodified lines | |||
| 736 | ETHTOOL_MODULE_POWER_MODE_HIGH, | 736 | ETHTOOL_MODULE_POWER_MODE_HIGH, |
| 737 | }; | 737 | }; |
| 738 | 738 | ||
| 739 | /** | ||
| 740 | * enum ethtool_podl_pse_admin_state - operational state of the PoDL PSE | ||
| 741 | * functions. IEEE 802.3-2018 30.15.1.1.2 aPoDLPSEAdminState | ||
| 742 | * @ETHTOOL_PODL_PSE_ADMIN_STATE_UNKNOWN: state of PoDL PSE functions are | ||
| 743 | * unknown | ||
| 744 | * @ETHTOOL_PODL_PSE_ADMIN_STATE_DISABLED: PoDL PSE functions are disabled | ||
| 745 | * @ETHTOOL_PODL_PSE_ADMIN_STATE_ENABLED: PoDL PSE functions are enabled | ||
| 746 | */ | ||
| 747 | enum ethtool_podl_pse_admin_state { | ||
| 748 | ETHTOOL_PODL_PSE_ADMIN_STATE_UNKNOWN = 1, | ||
| 749 | ETHTOOL_PODL_PSE_ADMIN_STATE_DISABLED, | ||
| 750 | ETHTOOL_PODL_PSE_ADMIN_STATE_ENABLED, | ||
| 751 | }; | ||
| 752 | |||
| 753 | /** | ||
| 754 | * enum ethtool_podl_pse_pw_d_status - power detection status of the PoDL PSE. | ||
| 755 | * IEEE 802.3-2018 30.15.1.1.3 aPoDLPSEPowerDetectionStatus: | ||
| 756 | * @ETHTOOL_PODL_PSE_PW_D_STATUS_UNKNOWN: PoDL PSE | ||
| 757 | * @ETHTOOL_PODL_PSE_PW_D_STATUS_DISABLED: "The enumeration “disabled” is | ||
| 758 | * asserted true when the PoDL PSE state diagram variable mr_pse_enable is | ||
| 759 | * false" | ||
| 760 | * @ETHTOOL_PODL_PSE_PW_D_STATUS_SEARCHING: "The enumeration “searching” is | ||
| 761 | * asserted true when either of the PSE state diagram variables | ||
| 762 | * pi_detecting or pi_classifying is true." | ||
| 763 | * @ETHTOOL_PODL_PSE_PW_D_STATUS_DELIVERING: "The enumeration “deliveringPower” | ||
| 764 | * is asserted true when the PoDL PSE state diagram variable pi_powered is | ||
| 765 | * true." | ||
| 766 | * @ETHTOOL_PODL_PSE_PW_D_STATUS_SLEEP: "The enumeration “sleep” is asserted | ||
| 767 | * true when the PoDL PSE state diagram variable pi_sleeping is true." | ||
| 768 | * @ETHTOOL_PODL_PSE_PW_D_STATUS_IDLE: "The enumeration “idle” is asserted true | ||
| 769 | * when the logical combination of the PoDL PSE state diagram variables | ||
| 770 | * pi_prebiased*!pi_sleeping is true." | ||
| 771 | * @ETHTOOL_PODL_PSE_PW_D_STATUS_ERROR: "The enumeration “error” is asserted | ||
| 772 | * true when the PoDL PSE state diagram variable overload_held is true." | ||
| 773 | */ | ||
| 774 | enum ethtool_podl_pse_pw_d_status { | ||
| 775 | ETHTOOL_PODL_PSE_PW_D_STATUS_UNKNOWN = 1, | ||
| 776 | ETHTOOL_PODL_PSE_PW_D_STATUS_DISABLED, | ||
| 777 | ETHTOOL_PODL_PSE_PW_D_STATUS_SEARCHING, | ||
| 778 | ETHTOOL_PODL_PSE_PW_D_STATUS_DELIVERING, | ||
| 779 | ETHTOOL_PODL_PSE_PW_D_STATUS_SLEEP, | ||
| 780 | ETHTOOL_PODL_PSE_PW_D_STATUS_IDLE, | ||
| 781 | ETHTOOL_PODL_PSE_PW_D_STATUS_ERROR, | ||
| 782 | }; | ||
| 783 | |||
| 739 | /** | 784 | /** |
| 740 | * struct ethtool_gstrings - string set for data tagging | 785 | * struct ethtool_gstrings - string set for data tagging |
| 741 | * @cmd: Command number = %ETHTOOL_GSTRINGS | 786 | * @cmd: Command number = %ETHTOOL_GSTRINGS |
| @@ -1840,6 +1885,20 @@ static inline int ethtool_validate_duplex(__u8 duplex) · 1098 unmodified lines | |||
| 1840 | #define MASTER_SLAVE_STATE_SLAVE 3 | 1885 | #define MASTER_SLAVE_STATE_SLAVE 3 |
| 1841 | #define MASTER_SLAVE_STATE_ERR 4 | 1886 | #define MASTER_SLAVE_STATE_ERR 4 |
| 1842 | 1887 | ||
| 1888 | /* These are used to throttle the rate of data on the phy interface when the | ||
| 1889 | * native speed of the interface is higher than the link speed. These should | ||
| 1890 | * not be used for phy interfaces which natively support multiple speeds (e.g. | ||
| 1891 | * MII or SGMII). | ||
| 1892 | */ | ||
| 1893 | /* No rate matching performed. */ | ||
| 1894 | #define RATE_MATCH_NONE 0 | ||
| 1895 | /* The phy sends pause frames to throttle the MAC. */ | ||
| 1896 | #define RATE_MATCH_PAUSE 1 | ||
| 1897 | /* The phy asserts CRS to prevent the MAC from transmitting. */ | ||
| 1898 | #define RATE_MATCH_CRS 2 | ||
| 1899 | /* The MAC is programmed with a sufficiently-large IPG. */ | ||
| 1900 | #define RATE_MATCH_OPEN_LOOP 3 | ||
| 1901 | |||
| 1843 | /* Which connector port. */ | 1902 | /* Which connector port. */ |
| 1844 | #define PORT_TP 0x00 | 1903 | #define PORT_TP 0x00 |
| 1845 | #define PORT_AUI 0x01 | 1904 | #define PORT_AUI 0x01 |
| @@ -2033,8 +2092,8 @@ enum ethtool_reset_flags { · 187 unmodified lines | |||
| 2033 | * reported consistently by PHYLIB. Read-only. | 2092 | * reported consistently by PHYLIB. Read-only. |
| 2034 | * @master_slave_cfg: Master/slave port mode. | 2093 | * @master_slave_cfg: Master/slave port mode. |
| 2035 | * @master_slave_state: Master/slave port state. | 2094 | * @master_slave_state: Master/slave port state. |
| 2095 | * @rate_matching: Rate adaptation performed by the PHY | ||
| 2036 | * @reserved: Reserved for future use; see the note on reserved space. | 2096 | * @reserved: Reserved for future use; see the note on reserved space. |
| 2037 | * @reserved1: Reserved for future use; see the note on reserved space. | ||
| 2038 | * @link_mode_masks: Variable length bitmaps. | 2097 | * @link_mode_masks: Variable length bitmaps. |
| 2039 | * | 2098 | * |
| 2040 | * If autonegotiation is disabled, the speed and @duplex represent the | 2099 | * If autonegotiation is disabled, the speed and @duplex represent the |
| @@ -2085,7 +2144,7 @@ struct ethtool_link_settings { · 44 unmodified lines | |||
| 2085 | __u8 transceiver; | 2144 | __u8 transceiver; |
| 2086 | __u8 master_slave_cfg; | 2145 | __u8 master_slave_cfg; |
| 2087 | __u8 master_slave_state; | 2146 | __u8 master_slave_state; |
| 2088 | __u8 reserved1[1]; | 2147 | __u8 rate_matching; |
| 2089 | __u32 reserved[7]; | 2148 | __u32 reserved[7]; |
| 2090 | __u32 link_mode_masks[]; | 2149 | __u32 link_mode_masks[]; |
| 2091 | /* layout of link_mode_masks fields: | 2150 | /* layout of link_mode_masks fields: |
| @@ -49,6 +49,8 @@ enum { · 48 unmodified lines | |||
| 49 | ETHTOOL_MSG_PHC_VCLOCKS_GET, | 49 | ETHTOOL_MSG_PHC_VCLOCKS_GET, |
| 50 | ETHTOOL_MSG_MODULE_GET, | 50 | ETHTOOL_MSG_MODULE_GET, |
| 51 | ETHTOOL_MSG_MODULE_SET, | 51 | ETHTOOL_MSG_MODULE_SET, |
| 52 | ETHTOOL_MSG_PSE_GET, | ||
| 53 | ETHTOOL_MSG_PSE_SET, | ||
| 52 | 54 | ||
| 53 | /* add new constants above here */ | 55 | /* add new constants above here */ |
| 54 | __ETHTOOL_MSG_USER_CNT, | 56 | __ETHTOOL_MSG_USER_CNT, |
| @@ -94,6 +96,7 @@ enum { · 39 unmodified lines | |||
| 94 | ETHTOOL_MSG_PHC_VCLOCKS_GET_REPLY, | 96 | ETHTOOL_MSG_PHC_VCLOCKS_GET_REPLY, |
| 95 | ETHTOOL_MSG_MODULE_GET_REPLY, | 97 | ETHTOOL_MSG_MODULE_GET_REPLY, |
| 96 | ETHTOOL_MSG_MODULE_NTF, | 98 | ETHTOOL_MSG_MODULE_NTF, |
| 99 | ETHTOOL_MSG_PSE_GET_REPLY, | ||
| 97 | 100 | ||
| 98 | /* add new constants above here */ | 101 | /* add new constants above here */ |
| 99 | __ETHTOOL_MSG_KERNEL_CNT, | 102 | __ETHTOOL_MSG_KERNEL_CNT, |
| @@ -242,6 +245,7 @@ enum { · 142 unmodified lines | |||
| 242 | ETHTOOL_A_LINKMODES_MASTER_SLAVE_CFG, /* u8 */ | 245 | ETHTOOL_A_LINKMODES_MASTER_SLAVE_CFG, /* u8 */ |
| 243 | ETHTOOL_A_LINKMODES_MASTER_SLAVE_STATE, /* u8 */ | 246 | ETHTOOL_A_LINKMODES_MASTER_SLAVE_STATE, /* u8 */ |
| 244 | ETHTOOL_A_LINKMODES_LANES, /* u32 */ | 247 | ETHTOOL_A_LINKMODES_LANES, /* u32 */ |
| 248 | ETHTOOL_A_LINKMODES_RATE_MATCHING, /* u8 */ | ||
| 245 | 249 | ||
| 246 | /* add new constants above here */ | 250 | /* add new constants above here */ |
| 247 | __ETHTOOL_A_LINKMODES_CNT, | 251 | __ETHTOOL_A_LINKMODES_CNT, |
| @@ -862,6 +866,19 @@ enum { · 614 unmodified lines | |||
| 862 | ETHTOOL_A_MODULE_MAX = (__ETHTOOL_A_MODULE_CNT - 1) | 866 | ETHTOOL_A_MODULE_MAX = (__ETHTOOL_A_MODULE_CNT - 1) |
| 863 | }; | 867 | }; |
| 864 | 868 | ||
| 869 | /* Power Sourcing Equipment */ | ||
| 870 | enum { | ||
| 871 | ETHTOOL_A_PSE_UNSPEC, | ||
| 872 | ETHTOOL_A_PSE_HEADER, /* nest - _A_HEADER_* */ | ||
| 873 | ETHTOOL_A_PODL_PSE_ADMIN_STATE, /* u32 */ | ||
| 874 | ETHTOOL_A_PODL_PSE_ADMIN_CONTROL, /* u32 */ | ||
| 875 | ETHTOOL_A_PODL_PSE_PW_D_STATUS, /* u32 */ | ||
| 876 | |||
| 877 | /* add new constants above here */ | ||
| 878 | __ETHTOOL_A_PSE_CNT, | ||
| 879 | ETHTOOL_A_PSE_MAX = (__ETHTOOL_A_PSE_CNT - 1) | ||
| 880 | }; | ||
| 881 | |||
| 865 | /* generic netlink info */ | 882 | /* generic netlink info */ |
| 866 | #define ETHTOOL_GENL_NAME "ethtool" | 883 | #define ETHTOOL_GENL_NAME "ethtool" |
| 867 | #define ETHTOOL_GENL_VERSION 1 | 884 | #define ETHTOOL_GENL_VERSION 1 |
| @@ -194,6 +194,9 @@ · 193 unmodified lines | |||
| 194 | * - add FUSE_SECURITY_CTX init flag | 194 | * - add FUSE_SECURITY_CTX init flag |
| 195 | * - add security context to create, mkdir, symlink, and mknod requests | 195 | * - add security context to create, mkdir, symlink, and mknod requests |
| 196 | * - add FUSE_HAS_INODE_DAX, FUSE_ATTR_DAX | 196 | * - add FUSE_HAS_INODE_DAX, FUSE_ATTR_DAX |
| 197 | * | ||
| 198 | * 7.37 | ||
| 199 | * - add FUSE_TMPFILE | ||
| 197 | */ | 200 | */ |
| 198 | 201 | ||
| 199 | #ifndef _LINUX_FUSE_H | 202 | #ifndef _LINUX_FUSE_H |
| @@ -229,7 +232,7 @@ · 29 unmodified lines | |||
| 229 | #define FUSE_KERNEL_VERSION 7 | 232 | #define FUSE_KERNEL_VERSION 7 |
| 230 | 233 | ||
| 231 | /** Minor version number of this interface */ | 234 | /** Minor version number of this interface */ |
| 232 | #define FUSE_KERNEL_MINOR_VERSION 36 | 235 | #define FUSE_KERNEL_MINOR_VERSION 37 |
| 233 | 236 | ||
| 234 | /** The node ID of the root inode */ | 237 | /** The node ID of the root inode */ |
| 235 | #define FUSE_ROOT_ID 1 | 238 | #define FUSE_ROOT_ID 1 |
| @@ -537,6 +540,7 @@ enum fuse_opcode { · 301 unmodified lines | |||
| 537 | FUSE_SETUPMAPPING = 48, | 540 | FUSE_SETUPMAPPING = 48, |
| 538 | FUSE_REMOVEMAPPING = 49, | 541 | FUSE_REMOVEMAPPING = 49, |
| 539 | FUSE_SYNCFS = 50, | 542 | FUSE_SYNCFS = 50, |
| 543 | FUSE_TMPFILE = 51, | ||
| 540 | 544 | ||
| 541 | /* CUSE specific operations */ | 545 | /* CUSE specific operations */ |
| 542 | CUSE_INIT = 4096, | 546 | CUSE_INIT = 4096, |
| @@ -42,16 +42,30 @@ · 41 unmodified lines | |||
| 42 | #define USB_INTERFACE_PROTOCOL_KEYBOARD 1 | 42 | #define USB_INTERFACE_PROTOCOL_KEYBOARD 1 |
| 43 | #define USB_INTERFACE_PROTOCOL_MOUSE 2 | 43 | #define USB_INTERFACE_PROTOCOL_MOUSE 2 |
| 44 | 44 | ||
| 45 | /* | ||
| 46 | * HID report types --- Ouch! HID spec says 1 2 3! | ||
| 47 | */ | ||
| 48 | |||
| 49 | enum hid_report_type { | ||
| 50 | HID_INPUT_REPORT = 0, | ||
| 51 | HID_OUTPUT_REPORT = 1, | ||
| 52 | HID_FEATURE_REPORT = 2, | ||
| 53 | |||
| 54 | HID_REPORT_TYPES, | ||
| 55 | }; | ||
| 56 | |||
| 45 | /* | 57 | /* |
| 46 | * HID class requests | 58 | * HID class requests |
| 47 | */ | 59 | */ |
| 48 | 60 | ||
| 49 | #define HID_REQ_GET_REPORT 0x01 | 61 | enum hid_class_request { |
| 50 | #define HID_REQ_GET_IDLE 0x02 | 62 | HID_REQ_GET_REPORT = 0x01, |
| 51 | #define HID_REQ_GET_PROTOCOL 0x03 | 63 | HID_REQ_GET_IDLE = 0x02, |
| 52 | #define HID_REQ_SET_REPORT 0x09 | 64 | HID_REQ_GET_PROTOCOL = 0x03, |
| 53 | #define HID_REQ_SET_IDLE 0x0A | 65 | HID_REQ_SET_REPORT = 0x09, |
| 54 | #define HID_REQ_SET_PROTOCOL 0x0B | 66 | HID_REQ_SET_IDLE = 0x0A, |
| 67 | HID_REQ_SET_PROTOCOL = 0x0B, | ||
| 68 | }; | ||
| 55 | 69 | ||
| 56 | /* | 70 | /* |
| 57 | * HID class descriptor types | 71 | * HID class descriptor types |
| @@ -138,6 +138,7 @@ · 137 unmodified lines | |||
| 138 | #define ETH_P_LOCALTALK 0x0009 /* Localtalk pseudo type */ | 138 | #define ETH_P_LOCALTALK 0x0009 /* Localtalk pseudo type */ |
| 139 | #define ETH_P_CAN 0x000C /* CAN: Controller Area Network */ | 139 | #define ETH_P_CAN 0x000C /* CAN: Controller Area Network */ |
| 140 | #define ETH_P_CANFD 0x000D /* CANFD: CAN flexible data rate*/ | 140 | #define ETH_P_CANFD 0x000D /* CANFD: CAN flexible data rate*/ |
| 141 | #define ETH_P_CANXL 0x000E /* CANXL: eXtended frame Length */ | ||
| 141 | #define ETH_P_PPPTALK 0x0010 /* Dummy type for Atalk over PPP*/ | 142 | #define ETH_P_PPPTALK 0x0010 /* Dummy type for Atalk over PPP*/ |
| 142 | #define ETH_P_TR_802_2 0x0011 /* 802.2 frames */ | 143 | #define ETH_P_TR_802_2 0x0011 /* 802.2 frames */ |
| 143 | #define ETH_P_MOBITEX 0x0015 /* Mobitex (kaz@cafe.net) */ | 144 | #define ETH_P_MOBITEX 0x0015 /* Mobitex (kaz@cafe.net) */ |
| @@ -370,6 +370,7 @@ enum { · 369 unmodified lines | |||
| 370 | IFLA_GRO_MAX_SIZE, | 370 | IFLA_GRO_MAX_SIZE, |
| 371 | IFLA_TSO_MAX_SIZE, | 371 | IFLA_TSO_MAX_SIZE, |
| 372 | IFLA_TSO_MAX_SEGS, | 372 | IFLA_TSO_MAX_SEGS, |
| 373 | IFLA_ALLMULTI, /* Allmulti count: > 0 means acts ALLMULTI */ | ||
| 373 | 374 | ||
| 374 | __IFLA_MAX | 375 | __IFLA_MAX |
| 375 | }; | 376 | }; |
| @@ -694,6 +695,7 @@ enum { · 318 unmodified lines | |||
| 694 | IFLA_XFRM_UNSPEC, | 695 | IFLA_XFRM_UNSPEC, |
| 695 | IFLA_XFRM_LINK, | 696 | IFLA_XFRM_LINK, |
| 696 | IFLA_XFRM_IF_ID, | 697 | IFLA_XFRM_IF_ID, |
| 698 | IFLA_XFRM_COLLECT_METADATA, | ||
| 697 | __IFLA_XFRM_MAX | 699 | __IFLA_XFRM_MAX |
| 698 | }; | 700 | }; |
| 699 | 701 | ||
| @@ -1374,4 +1376,14 @@ enum { · 674 unmodified lines | |||
| 1374 | 1376 | ||
| 1375 | #define IFLA_MCTP_MAX (__IFLA_MCTP_MAX - 1) | 1377 | #define IFLA_MCTP_MAX (__IFLA_MCTP_MAX - 1) |
| 1376 | 1378 | ||
| 1379 | /* DSA section */ | ||
| 1380 | |||
| 1381 | enum { | ||
| 1382 | IFLA_DSA_UNSPEC, | ||
| 1383 | IFLA_DSA_MASTER, | ||
| 1384 | __IFLA_DSA_MAX, | ||
| 1385 | }; | ||
| 1386 | |||
| 1387 | #define IFLA_DSA_MAX (__IFLA_DSA_MAX - 1) | ||
| 1388 | |||
| 1377 | #endif /* _UAPI_LINUX_IF_LINK_H */ | 1389 | #endif /* _UAPI_LINUX_IF_LINK_H */ |
| @@ -22,6 +22,8 @@ · 21 unmodified lines | |||
| 22 | 22 | ||
| 23 | #define MACSEC_KEYID_LEN 16 | 23 | #define MACSEC_KEYID_LEN 16 |
| 24 | 24 | ||
| 25 | #define MACSEC_SALT_LEN 12 | ||
| 26 | |||
| 25 | /* cipher IDs as per IEEE802.1AE-2018 (Table 14-1) */ | 27 | /* cipher IDs as per IEEE802.1AE-2018 (Table 14-1) */ |
| 26 | #define MACSEC_CIPHER_ID_GCM_AES_128 0x0080C20001000001ULL | 28 | #define MACSEC_CIPHER_ID_GCM_AES_128 0x0080C20001000001ULL |
| 27 | #define MACSEC_CIPHER_ID_GCM_AES_256 0x0080C20001000002ULL | 29 | #define MACSEC_CIPHER_ID_GCM_AES_256 0x0080C20001000002ULL |
| @@ -67,6 +67,8 @@ · 66 unmodified lines | |||
| 67 | #define IFF_TAP 0x0002 | 67 | #define IFF_TAP 0x0002 |
| 68 | #define IFF_NAPI 0x0010 | 68 | #define IFF_NAPI 0x0010 |
| 69 | #define IFF_NAPI_FRAGS 0x0020 | 69 | #define IFF_NAPI_FRAGS 0x0020 |
| 70 | /* Used in TUNSETIFF to bring up tun/tap without carrier */ | ||
| 71 | #define IFF_NO_CARRIER 0x0040 | ||
| 70 | #define IFF_NO_PI 0x1000 | 72 | #define IFF_NO_PI 0x1000 |
| 71 | /* This flag has no real effect */ | 73 | /* This flag has no real effect */ |
| 72 | #define IFF_ONE_QUEUE 0x2000 | 74 | #define IFF_ONE_QUEUE 0x2000 |
| @@ -95,6 +95,12 @@ enum iio_modifier { · 94 unmodified lines | |||
| 95 | IIO_MOD_ETHANOL, | 95 | IIO_MOD_ETHANOL, |
| 96 | IIO_MOD_H2, | 96 | IIO_MOD_H2, |
| 97 | IIO_MOD_O2, | 97 | IIO_MOD_O2, |
| 98 | IIO_MOD_LINEAR_X, | ||
| 99 | IIO_MOD_LINEAR_Y, | ||
| 100 | IIO_MOD_LINEAR_Z, | ||
| 101 | IIO_MOD_PITCH, | ||
| 102 | IIO_MOD_YAW, | ||
| 103 | IIO_MOD_ROLL, | ||
| 98 | }; | 104 | }; |
| 99 | 105 | ||
| 100 | enum iio_event_type { | 106 | enum iio_event_type { |
| @@ -105,6 +111,7 @@ enum iio_event_type { · 4 unmodified lines | |||
| 105 | IIO_EV_TYPE_MAG_ADAPTIVE, | 111 | IIO_EV_TYPE_MAG_ADAPTIVE, |
| 106 | IIO_EV_TYPE_CHANGE, | 112 | IIO_EV_TYPE_CHANGE, |
| 107 | IIO_EV_TYPE_MAG_REFERENCED, | 113 | IIO_EV_TYPE_MAG_REFERENCED, |
| 114 | IIO_EV_TYPE_GESTURE, | ||
| 108 | }; | 115 | }; |
| 109 | 116 | ||
| 110 | enum iio_event_direction { | 117 | enum iio_event_direction { |
| @@ -112,7 +119,8 @@ enum iio_event_direction { · 1 unmodified line | |||
| 112 | IIO_EV_DIR_RISING, | 119 | IIO_EV_DIR_RISING, |
| 113 | IIO_EV_DIR_FALLING, | 120 | IIO_EV_DIR_FALLING, |
| 114 | IIO_EV_DIR_NONE, | 121 | IIO_EV_DIR_NONE, |
| 122 | IIO_EV_DIR_SINGLETAP, | ||
| 123 | IIO_EV_DIR_DOUBLETAP, | ||
| 115 | }; | 124 | }; |
| 116 | 125 | ||
| 117 | #endif /* _UAPI_IIO_TYPES_H_ */ | 126 | #endif /* _UAPI_IIO_TYPES_H_ */ |
| 118 | |||
| @@ -68,6 +68,8 @@ enum { · 67 unmodified lines | |||
| 68 | #define IPPROTO_PIM IPPROTO_PIM | 68 | #define IPPROTO_PIM IPPROTO_PIM |
| 69 | IPPROTO_COMP = 108, /* Compression Header Protocol */ | 69 | IPPROTO_COMP = 108, /* Compression Header Protocol */ |
| 70 | #define IPPROTO_COMP IPPROTO_COMP | 70 | #define IPPROTO_COMP IPPROTO_COMP |
| 71 | IPPROTO_L2TP = 115, /* Layer 2 Tunnelling Protocol */ | ||
| 72 | #define IPPROTO_L2TP IPPROTO_L2TP | ||
| 71 | IPPROTO_SCTP = 132, /* Stream Control Transport Protocol */ | 73 | IPPROTO_SCTP = 132, /* Stream Control Transport Protocol */ |
| 72 | #define IPPROTO_SCTP IPPROTO_SCTP | 74 | #define IPPROTO_SCTP IPPROTO_SCTP |
| 73 | IPPROTO_UDPLITE = 136, /* UDP-Lite (RFC 3828) */ | 75 | IPPROTO_UDPLITE = 136, /* UDP-Lite (RFC 3828) */ |
| @@ -188,21 +190,13 @@ struct ip_mreq_source { · 114 unmodified lines | |||
| 188 | }; | 190 | }; |
| 189 | 191 | ||
| 190 | struct ip_msfilter { | 192 | struct ip_msfilter { |
| 193 | __be32 imsf_multiaddr; | ||
| 194 | __be32 imsf_interface; | ||
| 195 | __u32 imsf_fmode; | ||
| 196 | __u32 imsf_numsrc; | ||
| 191 | union { | 197 | union { |
| 192 | struct { | 198 | __be32 imsf_slist[1]; |
| 193 | __be32 imsf_multiaddr_aux; | 199 | __DECLARE_FLEX_ARRAY(__be32, imsf_slist_flex); |
| 194 | __be32 imsf_interface_aux; | ||
| 195 | __u32 imsf_fmode_aux; | ||
| 196 | __u32 imsf_numsrc_aux; | ||
| 197 | __be32 imsf_slist[1]; | ||
| 198 | }; | ||
| 199 | struct { | ||
| 200 | __be32 imsf_multiaddr; | ||
| 201 | __be32 imsf_interface; | ||
| 202 | __u32 imsf_fmode; | ||
| 203 | __u32 imsf_numsrc; | ||
| 204 | __be32 imsf_slist_flex[]; | ||
| 205 | }; | ||
| 206 | }; | 200 | }; |
| 207 | }; | 201 | }; |
| 208 | 202 | ||
| @@ -862,6 +862,7 @@ · 861 unmodified lines | |||
| 862 | #define ABS_TOOL_WIDTH 0x1c | 862 | #define ABS_TOOL_WIDTH 0x1c |
| 863 | 863 | ||
| 864 | #define ABS_VOLUME 0x20 | 864 | #define ABS_VOLUME 0x20 |
| 865 | #define ABS_PROFILE 0x21 | ||
| 865 | 866 | ||
| 866 | #define ABS_MISC 0x28 | 867 | #define ABS_MISC 0x28 |
| 867 | 868 | ||
| @@ -12,6 +12,10 @@ · 11 unmodified lines | |||
| 12 | #include <linux/types.h> | 12 | #include <linux/types.h> |
| 13 | #include <linux/time_types.h> | 13 | #include <linux/time_types.h> |
| 14 | 14 | ||
| 15 | #ifdef __cplusplus | ||
| 16 | extern "C" { | ||
| 17 | #endif | ||
| 18 | |||
| 15 | /* | 19 | /* |
| 16 | * IO submission data structure (Submission Queue Entry) | 20 | * IO submission data structure (Submission Queue Entry) |
| 17 | */ | 21 | */ |
| @@ -52,6 +56,7 @@ struct io_uring_sqe { · 34 unmodified lines | |||
| 52 | __u32 hardlink_flags; | 56 | __u32 hardlink_flags; |
| 53 | __u32 xattr_flags; | 57 | __u32 xattr_flags; |
| 54 | __u32 msg_ring_flags; | 58 | __u32 msg_ring_flags; |
| 59 | __u32 uring_cmd_flags; | ||
| 55 | }; | 60 | }; |
| 56 | __u64 user_data; /* data to be passed back at completion time */ | 61 | __u64 user_data; /* data to be passed back at completion time */ |
| 57 | /* pack this to avoid bogus arm OABI complaints */ | 62 | /* pack this to avoid bogus arm OABI complaints */ |
| @@ -67,8 +72,8 @@ struct io_uring_sqe { · 9 unmodified lines | |||
| 67 | __s32 splice_fd_in; | 72 | __s32 splice_fd_in; |
| 68 | __u32 file_index; | 73 | __u32 file_index; |
| 69 | struct { | 74 | struct { |
| 70 | __u16 notification_idx; | ||
| 71 | __u16 addr_len; | 75 | __u16 addr_len; |
| 76 | __u16 __pad3[1]; | ||
| 72 | }; | 77 | }; |
| 73 | }; | 78 | }; |
| 74 | union { | 79 | union { |
| @@ -153,6 +158,13 @@ enum { · 78 unmodified lines | |||
| 153 | */ | 158 | */ |
| 154 | #define IORING_SETUP_SINGLE_ISSUER (1U << 12) | 159 | #define IORING_SETUP_SINGLE_ISSUER (1U << 12) |
| 155 | 160 | ||
| 161 | /* | ||
| 162 | * Defer running task work to get events. | ||
| 163 | * Rather than running bits of task work whenever the task transitions | ||
| 164 | * try to do it just before it is needed. | ||
| 165 | */ | ||
| 166 | #define IORING_SETUP_DEFER_TASKRUN (1U << 13) | ||
| 167 | |||
| 156 | enum io_uring_op { | 168 | enum io_uring_op { |
| 157 | IORING_OP_NOP, | 169 | IORING_OP_NOP, |
| 158 | IORING_OP_READV, | 170 | IORING_OP_READV, |
| @@ -174,8 +186,7 @@ enum io_uring_op { · 15 unmodified lines | |||
| 174 | IORING_OP_FALLOCATE, | 186 | IORING_OP_FALLOCATE, |
| 175 | IORING_OP_OPENAT, | 187 | IORING_OP_OPENAT, |
| 176 | IORING_OP_CLOSE, | 188 | IORING_OP_CLOSE, |
| 177 | IORING_OP_RSRC_UPDATE, | 189 | IORING_OP_FILES_UPDATE, |
| 178 | IORING_OP_FILES_UPDATE = IORING_OP_RSRC_UPDATE, | ||
| 179 | IORING_OP_STATX, | 190 | IORING_OP_STATX, |
| 180 | IORING_OP_READ, | 191 | IORING_OP_READ, |
| 181 | IORING_OP_WRITE, | 192 | IORING_OP_WRITE, |
| @@ -202,12 +213,21 @@ enum io_uring_op { · 20 unmodified lines | |||
| 202 | IORING_OP_GETXATTR, | 213 | IORING_OP_GETXATTR, |
| 203 | IORING_OP_SOCKET, | 214 | IORING_OP_SOCKET, |
| 204 | IORING_OP_URING_CMD, | 215 | IORING_OP_URING_CMD, |
| 205 | IORING_OP_SENDZC_NOTIF, | 216 | IORING_OP_SEND_ZC, |
| 217 | IORING_OP_SENDMSG_ZC, | ||
| 206 | 218 | ||
| 207 | /* this goes last, obviously */ | 219 | /* this goes last, obviously */ |
| 208 | IORING_OP_LAST, | 220 | IORING_OP_LAST, |
| 209 | }; | 221 | }; |
| 210 | 222 | ||
| 223 | /* | ||
| 224 | * sqe->uring_cmd_flags | ||
| 225 | * IORING_URING_CMD_FIXED use registered buffer; pass thig flag | ||
| 226 | * along with setting sqe->buf_index. | ||
| 227 | */ | ||
| 228 | #define IORING_URING_CMD_FIXED (1U << 0) | ||
| 229 | |||
| 230 | |||
| 211 | /* | 231 | /* |
| 212 | * sqe->fsync_flags | 232 | * sqe->fsync_flags |
| 213 | */ | 233 | */ |
| @@ -224,7 +244,6 @@ enum io_uring_op { · 10 unmodified lines | |||
| 224 | #define IORING_TIMEOUT_ETIME_SUCCESS (1U << 5) | 244 | #define IORING_TIMEOUT_ETIME_SUCCESS (1U << 5) |
| 225 | #define IORING_TIMEOUT_CLOCK_MASK (IORING_TIMEOUT_BOOTTIME | IORING_TIMEOUT_REALTIME) | 245 | #define IORING_TIMEOUT_CLOCK_MASK (IORING_TIMEOUT_BOOTTIME | IORING_TIMEOUT_REALTIME) |
| 226 | #define IORING_TIMEOUT_UPDATE_MASK (IORING_TIMEOUT_UPDATE | IORING_LINK_TIMEOUT_UPDATE) | 246 | #define IORING_TIMEOUT_UPDATE_MASK (IORING_TIMEOUT_UPDATE | IORING_LINK_TIMEOUT_UPDATE) |
| 227 | |||
| 228 | /* | 247 | /* |
| 229 | * sqe->splice_flags | 248 | * sqe->splice_flags |
| 230 | * extends splice(2) flags | 249 | * extends splice(2) flags |
| @@ -277,29 +296,16 @@ enum io_uring_op { · 46 unmodified lines | |||
| 277 | * | 296 | * |
| 278 | * IORING_RECVSEND_FIXED_BUF Use registered buffers, the index is stored in | 297 | * IORING_RECVSEND_FIXED_BUF Use registered buffers, the index is stored in |
| 279 | * the buf_index field. | 298 | * the buf_index field. |
| 280 | * | ||
| 281 | * IORING_RECVSEND_NOTIF_FLUSH Flush a notification after a successful | ||
| 282 | * successful. Only for zerocopy sends. | ||
| 283 | */ | 299 | */ |
| 284 | #define IORING_RECVSEND_POLL_FIRST (1U << 0) | 300 | #define IORING_RECVSEND_POLL_FIRST (1U << 0) |
| 285 | #define IORING_RECV_MULTISHOT (1U << 1) | 301 | #define IORING_RECV_MULTISHOT (1U << 1) |
| 286 | #define IORING_RECVSEND_FIXED_BUF (1U << 2) | 302 | #define IORING_RECVSEND_FIXED_BUF (1U << 2) |
| 287 | #define IORING_RECVSEND_NOTIF_FLUSH (1U << 3) | ||
| 288 | 303 | ||
| 289 | /* | 304 | /* |
| 290 | * accept flags stored in sqe->ioprio | 305 | * accept flags stored in sqe->ioprio |
| 291 | */ | 306 | */ |
| 292 | #define IORING_ACCEPT_MULTISHOT (1U << 0) | 307 | #define IORING_ACCEPT_MULTISHOT (1U << 0) |
| 293 | 308 | ||
| 294 | |||
| 295 | /* | ||
| 296 | * IORING_OP_RSRC_UPDATE flags | ||
| 297 | */ | ||
| 298 | enum { | ||
| 299 | IORING_RSRC_UPDATE_FILES, | ||
| 300 | IORING_RSRC_UPDATE_NOTIF, | ||
| 301 | }; | ||
| 302 | |||
| 303 | /* | 309 | /* |
| 304 | * IORING_OP_MSG_RING command types, stored in sqe->addr | 310 | * IORING_OP_MSG_RING command types, stored in sqe->addr |
| 305 | */ | 311 | */ |
| @@ -337,10 +343,13 @@ struct io_uring_cqe { · 31 unmodified lines | |||
| 337 | * IORING_CQE_F_BUFFER If set, the upper 16 bits are the buffer ID | 343 | * IORING_CQE_F_BUFFER If set, the upper 16 bits are the buffer ID |
| 338 | * IORING_CQE_F_MORE If set, parent SQE will generate more CQE entries | 344 | * IORING_CQE_F_MORE If set, parent SQE will generate more CQE entries |
| 339 | * IORING_CQE_F_SOCK_NONEMPTY If set, more data to read after socket recv | 345 | * IORING_CQE_F_SOCK_NONEMPTY If set, more data to read after socket recv |
| 346 | * IORING_CQE_F_NOTIF Set for notification CQEs. Can be used to distinct | ||
| 347 | * them from sends. | ||
| 340 | */ | 348 | */ |
| 341 | #define IORING_CQE_F_BUFFER (1U << 0) | 349 | #define IORING_CQE_F_BUFFER (1U << 0) |
| 342 | #define IORING_CQE_F_MORE (1U << 1) | 350 | #define IORING_CQE_F_MORE (1U << 1) |
| 343 | #define IORING_CQE_F_SOCK_NONEMPTY (1U << 2) | 351 | #define IORING_CQE_F_SOCK_NONEMPTY (1U << 2) |
| 352 | #define IORING_CQE_F_NOTIF (1U << 3) | ||
| 344 | 353 | ||
| 345 | enum { | 354 | enum { |
| 346 | IORING_CQE_BUFFER_SHIFT = 16, | 355 | IORING_CQE_BUFFER_SHIFT = 16, |
| @@ -481,10 +490,6 @@ enum { · 134 unmodified lines | |||
| 481 | /* register a range of fixed file slots for automatic slot allocation */ | 490 | /* register a range of fixed file slots for automatic slot allocation */ |
| 482 | IORING_REGISTER_FILE_ALLOC_RANGE = 25, | 491 | IORING_REGISTER_FILE_ALLOC_RANGE = 25, |
| 483 | 492 | ||
| 484 | /* zerocopy notification API */ | ||
| 485 | IORING_REGISTER_NOTIFIERS = 26, | ||
| 486 | IORING_UNREGISTER_NOTIFIERS = 27, | ||
| 487 | |||
| 488 | /* this goes last */ | 493 | /* this goes last */ |
| 489 | IORING_REGISTER_LAST | 494 | IORING_REGISTER_LAST |
| 490 | }; | 495 | }; |
| @@ -661,4 +666,8 @@ struct io_uring_recvmsg_out { · 170 unmodified lines | |||
| 661 | __u32 flags; | 666 | __u32 flags; |
| 662 | }; | 667 | }; |
| 663 | 668 | ||
| 669 | #ifdef __cplusplus | ||
| 670 | } | ||
| 671 | #endif | ||
| 672 | |||
| 664 | #endif | 673 | #endif |
| @@ -1177,6 +1177,7 @@ struct kvm_ppc_resize_hpt { · 1176 unmodified lines | |||
| 1177 | #define KVM_CAP_VM_DISABLE_NX_HUGE_PAGES 220 | 1177 | #define KVM_CAP_VM_DISABLE_NX_HUGE_PAGES 220 |
| 1178 | #define KVM_CAP_S390_ZPCI_OP 221 | 1178 | #define KVM_CAP_S390_ZPCI_OP 221 |
| 1179 | #define KVM_CAP_S390_CPU_TOPOLOGY 222 | 1179 | #define KVM_CAP_S390_CPU_TOPOLOGY 222 |
| 1180 | #define KVM_CAP_DIRTY_LOG_RING_ACQ_REL 223 | ||
| 1180 | 1181 | ||
| 1181 | #ifdef KVM_CAP_IRQ_ROUTING | 1182 | #ifdef KVM_CAP_IRQ_ROUTING |
| 1182 | 1183 | ||
| @@ -13,8 +13,6 @@ · 12 unmodified lines | |||
| 13 | #include <linux/in.h> | 13 | #include <linux/in.h> |
| 14 | #include <linux/in6.h> | 14 | #include <linux/in6.h> |
| 15 | 15 | ||
| 16 | #define IPPROTO_L2TP 115 | ||
| 17 | |||
| 18 | /** | 16 | /** |
| 19 | * struct sockaddr_l2tpip - the sockaddr structure for L2TP-over-IP sockets | 17 | * struct sockaddr_l2tpip - the sockaddr structure for L2TP-over-IP sockets |
| 20 | * @l2tp_family: address family number AF_L2TPIP. | 18 | * @l2tp_family: address family number AF_L2TPIP. |
| @@ -26,7 +26,7 @@ struct landlock_ruleset_attr { · 25 unmodified lines | |||
| 26 | * Landlock filesystem access rights that are not part of | 26 | * Landlock filesystem access rights that are not part of |
| 27 | * handled_access_fs are allowed. This is needed for backward | 27 | * handled_access_fs are allowed. This is needed for backward |
| 28 | * compatibility reasons. One exception is the | 28 | * compatibility reasons. One exception is the |
| 29 | * LANDLOCK_ACCESS_FS_REFER access right, which is always implicitly | 29 | * %LANDLOCK_ACCESS_FS_REFER access right, which is always implicitly |
| 30 | * handled, but must still be explicitly handled to add new rules with | 30 | * handled, but must still be explicitly handled to add new rules with |
| 31 | * this access right. | 31 | * this access right. |
| 32 | */ | 32 | */ |
| @@ -128,11 +128,11 @@ struct landlock_path_beneath_attr { · 95 unmodified lines | |||
| 128 | * hierarchy must also always have the same or a superset of restrictions of | 128 | * hierarchy must also always have the same or a superset of restrictions of |
| 129 | * the source hierarchy. If it is not the case, or if the domain doesn't | 129 | * the source hierarchy. If it is not the case, or if the domain doesn't |
| 130 | * handle this access right, such actions are denied by default with errno | 130 | * handle this access right, such actions are denied by default with errno |
| 131 | * set to EXDEV. Linking also requires a LANDLOCK_ACCESS_FS_MAKE_* access | 131 | * set to ``EXDEV``. Linking also requires a ``LANDLOCK_ACCESS_FS_MAKE_*`` |
| 132 | * right on the destination directory, and renaming also requires a | 132 | * access right on the destination directory, and renaming also requires a |
| 133 | * LANDLOCK_ACCESS_FS_REMOVE_* access right on the source's (file or | 133 | * ``LANDLOCK_ACCESS_FS_REMOVE_*`` access right on the source's (file or |
| 134 | * directory) parent. Otherwise, such actions are denied with errno set to | 134 | * directory) parent. Otherwise, such actions are denied with errno set to |
| 135 | * EACCES. The EACCES errno prevails over EXDEV to let user space | 135 | * ``EACCES``. The ``EACCES`` errno prevails over ``EXDEV`` to let user space |
| 136 | * efficiently deal with an unrecoverable error. | 136 | * efficiently deal with an unrecoverable error. |
| 137 | * | 137 | * |
| 138 | * .. warning:: | 138 | * .. warning:: |
| @@ -15,6 +15,7 @@ enum lwtunnel_encap_types { · 14 unmodified lines | |||
| 15 | LWTUNNEL_ENCAP_SEG6_LOCAL, | 15 | LWTUNNEL_ENCAP_SEG6_LOCAL, |
| 16 | LWTUNNEL_ENCAP_RPL, | 16 | LWTUNNEL_ENCAP_RPL, |
| 17 | LWTUNNEL_ENCAP_IOAM6, | 17 | LWTUNNEL_ENCAP_IOAM6, |
| 18 | LWTUNNEL_ENCAP_XFRM, | ||
| 18 | __LWTUNNEL_ENCAP_MAX, | 19 | __LWTUNNEL_ENCAP_MAX, |
| 19 | }; | 20 | }; |
| 20 | 21 | ||
| @@ -111,4 +112,13 @@ enum { · 90 unmodified lines | |||
| 111 | 112 | ||
| 112 | #define LWT_BPF_MAX_HEADROOM 256 | 113 | #define LWT_BPF_MAX_HEADROOM 256 |
| 113 | 114 | ||
| 115 | enum { | ||
| 116 | LWT_XFRM_UNSPEC, | ||
| 117 | LWT_XFRM_IF_ID, | ||
| 118 | LWT_XFRM_LINK, | ||
| 119 | __LWT_XFRM_MAX, | ||
| 120 | }; | ||
| 121 | |||
| 122 | #define LWT_XFRM_MAX (__LWT_XFRM_MAX - 1) | ||
| 123 | |||
| 114 | #endif /* _UAPI_LWTUNNEL_H_ */ | 124 | #endif /* _UAPI_LWTUNNEL_H_ */ |
| @@ -63,7 +63,9 @@ enum { · 62 unmodified lines | |||
| 63 | NFPROTO_NETDEV = 5, | 63 | NFPROTO_NETDEV = 5, |
| 64 | NFPROTO_BRIDGE = 7, | 64 | NFPROTO_BRIDGE = 7, |
| 65 | NFPROTO_IPV6 = 10, | 65 | NFPROTO_IPV6 = 10, |
| 66 | #ifndef __KERNEL__ /* no longer supported by kernel */ | ||
| 66 | NFPROTO_DECNET = 12, | 67 | NFPROTO_DECNET = 12, |
| 68 | #endif | ||
| 67 | NFPROTO_NUMPROTO, | 69 | NFPROTO_NUMPROTO, |
| 68 | }; | 70 | }; |
| 69 | 71 | ||
| @@ -3,10 +3,6 @@ · 2 unmodified lines | |||
| 3 | * Patrick Schaaf <bof@bof.de> | 3 | * Patrick Schaaf <bof@bof.de> |
| 4 | * Martin Josefsson <gandalf@wlug.westbo.se> | 4 | * Martin Josefsson <gandalf@wlug.westbo.se> |
| 5 | * Copyright (C) 2003-2011 Jozsef Kadlecsik <kadlec@netfilter.org> | 5 | * Copyright (C) 2003-2011 Jozsef Kadlecsik <kadlec@netfilter.org> |
| 6 | * | ||
| 7 | * This program is free software; you can redistribute it and/or modify | ||
| 8 | * it under the terms of the GNU General Public License version 2 as | ||
| 9 | * published by the Free Software Foundation. | ||
| 10 | */ | 6 | */ |
| 11 | #ifndef _UAPI_IP_SET_H | 7 | #ifndef _UAPI_IP_SET_H |
| 12 | #define _UAPI_IP_SET_H | 8 | #define _UAPI_IP_SET_H |
| @@ -4,10 +4,6 @@ · 3 unmodified lines | |||
| 4 | * | 4 | * |
| 5 | * (C) 2010-2011 Thomas Graf <tgraf@redhat.com> | 5 | * (C) 2010-2011 Thomas Graf <tgraf@redhat.com> |
| 6 | * (C) 2010-2011 Red Hat, Inc. | 6 | * (C) 2010-2011 Red Hat, Inc. |
| 7 | * | ||
| 8 | * This program is free software; you can redistribute it and/or modify | ||
| 9 | * it under the terms of the GNU General Public License version 2 as | ||
| 10 | * published by the Free Software Foundation. | ||
| 11 | */ | 7 | */ |
| 12 | 8 | ||
| 13 | #ifndef _XT_AUDIT_TARGET_H | 9 | #ifndef _XT_AUDIT_TARGET_H |
| @@ -1,18 +1,13 @@ | |||
| 1 | /* SPDX-License-Identifier: GPL-2.0+ WITH Linux-syscall-note */ | 1 | /* SPDX-License-Identifier: GPL-2.0+ WITH Linux-syscall-note */ |
| 2 | /* Copyright (C) 2002,2004 MARA Systems AB <https://www.marasystems.com> | ||
| 3 | * by Henrik Nordstrom <hno@marasystems.com> | ||
| 4 | */ | ||
| 5 | |||
| 2 | #ifndef _XT_CONNMARK_H | 6 | #ifndef _XT_CONNMARK_H |
| 3 | #define _XT_CONNMARK_H | 7 | #define _XT_CONNMARK_H |
| 4 | 8 | ||
| 5 | #include <linux/types.h> | 9 | #include <linux/types.h> |
| 6 | 10 | ||
| 7 | /* Copyright (C) 2002,2004 MARA Systems AB <https://www.marasystems.com> | ||
| 8 | * by Henrik Nordstrom <hno@marasystems.com> | ||
| 9 | * | ||
| 10 | * This program is free software; you can redistribute it and/or modify | ||
| 11 | * it under the terms of the GNU General Public License as published by | ||
| 12 | * the Free Software Foundation; either version 2 of the License, or | ||
| 13 | * (at your option) any later version. | ||
| 14 | */ | ||
| 15 | |||
| 16 | enum { | 11 | enum { |
| 17 | XT_CONNMARK_SET = 0, | 12 | XT_CONNMARK_SET = 0, |
| 18 | XT_CONNMARK_SAVE, | 13 | XT_CONNMARK_SAVE, |
| @@ -1,20 +1,6 @@ | |||
| 1 | /* SPDX-License-Identifier: GPL-2.0+ WITH Linux-syscall-note */ | 1 | /* SPDX-License-Identifier: GPL-2.0+ WITH Linux-syscall-note */ |
| 2 | /* | 2 | /* |
| 3 | * Copyright (c) 2003+ Evgeniy Polyakov <johnpol@2ka.mxt.ru> | 3 | * Copyright (c) 2003+ Evgeniy Polyakov <johnpol@2ka.mxt.ru> |
| 4 | * | ||
| 5 | * | ||
| 6 | * This program is free software; you can redistribute it and/or modify | ||
| 7 | * it under the terms of the GNU General Public License as published by | ||
| 8 | * the Free Software Foundation; either version 2 of the License, or | ||
| 9 | * (at your option) any later version. | ||
| 10 | * | ||
| 11 | * This program is distributed in the hope that it will be useful, | ||
| 12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
| 14 | * GNU General Public License for more details. | ||
| 15 | * | ||
| 16 | * You should have received a copy of the GNU General Public License | ||
| 17 | * along with this program; if not, see <http://www.gnu.org/licenses/>. | ||
| 18 | */ | 4 | */ |
| 19 | 5 | ||
| 20 | #ifndef _XT_OSF_H | 6 | #ifndef _XT_OSF_H |
| @@ -1,72 +0,0 @@ | |||
| 1 | /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ | ||
| 2 | #ifndef __LINUX_DECNET_NETFILTER_H | ||
| 3 | #define __LINUX_DECNET_NETFILTER_H | ||
| 4 | |||
| 5 | /* DECnet-specific defines for netfilter. | ||
| 6 | * This file (C) Steve Whitehouse 1999 derived from the | ||
| 7 | * ipv4 netfilter header file which is | ||
| 8 | * (C)1998 Rusty Russell -- This code is GPL. | ||
| 9 | */ | ||
| 10 | |||
| 11 | #include <linux/netfilter.h> | ||
| 12 | |||
| 13 | /* only for userspace compatibility */ | ||
| 14 | #ifndef __KERNEL__ | ||
| 15 | |||
| 16 | #include <limits.h> /* for INT_MIN, INT_MAX */ | ||
| 17 | |||
| 18 | /* kernel define is in netfilter_defs.h */ | ||
| 19 | #define NF_DN_NUMHOOKS 7 | ||
| 20 | #endif /* ! __KERNEL__ */ | ||
| 21 | |||
| 22 | /* DECnet Hooks */ | ||
| 23 | /* After promisc drops, checksum checks. */ | ||
| 24 | #define NF_DN_PRE_ROUTING 0 | ||
| 25 | /* If the packet is destined for this box. */ | ||
| 26 | #define NF_DN_LOCAL_IN 1 | ||
| 27 | /* If the packet is destined for another interface. */ | ||
| 28 | #define NF_DN_FORWARD 2 | ||
| 29 | /* Packets coming from a local process. */ | ||
| 30 | #define NF_DN_LOCAL_OUT 3 | ||
| 31 | /* Packets about to hit the wire. */ | ||
| 32 | #define NF_DN_POST_ROUTING 4 | ||
| 33 | /* Input Hello Packets */ | ||
| 34 | #define NF_DN_HELLO 5 | ||
| 35 | /* Input Routing Packets */ | ||
| 36 | #define NF_DN_ROUTE 6 | ||
| 37 | |||
| 38 | enum nf_dn_hook_priorities { | ||
| 39 | NF_DN_PRI_FIRST = INT_MIN, | ||
| 40 | NF_DN_PRI_CONNTRACK = -200, | ||
| 41 | NF_DN_PRI_MANGLE = -150, | ||
| 42 | NF_DN_PRI_NAT_DST = -100, | ||
| 43 | NF_DN_PRI_FILTER = 0, | ||
| 44 | NF_DN_PRI_NAT_SRC = 100, | ||
| 45 | NF_DN_PRI_DNRTMSG = 200, | ||
| 46 | NF_DN_PRI_LAST = INT_MAX, | ||
| 47 | }; | ||
| 48 | |||
| 49 | struct nf_dn_rtmsg { | ||
| 50 | int nfdn_ifindex; | ||
| 51 | }; | ||
| 52 | |||
| 53 | #define NFDN_RTMSG(r) ((unsigned char *)(r) + NLMSG_ALIGN(sizeof(struct nf_dn_rtmsg))) | ||
| 54 | |||
| 55 | #ifndef __KERNEL__ | ||
| 56 | /* backwards compatibility for userspace */ | ||
| 57 | #define DNRMG_L1_GROUP 0x01 | ||
| 58 | #define DNRMG_L2_GROUP 0x02 | ||
| 59 | #endif | ||
| 60 | |||
| 61 | enum { | ||
| 62 | DNRNG_NLGRP_NONE, | ||
| 63 | #define DNRNG_NLGRP_NONE DNRNG_NLGRP_NONE | ||
| 64 | DNRNG_NLGRP_L1, | ||
| 65 | #define DNRNG_NLGRP_L1 DNRNG_NLGRP_L1 | ||
| 66 | DNRNG_NLGRP_L2, | ||
| 67 | #define DNRNG_NLGRP_L2 DNRNG_NLGRP_L2 | ||
| 68 | __DNRNG_NLGRP_MAX | ||
| 69 | }; | ||
| 70 | #define DNRNG_NLGRP_MAX (__DNRNG_NLGRP_MAX - 1) | ||
| 71 | |||
| 72 | #endif /*__LINUX_DECNET_NETFILTER_H*/ | ||
| @@ -20,7 +20,7 @@ · 19 unmodified lines | |||
| 20 | #define NETLINK_CONNECTOR 11 | 20 | #define NETLINK_CONNECTOR 11 |
| 21 | #define NETLINK_NETFILTER 12 /* netfilter subsystem */ | 21 | #define NETLINK_NETFILTER 12 /* netfilter subsystem */ |
| 22 | #define NETLINK_IP6_FW 13 | 22 | #define NETLINK_IP6_FW 13 |
| 23 | #define NETLINK_DNRTMSG 14 /* DECnet routing messages */ | 23 | #define NETLINK_DNRTMSG 14 /* DECnet routing messages (obsolete) */ |
| 24 | #define NETLINK_KOBJECT_UEVENT 15 /* Kernel messages to userspace */ | 24 | #define NETLINK_KOBJECT_UEVENT 15 /* Kernel messages to userspace */ |
| 25 | #define NETLINK_GENERIC 16 | 25 | #define NETLINK_GENERIC 16 |
| 26 | /* leave room for NETLINK_DM (DM Events) */ | 26 | /* leave room for NETLINK_DM (DM Events) */ |
| @@ -41,12 +41,20 @@ struct sockaddr_nl { · 14 unmodified lines | |||
| 41 | __u32 nl_groups; /* multicast groups mask */ | 41 | __u32 nl_groups; /* multicast groups mask */ |
| 42 | }; | 42 | }; |
| 43 | 43 | ||
| 44 | /** | ||
| 45 | * struct nlmsghdr - fixed format metadata header of Netlink messages | ||
| 46 | * @nlmsg_len: Length of message including header | ||
| 47 | * @nlmsg_type: Message content type | ||
| 48 | * @nlmsg_flags: Additional flags | ||
| 49 | * @nlmsg_seq: Sequence number | ||
| 50 | * @nlmsg_pid: Sending process port ID | ||
| 51 | */ | ||
| 44 | struct nlmsghdr { | 52 | struct nlmsghdr { |
| 45 | __u32 nlmsg_len; /* Length of message including header */ | 53 | __u32 nlmsg_len; |
| 46 | __u16 nlmsg_type; /* Message content */ | 54 | __u16 nlmsg_type; |
| 47 | __u16 nlmsg_flags; /* Additional flags */ | 55 | __u16 nlmsg_flags; |
| 48 | __u32 nlmsg_seq; /* Sequence number */ | 56 | __u32 nlmsg_seq; |
| 49 | __u32 nlmsg_pid; /* Sending process port ID */ | 57 | __u32 nlmsg_pid; |
| 50 | }; | 58 | }; |
| 51 | 59 | ||
| 52 | /* Flags values */ | 60 | /* Flags values */ |
| @@ -54,7 +62,7 @@ struct nlmsghdr { · 1 unmodified line | |||
| 54 | #define NLM_F_REQUEST 0x01 /* It is request message. */ | 62 | #define NLM_F_REQUEST 0x01 /* It is request message. */ |
| 55 | #define NLM_F_MULTI 0x02 /* Multipart message, terminated by NLMSG_DONE */ | 63 | #define NLM_F_MULTI 0x02 /* Multipart message, terminated by NLMSG_DONE */ |
| 56 | #define NLM_F_ACK 0x04 /* Reply with ack, with zero or error code */ | 64 | #define NLM_F_ACK 0x04 /* Reply with ack, with zero or error code */ |
| 57 | #define NLM_F_ECHO 0x08 /* Echo this request */ | 65 | #define NLM_F_ECHO 0x08 /* Receive resulting notifications */ |
| 58 | #define NLM_F_DUMP_INTR 0x10 /* Dump was inconsistent due to sequence change */ | 66 | #define NLM_F_DUMP_INTR 0x10 /* Dump was inconsistent due to sequence change */ |
| 59 | #define NLM_F_DUMP_FILTERED 0x20 /* Dump was filtered as requested */ | 67 | #define NLM_F_DUMP_FILTERED 0x20 /* Dump was filtered as requested */ |
| 60 | 68 | ||
| @@ -132,6 +140,10 @@ struct nlmsgerr { · 71 unmodified lines | |||
| 132 | * be used - in the success case - to identify a created | 140 | * be used - in the success case - to identify a created |
| 133 | * object or operation or similar (binary) | 141 | * object or operation or similar (binary) |
| 134 | * @NLMSGERR_ATTR_POLICY: policy for a rejected attribute | 142 | * @NLMSGERR_ATTR_POLICY: policy for a rejected attribute |
| 143 | * @NLMSGERR_ATTR_MISS_TYPE: type of a missing required attribute, | ||
| 144 | * %NLMSGERR_ATTR_MISS_NEST will not be present if the attribute was | ||
| 145 | * missing at the message level | ||
| 146 | * @NLMSGERR_ATTR_MISS_NEST: offset of the nest where attribute was missing | ||
| 135 | * @__NLMSGERR_ATTR_MAX: number of attributes | 147 | * @__NLMSGERR_ATTR_MAX: number of attributes |
| 136 | * @NLMSGERR_ATTR_MAX: highest attribute number | 148 | * @NLMSGERR_ATTR_MAX: highest attribute number |
| 137 | */ | 149 | */ |
| @@ -141,6 +153,8 @@ enum nlmsgerr_attrs { · 3 unmodified lines | |||
| 141 | NLMSGERR_ATTR_OFFS, | 153 | NLMSGERR_ATTR_OFFS, |
| 142 | NLMSGERR_ATTR_COOKIE, | 154 | NLMSGERR_ATTR_COOKIE, |
| 143 | NLMSGERR_ATTR_POLICY, | 155 | NLMSGERR_ATTR_POLICY, |
| 156 | NLMSGERR_ATTR_MISS_TYPE, | ||
| 157 | NLMSGERR_ATTR_MISS_NEST, | ||
| 144 | 158 | ||
| 145 | __NLMSGERR_ATTR_MAX, | 159 | __NLMSGERR_ATTR_MAX, |
| 146 | NLMSGERR_ATTR_MAX = __NLMSGERR_ATTR_MAX - 1 | 160 | NLMSGERR_ATTR_MAX = __NLMSGERR_ATTR_MAX - 1 |
| @@ -337,6 +351,9 @@ enum netlink_attribute_type { · 190 unmodified lines | |||
| 337 | * bitfield32 type (U32) | 351 | * bitfield32 type (U32) |
| 338 | * @NL_POLICY_TYPE_ATTR_MASK: mask of valid bits for unsigned integers (U64) | 352 | * @NL_POLICY_TYPE_ATTR_MASK: mask of valid bits for unsigned integers (U64) |
| 339 | * @NL_POLICY_TYPE_ATTR_PAD: pad attribute for 64-bit alignment | 353 | * @NL_POLICY_TYPE_ATTR_PAD: pad attribute for 64-bit alignment |
| 354 | * | ||
| 355 | * @__NL_POLICY_TYPE_ATTR_MAX: number of attributes | ||
| 356 | * @NL_POLICY_TYPE_ATTR_MAX: highest attribute number | ||
| 340 | */ | 357 | */ |
| 341 | enum netlink_policy_type_attr { | 358 | enum netlink_policy_type_attr { |
| 342 | NL_POLICY_TYPE_ATTR_UNSPEC, | 359 | NL_POLICY_TYPE_ATTR_UNSPEC, |
| @@ -377,14 +377,22 @@ · 376 unmodified lines | |||
| 377 | * the non-transmitting interfaces are deleted as well. | 377 | * the non-transmitting interfaces are deleted as well. |
| 378 | * | 378 | * |
| 379 | * @NL80211_CMD_GET_KEY: Get sequence counter information for a key specified | 379 | * @NL80211_CMD_GET_KEY: Get sequence counter information for a key specified |
| 380 | * by %NL80211_ATTR_KEY_IDX and/or %NL80211_ATTR_MAC. | 380 | * by %NL80211_ATTR_KEY_IDX and/or %NL80211_ATTR_MAC. %NL80211_ATTR_MAC |
| 381 | * represents peer's MLD address for MLO pairwise key. For MLO group key, | ||
| 382 | * the link is identified by %NL80211_ATTR_MLO_LINK_ID. | ||
| 381 | * @NL80211_CMD_SET_KEY: Set key attributes %NL80211_ATTR_KEY_DEFAULT, | 383 | * @NL80211_CMD_SET_KEY: Set key attributes %NL80211_ATTR_KEY_DEFAULT, |
| 382 | * %NL80211_ATTR_KEY_DEFAULT_MGMT, or %NL80211_ATTR_KEY_THRESHOLD. | 384 | * %NL80211_ATTR_KEY_DEFAULT_MGMT, or %NL80211_ATTR_KEY_THRESHOLD. |
| 385 | * For MLO connection, the link to set default key is identified by | ||
| 386 | * %NL80211_ATTR_MLO_LINK_ID. | ||
| 383 | * @NL80211_CMD_NEW_KEY: add a key with given %NL80211_ATTR_KEY_DATA, | 387 | * @NL80211_CMD_NEW_KEY: add a key with given %NL80211_ATTR_KEY_DATA, |
| 384 | * %NL80211_ATTR_KEY_IDX, %NL80211_ATTR_MAC, %NL80211_ATTR_KEY_CIPHER, | 388 | * %NL80211_ATTR_KEY_IDX, %NL80211_ATTR_MAC, %NL80211_ATTR_KEY_CIPHER, |
| 385 | * and %NL80211_ATTR_KEY_SEQ attributes. | 389 | * and %NL80211_ATTR_KEY_SEQ attributes. %NL80211_ATTR_MAC represents |
| 390 | * peer's MLD address for MLO pairwise key. The link to add MLO | ||
| 391 | * group key is identified by %NL80211_ATTR_MLO_LINK_ID. | ||
| 386 | * @NL80211_CMD_DEL_KEY: delete a key identified by %NL80211_ATTR_KEY_IDX | 392 | * @NL80211_CMD_DEL_KEY: delete a key identified by %NL80211_ATTR_KEY_IDX |
| 387 | * or %NL80211_ATTR_MAC. | 393 | * or %NL80211_ATTR_MAC. %NL80211_ATTR_MAC represents peer's MLD address |
| 394 | * for MLO pairwise key. The link to delete group key is identified by | ||
| 395 | * %NL80211_ATTR_MLO_LINK_ID. | ||
| 388 | * | 396 | * |
| 389 | * @NL80211_CMD_GET_BEACON: (not used) | 397 | * @NL80211_CMD_GET_BEACON: (not used) |
| 390 | * @NL80211_CMD_SET_BEACON: change the beacon on an access point interface | 398 | * @NL80211_CMD_SET_BEACON: change the beacon on an access point interface |
| @@ -4951,6 +4959,7 @@ enum nl80211_bss_scan_width { · 4560 unmodified lines | |||
| 4951 | * using the nesting index as the antenna number. | 4959 | * using the nesting index as the antenna number. |
| 4952 | * @NL80211_BSS_FREQUENCY_OFFSET: frequency offset in KHz | 4960 | * @NL80211_BSS_FREQUENCY_OFFSET: frequency offset in KHz |
| 4953 | * @NL80211_BSS_MLO_LINK_ID: MLO link ID of the BSS (u8). | 4961 | * @NL80211_BSS_MLO_LINK_ID: MLO link ID of the BSS (u8). |
| 4962 | * @NL80211_BSS_MLD_ADDR: MLD address of this BSS if connected to it. | ||
| 4954 | * @__NL80211_BSS_AFTER_LAST: internal | 4963 | * @__NL80211_BSS_AFTER_LAST: internal |
| 4955 | * @NL80211_BSS_MAX: highest BSS attribute | 4964 | * @NL80211_BSS_MAX: highest BSS attribute |
| 4956 | */ | 4965 | */ |
| @@ -4977,6 +4986,7 @@ enum nl80211_bss { · 20 unmodified lines | |||
| 4977 | NL80211_BSS_CHAIN_SIGNAL, | 4986 | NL80211_BSS_CHAIN_SIGNAL, |
| 4978 | NL80211_BSS_FREQUENCY_OFFSET, | 4987 | NL80211_BSS_FREQUENCY_OFFSET, |
| 4979 | NL80211_BSS_MLO_LINK_ID, | 4988 | NL80211_BSS_MLO_LINK_ID, |
| 4989 | NL80211_BSS_MLD_ADDR, | ||
| 4980 | 4990 | ||
| 4981 | /* keep last */ | 4991 | /* keep last */ |
| 4982 | __NL80211_BSS_AFTER_LAST, | 4992 | __NL80211_BSS_AFTER_LAST, |
| @@ -6273,6 +6283,14 @@ enum nl80211_feature_flags { · 1290 unmodified lines | |||
| 6273 | * @NL80211_EXT_FEATURE_RADAR_BACKGROUND: Device supports background radar/CAC | 6283 | * @NL80211_EXT_FEATURE_RADAR_BACKGROUND: Device supports background radar/CAC |
| 6274 | * detection. | 6284 | * detection. |
| 6275 | * | 6285 | * |
| 6286 | * @NL80211_EXT_FEATURE_POWERED_ADDR_CHANGE: Device can perform a MAC address | ||
| 6287 | * change without having to bring the underlying network device down | ||
| 6288 | * first. For example, in station mode this can be used to vary the | ||
| 6289 | * origin MAC address prior to a connection to a new AP for privacy | ||
| 6290 | * or other reasons. Note that certain driver specific restrictions | ||
| 6291 | * might apply, e.g. no scans in progress, no offchannel operations | ||
| 6292 | * in progress, and no active connections. | ||
| 6293 | * | ||
| 6276 | * @NUM_NL80211_EXT_FEATURES: number of extended features. | 6294 | * @NUM_NL80211_EXT_FEATURES: number of extended features. |
| 6277 | * @MAX_NL80211_EXT_FEATURES: highest extended feature index. | 6295 | * @MAX_NL80211_EXT_FEATURES: highest extended feature index. |
| 6278 | */ | 6296 | */ |
| @@ -6340,6 +6358,7 @@ enum nl80211_ext_feature_index { · 61 unmodified lines | |||
| 6340 | NL80211_EXT_FEATURE_BSS_COLOR, | 6358 | NL80211_EXT_FEATURE_BSS_COLOR, |
| 6341 | NL80211_EXT_FEATURE_FILS_CRYPTO_OFFLOAD, | 6359 | NL80211_EXT_FEATURE_FILS_CRYPTO_OFFLOAD, |
| 6342 | NL80211_EXT_FEATURE_RADAR_BACKGROUND, | 6360 | NL80211_EXT_FEATURE_RADAR_BACKGROUND, |
| 6361 | NL80211_EXT_FEATURE_POWERED_ADDR_CHANGE, | ||
| 6343 | 6362 | ||
| 6344 | /* add new features before the definition below */ | 6363 | /* add new features before the definition below */ |
| 6345 | NUM_NL80211_EXT_FEATURES, | 6364 | NUM_NL80211_EXT_FEATURES, |
| @@ -76,6 +76,8 @@ enum ovs_datapath_cmd { · 75 unmodified lines | |||
| 76 | * datapath. Always present in notifications. | 76 | * datapath. Always present in notifications. |
| 77 | * @OVS_DP_ATTR_MEGAFLOW_STATS: Statistics about mega flow masks usage for the | 77 | * @OVS_DP_ATTR_MEGAFLOW_STATS: Statistics about mega flow masks usage for the |
| 78 | * datapath. Always present in notifications. | 78 | * datapath. Always present in notifications. |
| 79 | * @OVS_DP_ATTR_IFINDEX: Interface index for a new datapath netdev. Only | ||
| 80 | * valid for %OVS_DP_CMD_NEW requests. | ||
| 79 | * | 81 | * |
| 80 | * These attributes follow the &struct ovs_header within the Generic Netlink | 82 | * These attributes follow the &struct ovs_header within the Generic Netlink |
| 81 | * payload for %OVS_DP_* commands. | 83 | * payload for %OVS_DP_* commands. |
| @@ -92,6 +94,7 @@ enum ovs_datapath_attr { · 10 unmodified lines | |||
| 92 | OVS_DP_ATTR_PER_CPU_PIDS, /* Netlink PIDS to receive upcalls in | 94 | OVS_DP_ATTR_PER_CPU_PIDS, /* Netlink PIDS to receive upcalls in |
| 93 | * per-cpu dispatch mode | 95 | * per-cpu dispatch mode |
| 94 | */ | 96 | */ |
| 97 | OVS_DP_ATTR_IFINDEX, | ||
| 95 | __OVS_DP_ATTR_MAX | 98 | __OVS_DP_ATTR_MAX |
| 96 | }; | 99 | }; |
| 97 | 100 | ||
| @@ -164,8 +164,6 @@ enum perf_event_sample_format { · 163 unmodified lines | |||
| 164 | PERF_SAMPLE_WEIGHT_STRUCT = 1U << 24, | 164 | PERF_SAMPLE_WEIGHT_STRUCT = 1U << 24, |
| 165 | 165 | ||
| 166 | PERF_SAMPLE_MAX = 1U << 25, /* non-ABI */ | 166 | PERF_SAMPLE_MAX = 1U << 25, /* non-ABI */ |
| 167 | |||
| 168 | __PERF_SAMPLE_CALLCHAIN_EARLY = 1ULL << 63, /* non-ABI; internal use */ | ||
| 169 | }; | 167 | }; |
| 170 | 168 | ||
| 171 | #define PERF_SAMPLE_WEIGHT_TYPE (PERF_SAMPLE_WEIGHT | PERF_SAMPLE_WEIGHT_STRUCT) | 169 | #define PERF_SAMPLE_WEIGHT_TYPE (PERF_SAMPLE_WEIGHT | PERF_SAMPLE_WEIGHT_STRUCT) |
| @@ -204,6 +202,8 @@ enum perf_branch_sample_type_shift { · 32 unmodified lines | |||
| 204 | 202 | ||
| 205 | PERF_SAMPLE_BRANCH_HW_INDEX_SHIFT = 17, /* save low level index of raw branch records */ | 203 | PERF_SAMPLE_BRANCH_HW_INDEX_SHIFT = 17, /* save low level index of raw branch records */ |
| 206 | 204 | ||
| 205 | PERF_SAMPLE_BRANCH_PRIV_SAVE_SHIFT = 18, /* save privilege mode */ | ||
| 206 | |||
| 207 | PERF_SAMPLE_BRANCH_MAX_SHIFT /* non-ABI */ | 207 | PERF_SAMPLE_BRANCH_MAX_SHIFT /* non-ABI */ |
| 208 | }; | 208 | }; |
| 209 | 209 | ||
| @@ -233,6 +233,8 @@ enum perf_branch_sample_type { · 23 unmodified lines | |||
| 233 | 233 | ||
| 234 | PERF_SAMPLE_BRANCH_HW_INDEX = 1U << PERF_SAMPLE_BRANCH_HW_INDEX_SHIFT, | 234 | PERF_SAMPLE_BRANCH_HW_INDEX = 1U << PERF_SAMPLE_BRANCH_HW_INDEX_SHIFT, |
| 235 | 235 | ||
| 236 | PERF_SAMPLE_BRANCH_PRIV_SAVE = 1U << PERF_SAMPLE_BRANCH_PRIV_SAVE_SHIFT, | ||
| 237 | |||
| 236 | PERF_SAMPLE_BRANCH_MAX = 1U << PERF_SAMPLE_BRANCH_MAX_SHIFT, | 238 | PERF_SAMPLE_BRANCH_MAX = 1U << PERF_SAMPLE_BRANCH_MAX_SHIFT, |
| 237 | }; | 239 | }; |
| 238 | 240 | ||
| @@ -253,9 +255,48 @@ enum { · 14 unmodified lines | |||
| 253 | PERF_BR_COND_RET = 10, /* conditional function return */ | 255 | PERF_BR_COND_RET = 10, /* conditional function return */ |
| 254 | PERF_BR_ERET = 11, /* exception return */ | 256 | PERF_BR_ERET = 11, /* exception return */ |
| 255 | PERF_BR_IRQ = 12, /* irq */ | 257 | PERF_BR_IRQ = 12, /* irq */ |
| 258 | PERF_BR_SERROR = 13, /* system error */ | ||
| 259 | PERF_BR_NO_TX = 14, /* not in transaction */ | ||
| 260 | PERF_BR_EXTEND_ABI = 15, /* extend ABI */ | ||
| 256 | PERF_BR_MAX, | 261 | PERF_BR_MAX, |
| 257 | }; | 262 | }; |
| 258 | 263 | ||
| 264 | /* | ||
| 265 | * Common branch speculation outcome classification | ||
| 266 | */ | ||
| 267 | enum { | ||
| 268 | PERF_BR_SPEC_NA = 0, /* Not available */ | ||
| 269 | PERF_BR_SPEC_WRONG_PATH = 1, /* Speculative but on wrong path */ | ||
| 270 | PERF_BR_NON_SPEC_CORRECT_PATH = 2, /* Non-speculative but on correct path */ | ||
| 271 | PERF_BR_SPEC_CORRECT_PATH = 3, /* Speculative and on correct path */ | ||
| 272 | PERF_BR_SPEC_MAX, | ||
| 273 | }; | ||
| 274 | |||
| 275 | enum { | ||
| 276 | PERF_BR_NEW_FAULT_ALGN = 0, /* Alignment fault */ | ||
| 277 | PERF_BR_NEW_FAULT_DATA = 1, /* Data fault */ | ||
| 278 | PERF_BR_NEW_FAULT_INST = 2, /* Inst fault */ | ||
| 279 | PERF_BR_NEW_ARCH_1 = 3, /* Architecture specific */ | ||
| 280 | PERF_BR_NEW_ARCH_2 = 4, /* Architecture specific */ | ||
| 281 | PERF_BR_NEW_ARCH_3 = 5, /* Architecture specific */ | ||
| 282 | PERF_BR_NEW_ARCH_4 = 6, /* Architecture specific */ | ||
| 283 | PERF_BR_NEW_ARCH_5 = 7, /* Architecture specific */ | ||
| 284 | PERF_BR_NEW_MAX, | ||
| 285 | }; | ||
| 286 | |||
| 287 | enum { | ||
| 288 | PERF_BR_PRIV_UNKNOWN = 0, | ||
| 289 | PERF_BR_PRIV_USER = 1, | ||
| 290 | PERF_BR_PRIV_KERNEL = 2, | ||
| 291 | PERF_BR_PRIV_HV = 3, | ||
| 292 | }; | ||
| 293 | |||
| 294 | #define PERF_BR_ARM64_FIQ PERF_BR_NEW_ARCH_1 | ||
| 295 | #define PERF_BR_ARM64_DEBUG_HALT PERF_BR_NEW_ARCH_2 | ||
| 296 | #define PERF_BR_ARM64_DEBUG_EXIT PERF_BR_NEW_ARCH_3 | ||
| 297 | #define PERF_BR_ARM64_DEBUG_INST PERF_BR_NEW_ARCH_4 | ||
| 298 | #define PERF_BR_ARM64_DEBUG_DATA PERF_BR_NEW_ARCH_5 | ||
| 299 | |||
| 259 | #define PERF_SAMPLE_BRANCH_PLM_ALL \ | 300 | #define PERF_SAMPLE_BRANCH_PLM_ALL \ |
| 260 | (PERF_SAMPLE_BRANCH_USER|\ | 301 | (PERF_SAMPLE_BRANCH_USER|\ |
| 261 | PERF_SAMPLE_BRANCH_KERNEL|\ | 302 | PERF_SAMPLE_BRANCH_KERNEL|\ |
| @@ -1295,7 +1336,9 @@ union perf_mem_data_src { · 1033 unmodified lines | |||
| 1295 | #define PERF_MEM_LVLNUM_L2 0x02 /* L2 */ | 1336 | #define PERF_MEM_LVLNUM_L2 0x02 /* L2 */ |
| 1296 | #define PERF_MEM_LVLNUM_L3 0x03 /* L3 */ | 1337 | #define PERF_MEM_LVLNUM_L3 0x03 /* L3 */ |
| 1297 | #define PERF_MEM_LVLNUM_L4 0x04 /* L4 */ | 1338 | #define PERF_MEM_LVLNUM_L4 0x04 /* L4 */ |
| 1298 | /* 5-0xa available */ | 1339 | /* 5-0x8 available */ |
| 1340 | #define PERF_MEM_LVLNUM_EXTN_MEM 0x09 /* Extension memory */ | ||
| 1341 | #define PERF_MEM_LVLNUM_IO 0x0a /* I/O */ | ||
| 1299 | #define PERF_MEM_LVLNUM_ANY_CACHE 0x0b /* Any cache */ | 1342 | #define PERF_MEM_LVLNUM_ANY_CACHE 0x0b /* Any cache */ |
| 1300 | #define PERF_MEM_LVLNUM_LFB 0x0c /* LFB */ | 1343 | #define PERF_MEM_LVLNUM_LFB 0x0c /* LFB */ |
| 1301 | #define PERF_MEM_LVLNUM_RAM 0x0d /* RAM */ | 1344 | #define PERF_MEM_LVLNUM_RAM 0x0d /* RAM */ |
| @@ -1313,7 +1356,7 @@ union perf_mem_data_src { · 11 unmodified lines | |||
| 1313 | #define PERF_MEM_SNOOP_SHIFT 19 | 1356 | #define PERF_MEM_SNOOP_SHIFT 19 |
| 1314 | 1357 | ||
| 1315 | #define PERF_MEM_SNOOPX_FWD 0x01 /* forward */ | 1358 | #define PERF_MEM_SNOOPX_FWD 0x01 /* forward */ |
| 1316 | /* 1 free */ | 1359 | #define PERF_MEM_SNOOPX_PEER 0x02 /* xfer from peer */ |
| 1317 | #define PERF_MEM_SNOOPX_SHIFT 38 | 1360 | #define PERF_MEM_SNOOPX_SHIFT 38 |
| 1318 | 1361 | ||
| 1319 | /* locked instruction */ | 1362 | /* locked instruction */ |
| @@ -1363,6 +1406,7 @@ union perf_mem_data_src { · 43 unmodified lines | |||
| 1363 | * abort: aborting a hardware transaction | 1406 | * abort: aborting a hardware transaction |
| 1364 | * cycles: cycles from last branch (or 0 if not supported) | 1407 | * cycles: cycles from last branch (or 0 if not supported) |
| 1365 | * type: branch type | 1408 | * type: branch type |
| 1409 | * spec: branch speculation info (or 0 if not supported) | ||
| 1366 | */ | 1410 | */ |
| 1367 | struct perf_branch_entry { | 1411 | struct perf_branch_entry { |
| 1368 | __u64 from; | 1412 | __u64 from; |
| @@ -1373,7 +1417,10 @@ struct perf_branch_entry { · 4 unmodified lines | |||
| 1373 | abort:1, /* transaction abort */ | 1417 | abort:1, /* transaction abort */ |
| 1374 | cycles:16, /* cycle count to last branch */ | 1418 | cycles:16, /* cycle count to last branch */ |
| 1375 | type:4, /* branch type */ | 1419 | type:4, /* branch type */ |
| 1376 | reserved:40; | 1420 | spec:2, /* branch speculation info */ |
| 1421 | new_type:4, /* additional branch type */ | ||
| 1422 | priv:3, /* privilege level */ | ||
| 1423 | reserved:31; | ||
| 1377 | }; | 1424 | }; |
| 1378 | 1425 | ||
| 1379 | union perf_sample_weight { | 1426 | union perf_sample_weight { |
| @@ -592,6 +592,8 @@ enum { · 591 unmodified lines | |||
| 592 | TCA_FLOWER_KEY_PPPOE_SID, /* be16 */ | 592 | TCA_FLOWER_KEY_PPPOE_SID, /* be16 */ |
| 593 | TCA_FLOWER_KEY_PPP_PROTO, /* be16 */ | 593 | TCA_FLOWER_KEY_PPP_PROTO, /* be16 */ |
| 594 | 594 | ||
| 595 | TCA_FLOWER_KEY_L2TPV3_SID, /* be32 */ | ||
| 596 | |||
| 595 | __TCA_FLOWER_MAX, | 597 | __TCA_FLOWER_MAX, |
| 596 | }; | 598 | }; |
| 597 | 599 | ||
| @@ -1232,6 +1232,16 @@ enum { · 1231 unmodified lines | |||
| 1232 | #define TCA_TAPRIO_ATTR_FLAG_TXTIME_ASSIST _BITUL(0) | 1232 | #define TCA_TAPRIO_ATTR_FLAG_TXTIME_ASSIST _BITUL(0) |
| 1233 | #define TCA_TAPRIO_ATTR_FLAG_FULL_OFFLOAD _BITUL(1) | 1233 | #define TCA_TAPRIO_ATTR_FLAG_FULL_OFFLOAD _BITUL(1) |
| 1234 | 1234 | ||
| 1235 | enum { | ||
| 1236 | TCA_TAPRIO_TC_ENTRY_UNSPEC, | ||
| 1237 | TCA_TAPRIO_TC_ENTRY_INDEX, /* u32 */ | ||
| 1238 | TCA_TAPRIO_TC_ENTRY_MAX_SDU, /* u32 */ | ||
| 1239 | |||
| 1240 | /* add new constants above here */ | ||
| 1241 | __TCA_TAPRIO_TC_ENTRY_CNT, | ||
| 1242 | TCA_TAPRIO_TC_ENTRY_MAX = (__TCA_TAPRIO_TC_ENTRY_CNT - 1) | ||
| 1243 | }; | ||
| 1244 | |||
| 1235 | enum { | 1245 | enum { |
| 1236 | TCA_TAPRIO_ATTR_UNSPEC, | 1246 | TCA_TAPRIO_ATTR_UNSPEC, |
| 1237 | TCA_TAPRIO_ATTR_PRIOMAP, /* struct tc_mqprio_qopt */ | 1247 | TCA_TAPRIO_ATTR_PRIOMAP, /* struct tc_mqprio_qopt */ |
| @@ -1245,6 +1255,7 @@ enum { · 7 unmodified lines | |||
| 1245 | TCA_TAPRIO_ATTR_SCHED_CYCLE_TIME_EXTENSION, /* s64 */ | 1255 | TCA_TAPRIO_ATTR_SCHED_CYCLE_TIME_EXTENSION, /* s64 */ |
| 1246 | TCA_TAPRIO_ATTR_FLAGS, /* u32 */ | 1256 | TCA_TAPRIO_ATTR_FLAGS, /* u32 */ |
| 1247 | TCA_TAPRIO_ATTR_TXTIME_DELAY, /* u32 */ | 1257 | TCA_TAPRIO_ATTR_TXTIME_DELAY, /* u32 */ |
| 1258 | TCA_TAPRIO_ATTR_TC_ENTRY, /* nest */ | ||
| 1248 | __TCA_TAPRIO_ATTR_MAX, | 1259 | __TCA_TAPRIO_ATTR_MAX, |
| 1249 | }; | 1260 | }; |
| 1250 | 1261 | ||
| @@ -48,12 +48,26 @@ · 47 unmodified lines | |||
| 48 | #define PSCI_0_2_FN64_MIGRATE_INFO_UP_CPU PSCI_0_2_FN64(7) | 48 | #define PSCI_0_2_FN64_MIGRATE_INFO_UP_CPU PSCI_0_2_FN64(7) |
| 49 | 49 | ||
| 50 | #define PSCI_1_0_FN_PSCI_FEATURES PSCI_0_2_FN(10) | 50 | #define PSCI_1_0_FN_PSCI_FEATURES PSCI_0_2_FN(10) |
| 51 | #define PSCI_1_0_FN_CPU_FREEZE PSCI_0_2_FN(11) | ||
| 52 | #define PSCI_1_0_FN_CPU_DEFAULT_SUSPEND PSCI_0_2_FN(12) | ||
| 53 | #define PSCI_1_0_FN_NODE_HW_STATE PSCI_0_2_FN(13) | ||
| 51 | #define PSCI_1_0_FN_SYSTEM_SUSPEND PSCI_0_2_FN(14) | 54 | #define PSCI_1_0_FN_SYSTEM_SUSPEND PSCI_0_2_FN(14) |
| 52 | #define PSCI_1_0_FN_SET_SUSPEND_MODE PSCI_0_2_FN(15) | 55 | #define PSCI_1_0_FN_SET_SUSPEND_MODE PSCI_0_2_FN(15) |
| 56 | #define PSCI_1_0_FN_STAT_RESIDENCY PSCI_0_2_FN(16) | ||
| 57 | #define PSCI_1_0_FN_STAT_COUNT PSCI_0_2_FN(17) | ||
| 58 | |||
| 53 | #define PSCI_1_1_FN_SYSTEM_RESET2 PSCI_0_2_FN(18) | 59 | #define PSCI_1_1_FN_SYSTEM_RESET2 PSCI_0_2_FN(18) |
| 60 | #define PSCI_1_1_FN_MEM_PROTECT PSCI_0_2_FN(19) | ||
| 61 | #define PSCI_1_1_FN_MEM_PROTECT_CHECK_RANGE PSCI_0_2_FN(19) | ||
| 54 | 62 | ||
| 63 | #define PSCI_1_0_FN64_CPU_DEFAULT_SUSPEND PSCI_0_2_FN64(12) | ||
| 64 | #define PSCI_1_0_FN64_NODE_HW_STATE PSCI_0_2_FN64(13) | ||
| 55 | #define PSCI_1_0_FN64_SYSTEM_SUSPEND PSCI_0_2_FN64(14) | 65 | #define PSCI_1_0_FN64_SYSTEM_SUSPEND PSCI_0_2_FN64(14) |
| 66 | #define PSCI_1_0_FN64_STAT_RESIDENCY PSCI_0_2_FN64(16) | ||
| 67 | #define PSCI_1_0_FN64_STAT_COUNT PSCI_0_2_FN64(17) | ||
| 68 | |||
| 56 | #define PSCI_1_1_FN64_SYSTEM_RESET2 PSCI_0_2_FN64(18) | 69 | #define PSCI_1_1_FN64_SYSTEM_RESET2 PSCI_0_2_FN64(18) |
| 70 | #define PSCI_1_1_FN64_MEM_PROTECT_CHECK_RANGE PSCI_0_2_FN64(19) | ||
| 57 | 71 | ||
| 58 | /* PSCI v0.2 power state encoding for CPU_SUSPEND function */ | 72 | /* PSCI v0.2 power state encoding for CPU_SUSPEND function */ |
| 59 | #define PSCI_0_2_POWER_STATE_ID_MASK 0xffff | 73 | #define PSCI_0_2_POWER_STATE_ID_MASK 0xffff |
| @@ -132,6 +132,18 @@ struct opal_read_write_table { · 131 unmodified lines | |||
| 132 | __u64 priv; | 132 | __u64 priv; |
| 133 | }; | 133 | }; |
| 134 | 134 | ||
| 135 | #define OPAL_FL_SUPPORTED 0x00000001 | ||
| 136 | #define OPAL_FL_LOCKING_SUPPORTED 0x00000002 | ||
| 137 | #define OPAL_FL_LOCKING_ENABLED 0x00000004 | ||
| 138 | #define OPAL_FL_LOCKED 0x00000008 | ||
| 139 | #define OPAL_FL_MBR_ENABLED 0x00000010 | ||
| 140 | #define OPAL_FL_MBR_DONE 0x00000020 | ||
| 141 | |||
| 142 | struct opal_status { | ||
| 143 | __u32 flags; | ||
| 144 | __u32 reserved; | ||
| 145 | }; | ||
| 146 | |||
| 135 | #define IOC_OPAL_SAVE _IOW('p', 220, struct opal_lock_unlock) | 147 | #define IOC_OPAL_SAVE _IOW('p', 220, struct opal_lock_unlock) |
| 136 | #define IOC_OPAL_LOCK_UNLOCK _IOW('p', 221, struct opal_lock_unlock) | 148 | #define IOC_OPAL_LOCK_UNLOCK _IOW('p', 221, struct opal_lock_unlock) |
| 137 | #define IOC_OPAL_TAKE_OWNERSHIP _IOW('p', 222, struct opal_key) | 149 | #define IOC_OPAL_TAKE_OWNERSHIP _IOW('p', 222, struct opal_key) |
| @@ -148,5 +160,6 @@ struct opal_read_write_table { · 10 unmodified lines | |||
| 148 | #define IOC_OPAL_MBR_DONE _IOW('p', 233, struct opal_mbr_done) | 160 | #define IOC_OPAL_MBR_DONE _IOW('p', 233, struct opal_mbr_done) |
| 149 | #define IOC_OPAL_WRITE_SHADOW_MBR _IOW('p', 234, struct opal_shadow_mbr) | 161 | #define IOC_OPAL_WRITE_SHADOW_MBR _IOW('p', 234, struct opal_shadow_mbr) |
| 150 | #define IOC_OPAL_GENERIC_TABLE_RW _IOW('p', 235, struct opal_read_write_table) | 162 | #define IOC_OPAL_GENERIC_TABLE_RW _IOW('p', 235, struct opal_read_write_table) |
| 163 | #define IOC_OPAL_GET_STATUS _IOR('p', 236, struct opal_status) | ||
| 151 | 164 | ||
| 152 | #endif /* _UAPI_SED_OPAL_H */ | 165 | #endif /* _UAPI_SED_OPAL_H */ |
| @@ -28,6 +28,7 @@ enum { · 27 unmodified lines | |||
| 28 | SEG6_LOCAL_BPF, | 28 | SEG6_LOCAL_BPF, |
| 29 | SEG6_LOCAL_VRFTABLE, | 29 | SEG6_LOCAL_VRFTABLE, |
| 30 | SEG6_LOCAL_COUNTERS, | 30 | SEG6_LOCAL_COUNTERS, |
| 31 | SEG6_LOCAL_FLAVORS, | ||
| 31 | __SEG6_LOCAL_MAX, | 32 | __SEG6_LOCAL_MAX, |
| 32 | }; | 33 | }; |
| 33 | #define SEG6_LOCAL_MAX (__SEG6_LOCAL_MAX - 1) | 34 | #define SEG6_LOCAL_MAX (__SEG6_LOCAL_MAX - 1) |
| @@ -110,4 +111,27 @@ enum { · 76 unmodified lines | |||
| 110 | 111 | ||
| 111 | #define SEG6_LOCAL_CNT_MAX (__SEG6_LOCAL_CNT_MAX - 1) | 112 | #define SEG6_LOCAL_CNT_MAX (__SEG6_LOCAL_CNT_MAX - 1) |
| 112 | 113 | ||
| 114 | /* SRv6 End* Flavor attributes */ | ||
| 115 | enum { | ||
| 116 | SEG6_LOCAL_FLV_UNSPEC, | ||
| 117 | SEG6_LOCAL_FLV_OPERATION, | ||
| 118 | SEG6_LOCAL_FLV_LCBLOCK_BITS, | ||
| 119 | SEG6_LOCAL_FLV_LCNODE_FN_BITS, | ||
| 120 | __SEG6_LOCAL_FLV_MAX, | ||
| 121 | }; | ||
| 122 | |||
| 123 | #define SEG6_LOCAL_FLV_MAX (__SEG6_LOCAL_FLV_MAX - 1) | ||
| 124 | |||
| 125 | /* Designed flavor operations for SRv6 End* Behavior */ | ||
| 126 | enum { | ||
| 127 | SEG6_LOCAL_FLV_OP_UNSPEC, | ||
| 128 | SEG6_LOCAL_FLV_OP_PSP, | ||
| 129 | SEG6_LOCAL_FLV_OP_USP, | ||
| 130 | SEG6_LOCAL_FLV_OP_USD, | ||
| 131 | SEG6_LOCAL_FLV_OP_NEXT_CSID, | ||
| 132 | __SEG6_LOCAL_FLV_OP_MAX | ||
| 133 | }; | ||
| 134 | |||
| 135 | #define SEG6_LOCAL_FLV_OP_MAX (__SEG6_LOCAL_FLV_OP_MAX - 1) | ||
| 136 | |||
| 113 | #endif | 137 | #endif |
| @@ -124,7 +124,8 @@ struct statx { · 123 unmodified lines | |||
| 124 | __u32 stx_dev_minor; | 124 | __u32 stx_dev_minor; |
| 125 | /* 0x90 */ | 125 | /* 0x90 */ |
| 126 | __u64 stx_mnt_id; | 126 | __u64 stx_mnt_id; |
| 127 | __u64 __spare2; | 127 | __u32 stx_dio_mem_align; /* Memory buffer alignment for direct I/O */ |
| 128 | __u32 stx_dio_offset_align; /* File offset alignment for direct I/O */ | ||
| 128 | /* 0xa0 */ | 129 | /* 0xa0 */ |
| 129 | __u64 __spare3[12]; /* Spare space for future expansion */ | 130 | __u64 __spare3[12]; /* Spare space for future expansion */ |
| 130 | /* 0x100 */ | 131 | /* 0x100 */ |
| @@ -152,6 +153,7 @@ struct statx { · 21 unmodified lines | |||
| 152 | #define STATX_BASIC_STATS 0x000007ffU /* The stuff in the normal stat struct */ | 153 | #define STATX_BASIC_STATS 0x000007ffU /* The stuff in the normal stat struct */ |
| 153 | #define STATX_BTIME 0x00000800U /* Want/got stx_btime */ | 154 | #define STATX_BTIME 0x00000800U /* Want/got stx_btime */ |
| 154 | #define STATX_MNT_ID 0x00001000U /* Got stx_mnt_id */ | 155 | #define STATX_MNT_ID 0x00001000U /* Got stx_mnt_id */ |
| 156 | #define STATX_DIOALIGN 0x00002000U /* Want/got direct I/O alignment info */ | ||
| 155 | 157 | ||
| 156 | #define STATX__RESERVED 0x80000000U /* Reserved for future struct statx expansion */ | 158 | #define STATX__RESERVED 0x80000000U /* Reserved for future struct statx expansion */ |
| 157 | 159 | ||
| @@ -1,11 +1,6 @@ | |||
| 1 | /* SPDX-License-Identifier: GPL-2.0+ WITH Linux-syscall-note */ | 1 | /* SPDX-License-Identifier: GPL-2.0+ WITH Linux-syscall-note */ |
| 2 | /* | 2 | /* |
| 3 | * Copyright (c) 2015 Jiri Pirko <jiri@resnulli.us> | 3 | * Copyright (c) 2015 Jiri Pirko <jiri@resnulli.us> |
| 4 | * | ||
| 5 | * This program is free software; you can redistribute it and/or modify | ||
| 6 | * it under the terms of the GNU General Public License as published by | ||
| 7 | * the Free Software Foundation; either version 2 of the License, or | ||
| 8 | * (at your option) any later version. | ||
| 9 | */ | 4 | */ |
| 10 | 5 | ||
| 11 | #ifndef __LINUX_TC_BPF_H | 6 | #ifndef __LINUX_TC_BPF_H |
| @@ -2,19 +2,6 @@ · 1 unmodified line | |||
| 2 | /* | 2 | /* |
| 3 | * Copyright (c) 2008, Intel Corporation. | 3 | * Copyright (c) 2008, Intel Corporation. |
| 4 | * | 4 | * |
| 5 | * This program is free software; you can redistribute it and/or modify it | ||
| 6 | * under the terms and conditions of the GNU General Public License, | ||
| 7 | * version 2, as published by the Free Software Foundation. | ||
| 8 | * | ||
| 9 | * This program is distributed in the hope it will be useful, but WITHOUT | ||
| 10 | * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or | ||
| 11 | * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for | ||
| 12 | * more details. | ||
| 13 | * | ||
| 14 | * You should have received a copy of the GNU General Public License along with | ||
| 15 | * this program; if not, write to the Free Software Foundation, Inc., 59 Temple | ||
| 16 | * Place - Suite 330, Boston, MA 02111-1307 USA. | ||
| 17 | * | ||
| 18 | * Author: Alexander Duyck <alexander.h.duyck@intel.com> | 5 | * Author: Alexander Duyck <alexander.h.duyck@intel.com> |
| 19 | */ | 6 | */ |
| 20 | 7 | ||
| @@ -1,12 +1,7 @@ | |||
| 1 | /* SPDX-License-Identifier: GPL-2.0+ WITH Linux-syscall-note */ | 1 | /* SPDX-License-Identifier: GPL-2.0+ WITH Linux-syscall-note */ |
| 2 | /* | 2 | /* |
| 3 | * Copyright (c) 2016, Jamal Hadi Salim | 3 | * Copyright (c) 2016, Jamal Hadi Salim |
| 4 | * | 4 | */ |
| 5 | * This program is free software; you can redistribute it and/or modify | ||
| 6 | * it under the terms of the GNU General Public License as published by | ||
| 7 | * the Free Software Foundation; either version 2 of the License, or | ||
| 8 | * (at your option) any later version. | ||
| 9 | */ | ||
| 10 | 5 | ||
| 11 | #ifndef __LINUX_TC_SKBMOD_H | 6 | #ifndef __LINUX_TC_SKBMOD_H |
| 12 | #define __LINUX_TC_SKBMOD_H | 7 | #define __LINUX_TC_SKBMOD_H |
| @@ -2,11 +2,6 @@ · 1 unmodified line | |||
| 2 | /* | 2 | /* |
| 3 | * Copyright (c) 2016, Amir Vadai <amir@vadai.me> | 3 | * Copyright (c) 2016, Amir Vadai <amir@vadai.me> |
| 4 | * Copyright (c) 2016, Mellanox Technologies. All rights reserved. | 4 | * Copyright (c) 2016, Mellanox Technologies. All rights reserved. |
| 5 | * | ||
| 6 | * This program is free software; you can redistribute it and/or modify | ||
| 7 | * it under the terms of the GNU General Public License as published by | ||
| 8 | * the Free Software Foundation; either version 2 of the License, or | ||
| 9 | * (at your option) any later version. | ||
| 10 | */ | 5 | */ |
| 11 | 6 | ||
| 12 | #ifndef __LINUX_TC_TUNNEL_KEY_H | 7 | #ifndef __LINUX_TC_TUNNEL_KEY_H |
| @@ -1,11 +1,6 @@ | |||
| 1 | /* SPDX-License-Identifier: GPL-2.0+ WITH Linux-syscall-note */ | 1 | /* SPDX-License-Identifier: GPL-2.0+ WITH Linux-syscall-note */ |
| 2 | /* | 2 | /* |
| 3 | * Copyright (c) 2014 Jiri Pirko <jiri@resnulli.us> | 3 | * Copyright (c) 2014 Jiri Pirko <jiri@resnulli.us> |
| 4 | * | ||
| 5 | * This program is free software; you can redistribute it and/or modify | ||
| 6 | * it under the terms of the GNU General Public License as published by | ||
| 7 | * the Free Software Foundation; either version 2 of the License, or | ||
| 8 | * (at your option) any later version. | ||
| 9 | */ | 4 | */ |
| 10 | 5 | ||
| 11 | #ifndef __LINUX_TC_VLAN_H | 6 | #ifndef __LINUX_TC_VLAN_H |
| @@ -100,6 +100,20 @@ · 99 unmodified lines | |||
| 100 | #define TLS_CIPHER_SM4_CCM_TAG_SIZE 16 | 100 | #define TLS_CIPHER_SM4_CCM_TAG_SIZE 16 |
| 101 | #define TLS_CIPHER_SM4_CCM_REC_SEQ_SIZE 8 | 101 | #define TLS_CIPHER_SM4_CCM_REC_SEQ_SIZE 8 |
| 102 | 102 | ||
| 103 | #define TLS_CIPHER_ARIA_GCM_128 57 | ||
| 104 | #define TLS_CIPHER_ARIA_GCM_128_IV_SIZE 8 | ||
| 105 | #define TLS_CIPHER_ARIA_GCM_128_KEY_SIZE 16 | ||
| 106 | #define TLS_CIPHER_ARIA_GCM_128_SALT_SIZE 4 | ||
| 107 | #define TLS_CIPHER_ARIA_GCM_128_TAG_SIZE 16 | ||
| 108 | #define TLS_CIPHER_ARIA_GCM_128_REC_SEQ_SIZE 8 | ||
| 109 | |||
| 110 | #define TLS_CIPHER_ARIA_GCM_256 58 | ||
| 111 | #define TLS_CIPHER_ARIA_GCM_256_IV_SIZE 8 | ||
| 112 | #define TLS_CIPHER_ARIA_GCM_256_KEY_SIZE 32 | ||
| 113 | #define TLS_CIPHER_ARIA_GCM_256_SALT_SIZE 4 | ||
| 114 | #define TLS_CIPHER_ARIA_GCM_256_TAG_SIZE 16 | ||
| 115 | #define TLS_CIPHER_ARIA_GCM_256_REC_SEQ_SIZE 8 | ||
| 116 | |||
| 103 | #define TLS_SET_RECORD_TYPE 1 | 117 | #define TLS_SET_RECORD_TYPE 1 |
| 104 | #define TLS_GET_RECORD_TYPE 2 | 118 | #define TLS_GET_RECORD_TYPE 2 |
| 105 | 119 | ||
| @@ -156,6 +170,22 @@ struct tls12_crypto_info_sm4_ccm { · 50 unmodified lines | |||
| 156 | unsigned char rec_seq[TLS_CIPHER_SM4_CCM_REC_SEQ_SIZE]; | 170 | unsigned char rec_seq[TLS_CIPHER_SM4_CCM_REC_SEQ_SIZE]; |
| 157 | }; | 171 | }; |
| 158 | 172 | ||
| 173 | struct tls12_crypto_info_aria_gcm_128 { | ||
| 174 | struct tls_crypto_info info; | ||
| 175 | unsigned char iv[TLS_CIPHER_ARIA_GCM_128_IV_SIZE]; | ||
| 176 | unsigned char key[TLS_CIPHER_ARIA_GCM_128_KEY_SIZE]; | ||
| 177 | unsigned char salt[TLS_CIPHER_ARIA_GCM_128_SALT_SIZE]; | ||
| 178 | unsigned char rec_seq[TLS_CIPHER_ARIA_GCM_128_REC_SEQ_SIZE]; | ||
| 179 | }; | ||
| 180 | |||
| 181 | struct tls12_crypto_info_aria_gcm_256 { | ||
| 182 | struct tls_crypto_info info; | ||
| 183 | unsigned char iv[TLS_CIPHER_ARIA_GCM_256_IV_SIZE]; | ||
| 184 | unsigned char key[TLS_CIPHER_ARIA_GCM_256_KEY_SIZE]; | ||
| 185 | unsigned char salt[TLS_CIPHER_ARIA_GCM_256_SALT_SIZE]; | ||
| 186 | unsigned char rec_seq[TLS_CIPHER_ARIA_GCM_256_REC_SEQ_SIZE]; | ||
| 187 | }; | ||
| 188 | |||
| 159 | enum { | 189 | enum { |
| 160 | TLS_INFO_UNSPEC, | 190 | TLS_INFO_UNSPEC, |
| 161 | TLS_INFO_VERSION, | 191 | TLS_INFO_VERSION, |
| @@ -17,7 +17,8 @@ · 16 unmodified lines | |||
| 17 | #define UBLK_CMD_STOP_DEV 0x07 | 17 | #define UBLK_CMD_STOP_DEV 0x07 |
| 18 | #define UBLK_CMD_SET_PARAMS 0x08 | 18 | #define UBLK_CMD_SET_PARAMS 0x08 |
| 19 | #define UBLK_CMD_GET_PARAMS 0x09 | 19 | #define UBLK_CMD_GET_PARAMS 0x09 |
| 20 | 20 | #define UBLK_CMD_START_USER_RECOVERY 0x10 | |
| 21 | #define UBLK_CMD_END_USER_RECOVERY 0x11 | ||
| 21 | /* | 22 | /* |
| 22 | * IO commands, issued by ublk server, and handled by ublk driver. | 23 | * IO commands, issued by ublk server, and handled by ublk driver. |
| 23 | * | 24 | * |
| @@ -74,9 +75,14 @@ · 50 unmodified lines | |||
| 74 | */ | 75 | */ |
| 75 | #define UBLK_F_NEED_GET_DATA (1UL << 2) | 76 | #define UBLK_F_NEED_GET_DATA (1UL << 2) |
| 76 | 77 | ||
| 78 | #define UBLK_F_USER_RECOVERY (1UL << 3) | ||
| 79 | |||
| 80 | #define UBLK_F_USER_RECOVERY_REISSUE (1UL << 4) | ||
| 81 | |||
| 77 | /* device state */ | 82 | /* device state */ |
| 78 | #define UBLK_S_DEV_DEAD 0 | 83 | #define UBLK_S_DEV_DEAD 0 |
| 79 | #define UBLK_S_DEV_LIVE 1 | 84 | #define UBLK_S_DEV_LIVE 1 |
| 85 | #define UBLK_S_DEV_QUIESCED 2 | ||
| 80 | 86 | ||
| 81 | /* shipped via sqe->cmd of io_uring command */ | 87 | /* shipped via sqe->cmd of io_uring command */ |
| 82 | struct ublksrv_ctrl_cmd { | 88 | struct ublksrv_ctrl_cmd { |
| @@ -24,4 +24,30 @@ enum usbip_device_status { · 23 unmodified lines | |||
| 24 | VDEV_ST_USED, | 24 | VDEV_ST_USED, |
| 25 | VDEV_ST_ERROR | 25 | VDEV_ST_ERROR |
| 26 | }; | 26 | }; |
| 27 | |||
| 28 | /* USB URB Transfer flags: | ||
| 29 | * | ||
| 30 | * USBIP server and client (vchi) pack URBs in TCP packets. The following | ||
| 31 | * are the transfer type defines used in USBIP protocol. | ||
| 32 | */ | ||
| 33 | |||
| 34 | #define USBIP_URB_SHORT_NOT_OK 0x0001 | ||
| 35 | #define USBIP_URB_ISO_ASAP 0x0002 | ||
| 36 | #define USBIP_URB_NO_TRANSFER_DMA_MAP 0x0004 | ||
| 37 | #define USBIP_URB_ZERO_PACKET 0x0040 | ||
| 38 | #define USBIP_URB_NO_INTERRUPT 0x0080 | ||
| 39 | #define USBIP_URB_FREE_BUFFER 0x0100 | ||
| 40 | #define USBIP_URB_DIR_IN 0x0200 | ||
| 41 | #define USBIP_URB_DIR_OUT 0 | ||
| 42 | #define USBIP_URB_DIR_MASK USBIP_URB_DIR_IN | ||
| 43 | |||
| 44 | #define USBIP_URB_DMA_MAP_SINGLE 0x00010000 | ||
| 45 | #define USBIP_URB_DMA_MAP_PAGE 0x00020000 | ||
| 46 | #define USBIP_URB_DMA_MAP_SG 0x00040000 | ||
| 47 | #define USBIP_URB_MAP_LOCAL 0x00080000 | ||
| 48 | #define USBIP_URB_SETUP_MAP_SINGLE 0x00100000 | ||
| 49 | #define USBIP_URB_SETUP_MAP_LOCAL 0x00200000 | ||
| 50 | #define USBIP_URB_DMA_SG_COMBINED 0x00400000 | ||
| 51 | #define USBIP_URB_ALIGNED_TEMP_BUFFER 0x00800000 | ||
| 52 | |||
| 27 | #endif /* _UAPI_LINUX_USBIP_H */ | 53 | #endif /* _UAPI_LINUX_USBIP_H */ |
| @@ -12,6 +12,10 @@ · 11 unmodified lines | |||
| 12 | 12 | ||
| 13 | #include <linux/types.h> | 13 | #include <linux/types.h> |
| 14 | 14 | ||
| 15 | /* ioctls for /dev/userfaultfd */ | ||
| 16 | #define USERFAULTFD_IOC 0xAA | ||
| 17 | #define USERFAULTFD_IOC_NEW _IO(USERFAULTFD_IOC, 0x00) | ||
| 18 | |||
| 15 | /* | 19 | /* |
| 16 | * If the UFFDIO_API is upgraded someday, the UFFDIO_UNREGISTER and | 20 | * If the UFFDIO_API is upgraded someday, the UFFDIO_UNREGISTER and |
| 17 | * UFFDIO_WAKE ioctls should be defined as _IOW and not as _IOR. In | 21 | * UFFDIO_WAKE ioctls should be defined as _IOW and not as _IOR. In |
| @@ -225,6 +225,12 @@ enum v4l2_colorfx { · 224 unmodified lines | |||
| 225 | */ | 225 | */ |
| 226 | #define V4L2_CID_USER_ISL7998X_BASE (V4L2_CID_USER_BASE + 0x1180) | 226 | #define V4L2_CID_USER_ISL7998X_BASE (V4L2_CID_USER_BASE + 0x1180) |
| 227 | 227 | ||
| 228 | /* | ||
| 229 | * The base for DW100 driver controls. | ||
| 230 | * We reserve 16 controls for this driver. | ||
| 231 | */ | ||
| 232 | #define V4L2_CID_USER_DW100_BASE (V4L2_CID_USER_BASE + 0x1190) | ||
| 233 | |||
| 228 | /* MPEG-class control IDs */ | 234 | /* MPEG-class control IDs */ |
| 229 | /* The MPEG controls are applicable to all codec controls | 235 | /* The MPEG controls are applicable to all codec controls |
| 230 | * and the 'MPEG' part of the define is historical */ | 236 | * and the 'MPEG' part of the define is historical */ |
| @@ -1730,7 +1736,7 @@ struct v4l2_vp8_segment { · 1499 unmodified lines | |||
| 1730 | * @sharpness_level: matches sharpness_level syntax element. | 1736 | * @sharpness_level: matches sharpness_level syntax element. |
| 1731 | * @level: matches loop_filter_level syntax element. | 1737 | * @level: matches loop_filter_level syntax element. |
| 1732 | * @padding: padding field. Should be zeroed by applications. | 1738 | * @padding: padding field. Should be zeroed by applications. |
| 1733 | * @flags: see V4L2_VP8_LF_FLAG_{}. | 1739 | * @flags: see V4L2_VP8_LF_{}. |
| 1734 | * | 1740 | * |
| 1735 | * This structure contains loop filter related parameters. | 1741 | * This structure contains loop filter related parameters. |
| 1736 | * See the 'mb_lf_adjustments()' part of the frame header syntax, | 1742 | * See the 'mb_lf_adjustments()' part of the frame header syntax, |
| @@ -46,12 +46,18 @@ enum vdpa_attr { · 45 unmodified lines | |||
| 46 | 46 | ||
| 47 | VDPA_ATTR_DEV_NEGOTIATED_FEATURES, /* u64 */ | 47 | VDPA_ATTR_DEV_NEGOTIATED_FEATURES, /* u64 */ |
| 48 | VDPA_ATTR_DEV_MGMTDEV_MAX_VQS, /* u32 */ | 48 | VDPA_ATTR_DEV_MGMTDEV_MAX_VQS, /* u32 */ |
| 49 | /* virtio features that are supported by the vDPA management device */ | ||
| 49 | VDPA_ATTR_DEV_SUPPORTED_FEATURES, /* u64 */ | 50 | VDPA_ATTR_DEV_SUPPORTED_FEATURES, /* u64 */ |
| 50 | 51 | ||
| 51 | VDPA_ATTR_DEV_QUEUE_INDEX, /* u32 */ | 52 | VDPA_ATTR_DEV_QUEUE_INDEX, /* u32 */ |
| 52 | VDPA_ATTR_DEV_VENDOR_ATTR_NAME, /* string */ | 53 | VDPA_ATTR_DEV_VENDOR_ATTR_NAME, /* string */ |
| 53 | VDPA_ATTR_DEV_VENDOR_ATTR_VALUE, /* u64 */ | 54 | VDPA_ATTR_DEV_VENDOR_ATTR_VALUE, /* u64 */ |
| 54 | 55 | ||
| 56 | VDPA_ATTR_DEV_FEATURES, /* u64 */ | ||
| 57 | |||
| 58 | /* virtio features that are supported by the vDPA device */ | ||
| 59 | VDPA_ATTR_VDPA_DEV_SUPPORTED_FEATURES, /* u64 */ | ||
| 60 | |||
| 55 | /* new attributes must be added above here */ | 61 | /* new attributes must be added above here */ |
| 56 | VDPA_ATTR_MAX, | 62 | VDPA_ATTR_MAX, |
| 57 | }; | 63 | }; |
| @@ -986,6 +986,148 @@ enum vfio_device_mig_state { · 985 unmodified lines | |||
| 986 | VFIO_DEVICE_STATE_RUNNING_P2P = 5, | 986 | VFIO_DEVICE_STATE_RUNNING_P2P = 5, |
| 987 | }; | 987 | }; |
| 988 | 988 | ||
| 989 | /* | ||
| 990 | * Upon VFIO_DEVICE_FEATURE_SET, allow the device to be moved into a low power | ||
| 991 | * state with the platform-based power management. Device use of lower power | ||
| 992 | * states depends on factors managed by the runtime power management core, | ||
| 993 | * including system level support and coordinating support among dependent | ||
| 994 | * devices. Enabling device low power entry does not guarantee lower power | ||
| 995 | * usage by the device, nor is a mechanism provided through this feature to | ||
| 996 | * know the current power state of the device. If any device access happens | ||
| 997 | * (either from the host or through the vfio uAPI) when the device is in the | ||
| 998 | * low power state, then the host will move the device out of the low power | ||
| 999 | * state as necessary prior to the access. Once the access is completed, the | ||
| 1000 | * device may re-enter the low power state. For single shot low power support | ||
| 1001 | * with wake-up notification, see | ||
| 1002 | * VFIO_DEVICE_FEATURE_LOW_POWER_ENTRY_WITH_WAKEUP below. Access to mmap'd | ||
| 1003 | * device regions is disabled on LOW_POWER_ENTRY and may only be resumed after | ||
| 1004 | * calling LOW_POWER_EXIT. | ||
| 1005 | */ | ||
| 1006 | #define VFIO_DEVICE_FEATURE_LOW_POWER_ENTRY 3 | ||
| 1007 | |||
| 1008 | /* | ||
| 1009 | * This device feature has the same behavior as | ||
| 1010 | * VFIO_DEVICE_FEATURE_LOW_POWER_ENTRY with the exception that the user | ||
| 1011 | * provides an eventfd for wake-up notification. When the device moves out of | ||
| 1012 | * the low power state for the wake-up, the host will not allow the device to | ||
| 1013 | * re-enter a low power state without a subsequent user call to one of the low | ||
| 1014 | * power entry device feature IOCTLs. Access to mmap'd device regions is | ||
| 1015 | * disabled on LOW_POWER_ENTRY_WITH_WAKEUP and may only be resumed after the | ||
| 1016 | * low power exit. The low power exit can happen either through LOW_POWER_EXIT | ||
| 1017 | * or through any other access (where the wake-up notification has been | ||
| 1018 | * generated). The access to mmap'd device regions will not trigger low power | ||
| 1019 | * exit. | ||
| 1020 | * | ||
| 1021 | * The notification through the provided eventfd will be generated only when | ||
| 1022 | * the device has entered and is resumed from a low power state after | ||
| 1023 | * calling this device feature IOCTL. A device that has not entered low power | ||
| 1024 | * state, as managed through the runtime power management core, will not | ||
| 1025 | * generate a notification through the provided eventfd on access. Calling the | ||
| 1026 | * LOW_POWER_EXIT feature is optional in the case where notification has been | ||
| 1027 | * signaled on the provided eventfd that a resume from low power has occurred. | ||
| 1028 | */ | ||
| 1029 | struct vfio_device_low_power_entry_with_wakeup { | ||
| 1030 | __s32 wakeup_eventfd; | ||
| 1031 | __u32 reserved; | ||
| 1032 | }; | ||
| 1033 | |||
| 1034 | #define VFIO_DEVICE_FEATURE_LOW_POWER_ENTRY_WITH_WAKEUP 4 | ||
| 1035 | |||
| 1036 | /* | ||
| 1037 | * Upon VFIO_DEVICE_FEATURE_SET, disallow use of device low power states as | ||
| 1038 | * previously enabled via VFIO_DEVICE_FEATURE_LOW_POWER_ENTRY or | ||
| 1039 | * VFIO_DEVICE_FEATURE_LOW_POWER_ENTRY_WITH_WAKEUP device features. | ||
| 1040 | * This device feature IOCTL may itself generate a wakeup eventfd notification | ||
| 1041 | * in the latter case if the device had previously entered a low power state. | ||
| 1042 | */ | ||
| 1043 | #define VFIO_DEVICE_FEATURE_LOW_POWER_EXIT 5 | ||
| 1044 | |||
| 1045 | /* | ||
| 1046 | * Upon VFIO_DEVICE_FEATURE_SET start/stop device DMA logging. | ||
| 1047 | * VFIO_DEVICE_FEATURE_PROBE can be used to detect if the device supports | ||
| 1048 | * DMA logging. | ||
| 1049 | * | ||
| 1050 | * DMA logging allows a device to internally record what DMAs the device is | ||
| 1051 | * initiating and report them back to userspace. It is part of the VFIO | ||
| 1052 | * migration infrastructure that allows implementing dirty page tracking | ||
| 1053 | * during the pre copy phase of live migration. Only DMA WRITEs are logged, | ||
| 1054 | * and this API is not connected to VFIO_DEVICE_FEATURE_MIG_DEVICE_STATE. | ||
| 1055 | * | ||
| 1056 | * When DMA logging is started a range of IOVAs to monitor is provided and the | ||
| 1057 | * device can optimize its logging to cover only the IOVA range given. Each | ||
| 1058 | * DMA that the device initiates inside the range will be logged by the device | ||
| 1059 | * for later retrieval. | ||
| 1060 | * | ||
| 1061 | * page_size is an input that hints what tracking granularity the device | ||
| 1062 | * should try to achieve. If the device cannot do the hinted page size then | ||
| 1063 | * it's the driver choice which page size to pick based on its support. | ||
| 1064 | * On output the device will return the page size it selected. | ||
| 1065 | * | ||
| 1066 | * ranges is a pointer to an array of | ||
| 1067 | * struct vfio_device_feature_dma_logging_range. | ||
| 1068 | * | ||
| 1069 | * The core kernel code guarantees to support by minimum num_ranges that fit | ||
| 1070 | * into a single kernel page. User space can try higher values but should give | ||
| 1071 | * up if the above can't be achieved as of some driver limitations. | ||
| 1072 | * | ||
| 1073 | * A single call to start device DMA logging can be issued and a matching stop | ||
| 1074 | * should follow at the end. Another start is not allowed in the meantime. | ||
| 1075 | */ | ||
| 1076 | struct vfio_device_feature_dma_logging_control { | ||
| 1077 | __aligned_u64 page_size; | ||
| 1078 | __u32 num_ranges; | ||
| 1079 | __u32 __reserved; | ||
| 1080 | __aligned_u64 ranges; | ||
| 1081 | }; | ||
| 1082 | |||
| 1083 | struct vfio_device_feature_dma_logging_range { | ||
| 1084 | __aligned_u64 iova; | ||
| 1085 | __aligned_u64 length; | ||
| 1086 | }; | ||
| 1087 | |||
| 1088 | #define VFIO_DEVICE_FEATURE_DMA_LOGGING_START 6 | ||
| 1089 | |||
| 1090 | /* | ||
| 1091 | * Upon VFIO_DEVICE_FEATURE_SET stop device DMA logging that was started | ||
| 1092 | * by VFIO_DEVICE_FEATURE_DMA_LOGGING_START | ||
| 1093 | */ | ||
| 1094 | #define VFIO_DEVICE_FEATURE_DMA_LOGGING_STOP 7 | ||
| 1095 | |||
| 1096 | /* | ||
| 1097 | * Upon VFIO_DEVICE_FEATURE_GET read back and clear the device DMA log | ||
| 1098 | * | ||
| 1099 | * Query the device's DMA log for written pages within the given IOVA range. | ||
| 1100 | * During querying the log is cleared for the IOVA range. | ||
| 1101 | * | ||
| 1102 | * bitmap is a pointer to an array of u64s that will hold the output bitmap | ||
| 1103 | * with 1 bit reporting a page_size unit of IOVA. The mapping of IOVA to bits | ||
| 1104 | * is given by: | ||
| 1105 | * bitmap[(addr - iova)/page_size] & (1ULL << (addr % 64)) | ||
| 1106 | * | ||
| 1107 | * The input page_size can be any power of two value and does not have to | ||
| 1108 | * match the value given to VFIO_DEVICE_FEATURE_DMA_LOGGING_START. The driver | ||
| 1109 | * will format its internal logging to match the reporting page size, possibly | ||
| 1110 | * by replicating bits if the internal page size is lower than requested. | ||
| 1111 | * | ||
| 1112 | * The LOGGING_REPORT will only set bits in the bitmap and never clear or | ||
| 1113 | * perform any initialization of the user provided bitmap. | ||
| 1114 | * | ||
| 1115 | * If any error is returned userspace should assume that the dirty log is | ||
| 1116 | * corrupted. Error recovery is to consider all memory dirty and try to | ||
| 1117 | * restart the dirty tracking, or to abort/restart the whole migration. | ||
| 1118 | * | ||
| 1119 | * If DMA logging is not enabled, an error will be returned. | ||
| 1120 | * | ||
| 1121 | */ | ||
| 1122 | struct vfio_device_feature_dma_logging_report { | ||
| 1123 | __aligned_u64 iova; | ||
| 1124 | __aligned_u64 length; | ||
| 1125 | __aligned_u64 page_size; | ||
| 1126 | __aligned_u64 bitmap; | ||
| 1127 | }; | ||
| 1128 | |||
| 1129 | #define VFIO_DEVICE_FEATURE_DMA_LOGGING_REPORT 8 | ||
| 1130 | |||
| 989 | /* -------- API for Type1 VFIO IOMMU -------- */ | 1131 | /* -------- API for Type1 VFIO IOMMU -------- */ |
| 990 | 1132 | ||
| 991 | /** | 1133 | /** |
| @@ -502,7 +502,6 @@ struct v4l2_capability { · 501 unmodified lines | |||
| 502 | #define V4L2_CAP_META_CAPTURE 0x00800000 /* Is a metadata capture device */ | 502 | #define V4L2_CAP_META_CAPTURE 0x00800000 /* Is a metadata capture device */ |
| 503 | 503 | ||
| 504 | #define V4L2_CAP_READWRITE 0x01000000 /* read/write systemcalls */ | 504 | #define V4L2_CAP_READWRITE 0x01000000 /* read/write systemcalls */ |
| 505 | #define V4L2_CAP_ASYNCIO 0x02000000 /* async I/O */ | ||
| 506 | #define V4L2_CAP_STREAMING 0x04000000 /* streaming I/O ioctls */ | 505 | #define V4L2_CAP_STREAMING 0x04000000 /* streaming I/O ioctls */ |
| 507 | #define V4L2_CAP_META_OUTPUT 0x08000000 /* Is a metadata output device */ | 506 | #define V4L2_CAP_META_OUTPUT 0x08000000 /* Is a metadata output device */ |
| 508 | 507 | ||
| @@ -2435,6 +2434,7 @@ struct v4l2_event_vsync { · 1926 unmodified lines | |||
| 2435 | #define V4L2_EVENT_CTRL_CH_VALUE (1 << 0) | 2434 | #define V4L2_EVENT_CTRL_CH_VALUE (1 << 0) |
| 2436 | #define V4L2_EVENT_CTRL_CH_FLAGS (1 << 1) | 2435 | #define V4L2_EVENT_CTRL_CH_FLAGS (1 << 1) |
| 2437 | #define V4L2_EVENT_CTRL_CH_RANGE (1 << 2) | 2436 | #define V4L2_EVENT_CTRL_CH_RANGE (1 << 2) |
| 2437 | #define V4L2_EVENT_CTRL_CH_DIMENSIONS (1 << 3) | ||
| 2438 | 2438 | ||
| 2439 | struct v4l2_event_ctrl { | 2439 | struct v4l2_event_ctrl { |
| 2440 | __u32 changes; | 2440 | __u32 changes; |
| @@ -2682,6 +2682,11 @@ struct v4l2_create_buffers { · 241 unmodified lines | |||
| 2682 | #ifndef __KERNEL__ | 2682 | #ifndef __KERNEL__ |
| 2683 | #define V4L2_PIX_FMT_HM12 V4L2_PIX_FMT_NV12_16L16 | 2683 | #define V4L2_PIX_FMT_HM12 V4L2_PIX_FMT_NV12_16L16 |
| 2684 | #define V4L2_PIX_FMT_SUNXI_TILED_NV12 V4L2_PIX_FMT_NV12_32L32 | 2684 | #define V4L2_PIX_FMT_SUNXI_TILED_NV12 V4L2_PIX_FMT_NV12_32L32 |
| 2685 | /* | ||
| 2686 | * This capability was never implemented, anyone using this cap should drop it | ||
| 2687 | * from their code. | ||
| 2688 | */ | ||
| 2689 | #define V4L2_CAP_ASYNCIO 0x02000000 | ||
| 2685 | #endif | 2690 | #endif |
| 2686 | 2691 | ||
| 2687 | #endif /* _UAPI__LINUX_VIDEODEV2_H */ | 2692 | #endif /* _UAPI__LINUX_VIDEODEV2_H */ |
| @@ -40,6 +40,7 @@ · 39 unmodified lines | |||
| 40 | #define VIRTIO_BLK_F_MQ 12 /* support more than one vq */ | 40 | #define VIRTIO_BLK_F_MQ 12 /* support more than one vq */ |
| 41 | #define VIRTIO_BLK_F_DISCARD 13 /* DISCARD is supported */ | 41 | #define VIRTIO_BLK_F_DISCARD 13 /* DISCARD is supported */ |
| 42 | #define VIRTIO_BLK_F_WRITE_ZEROES 14 /* WRITE ZEROES is supported */ | 42 | #define VIRTIO_BLK_F_WRITE_ZEROES 14 /* WRITE ZEROES is supported */ |
| 43 | #define VIRTIO_BLK_F_SECURE_ERASE 16 /* Secure Erase is supported */ | ||
| 43 | 44 | ||
| 44 | /* Legacy feature bits */ | 45 | /* Legacy feature bits */ |
| 45 | #ifndef VIRTIO_BLK_NO_LEGACY | 46 | #ifndef VIRTIO_BLK_NO_LEGACY |
| @@ -121,6 +122,21 @@ struct virtio_blk_config { · 75 unmodified lines | |||
| 121 | __u8 write_zeroes_may_unmap; | 122 | __u8 write_zeroes_may_unmap; |
| 122 | 123 | ||
| 123 | __u8 unused1[3]; | 124 | __u8 unused1[3]; |
| 125 | |||
| 126 | /* the next 3 entries are guarded by VIRTIO_BLK_F_SECURE_ERASE */ | ||
| 127 | /* | ||
| 128 | * The maximum secure erase sectors (in 512-byte sectors) for | ||
| 129 | * one segment. | ||
| 130 | */ | ||
| 131 | __virtio32 max_secure_erase_sectors; | ||
| 132 | /* | ||
| 133 | * The maximum number of secure erase segments in a | ||
| 134 | * secure erase command. | ||
| 135 | */ | ||
| 136 | __virtio32 max_secure_erase_seg; | ||
| 137 | /* Secure erase commands must be aligned to this number of sectors. */ | ||
| 138 | __virtio32 secure_erase_sector_alignment; | ||
| 139 | |||
| 124 | } __attribute__((packed)); | 140 | } __attribute__((packed)); |
| 125 | 141 | ||
| 126 | /* | 142 | /* |
| @@ -155,6 +171,9 @@ struct virtio_blk_config { · 28 unmodified lines | |||
| 155 | /* Write zeroes command */ | 171 | /* Write zeroes command */ |
| 156 | #define VIRTIO_BLK_T_WRITE_ZEROES 13 | 172 | #define VIRTIO_BLK_T_WRITE_ZEROES 13 |
| 157 | 173 | ||
| 174 | /* Secure erase command */ | ||
| 175 | #define VIRTIO_BLK_T_SECURE_ERASE 14 | ||
| 176 | |||
| 158 | #ifndef VIRTIO_BLK_NO_LEGACY | 177 | #ifndef VIRTIO_BLK_NO_LEGACY |
| 159 | /* Barrier before this op. */ | 178 | /* Barrier before this op. */ |
| 160 | #define VIRTIO_BLK_T_BARRIER 0x80000000 | 179 | #define VIRTIO_BLK_T_BARRIER 0x80000000 |
| @@ -56,7 +56,7 @@ · 55 unmodified lines | |||
| 56 | #define VIRTIO_NET_F_MQ 22 /* Device supports Receive Flow | 56 | #define VIRTIO_NET_F_MQ 22 /* Device supports Receive Flow |
| 57 | * Steering */ | 57 | * Steering */ |
| 58 | #define VIRTIO_NET_F_CTRL_MAC_ADDR 23 /* Set MAC address */ | 58 | #define VIRTIO_NET_F_CTRL_MAC_ADDR 23 /* Set MAC address */ |
| 59 | #define VIRTIO_NET_F_NOTF_COAL 53 /* Guest can handle notifications coalescing */ | 59 | #define VIRTIO_NET_F_NOTF_COAL 53 /* Device supports notifications coalescing */ |
| 60 | #define VIRTIO_NET_F_HASH_REPORT 57 /* Supports hash report */ | 60 | #define VIRTIO_NET_F_HASH_REPORT 57 /* Supports hash report */ |
| 61 | #define VIRTIO_NET_F_RSS 60 /* Supports RSS RX steering */ | 61 | #define VIRTIO_NET_F_RSS 60 /* Supports RSS RX steering */ |
| 62 | #define VIRTIO_NET_F_RSC_EXT 61 /* extended coalescing info */ | 62 | #define VIRTIO_NET_F_RSC_EXT 61 /* extended coalescing info */ |
| @@ -364,24 +364,24 @@ struct virtio_net_hash_config { · 301 unmodified lines | |||
| 364 | */ | 364 | */ |
| 365 | #define VIRTIO_NET_CTRL_NOTF_COAL 6 | 365 | #define VIRTIO_NET_CTRL_NOTF_COAL 6 |
| 366 | /* | 366 | /* |
| 367 | * Set the tx-usecs/tx-max-packets patameters. | 367 | * Set the tx-usecs/tx-max-packets parameters. |
| 368 | * tx-usecs - Maximum number of usecs to delay a TX notification. | ||
| 369 | * tx-max-packets - Maximum number of packets to send before a TX notification. | ||
| 370 | */ | 368 | */ |
| 371 | struct virtio_net_ctrl_coal_tx { | 369 | struct virtio_net_ctrl_coal_tx { |
| 370 | /* Maximum number of packets to send before a TX notification */ | ||
| 372 | __le32 tx_max_packets; | 371 | __le32 tx_max_packets; |
| 372 | /* Maximum number of usecs to delay a TX notification */ | ||
| 373 | __le32 tx_usecs; | 373 | __le32 tx_usecs; |
| 374 | }; | 374 | }; |
| 375 | 375 | ||
| 376 | #define VIRTIO_NET_CTRL_NOTF_COAL_TX_SET 0 | 376 | #define VIRTIO_NET_CTRL_NOTF_COAL_TX_SET 0 |
| 377 | 377 | ||
| 378 | /* | 378 | /* |
| 379 | * Set the rx-usecs/rx-max-packets patameters. | 379 | * Set the rx-usecs/rx-max-packets parameters. |
| 380 | * rx-usecs - Maximum number of usecs to delay a RX notification. | ||
| 381 | * rx-max-frames - Maximum number of packets to receive before a RX notification. | ||
| 382 | */ | 380 | */ |
| 383 | struct virtio_net_ctrl_coal_rx { | 381 | struct virtio_net_ctrl_coal_rx { |
| 382 | /* Maximum number of packets to receive before a RX notification */ | ||
| 384 | __le32 rx_max_packets; | 383 | __le32 rx_max_packets; |
| 384 | /* Maximum number of usecs to delay a RX notification */ | ||
| 385 | __le32 rx_usecs; | 385 | __le32 rx_usecs; |
| 386 | }; | 386 | }; |
| 387 | 387 | ||
| @@ -296,7 +296,7 @@ enum xfrm_attr_type_t { · 295 unmodified lines | |||
| 296 | XFRMA_ETIMER_THRESH, | 296 | XFRMA_ETIMER_THRESH, |
| 297 | XFRMA_SRCADDR, /* xfrm_address_t */ | 297 | XFRMA_SRCADDR, /* xfrm_address_t */ |
| 298 | XFRMA_COADDR, /* xfrm_address_t */ | 298 | XFRMA_COADDR, /* xfrm_address_t */ |
| 299 | XFRMA_LASTUSED, /* unsigned long */ | 299 | XFRMA_LASTUSED, /* __u64 */ |
| 300 | XFRMA_POLICY_TYPE, /* struct xfrm_userpolicy_type */ | 300 | XFRMA_POLICY_TYPE, /* struct xfrm_userpolicy_type */ |
| 301 | XFRMA_MIGRATE, | 301 | XFRMA_MIGRATE, |
| 302 | XFRMA_ALG_AEAD, /* struct xfrm_algo_aead */ | 302 | XFRMA_ALG_AEAD, /* struct xfrm_algo_aead */ |
| @@ -707,6 +707,25 @@ enum hl_server_type { · 706 unmodified lines | |||
| 707 | HL_SERVER_GAUDI2_HLS2 = 5 | 707 | HL_SERVER_GAUDI2_HLS2 = 5 |
| 708 | }; | 708 | }; |
| 709 | 709 | ||
| 710 | /* | ||
| 711 | * Notifier event values - for the notification mechanism and the HL_INFO_GET_EVENTS command | ||
| 712 | * | ||
| 713 | * HL_NOTIFIER_EVENT_TPC_ASSERT - Indicates TPC assert event | ||
| 714 | * HL_NOTIFIER_EVENT_UNDEFINED_OPCODE - Indicates undefined operation code | ||
| 715 | * HL_NOTIFIER_EVENT_DEVICE_RESET - Indicates device requires a reset | ||
| 716 | * HL_NOTIFIER_EVENT_CS_TIMEOUT - Indicates CS timeout error | ||
| 717 | * HL_NOTIFIER_EVENT_DEVICE_UNAVAILABLE - Indicates device is unavailable | ||
| 718 | * HL_NOTIFIER_EVENT_USER_ENGINE_ERR - Indicates device engine in error state | ||
| 719 | * HL_NOTIFIER_EVENT_GENERAL_HW_ERR - Indicates device HW error | ||
| 720 | */ | ||
| 721 | #define HL_NOTIFIER_EVENT_TPC_ASSERT (1ULL << 0) | ||
| 722 | #define HL_NOTIFIER_EVENT_UNDEFINED_OPCODE (1ULL << 1) | ||
| 723 | #define HL_NOTIFIER_EVENT_DEVICE_RESET (1ULL << 2) | ||
| 724 | #define HL_NOTIFIER_EVENT_CS_TIMEOUT (1ULL << 3) | ||
| 725 | #define HL_NOTIFIER_EVENT_DEVICE_UNAVAILABLE (1ULL << 4) | ||
| 726 | #define HL_NOTIFIER_EVENT_USER_ENGINE_ERR (1ULL << 5) | ||
| 727 | #define HL_NOTIFIER_EVENT_GENERAL_HW_ERR (1ULL << 6) | ||
| 728 | |||
| 710 | /* Opcode for management ioctl | 729 | /* Opcode for management ioctl |
| 711 | * | 730 | * |
| 712 | * HW_IP_INFO - Receive information about different IP blocks in the | 731 | * HW_IP_INFO - Receive information about different IP blocks in the |
| @@ -754,6 +773,7 @@ enum hl_server_type { · 41 unmodified lines | |||
| 754 | * Razwi initiator. | 773 | * Razwi initiator. |
| 755 | * Razwi cause, was it a page fault or MMU access error. | 774 | * Razwi cause, was it a page fault or MMU access error. |
| 756 | * HL_INFO_DEV_MEM_ALLOC_PAGE_SIZES - Retrieve valid page sizes for device memory allocation | 775 | * HL_INFO_DEV_MEM_ALLOC_PAGE_SIZES - Retrieve valid page sizes for device memory allocation |
| 776 | * HL_INFO_SECURED_ATTESTATION - Retrieve attestation report of the boot. | ||
| 757 | * HL_INFO_REGISTER_EVENTFD - Register eventfd for event notifications. | 777 | * HL_INFO_REGISTER_EVENTFD - Register eventfd for event notifications. |
| 758 | * HL_INFO_UNREGISTER_EVENTFD - Unregister eventfd | 778 | * HL_INFO_UNREGISTER_EVENTFD - Unregister eventfd |
| 759 | * HL_INFO_GET_EVENTS - Retrieve the last occurred events | 779 | * HL_INFO_GET_EVENTS - Retrieve the last occurred events |
| @@ -783,14 +803,19 @@ enum hl_server_type { · 23 unmodified lines | |||
| 783 | #define HL_INFO_CS_TIMEOUT_EVENT 24 | 803 | #define HL_INFO_CS_TIMEOUT_EVENT 24 |
| 784 | #define HL_INFO_RAZWI_EVENT 25 | 804 | #define HL_INFO_RAZWI_EVENT 25 |
| 785 | #define HL_INFO_DEV_MEM_ALLOC_PAGE_SIZES 26 | 805 | #define HL_INFO_DEV_MEM_ALLOC_PAGE_SIZES 26 |
| 806 | #define HL_INFO_SECURED_ATTESTATION 27 | ||
| 786 | #define HL_INFO_REGISTER_EVENTFD 28 | 807 | #define HL_INFO_REGISTER_EVENTFD 28 |
| 787 | #define HL_INFO_UNREGISTER_EVENTFD 29 | 808 | #define HL_INFO_UNREGISTER_EVENTFD 29 |
| 788 | #define HL_INFO_GET_EVENTS 30 | 809 | #define HL_INFO_GET_EVENTS 30 |
| 789 | #define HL_INFO_UNDEFINED_OPCODE_EVENT 31 | 810 | #define HL_INFO_UNDEFINED_OPCODE_EVENT 31 |
| 811 | #define HL_INFO_ENGINE_STATUS 32 | ||
| 790 | 812 | ||
| 791 | #define HL_INFO_VERSION_MAX_LEN 128 | 813 | #define HL_INFO_VERSION_MAX_LEN 128 |
| 792 | #define HL_INFO_CARD_NAME_MAX_LEN 16 | 814 | #define HL_INFO_CARD_NAME_MAX_LEN 16 |
| 793 | 815 | ||
| 816 | /* Maximum buffer size for retrieving engines status */ | ||
| 817 | #define HL_ENGINES_DATA_MAX_SIZE SZ_1M | ||
| 818 | |||
| 794 | /** | 819 | /** |
| 795 | * struct hl_info_hw_ip_info - hardware information on various IPs in the ASIC | 820 | * struct hl_info_hw_ip_info - hardware information on various IPs in the ASIC |
| 796 | * @sram_base_address: The first SRAM physical base address that is free to be | 821 | * @sram_base_address: The first SRAM physical base address that is free to be |
| @@ -821,6 +846,7 @@ enum hl_server_type { · 24 unmodified lines | |||
| 821 | * @tpc_enabled_mask: Bit-mask that represents which TPCs are enabled. Relevant | 846 | * @tpc_enabled_mask: Bit-mask that represents which TPCs are enabled. Relevant |
| 822 | * for Goya/Gaudi only. | 847 | * for Goya/Gaudi only. |
| 823 | * @dram_enabled: Whether the DRAM is enabled. | 848 | * @dram_enabled: Whether the DRAM is enabled. |
| 849 | * @security_enabled: Whether security is enabled on device. | ||
| 824 | * @mme_master_slave_mode: Indicate whether the MME is working in master/slave | 850 | * @mme_master_slave_mode: Indicate whether the MME is working in master/slave |
| 825 | * configuration. Relevant for Greco and later. | 851 | * configuration. Relevant for Greco and later. |
| 826 | * @cpucp_version: The CPUCP f/w version. | 852 | * @cpucp_version: The CPUCP f/w version. |
| @@ -852,7 +878,7 @@ struct hl_info_hw_ip_info { · 25 unmodified lines | |||
| 852 | __u32 psoc_pci_pll_div_factor; | 878 | __u32 psoc_pci_pll_div_factor; |
| 853 | __u8 tpc_enabled_mask; | 879 | __u8 tpc_enabled_mask; |
| 854 | __u8 dram_enabled; | 880 | __u8 dram_enabled; |
| 855 | __u8 reserved; | 881 | __u8 security_enabled; |
| 856 | __u8 mme_master_slave_mode; | 882 | __u8 mme_master_slave_mode; |
| 857 | __u8 cpucp_version[HL_INFO_VERSION_MAX_LEN]; | 883 | __u8 cpucp_version[HL_INFO_VERSION_MAX_LEN]; |
| 858 | __u8 card_name[HL_INFO_CARD_NAME_MAX_LEN]; | 884 | __u8 card_name[HL_INFO_CARD_NAME_MAX_LEN]; |
| @@ -876,13 +902,13 @@ struct hl_info_hw_idle { · 17 unmodified lines | |||
| 876 | __u32 is_idle; | 902 | __u32 is_idle; |
| 877 | /* | 903 | /* |
| 878 | * Bitmask of busy engines. | 904 | * Bitmask of busy engines. |
| 879 | * Bits definition is according to `enum <chip>_enging_id'. | 905 | * Bits definition is according to `enum <chip>_engine_id'. |
| 880 | */ | 906 | */ |
| 881 | __u32 busy_engines_mask; | 907 | __u32 busy_engines_mask; |
| 882 | 908 | ||
| 883 | /* | 909 | /* |
| 884 | * Extended Bitmask of busy engines. | 910 | * Extended Bitmask of busy engines. |
| 885 | * Bits definition is according to `enum <chip>_enging_id'. | 911 | * Bits definition is according to `enum <chip>_engine_id'. |
| 886 | */ | 912 | */ |
| 887 | __u64 busy_engines_mask_ext[HL_BUSY_ENGINES_MASK_EXT_SIZE]; | 913 | __u64 busy_engines_mask_ext[HL_BUSY_ENGINES_MASK_EXT_SIZE]; |
| 888 | }; | 914 | }; |
| @@ -1078,12 +1104,12 @@ struct hl_info_razwi_event { · 189 unmodified lines | |||
| 1078 | * struct hl_info_undefined_opcode_event - info about last undefined opcode error | 1104 | * struct hl_info_undefined_opcode_event - info about last undefined opcode error |
| 1079 | * @timestamp: timestamp of the undefined opcode error | 1105 | * @timestamp: timestamp of the undefined opcode error |
| 1080 | * @cb_addr_streams: CB addresses (per stream) that are currently exists in the PQ | 1106 | * @cb_addr_streams: CB addresses (per stream) that are currently exists in the PQ |
| 1081 | * entiers. In case all streams array entries are | 1107 | * entries. In case all streams array entries are |
| 1082 | * filled with values, it means the execution was in Lower-CP. | 1108 | * filled with values, it means the execution was in Lower-CP. |
| 1083 | * @cq_addr: the address of the current handled command buffer | 1109 | * @cq_addr: the address of the current handled command buffer |
| 1084 | * @cq_size: the size of the current handled command buffer | 1110 | * @cq_size: the size of the current handled command buffer |
| 1085 | * @cb_addr_streams_len: num of streams - actual len of cb_addr_streams array. | 1111 | * @cb_addr_streams_len: num of streams - actual len of cb_addr_streams array. |
| 1086 | * should be equal to 1 incase of undefined opcode | 1112 | * should be equal to 1 in case of undefined opcode |
| 1087 | * in Upper-CP (specific stream) and equal to 4 incase | 1113 | * in Upper-CP (specific stream) and equal to 4 incase |
| 1088 | * of undefined opcode in Lower-CP. | 1114 | * of undefined opcode in Lower-CP. |
| 1089 | * @engine_id: engine-id that the error occurred on | 1115 | * @engine_id: engine-id that the error occurred on |
| @@ -1109,6 +1135,45 @@ struct hl_info_dev_memalloc_page_sizes { · 19 unmodified lines | |||
| 1109 | __u64 page_order_bitmask; | 1135 | __u64 page_order_bitmask; |
| 1110 | }; | 1136 | }; |
| 1111 | 1137 | ||
| 1138 | #define SEC_PCR_DATA_BUF_SZ 256 | ||
| 1139 | #define SEC_PCR_QUOTE_BUF_SZ 510 /* (512 - 2) 2 bytes used for size */ | ||
| 1140 | #define SEC_SIGNATURE_BUF_SZ 255 /* (256 - 1) 1 byte used for size */ | ||
| 1141 | #define SEC_PUB_DATA_BUF_SZ 510 /* (512 - 2) 2 bytes used for size */ | ||
| 1142 | #define SEC_CERTIFICATE_BUF_SZ 2046 /* (2048 - 2) 2 bytes used for size */ | ||
| 1143 | |||
| 1144 | /* | ||
| 1145 | * struct hl_info_sec_attest - attestation report of the boot | ||
| 1146 | * @nonce: number only used once. random number provided by host. this also passed to the quote | ||
| 1147 | * command as a qualifying data. | ||
| 1148 | * @pcr_quote_len: length of the attestation quote data (bytes) | ||
| 1149 | * @pub_data_len: length of the public data (bytes) | ||
| 1150 | * @certificate_len: length of the certificate (bytes) | ||
| 1151 | * @pcr_num_reg: number of PCR registers in the pcr_data array | ||
| 1152 | * @pcr_reg_len: length of each PCR register in the pcr_data array (bytes) | ||
| 1153 | * @quote_sig_len: length of the attestation report signature (bytes) | ||
| 1154 | * @pcr_data: raw values of the PCR registers | ||
| 1155 | * @pcr_quote: attestation report data structure | ||
| 1156 | * @quote_sig: signature structure of the attestation report | ||
| 1157 | * @public_data: public key for the signed attestation | ||
| 1158 | * (outPublic + name + qualifiedName) | ||
| 1159 | * @certificate: certificate for the attestation signing key | ||
| 1160 | */ | ||
| 1161 | struct hl_info_sec_attest { | ||
| 1162 | __u32 nonce; | ||
| 1163 | __u16 pcr_quote_len; | ||
| 1164 | __u16 pub_data_len; | ||
| 1165 | __u16 certificate_len; | ||
| 1166 | __u8 pcr_num_reg; | ||
| 1167 | __u8 pcr_reg_len; | ||
| 1168 | __u8 quote_sig_len; | ||
| 1169 | __u8 pcr_data[SEC_PCR_DATA_BUF_SZ]; | ||
| 1170 | __u8 pcr_quote[SEC_PCR_QUOTE_BUF_SZ]; | ||
| 1171 | __u8 quote_sig[SEC_SIGNATURE_BUF_SZ]; | ||
| 1172 | __u8 public_data[SEC_PUB_DATA_BUF_SZ]; | ||
| 1173 | __u8 certificate[SEC_CERTIFICATE_BUF_SZ]; | ||
| 1174 | __u8 pad0[2]; | ||
| 1175 | }; | ||
| 1176 | |||
| 1112 | enum gaudi_dcores { | 1177 | enum gaudi_dcores { |
| 1113 | HL_GAUDI_WS_DCORE, | 1178 | HL_GAUDI_WS_DCORE, |
| 1114 | HL_GAUDI_WN_DCORE, | 1179 | HL_GAUDI_WN_DCORE, |
| @@ -1130,6 +1195,11 @@ enum gaudi_dcores { · 15 unmodified lines | |||
| 1130 | * resolution. Currently not in use. | 1195 | * resolution. Currently not in use. |
| 1131 | * @pll_index: Index as defined in hl_<asic type>_pll_index enumeration. | 1196 | * @pll_index: Index as defined in hl_<asic type>_pll_index enumeration. |
| 1132 | * @eventfd: event file descriptor for event notifications. | 1197 | * @eventfd: event file descriptor for event notifications. |
| 1198 | * @user_buffer_actual_size: Actual data size which was copied to user allocated buffer by the | ||
| 1199 | * driver. It is possible for the user to allocate buffer larger than | ||
| 1200 | * needed, hence updating this variable so user will know the exact amount | ||
| 1201 | * of bytes copied by the kernel to the buffer. | ||
| 1202 | * @sec_attest_nonce: Nonce number used for attestation report. | ||
| 1133 | * @pad: Padding to 64 bit. | 1203 | * @pad: Padding to 64 bit. |
| 1134 | */ | 1204 | */ |
| 1135 | struct hl_info_args { | 1205 | struct hl_info_args { |
| @@ -1143,6 +1213,8 @@ struct hl_info_args { · 7 unmodified lines | |||
| 1143 | __u32 period_ms; | 1213 | __u32 period_ms; |
| 1144 | __u32 pll_index; | 1214 | __u32 pll_index; |
| 1145 | __u32 eventfd; | 1215 | __u32 eventfd; |
| 1216 | __u32 user_buffer_actual_size; | ||
| 1217 | __u32 sec_attest_nonce; | ||
| 1146 | }; | 1218 | }; |
| 1147 | 1219 | ||
| 1148 | __u32 pad; | 1220 | __u32 pad; |
| @@ -1337,17 +1409,47 @@ struct hl_cs_chunk { · 188 unmodified lines | |||
| 1337 | #define HL_CS_FLAGS_RESERVE_SIGNALS_ONLY 0x1000 | 1409 | #define HL_CS_FLAGS_RESERVE_SIGNALS_ONLY 0x1000 |
| 1338 | #define HL_CS_FLAGS_UNRESERVE_SIGNALS_ONLY 0x2000 | 1410 | #define HL_CS_FLAGS_UNRESERVE_SIGNALS_ONLY 0x2000 |
| 1339 | 1411 | ||
| 1412 | /* | ||
| 1413 | * The engine cores CS is merged into the existing CS ioctls. | ||
| 1414 | * Use it to control the engine cores mode. | ||
| 1415 | */ | ||
| 1416 | #define HL_CS_FLAGS_ENGINE_CORE_COMMAND 0x4000 | ||
| 1417 | |||
| 1340 | #define HL_CS_STATUS_SUCCESS 0 | 1418 | #define HL_CS_STATUS_SUCCESS 0 |
| 1341 | 1419 | ||
| 1342 | #define HL_MAX_JOBS_PER_CS 512 | 1420 | #define HL_MAX_JOBS_PER_CS 512 |
| 1343 | 1421 | ||
| 1422 | /* HL_ENGINE_CORE_ values | ||
| 1423 | * | ||
| 1424 | * HL_ENGINE_CORE_HALT: engine core halt | ||
| 1425 | * HL_ENGINE_CORE_RUN: engine core run | ||
| 1426 | */ | ||
| 1427 | #define HL_ENGINE_CORE_HALT (1 << 0) | ||
| 1428 | #define HL_ENGINE_CORE_RUN (1 << 1) | ||
| 1429 | |||
| 1344 | struct hl_cs_in { | 1430 | struct hl_cs_in { |
| 1345 | 1431 | ||
| 1346 | /* this holds address of array of hl_cs_chunk for restore phase */ | 1432 | union { |
| 1347 | __u64 chunks_restore; | 1433 | struct { |
| 1434 | /* this holds address of array of hl_cs_chunk for restore phase */ | ||
| 1435 | __u64 chunks_restore; | ||
| 1436 | |||
| 1437 | /* holds address of array of hl_cs_chunk for execution phase */ | ||
| 1438 | __u64 chunks_execute; | ||
| 1439 | }; | ||
| 1440 | |||
| 1441 | /* Valid only when HL_CS_FLAGS_ENGINE_CORE_COMMAND is set */ | ||
| 1442 | struct { | ||
| 1443 | /* this holds address of array of uint32 for engine_cores */ | ||
| 1444 | __u64 engine_cores; | ||
| 1348 | 1445 | ||
| 1349 | /* holds address of array of hl_cs_chunk for execution phase */ | 1446 | /* number of engine cores in engine_cores array */ |
| 1350 | __u64 chunks_execute; | 1447 | __u32 num_engine_cores; |
| 1448 | |||
| 1449 | /* the core command to be sent towards engine cores */ | ||
| 1450 | __u32 core_command; | ||
| 1451 | }; | ||
| 1452 | }; | ||
| 1351 | 1453 | ||
| 1352 | union { | 1454 | union { |
| 1353 | /* | 1455 | /* |
| @@ -1412,7 +1514,7 @@ struct hl_cs_out { · 58 unmodified lines | |||
| 1412 | 1514 | ||
| 1413 | /* Valid only when HL_CS_FLAGS_RESERVE_SIGNALS_ONLY is set */ | 1515 | /* Valid only when HL_CS_FLAGS_RESERVE_SIGNALS_ONLY is set */ |
| 1414 | struct { | 1516 | struct { |
| 1415 | /* This is the resereved signal handle id */ | 1517 | /* This is the reserved signal handle id */ |
| 1416 | __u32 handle_id; | 1518 | __u32 handle_id; |
| 1417 | 1519 | ||
| 1418 | /* This is the signals count */ | 1520 | /* This is the signals count */ |
| @@ -1874,21 +1976,6 @@ struct hl_debug_args { · 455 unmodified lines | |||
| 1874 | __u32 ctx_id; | 1976 | __u32 ctx_id; |
| 1875 | }; | 1977 | }; |
| 1876 | 1978 | ||
| 1877 | /* | ||
| 1878 | * Notifier event values - for the notification mechanism and the HL_INFO_GET_EVENTS command | ||
| 1879 | * | ||
| 1880 | * HL_NOTIFIER_EVENT_TPC_ASSERT - Indicates TPC assert event | ||
| 1881 | * HL_NOTIFIER_EVENT_UNDEFINED_OPCODE - Indicates undefined operation code | ||
| 1882 | * HL_NOTIFIER_EVENT_DEVICE_RESET - Indicates device requires a reset | ||
| 1883 | * HL_NOTIFIER_EVENT_CS_TIMEOUT - Indicates CS timeout error | ||
| 1884 | * HL_NOTIFIER_EVENT_DEVICE_UNAVAILABLE - Indicates device is unavailable | ||
| 1885 | */ | ||
| 1886 | #define HL_NOTIFIER_EVENT_TPC_ASSERT (1ULL << 0) | ||
| 1887 | #define HL_NOTIFIER_EVENT_UNDEFINED_OPCODE (1ULL << 1) | ||
| 1888 | #define HL_NOTIFIER_EVENT_DEVICE_RESET (1ULL << 2) | ||
| 1889 | #define HL_NOTIFIER_EVENT_CS_TIMEOUT (1ULL << 3) | ||
| 1890 | #define HL_NOTIFIER_EVENT_DEVICE_UNAVAILABLE (1ULL << 4) | ||
| 1891 | |||
| 1892 | /* | 1979 | /* |
| 1893 | * Various information operations such as: | 1980 | * Various information operations such as: |
| 1894 | * - H/W IP information | 1981 | * - H/W IP information |
| @@ -14,11 +14,26 @@ struct hisi_qp_ctx { · 13 unmodified lines | |||
| 14 | __u16 qc_type; | 14 | __u16 qc_type; |
| 15 | }; | 15 | }; |
| 16 | 16 | ||
| 17 | /** | ||
| 18 | * struct hisi_qp_info - User data for hisi qp. | ||
| 19 | * @sqe_size: Submission queue element size | ||
| 20 | * @sq_depth: The number of sqe | ||
| 21 | * @cq_depth: The number of cqe | ||
| 22 | * @reserved: Reserved data | ||
| 23 | */ | ||
| 24 | struct hisi_qp_info { | ||
| 25 | __u32 sqe_size; | ||
| 26 | __u16 sq_depth; | ||
| 27 | __u16 cq_depth; | ||
| 28 | __u64 reserved; | ||
| 29 | }; | ||
| 30 | |||
| 17 | #define HISI_QM_API_VER_BASE "hisi_qm_v1" | 31 | #define HISI_QM_API_VER_BASE "hisi_qm_v1" |
| 18 | #define HISI_QM_API_VER2_BASE "hisi_qm_v2" | 32 | #define HISI_QM_API_VER2_BASE "hisi_qm_v2" |
| 19 | #define HISI_QM_API_VER3_BASE "hisi_qm_v3" | 33 | #define HISI_QM_API_VER3_BASE "hisi_qm_v3" |
| 20 | 34 | ||
| 21 | /* UACCE_CMD_QM_SET_QP_CTX: Set qp algorithm type */ | 35 | /* UACCE_CMD_QM_SET_QP_CTX: Set qp algorithm type */ |
| 22 | #define UACCE_CMD_QM_SET_QP_CTX _IOWR('H', 10, struct hisi_qp_ctx) | 36 | #define UACCE_CMD_QM_SET_QP_CTX _IOWR('H', 10, struct hisi_qp_ctx) |
| 23 | 37 | /* UACCE_CMD_QM_SET_QP_INFO: Set qp depth and BD size */ | |
| 38 | #define UACCE_CMD_QM_SET_QP_INFO _IOWR('H', 11, struct hisi_qp_info) | ||
| 24 | #endif | 39 | #endif |
| @@ -55,9 +55,9 @@ struct mtd_oob_buf64 { · 54 unmodified lines | |||
| 55 | * @MTD_OPS_RAW: data are transferred as-is, with no error correction; | 55 | * @MTD_OPS_RAW: data are transferred as-is, with no error correction; |
| 56 | * this mode implies %MTD_OPS_PLACE_OOB | 56 | * this mode implies %MTD_OPS_PLACE_OOB |
| 57 | * | 57 | * |
| 58 | * These modes can be passed to ioctl(MEMWRITE) and are also used internally. | 58 | * These modes can be passed to ioctl(MEMWRITE) and ioctl(MEMREAD); they are |
| 59 | * See notes on "MTD file modes" for discussion on %MTD_OPS_RAW vs. | 59 | * also used internally. See notes on "MTD file modes" for discussion on |
| 60 | * %MTD_FILE_MODE_RAW. | 60 | * %MTD_OPS_RAW vs. %MTD_FILE_MODE_RAW. |
| 61 | */ | 61 | */ |
| 62 | enum { | 62 | enum { |
| 63 | MTD_OPS_PLACE_OOB = 0, | 63 | MTD_OPS_PLACE_OOB = 0, |
| @@ -91,6 +91,53 @@ struct mtd_write_req { · 27 unmodified lines | |||
| 91 | __u8 padding[7]; | 91 | __u8 padding[7]; |
| 92 | }; | 92 | }; |
| 93 | 93 | ||
| 94 | /** | ||
| 95 | * struct mtd_read_req_ecc_stats - ECC statistics for a read operation | ||
| 96 | * | ||
| 97 | * @uncorrectable_errors: the number of uncorrectable errors that happened | ||
| 98 | * during the read operation | ||
| 99 | * @corrected_bitflips: the number of bitflips corrected during the read | ||
| 100 | * operation | ||
| 101 | * @max_bitflips: the maximum number of bitflips detected in any single ECC | ||
| 102 | * step for the data read during the operation; this information | ||
| 103 | * can be used to decide whether the data stored in a specific | ||
| 104 | * region of the MTD device should be moved somewhere else to | ||
| 105 | * avoid data loss. | ||
| 106 | */ | ||
| 107 | struct mtd_read_req_ecc_stats { | ||
| 108 | __u32 uncorrectable_errors; | ||
| 109 | __u32 corrected_bitflips; | ||
| 110 | __u32 max_bitflips; | ||
| 111 | }; | ||
| 112 | |||
| 113 | /** | ||
| 114 | * struct mtd_read_req - data structure for requesting a read operation | ||
| 115 | * | ||
| 116 | * @start: start address | ||
| 117 | * @len: length of data buffer (only lower 32 bits are used) | ||
| 118 | * @ooblen: length of OOB buffer (only lower 32 bits are used) | ||
| 119 | * @usr_data: user-provided data buffer | ||
| 120 | * @usr_oob: user-provided OOB buffer | ||
| 121 | * @mode: MTD mode (see "MTD operation modes") | ||
| 122 | * @padding: reserved, must be set to 0 | ||
| 123 | * @ecc_stats: ECC statistics for the read operation | ||
| 124 | * | ||
| 125 | * This structure supports ioctl(MEMREAD) operations, allowing data and/or OOB | ||
| 126 | * reads in various modes. To read from OOB-only, set @usr_data == NULL, and to | ||
| 127 | * read data-only, set @usr_oob == NULL. However, setting both @usr_data and | ||
| 128 | * @usr_oob to NULL is not allowed. | ||
| 129 | */ | ||
| 130 | struct mtd_read_req { | ||
| 131 | __u64 start; | ||
| 132 | __u64 len; | ||
| 133 | __u64 ooblen; | ||
| 134 | __u64 usr_data; | ||
| 135 | __u64 usr_oob; | ||
| 136 | __u8 mode; | ||
| 137 | __u8 padding[7]; | ||
| 138 | struct mtd_read_req_ecc_stats ecc_stats; | ||
| 139 | }; | ||
| 140 | |||
| 94 | #define MTD_ABSENT 0 | 141 | #define MTD_ABSENT 0 |
| 95 | #define MTD_RAM 1 | 142 | #define MTD_RAM 1 |
| 96 | #define MTD_ROM 2 | 143 | #define MTD_ROM 2 |
| @@ -207,6 +254,12 @@ struct otp_info { · 110 unmodified lines | |||
| 207 | #define MEMWRITE _IOWR('M', 24, struct mtd_write_req) | 254 | #define MEMWRITE _IOWR('M', 24, struct mtd_write_req) |
| 208 | /* Erase a given range of user data (must be in mode %MTD_FILE_MODE_OTP_USER) */ | 255 | /* Erase a given range of user data (must be in mode %MTD_FILE_MODE_OTP_USER) */ |
| 209 | #define OTPERASE _IOW('M', 25, struct otp_info) | 256 | #define OTPERASE _IOW('M', 25, struct otp_info) |
| 257 | /* | ||
| 258 | * Most generic read interface; can read in-band and/or out-of-band in various | ||
| 259 | * modes (see "struct mtd_read_req"). This ioctl is not supported for flashes | ||
| 260 | * without OOB, e.g., NOR flash. | ||
| 261 | */ | ||
| 262 | #define MEMREAD _IOWR('M', 26, struct mtd_read_req) | ||
| 210 | 263 | ||
| 211 | /* | 264 | /* |
| 212 | * Obsolete legacy interface. Keep it in order not to break userspace | 265 | * Obsolete legacy interface. Keep it in order not to break userspace |
| @@ -270,8 +323,9 @@ struct mtd_ecc_stats { · 57 unmodified lines | |||
| 270 | * Note: %MTD_FILE_MODE_RAW provides the same functionality as %MTD_OPS_RAW - | 323 | * Note: %MTD_FILE_MODE_RAW provides the same functionality as %MTD_OPS_RAW - |
| 271 | * raw access to the flash, without error correction or autoplacement schemes. | 324 | * raw access to the flash, without error correction or autoplacement schemes. |
| 272 | * Wherever possible, the MTD_OPS_* mode will override the MTD_FILE_MODE_* mode | 325 | * Wherever possible, the MTD_OPS_* mode will override the MTD_FILE_MODE_* mode |
| 273 | * (e.g., when using ioctl(MEMWRITE)), but in some cases, the MTD_FILE_MODE is | 326 | * (e.g., when using ioctl(MEMWRITE) or ioctl(MEMREAD)), but in some cases, the |
| 274 | * used out of necessity (e.g., `write()', ioctl(MEMWRITEOOB64)). | 327 | * MTD_FILE_MODE is used out of necessity (e.g., `write()', |
| 328 | * ioctl(MEMWRITEOOB64)). | ||
| 275 | */ | 329 | */ |
| 276 | enum mtd_file_modes { | 330 | enum mtd_file_modes { |
| 277 | MTD_FILE_MODE_NORMAL = MTD_OTP_OFF, | 331 | MTD_FILE_MODE_NORMAL = MTD_OTP_OFF, |
| @@ -247,6 +247,7 @@ enum { · 246 unmodified lines | |||
| 247 | * @vid_hdr_offset: VID header offset (use defaults if %0) | 247 | * @vid_hdr_offset: VID header offset (use defaults if %0) |
| 248 | * @max_beb_per1024: maximum expected number of bad PEB per 1024 PEBs | 248 | * @max_beb_per1024: maximum expected number of bad PEB per 1024 PEBs |
| 249 | * @padding: reserved for future, not used, has to be zeroed | 249 | * @padding: reserved for future, not used, has to be zeroed |
| 250 | * @disable_fm: whether disable fastmap | ||
| 250 | * | 251 | * |
| 251 | * This data structure is used to specify MTD device UBI has to attach and the | 252 | * This data structure is used to specify MTD device UBI has to attach and the |
| 252 | * parameters it has to use. The number which should be assigned to the new UBI | 253 | * parameters it has to use. The number which should be assigned to the new UBI |
| @@ -281,13 +282,18 @@ enum { · 28 unmodified lines | |||
| 281 | * eraseblocks for new bad eraseblocks, but attempts to use available | 282 | * eraseblocks for new bad eraseblocks, but attempts to use available |
| 282 | * eraseblocks (if any). The accepted range is 0-768. If 0 is given, the | 283 | * eraseblocks (if any). The accepted range is 0-768. If 0 is given, the |
| 283 | * default kernel value of %CONFIG_MTD_UBI_BEB_LIMIT will be used. | 284 | * default kernel value of %CONFIG_MTD_UBI_BEB_LIMIT will be used. |
| 285 | * | ||
| 286 | * If @disable_fm is not zero, ubi doesn't create new fastmap even the module | ||
| 287 | * param 'fm_autoconvert' is set, and existed old fastmap will be destroyed | ||
| 288 | * after doing full scanning. | ||
| 284 | */ | 289 | */ |
| 285 | struct ubi_attach_req { | 290 | struct ubi_attach_req { |
| 286 | __s32 ubi_num; | 291 | __s32 ubi_num; |
| 287 | __s32 mtd_num; | 292 | __s32 mtd_num; |
| 288 | __s32 vid_hdr_offset; | 293 | __s32 vid_hdr_offset; |
| 289 | __s16 max_beb_per1024; | 294 | __s16 max_beb_per1024; |
| 290 | __s8 padding[10]; | 295 | __s8 disable_fm; |
| 296 | __s8 padding[9]; | ||
| 291 | }; | 297 | }; |
| 292 | 298 | ||
| 293 | /* | 299 | /* |
| @@ -1,6 +1,6 @@ | |||
| 1 | /* SPDX-License-Identifier: ((GPL-2.0 WITH Linux-syscall-note) OR BSD-2-Clause) */ | 1 | /* SPDX-License-Identifier: ((GPL-2.0 WITH Linux-syscall-note) OR BSD-2-Clause) */ |
| 2 | /* | 2 | /* |
| 3 | * Copyright 2018-2021 Amazon.com, Inc. or its affiliates. All rights reserved. | 3 | * Copyright 2018-2022 Amazon.com, Inc. or its affiliates. All rights reserved. |
| 4 | */ | 4 | */ |
| 5 | 5 | ||
| 6 | #ifndef EFA_ABI_USER_H | 6 | #ifndef EFA_ABI_USER_H |
| @@ -54,6 +54,7 @@ struct efa_ibv_alloc_pd_resp { · 47 unmodified lines | |||
| 54 | 54 | ||
| 55 | enum { | 55 | enum { |
| 56 | EFA_CREATE_CQ_WITH_COMPLETION_CHANNEL = 1 << 0, | 56 | EFA_CREATE_CQ_WITH_COMPLETION_CHANNEL = 1 << 0, |
| 57 | EFA_CREATE_CQ_WITH_SGID = 1 << 1, | ||
| 57 | }; | 58 | }; |
| 58 | 59 | ||
| 59 | struct efa_ibv_create_cq { | 60 | struct efa_ibv_create_cq { |
| @@ -118,6 +119,7 @@ enum { · 58 unmodified lines | |||
| 118 | EFA_QUERY_DEVICE_CAPS_RDMA_READ = 1 << 0, | 119 | EFA_QUERY_DEVICE_CAPS_RDMA_READ = 1 << 0, |
| 119 | EFA_QUERY_DEVICE_CAPS_RNR_RETRY = 1 << 1, | 120 | EFA_QUERY_DEVICE_CAPS_RNR_RETRY = 1 << 1, |
| 120 | EFA_QUERY_DEVICE_CAPS_CQ_NOTIFICATIONS = 1 << 2, | 121 | EFA_QUERY_DEVICE_CAPS_CQ_NOTIFICATIONS = 1 << 2, |
| 122 | EFA_QUERY_DEVICE_CAPS_CQ_WITH_SGID = 1 << 3, | ||
| 121 | }; | 123 | }; |
| 122 | 124 | ||
| 123 | struct efa_ibv_ex_query_device_resp { | 125 | struct efa_ibv_ex_query_device_resp { |
| @@ -104,6 +104,7 @@ enum mlx5_ib_alloc_ucontext_resp_mask { · 103 unmodified lines | |||
| 104 | MLX5_IB_ALLOC_UCONTEXT_RESP_MASK_ECE = 1UL << 2, | 104 | MLX5_IB_ALLOC_UCONTEXT_RESP_MASK_ECE = 1UL << 2, |
| 105 | MLX5_IB_ALLOC_UCONTEXT_RESP_MASK_SQD2RTS = 1UL << 3, | 105 | MLX5_IB_ALLOC_UCONTEXT_RESP_MASK_SQD2RTS = 1UL << 3, |
| 106 | MLX5_IB_ALLOC_UCONTEXT_RESP_MASK_REAL_TIME_TS = 1UL << 4, | 106 | MLX5_IB_ALLOC_UCONTEXT_RESP_MASK_REAL_TIME_TS = 1UL << 4, |
| 107 | MLX5_IB_ALLOC_UCONTEXT_RESP_MASK_MKEY_UPDATE_TAG = 1UL << 5, | ||
| 107 | }; | 108 | }; |
| 108 | 109 | ||
| 109 | enum mlx5_user_cmds_supp_uhw { | 110 | enum mlx5_user_cmds_supp_uhw { |
| @@ -174,6 +174,7 @@ enum mlx5_ib_devx_umem_reg_attrs { · 173 unmodified lines | |||
| 174 | MLX5_IB_ATTR_DEVX_UMEM_REG_ACCESS, | 174 | MLX5_IB_ATTR_DEVX_UMEM_REG_ACCESS, |
| 175 | MLX5_IB_ATTR_DEVX_UMEM_REG_OUT_ID, | 175 | MLX5_IB_ATTR_DEVX_UMEM_REG_OUT_ID, |
| 176 | MLX5_IB_ATTR_DEVX_UMEM_REG_PGSZ_BITMAP, | 176 | MLX5_IB_ATTR_DEVX_UMEM_REG_PGSZ_BITMAP, |
| 177 | MLX5_IB_ATTR_DEVX_UMEM_REG_DMABUF_FD, | ||
| 177 | }; | 178 | }; |
| 178 | 179 | ||
| 179 | enum mlx5_ib_devx_umem_dereg_attrs { | 180 | enum mlx5_ib_devx_umem_dereg_attrs { |
| @@ -74,7 +74,7 @@ struct rxe_av { · 73 unmodified lines | |||
| 74 | 74 | ||
| 75 | struct rxe_send_wr { | 75 | struct rxe_send_wr { |
| 76 | __aligned_u64 wr_id; | 76 | __aligned_u64 wr_id; |
| 77 | __u32 num_sge; | 77 | __u32 reserved; |
| 78 | __u32 opcode; | 78 | __u32 opcode; |
| 79 | __u32 send_flags; | 79 | __u32 send_flags; |
| 80 | union { | 80 | union { |
| @@ -166,7 +166,7 @@ struct rxe_send_wqe { · 85 unmodified lines | |||
| 166 | 166 | ||
| 167 | struct rxe_recv_wqe { | 167 | struct rxe_recv_wqe { |
| 168 | __aligned_u64 wr_id; | 168 | __aligned_u64 wr_id; |
| 169 | __u32 num_sge; | 169 | __u32 reserved; |
| 170 | __u32 padding; | 170 | __u32 padding; |
| 171 | struct rxe_dma_info dma; | 171 | struct rxe_dma_info dma; |
| 172 | }; | 172 | }; |
| @@ -35,7 +35,7 @@ · 34 unmodified lines | |||
| 35 | * FC Transport Broadcast Event Message : | 35 | * FC Transport Broadcast Event Message : |
| 36 | * FC_NL_ASYNC_EVENT | 36 | * FC_NL_ASYNC_EVENT |
| 37 | * | 37 | * |
| 38 | * Note: if Vendor Unique message, &event_data will be start of | 38 | * Note: if Vendor Unique message, event_data_flex will be start of |
| 39 | * vendor unique payload, and the length of the payload is | 39 | * vendor unique payload, and the length of the payload is |
| 40 | * per event_datalen | 40 | * per event_datalen |
| 41 | * | 41 | * |
| @@ -50,7 +50,10 @@ struct fc_nl_event { · 8 unmodified lines | |||
| 50 | __u16 event_datalen; | 50 | __u16 event_datalen; |
| 51 | __u32 event_num; | 51 | __u32 event_num; |
| 52 | __u32 event_code; | 52 | __u32 event_code; |
| 53 | __u32 event_data; | 53 | union { |
| 54 | __u32 event_data; | ||
| 55 | __DECLARE_FLEX_ARRAY(__u8, event_data_flex); | ||
| 56 | }; | ||
| 54 | } __attribute__((aligned(sizeof(__u64)))); | 57 | } __attribute__((aligned(sizeof(__u64)))); |
| 55 | 58 | ||
| 56 | 59 | ||
| @@ -3,22 +3,6 @@ · 2 unmodified lines | |||
| 3 | * Main header file for the ALSA sequencer | 3 | * Main header file for the ALSA sequencer |
| 4 | * Copyright (c) 1998-1999 by Frank van de Pol <fvdpol@coil.demon.nl> | 4 | * Copyright (c) 1998-1999 by Frank van de Pol <fvdpol@coil.demon.nl> |
| 5 | * (c) 1998-1999 by Jaroslav Kysela <perex@perex.cz> | 5 | * (c) 1998-1999 by Jaroslav Kysela <perex@perex.cz> |
| 6 | * | ||
| 7 | * | ||
| 8 | * This program is free software; you can redistribute it and/or modify | ||
| 9 | * it under the terms of the GNU General Public License as published by | ||
| 10 | * the Free Software Foundation; either version 2 of the License, or | ||
| 11 | * (at your option) any later version. | ||
| 12 | * | ||
| 13 | * This program is distributed in the hope that it will be useful, | ||
| 14 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 15 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
| 16 | * GNU General Public License for more details. | ||
| 17 | * | ||
| 18 | * You should have received a copy of the GNU General Public License | ||
| 19 | * along with this program; if not, write to the Free Software | ||
| 20 | * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA | ||
| 21 | * | ||
| 22 | */ | 6 | */ |
| 23 | #ifndef _UAPI__SOUND_ASEQUENCER_H | 7 | #ifndef _UAPI__SOUND_ASEQUENCER_H |
| 24 | #define _UAPI__SOUND_ASEQUENCER_H | 8 | #define _UAPI__SOUND_ASEQUENCER_H |
| @@ -5,10 +5,6 @@ · 4 unmodified lines | |||
| 5 | * Copyright (C) 2012 Texas Instruments Inc. | 5 | * Copyright (C) 2012 Texas Instruments Inc. |
| 6 | * Copyright (C) 2015 Intel Corporation. | 6 | * Copyright (C) 2015 Intel Corporation. |
| 7 | * | 7 | * |
| 8 | * This program is free software; you can redistribute it and/or modify | ||
| 9 | * it under the terms of the GNU General Public License version 2 as | ||
| 10 | * published by the Free Software Foundation. | ||
| 11 | * | ||
| 12 | * Simple file API to load FW that includes mixers, coefficients, DAPM graphs, | 8 | * Simple file API to load FW that includes mixers, coefficients, DAPM graphs, |
| 13 | * algorithms, equalisers, DAIs, widgets etc. | 9 | * algorithms, equalisers, DAIs, widgets etc. |
| 14 | */ | 10 | */ |
| @@ -3,22 +3,6 @@ · 2 unmodified lines | |||
| 3 | * Advanced Linux Sound Architecture - ALSA - Driver | 3 | * Advanced Linux Sound Architecture - ALSA - Driver |
| 4 | * Copyright (c) 1994-2003 by Jaroslav Kysela <perex@perex.cz>, | 4 | * Copyright (c) 1994-2003 by Jaroslav Kysela <perex@perex.cz>, |
| 5 | * Abramo Bagnara <abramo@alsa-project.org> | 5 | * Abramo Bagnara <abramo@alsa-project.org> |
| 6 | * | ||
| 7 | * | ||
| 8 | * This program is free software; you can redistribute it and/or modify | ||
| 9 | * it under the terms of the GNU General Public License as published by | ||
| 10 | * the Free Software Foundation; either version 2 of the License, or | ||
| 11 | * (at your option) any later version. | ||
| 12 | * | ||
| 13 | * This program is distributed in the hope that it will be useful, | ||
| 14 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 15 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
| 16 | * GNU General Public License for more details. | ||
| 17 | * | ||
| 18 | * You should have received a copy of the GNU General Public License | ||
| 19 | * along with this program; if not, write to the Free Software | ||
| 20 | * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA | ||
| 21 | * | ||
| 22 | */ | 6 | */ |
| 23 | 7 | ||
| 24 | #ifndef _UAPI__SOUND_ASOUND_H | 8 | #ifndef _UAPI__SOUND_ASOUND_H |
| @@ -10,21 +10,6 @@ · 9 unmodified lines | |||
| 10 | * 4Front Technologies | 10 | * 4Front Technologies |
| 11 | * | 11 | * |
| 12 | * Direct FM control | 12 | * Direct FM control |
| 13 | * | ||
| 14 | * This program is free software; you can redistribute it and/or modify | ||
| 15 | * it under the terms of the GNU General Public License as published by | ||
| 16 | * the Free Software Foundation; either version 2 of the License, or | ||
| 17 | * (at your option) any later version. | ||
| 18 | * | ||
| 19 | * This program is distributed in the hope that it will be useful, | ||
| 20 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 21 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
| 22 | * GNU General Public License for more details. | ||
| 23 | * | ||
| 24 | * You should have received a copy of the GNU General Public License | ||
| 25 | * along with this program; if not, write to the Free Software | ||
| 26 | * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA | ||
| 27 | * | ||
| 28 | */ | 13 | */ |
| 29 | 14 | ||
| 30 | #define SNDRV_DM_FM_MODE_OPL2 0x00 | 15 | #define SNDRV_DM_FM_MODE_OPL2 0x00 |
| @@ -5,23 +5,6 @@ · 4 unmodified lines | |||
| 5 | * Copyright (C) 2011 Intel Corporation | 5 | * Copyright (C) 2011 Intel Corporation |
| 6 | * Authors: Vinod Koul <vinod.koul@linux.intel.com> | 6 | * Authors: Vinod Koul <vinod.koul@linux.intel.com> |
| 7 | * Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com> | 7 | * Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com> |
| 8 | * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | ||
| 9 | * | ||
| 10 | * This program is free software; you can redistribute it and/or modify | ||
| 11 | * it under the terms of the GNU General Public License as published by | ||
| 12 | * the Free Software Foundation; version 2 of the License. | ||
| 13 | * | ||
| 14 | * This program is distributed in the hope that it will be useful, but | ||
| 15 | * WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 16 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | ||
| 17 | * General Public License for more details. | ||
| 18 | * | ||
| 19 | * You should have received a copy of the GNU General Public License along | ||
| 20 | * with this program; if not, write to the Free Software Foundation, Inc., | ||
| 21 | * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. | ||
| 22 | * | ||
| 23 | * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | ||
| 24 | * | ||
| 25 | */ | 8 | */ |
| 26 | #ifndef __COMPRESS_OFFLOAD_H | 9 | #ifndef __COMPRESS_OFFLOAD_H |
| 27 | #define __COMPRESS_OFFLOAD_H | 10 | #define __COMPRESS_OFFLOAD_H |
| @@ -7,47 +7,13 @@ · 6 unmodified lines | |||
| 7 | * Authors: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com> | 7 | * Authors: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com> |
| 8 | * Vinod Koul <vinod.koul@linux.intel.com> | 8 | * Vinod Koul <vinod.koul@linux.intel.com> |
| 9 | * | 9 | * |
| 10 | * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | ||
| 11 | * | ||
| 12 | * This program is free software; you can redistribute it and/or modify | ||
| 13 | * it under the terms of the GNU General Public License as published by | ||
| 14 | * the Free Software Foundation; version 2 of the License. | ||
| 15 | * | ||
| 16 | * This program is distributed in the hope that it will be useful, but | ||
| 17 | * WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 18 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | ||
| 19 | * General Public License for more details. | ||
| 20 | * | ||
| 21 | * You should have received a copy of the GNU General Public License along | ||
| 22 | * with this program; if not, write to the Free Software Foundation, Inc., | ||
| 23 | * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. | ||
| 24 | * | ||
| 25 | * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | 10 | * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ |
| 26 | * | 11 | * |
| 27 | * The definitions in this file are derived from the OpenMAX AL version 1.1 | 12 | * The definitions in this file are derived from the OpenMAX AL version 1.1 |
| 28 | * and OpenMAX IL v 1.1.2 header files which contain the copyright notice below. | 13 | * and OpenMAX IL v 1.1.2 header files which contain the copyright notice below |
| 14 | * and are licensed under the MIT license. | ||
| 29 | * | 15 | * |
| 30 | * Copyright (c) 2007-2010 The Khronos Group Inc. | 16 | * Copyright (c) 2007-2010 The Khronos Group Inc. |
| 31 | * | ||
| 32 | * Permission is hereby granted, free of charge, to any person obtaining | ||
| 33 | * a copy of this software and/or associated documentation files (the | ||
| 34 | * "Materials "), to deal in the Materials without restriction, including | ||
| 35 | * without limitation the rights to use, copy, modify, merge, publish, | ||
| 36 | * distribute, sublicense, and/or sell copies of the Materials, and to | ||
| 37 | * permit persons to whom the Materials are furnished to do so, subject to | ||
| 38 | * the following conditions: | ||
| 39 | * | ||
| 40 | * The above copyright notice and this permission notice shall be included | ||
| 41 | * in all copies or substantial portions of the Materials. | ||
| 42 | * | ||
| 43 | * THE MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS | ||
| 44 | * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF | ||
| 45 | * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. | ||
| 46 | * IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY | ||
| 47 | * CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, | ||
| 48 | * TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE | ||
| 49 | * MATERIALS OR THE USE OR OTHER DEALINGS IN THE MATERIALS. | ||
| 50 | * | ||
| 51 | */ | 17 | */ |
| 52 | #ifndef __SND_COMPRESS_PARAMS_H | 18 | #ifndef __SND_COMPRESS_PARAMS_H |
| 53 | #define __SND_COMPRESS_PARAMS_H | 19 | #define __SND_COMPRESS_PARAMS_H |
| @@ -3,22 +3,6 @@ · 2 unmodified lines | |||
| 3 | * Copyright (c) by Jaroslav Kysela <perex@perex.cz>, | 3 | * Copyright (c) by Jaroslav Kysela <perex@perex.cz>, |
| 4 | * Creative Labs, Inc. | 4 | * Creative Labs, Inc. |
| 5 | * Definitions for EMU10K1 (SB Live!) chips | 5 | * Definitions for EMU10K1 (SB Live!) chips |
| 6 | * | ||
| 7 | * | ||
| 8 | * This program is free software; you can redistribute it and/or modify | ||
| 9 | * it under the terms of the GNU General Public License as published by | ||
| 10 | * the Free Software Foundation; either version 2 of the License, or | ||
| 11 | * (at your option) any later version. | ||
| 12 | * | ||
| 13 | * This program is distributed in the hope that it will be useful, | ||
| 14 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 15 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
| 16 | * GNU General Public License for more details. | ||
| 17 | * | ||
| 18 | * You should have received a copy of the GNU General Public License | ||
| 19 | * along with this program; if not, write to the Free Software | ||
| 20 | * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA | ||
| 21 | * | ||
| 22 | */ | 6 | */ |
| 23 | #ifndef _UAPI__SOUND_EMU10K1_H | 7 | #ifndef _UAPI__SOUND_EMU10K1_H |
| 24 | #define _UAPI__SOUND_EMU10K1_H | 8 | #define _UAPI__SOUND_EMU10K1_H |
| @@ -4,20 +4,6 @@ · 3 unmodified lines | |||
| 4 | 4 | ||
| 5 | /* | 5 | /* |
| 6 | * Copyright (C) 2003 Thomas Charbonnel (thomas@undata.org) | 6 | * Copyright (C) 2003 Thomas Charbonnel (thomas@undata.org) |
| 7 | * | ||
| 8 | * This program is free software; you can redistribute it and/or modify | ||
| 9 | * it under the terms of the GNU General Public License as published by | ||
| 10 | * the Free Software Foundation; either version 2 of the License, or | ||
| 11 | * (at your option) any later version. | ||
| 12 | * | ||
| 13 | * This program is distributed in the hope that it will be useful, | ||
| 14 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 15 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
| 16 | * GNU General Public License for more details. | ||
| 17 | * | ||
| 18 | * You should have received a copy of the GNU General Public License | ||
| 19 | * along with this program; if not, write to the Free Software | ||
| 20 | * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. | ||
| 21 | */ | 7 | */ |
| 22 | 8 | ||
| 23 | #ifdef __linux__ | 9 | #ifdef __linux__ |
| @@ -4,21 +4,6 @@ · 3 unmodified lines | |||
| 4 | /* | 4 | /* |
| 5 | * Copyright (C) 2003 Winfried Ritsch (IEM) | 5 | * Copyright (C) 2003 Winfried Ritsch (IEM) |
| 6 | * based on hdsp.h from Thomas Charbonnel (thomas@undata.org) | 6 | * based on hdsp.h from Thomas Charbonnel (thomas@undata.org) |
| 7 | * | ||
| 8 | * | ||
| 9 | * This program is free software; you can redistribute it and/or modify | ||
| 10 | * it under the terms of the GNU General Public License as published by | ||
| 11 | * the Free Software Foundation; either version 2 of the License, or | ||
| 12 | * (at your option) any later version. | ||
| 13 | * | ||
| 14 | * This program is distributed in the hope that it will be useful, | ||
| 15 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 16 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
| 17 | * GNU General Public License for more details. | ||
| 18 | * | ||
| 19 | * You should have received a copy of the GNU General Public License | ||
| 20 | * along with this program; if not, write to the Free Software | ||
| 21 | * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. | ||
| 22 | */ | 7 | */ |
| 23 | 8 | ||
| 24 | #ifdef __linux__ | 9 | #ifdef __linux__ |
| @@ -4,21 +4,6 @@ · 3 unmodified lines | |||
| 4 | * Takashi Iwai <tiwai@suse.de> | 4 | * Takashi Iwai <tiwai@suse.de> |
| 5 | * | 5 | * |
| 6 | * SB16ASP/AWE32 CSP control | 6 | * SB16ASP/AWE32 CSP control |
| 7 | * | ||
| 8 | * This program is free software; you can redistribute it and/or modify | ||
| 9 | * it under the terms of the GNU General Public License as published by | ||
| 10 | * the Free Software Foundation; either version 2 of the License, or | ||
| 11 | * (at your option) any later version. | ||
| 12 | * | ||
| 13 | * This program is distributed in the hope that it will be useful, | ||
| 14 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 15 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
| 16 | * GNU General Public License for more details. | ||
| 17 | * | ||
| 18 | * You should have received a copy of the GNU General Public License | ||
| 19 | * along with this program; if not, write to the Free Software | ||
| 20 | * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA | ||
| 21 | * | ||
| 22 | */ | 7 | */ |
| 23 | #ifndef _UAPI__SOUND_SB16_CSP_H | 8 | #ifndef _UAPI__SOUND_SB16_CSP_H |
| 24 | #define _UAPI__SOUND_SB16_CSP_H | 9 | #define _UAPI__SOUND_SB16_CSP_H |
| @@ -6,21 +6,6 @@ · 5 unmodified lines | |||
| 6 | * Patch record compatible with AWE driver on OSS | 6 | * Patch record compatible with AWE driver on OSS |
| 7 | * | 7 | * |
| 8 | * Copyright (C) 1999-2000 Takashi Iwai | 8 | * Copyright (C) 1999-2000 Takashi Iwai |
| 9 | * | ||
| 10 | * This program is free software; you can redistribute it and/or modify | ||
| 11 | * it under the terms of the GNU General Public License as published by | ||
| 12 | * the Free Software Foundation; either version 2 of the License, or | ||
| 13 | * (at your option) any later version. | ||
| 14 | * | ||
| 15 | * This program is distributed in the hope that it will be useful, | ||
| 16 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 17 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
| 18 | * GNU General Public License for more details. | ||
| 19 | * | ||
| 20 | * You should have received a copy of the GNU General Public License | ||
| 21 | * along with this program; if not, write to the Free Software | ||
| 22 | * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA | ||
| 23 | * | ||
| 24 | */ | 9 | */ |
| 25 | 10 | ||
| 26 | #include <sound/asound.h> | 11 | #include <sound/asound.h> |
| @@ -4,16 +4,6 @@ · 3 unmodified lines | |||
| 4 | * | 4 | * |
| 5 | * Copyright (C) 2016 Intel Corp | 5 | * Copyright (C) 2016 Intel Corp |
| 6 | * Author: Shreyas NC <shreyas.nc@intel.com> | 6 | * Author: Shreyas NC <shreyas.nc@intel.com> |
| 7 | * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | ||
| 8 | * | ||
| 9 | * This program is free software; you can redistribute it and/or modify | ||
| 10 | * it under the terms of the GNU General Public License as version 2, as | ||
| 11 | * published by the Free Software Foundation. | ||
| 12 | * | ||
| 13 | * This program is distributed in the hope that it will be useful, but | ||
| 14 | * WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 15 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | ||
| 16 | * General Public License for more details. | ||
| 17 | */ | 7 | */ |
| 18 | #ifndef __SND_SST_TOKENS_H__ | 8 | #ifndef __SND_SST_TOKENS_H__ |
| 19 | #define __SND_SST_TOKENS_H__ | 9 | #define __SND_SST_TOKENS_H__ |
| @@ -1,15 +1,4 @@ | |||
| 1 | /* SPDX-License-Identifier: GPL-2.0+ WITH Linux-syscall-note */ | 1 | /* SPDX-License-Identifier: GPL-2.0+ WITH Linux-syscall-note */ |
| 2 | /* | ||
| 3 | * This program is free software; you can redistribute it and/or modify | ||
| 4 | * it under the terms of the GNU General Public License as published by | ||
| 5 | * the Free Software Foundation; either version 2 of the License, or | ||
| 6 | * (at your option) any later version. | ||
| 7 | * | ||
| 8 | * This program is distributed in the hope that it will be useful, | ||
| 9 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 10 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
| 11 | * GNU General Public License for more details. | ||
| 12 | */ | ||
| 13 | 2 | ||
| 14 | #ifndef __UAPI_SOUND_TLV_H | 3 | #ifndef __UAPI_SOUND_TLV_H |
| 15 | #define __UAPI_SOUND_TLV_H | 4 | #define __UAPI_SOUND_TLV_H |
| @@ -1,20 +1,6 @@ | |||
| 1 | /* SPDX-License-Identifier: GPL-2.0+ WITH Linux-syscall-note */ | 1 | /* SPDX-License-Identifier: GPL-2.0+ WITH Linux-syscall-note */ |
| 2 | /* | 2 | /* |
| 3 | * Copyright (C) 2007, 2008 Karsten Wiese <fzu@wemgehoertderstaat.de> | 3 | * Copyright (C) 2007, 2008 Karsten Wiese <fzu@wemgehoertderstaat.de> |
| 4 | * | ||
| 5 | * This program is free software; you can redistribute it and/or modify it | ||
| 6 | * under the terms of the GNU General Public License as published by the | ||
| 7 | * Free Software Foundation; either version 2 of the License, or (at your | ||
| 8 | * option) any later version. | ||
| 9 | * | ||
| 10 | * This program is distributed in the hope that it will be useful, but | ||
| 11 | * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY | ||
| 12 | * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License | ||
| 13 | * for more details. | ||
| 14 | * | ||
| 15 | * You should have received a copy of the GNU General Public License | ||
| 16 | * along with this program; if not, write to the Free Software Foundation, | ||
| 17 | * Inc., 675 Mass Ave, Cambridge, MA 02139, USA. | ||
| 18 | */ | 4 | */ |
| 19 | 5 | ||
| 20 | #ifndef _UAPI__SOUND_USB_STREAM_H | 6 | #ifndef _UAPI__SOUND_USB_STREAM_H |