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 | 20 | #define HUGETLB_FLAG_ENCODE_SHIFT 26 |
| 21 | 21 | #define HUGETLB_FLAG_ENCODE_MASK 0x3f |
| 22 | 22 | |
| 23 | −#define HUGETLB_FLAG_ENCODE_16KB (14 << HUGETLB_FLAG_ENCODE_SHIFT) | |
| 24 | −#define HUGETLB_FLAG_ENCODE_64KB (16 << HUGETLB_FLAG_ENCODE_SHIFT) | |
| 25 | −#define HUGETLB_FLAG_ENCODE_512KB (19 << HUGETLB_FLAG_ENCODE_SHIFT) | |
| 26 | −#define HUGETLB_FLAG_ENCODE_1MB (20 << HUGETLB_FLAG_ENCODE_SHIFT) | |
| 27 | −#define HUGETLB_FLAG_ENCODE_2MB (21 << HUGETLB_FLAG_ENCODE_SHIFT) | |
| 28 | −#define HUGETLB_FLAG_ENCODE_8MB (23 << HUGETLB_FLAG_ENCODE_SHIFT) | |
| 29 | −#define HUGETLB_FLAG_ENCODE_16MB (24 << HUGETLB_FLAG_ENCODE_SHIFT) | |
| 30 | −#define HUGETLB_FLAG_ENCODE_32MB (25 << HUGETLB_FLAG_ENCODE_SHIFT) | |
| 31 | −#define HUGETLB_FLAG_ENCODE_256MB (28 << HUGETLB_FLAG_ENCODE_SHIFT) | |
| 32 | −#define HUGETLB_FLAG_ENCODE_512MB (29 << HUGETLB_FLAG_ENCODE_SHIFT) | |
| 33 | −#define HUGETLB_FLAG_ENCODE_1GB (30 << HUGETLB_FLAG_ENCODE_SHIFT) | |
| 34 | −#define HUGETLB_FLAG_ENCODE_2GB (31 << HUGETLB_FLAG_ENCODE_SHIFT) | |
| 35 | −#define HUGETLB_FLAG_ENCODE_16GB (34 << HUGETLB_FLAG_ENCODE_SHIFT) | |
| 23 | +#define HUGETLB_FLAG_ENCODE_16KB (14U << HUGETLB_FLAG_ENCODE_SHIFT) | |
| 24 | +#define HUGETLB_FLAG_ENCODE_64KB (16U << HUGETLB_FLAG_ENCODE_SHIFT) | |
| 25 | +#define HUGETLB_FLAG_ENCODE_512KB (19U << HUGETLB_FLAG_ENCODE_SHIFT) | |
| 26 | +#define HUGETLB_FLAG_ENCODE_1MB (20U << HUGETLB_FLAG_ENCODE_SHIFT) | |
| 27 | +#define HUGETLB_FLAG_ENCODE_2MB (21U << HUGETLB_FLAG_ENCODE_SHIFT) | |
| 28 | +#define HUGETLB_FLAG_ENCODE_8MB (23U << HUGETLB_FLAG_ENCODE_SHIFT) | |
| 29 | +#define HUGETLB_FLAG_ENCODE_16MB (24U << HUGETLB_FLAG_ENCODE_SHIFT) | |
| 30 | +#define HUGETLB_FLAG_ENCODE_32MB (25U << HUGETLB_FLAG_ENCODE_SHIFT) | |
| 31 | +#define HUGETLB_FLAG_ENCODE_256MB (28U << HUGETLB_FLAG_ENCODE_SHIFT) | |
| 32 | +#define HUGETLB_FLAG_ENCODE_512MB (29U << HUGETLB_FLAG_ENCODE_SHIFT) | |
| 33 | +#define HUGETLB_FLAG_ENCODE_1GB (30U << HUGETLB_FLAG_ENCODE_SHIFT) | |
| 34 | +#define HUGETLB_FLAG_ENCODE_2GB (31U << HUGETLB_FLAG_ENCODE_SHIFT) | |
| 35 | +#define HUGETLB_FLAG_ENCODE_16GB (34U << HUGETLB_FLAG_ENCODE_SHIFT) | |
| 36 | 36 | |
| 37 | 37 | #endif /* _ASM_GENERIC_HUGETLB_ENCODE_H_ */ |
| @@ -77,6 +77,8 @@ · 76 unmodified lines | ||
| 77 | 77 | |
| 78 | 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 | 82 | /* compatibility flags */ |
| 81 | 83 | #define MAP_FILE 0 |
| 82 | 84 | |
| @@ -755,6 +755,14 @@ struct drm_amdgpu_cs_chunk_data { · 754 unmodified lines | ||
| 755 | 755 | #define AMDGPU_INFO_FW_TOC 0x15 |
| 756 | 756 | /* Subquery id: Query CAP firmware version */ |
| 757 | 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 | 767 | /* number of bytes moved for TTM migration */ |
| 760 | 768 | #define AMDGPU_INFO_NUM_BYTES_MOVED 0x0f |
| @@ -79,7 +79,7 @@ struct bpf_insn { · 78 unmodified lines | ||
| 79 | 79 | /* Key of an a BPF_MAP_TYPE_LPM_TRIE entry */ |
| 80 | 80 | struct bpf_lpm_trie_key { |
| 81 | 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 | 85 | struct bpf_cgroup_storage_key { |
| @@ -87,10 +87,35 @@ struct bpf_cgroup_storage_key { · 1 unmodified line | ||
| 87 | 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 | 98 | union bpf_iter_link_info { |
| 91 | 99 | struct { |
| 92 | 100 | __u32 map_fd; |
| 93 | 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 | 121 | /* BPF syscall commands, see bpf(2) man-page for more details. */ |
| @@ -909,6 +934,7 @@ enum bpf_map_type { · 812 unmodified lines | ||
| 909 | 934 | BPF_MAP_TYPE_INODE_STORAGE, |
| 910 | 935 | BPF_MAP_TYPE_TASK_STORAGE, |
| 911 | 936 | BPF_MAP_TYPE_BLOOM_FILTER, |
| 937 | + BPF_MAP_TYPE_USER_RINGBUF, | |
| 912 | 938 | }; |
| 913 | 939 | |
| 914 | 940 | /* Note that tracing related programs such as |
| @@ -1233,7 +1259,7 @@ enum { · 318 unmodified lines | ||
| 1233 | 1259 | |
| 1234 | 1260 | /* Query effective (directly attached + inherited from ancestor cgroups) |
| 1235 | 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 | 1264 | #define BPF_F_QUERY_EFFECTIVE (1U << 0) |
| 1239 | 1265 | |
| @@ -1432,7 +1458,10 @@ union bpf_attr { · 192 unmodified lines | ||
| 1432 | 1458 | __u32 attach_flags; |
| 1433 | 1459 | __aligned_u64 prog_ids; |
| 1434 | 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 | 1465 | } query; |
| 1437 | 1466 | |
| 1438 | 1467 | struct { /* anonymous struct used by BPF_RAW_TRACEPOINT_OPEN command */ |
| @@ -2573,10 +2602,12 @@ union bpf_attr { · 1134 unmodified lines | ||
| 2573 | 2602 | * There are two supported modes at this time: |
| 2574 | 2603 | * |
| 2575 | 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 | 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 | 2612 | * The following flags are supported at this time: |
| 2582 | 2613 | * |
| @@ -3008,8 +3039,18 @@ union bpf_attr { · 425 unmodified lines | ||
| 3008 | 3039 | * **BPF_F_USER_STACK** |
| 3009 | 3040 | * Collect a user space stack instead of a kernel stack. |
| 3010 | 3041 | * **BPF_F_USER_BUILD_ID** |
| 3011 | − * Collect buildid+offset instead of ips for user stack, | |
| 3012 | − * only valid if **BPF_F_USER_STACK** is also specified. | |
| 3042 | + * Collect (build_id, file_offset) instead of ips for user | |
| 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 | 3055 | * **bpf_get_stack**\ () can collect up to |
| 3015 | 3056 | * **PERF_MAX_STACK_DEPTH** both kernel and user frames, subject |
| @@ -4425,7 +4466,7 @@ union bpf_attr { · 1409 unmodified lines | ||
| 4425 | 4466 | * |
| 4426 | 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 | 4471 | * **-EPERM** if the helper cannot be used under the current |
| 4431 | 4472 | * *skops*\ **->op**. |
| @@ -4634,7 +4675,7 @@ union bpf_attr { · 202 unmodified lines | ||
| 4634 | 4675 | * a *map* with *task* as the **key**. From this |
| 4635 | 4676 | * perspective, the usage is not much different from |
| 4636 | 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 | 4679 | * be a **BPF_MAP_TYPE_TASK_STORAGE**. |
| 4639 | 4680 | * |
| 4640 | 4681 | * Underneath, the value is stored locally at *task* instead of |
| @@ -4692,7 +4733,7 @@ union bpf_attr { · 51 unmodified lines | ||
| 4692 | 4733 | * |
| 4693 | 4734 | * long bpf_ima_inode_hash(struct inode *inode, void *dst, u32 size) |
| 4694 | 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 | 4737 | * If the hash is larger than *size*, then only *size* |
| 4697 | 4738 | * bytes will be copied to *dst* |
| 4698 | 4739 | * Return |
| @@ -4716,12 +4757,12 @@ union bpf_attr { · 17 unmodified lines | ||
| 4716 | 4757 | * |
| 4717 | 4758 | * The argument *len_diff* can be used for querying with a planned |
| 4718 | 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 | 4761 | * actual packet size (resulting in negative packet size) will in |
| 4721 | − * principle not exceed the MTU, why it is not considered a | |
| 4722 | − * failure. Other BPF-helpers are needed for performing the | |
| 4723 | − * planned size change, why the responsability for catch a negative | |
| 4724 | − * packet size belong in those helpers. | |
| 4762 | + * principle not exceed the MTU, which is why it is not considered | |
| 4763 | + * a failure. Other BPF helpers are needed for performing the | |
| 4764 | + * planned size change; therefore the responsibility for catching | |
| 4765 | + * a negative packet size belongs in those helpers. | |
| 4725 | 4766 | * |
| 4726 | 4767 | * Specifying *ifindex* zero means the MTU check is performed |
| 4727 | 4768 | * against the current net device. This is practical if this isn't |
| @@ -4919,6 +4960,7 @@ union bpf_attr { · 191 unmodified lines | ||
| 4919 | 4960 | * Get address of the traced function (for tracing and kprobe programs). |
| 4920 | 4961 | * Return |
| 4921 | 4962 | * Address of the traced function. |
| 4963 | + * 0 for kprobes placed within the function (not at the entry). | |
| 4922 | 4964 | * |
| 4923 | 4965 | * u64 bpf_get_attach_cookie(void *ctx) |
| 4924 | 4966 | * Description |
| @@ -5048,12 +5090,12 @@ union bpf_attr { · 123 unmodified lines | ||
| 5048 | 5090 | * |
| 5049 | 5091 | * long bpf_get_func_arg(void *ctx, u32 n, u64 *value) |
| 5050 | 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 | 5094 | * returned in **value**. |
| 5053 | 5095 | * |
| 5054 | 5096 | * Return |
| 5055 | 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 | 5100 | * long bpf_get_func_ret(void *ctx, u64 *value) |
| 5059 | 5101 | * Description |
| @@ -5066,24 +5108,37 @@ union bpf_attr { · 6 unmodified lines | ||
| 5066 | 5108 | * |
| 5067 | 5109 | * long bpf_get_func_arg_cnt(void *ctx) |
| 5068 | 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 | 5114 | * Return |
| 5072 | − * The number of arguments of the traced function. | |
| 5115 | + * The number of argument registers of the traced function. | |
| 5073 | 5116 | * |
| 5074 | 5117 | * int bpf_get_retval(void) |
| 5075 | 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 | 5123 | * Return |
| 5080 | − * The syscall's return value. | |
| 5124 | + * The BPF program's return value. | |
| 5081 | 5125 | * |
| 5082 | 5126 | * int bpf_set_retval(int retval) |
| 5083 | 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 | 5142 | * Return |
| 5088 | 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 | 5386 | * **-EACCES** if the SYN cookie is not valid. |
| 5332 | 5387 | * |
| 5333 | 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 | 5439 | #define __BPF_FUNC_MAPPER(FN) \ |
| 5336 | 5440 | FN(unspec), \ |
| @@ -5541,6 +5645,8 @@ union bpf_attr { · 204 unmodified lines | ||
| 5541 | 5645 | FN(tcp_raw_gen_syncookie_ipv6), \ |
| 5542 | 5646 | FN(tcp_raw_check_syncookie_ipv4), \ |
| 5543 | 5647 | FN(tcp_raw_check_syncookie_ipv6), \ |
| 5648 | + FN(ktime_get_tai_ns), \ | |
| 5649 | + FN(user_ringbuf_drain), \ | |
| 5544 | 5650 | /* */ |
| 5545 | 5651 | |
| 5546 | 5652 | /* integer value in 'imm' field of BPF_CALL instruction selects which helper |
| @@ -5603,6 +5709,11 @@ enum { · 56 unmodified lines | ||
| 5603 | 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 | 5717 | /* BPF_FUNC_perf_event_output, BPF_FUNC_perf_event_read and |
| 5607 | 5718 | * BPF_FUNC_perf_event_read_value flags. |
| 5608 | 5719 | */ |
| @@ -5792,7 +5903,10 @@ struct bpf_tunnel_key { · 183 unmodified lines | ||
| 5792 | 5903 | }; |
| 5793 | 5904 | __u8 tunnel_tos; |
| 5794 | 5905 | __u8 tunnel_ttl; |
| 5795 | − __u16 tunnel_ext; /* Padding, future use. */ | |
| 5906 | + union { | |
| 5907 | + __u16 tunnel_ext; /* compat */ | |
| 5908 | + __be16 tunnel_flags; | |
| 5909 | + }; | |
| 5796 | 5910 | __u32 tunnel_label; |
| 5797 | 5911 | union { |
| 5798 | 5912 | __u32 local_ipv4; |
| @@ -5836,6 +5950,11 @@ enum bpf_ret_code { · 37 unmodified lines | ||
| 5836 | 5950 | * represented by BPF_REDIRECT above). |
| 5837 | 5951 | */ |
| 5838 | 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 | 5960 | struct bpf_sock { |
| @@ -6134,11 +6253,26 @@ struct bpf_link_info { · 292 unmodified lines | ||
| 6134 | 6253 | struct { |
| 6135 | 6254 | __aligned_u64 target_name; /* in/out: target_name buffer ptr */ |
| 6136 | 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 | 6261 | union { |
| 6138 | 6262 | struct { |
| 6139 | 6263 | __u32 map_id; |
| 6140 | 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 | 6276 | } iter; |
| 6143 | 6277 | struct { |
| 6144 | 6278 | __u32 netns_ino; |
| @@ -290,6 +290,12 @@ struct btrfs_ioctl_fs_info_args { · 289 unmodified lines | ||
| 290 | 290 | #define BTRFS_FEATURE_COMPAT_RO_FREE_SPACE_TREE_VALID (1ULL << 1) |
| 291 | 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 | 299 | #define BTRFS_FEATURE_INCOMPAT_MIXED_BACKREF (1ULL << 0) |
| 294 | 300 | #define BTRFS_FEATURE_INCOMPAT_DEFAULT_SUBVOL (1ULL << 1) |
| 295 | 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 | 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 | 972 | #define BTRFS_QGROUP_STATUS_VERSION 1 |
| 969 | 973 | |
| 970 | 974 | struct btrfs_qgroup_status_item { |
| @@ -48,6 +48,7 @@ · 47 unmodified lines | ||
| 48 | 48 | |
| 49 | 49 | #include <linux/types.h> |
| 50 | 50 | #include <linux/socket.h> |
| 51 | +#include <linux/stddef.h> /* for offsetof */ | |
| 51 | 52 | |
| 52 | 53 | /* controller area network (CAN) kernel definitions */ |
| 53 | 54 | |
| @@ -60,6 +61,7 @@ · 6 unmodified lines | ||
| 60 | 61 | #define CAN_SFF_MASK 0x000007FFU /* standard frame format (SFF) */ |
| 61 | 62 | #define CAN_EFF_MASK 0x1FFFFFFFU /* extended frame format (EFF) */ |
| 62 | 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 | 67 | * Controller Area Network Identifier structure |
| @@ -73,6 +75,7 @@ typedef __u32 canid_t; · 7 unmodified lines | ||
| 73 | 75 | |
| 74 | 76 | #define CAN_SFF_ID_BITS 11 |
| 75 | 77 | #define CAN_EFF_ID_BITS 29 |
| 78 | +#define CANXL_PRIO_BITS CAN_SFF_ID_BITS | |
| 76 | 79 | |
| 77 | 80 | /* |
| 78 | 81 | * Controller Area Network Error Message Frame Mask structure |
| @@ -91,6 +94,16 @@ typedef __u32 can_err_mask_t; · 12 unmodified lines | ||
| 91 | 94 | #define CANFD_MAX_DLC 15 |
| 92 | 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 | 108 | * struct can_frame - Classical CAN frame structure (aka CAN 2.0B) |
| 96 | 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 | 154 | * When this is done the former differentiation via CAN_MTU / CANFD_MTU gets |
| 142 | 155 | * lost. CANFD_FDF allows programmers to mark CAN FD frames in the case of |
| 143 | 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 | |
| 145 | − * struct canfd_frame therefore the CANFD_FDF flag is disregarded by Linux. | |
| 157 | + * Since the introduction of CAN XL the CANFD_FDF flag is set in all CAN FD | |
| 158 | + * frame structures provided by the CAN subsystem of the Linux kernel. | |
| 146 | 159 | */ |
| 147 | 160 | #define CANFD_BRS 0x01 /* bit rate switch (second bitrate for payload data) */ |
| 148 | 161 | #define CANFD_ESI 0x02 /* error state indicator of the transmitting node */ |
| @@ -166,8 +179,46 @@ struct canfd_frame { · 17 unmodified lines | ||
| 166 | 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 | 216 | #define CAN_MTU (sizeof(struct can_frame)) |
| 170 | 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 | 223 | /* particular protocols of the protocol family PF_CAN */ |
| 173 | 224 | #define CAN_RAW 1 /* RAW sockets */ |
| @@ -62,6 +62,7 @@ enum { · 61 unmodified lines | ||
| 62 | 62 | CAN_RAW_RECV_OWN_MSGS, /* receive my own msgs (default:off) */ |
| 63 | 63 | CAN_RAW_FD_FRAMES, /* allow CAN FD frames (default:off) */ |
| 64 | 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 | 68 | #endif /* !_UAPI_CAN_RAW_H */ |
| @@ -63,6 +63,8 @@ enum counter_event_type { · 62 unmodified lines | ||
| 63 | 63 | COUNTER_EVENT_INDEX, |
| 64 | 64 | /* State of counter is changed */ |
| 65 | 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 | 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 | 164 | #endif /* _UAPI_COUNTER_H_ */ |
| @@ -69,7 +69,6 @@ struct dlm_lksb { · 68 unmodified lines | ||
| 69 | 69 | /* dlm_new_lockspace() flags */ |
| 70 | 70 | |
| 71 | 71 | #define DLM_LSFL_TIMEWARN 0x00000002 |
| 72 | −#define DLM_LSFL_FS 0x00000004 | |
| 73 | 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 | 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 | 785 | * struct ethtool_gstrings - string set for data tagging |
| 741 | 786 | * @cmd: Command number = %ETHTOOL_GSTRINGS |
| @@ -1840,6 +1885,20 @@ static inline int ethtool_validate_duplex(__u8 duplex) · 1098 unmodified lines | ||
| 1840 | 1885 | #define MASTER_SLAVE_STATE_SLAVE 3 |
| 1841 | 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 | 1902 | /* Which connector port. */ |
| 1844 | 1903 | #define PORT_TP 0x00 |
| 1845 | 1904 | #define PORT_AUI 0x01 |
| @@ -2033,8 +2092,8 @@ enum ethtool_reset_flags { · 187 unmodified lines | ||
| 2033 | 2092 | * reported consistently by PHYLIB. Read-only. |
| 2034 | 2093 | * @master_slave_cfg: Master/slave port mode. |
| 2035 | 2094 | * @master_slave_state: Master/slave port state. |
| 2095 | + * @rate_matching: Rate adaptation performed by the PHY | |
| 2036 | 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 | 2097 | * @link_mode_masks: Variable length bitmaps. |
| 2039 | 2098 | * |
| 2040 | 2099 | * If autonegotiation is disabled, the speed and @duplex represent the |
| @@ -2085,7 +2144,7 @@ struct ethtool_link_settings { · 44 unmodified lines | ||
| 2085 | 2144 | __u8 transceiver; |
| 2086 | 2145 | __u8 master_slave_cfg; |
| 2087 | 2146 | __u8 master_slave_state; |
| 2088 | − __u8 reserved1[1]; | |
| 2147 | + __u8 rate_matching; | |
| 2089 | 2148 | __u32 reserved[7]; |
| 2090 | 2149 | __u32 link_mode_masks[]; |
| 2091 | 2150 | /* layout of link_mode_masks fields: |
| @@ -49,6 +49,8 @@ enum { · 48 unmodified lines | ||
| 49 | 49 | ETHTOOL_MSG_PHC_VCLOCKS_GET, |
| 50 | 50 | ETHTOOL_MSG_MODULE_GET, |
| 51 | 51 | ETHTOOL_MSG_MODULE_SET, |
| 52 | + ETHTOOL_MSG_PSE_GET, | |
| 53 | + ETHTOOL_MSG_PSE_SET, | |
| 52 | 54 | |
| 53 | 55 | /* add new constants above here */ |
| 54 | 56 | __ETHTOOL_MSG_USER_CNT, |
| @@ -94,6 +96,7 @@ enum { · 39 unmodified lines | ||
| 94 | 96 | ETHTOOL_MSG_PHC_VCLOCKS_GET_REPLY, |
| 95 | 97 | ETHTOOL_MSG_MODULE_GET_REPLY, |
| 96 | 98 | ETHTOOL_MSG_MODULE_NTF, |
| 99 | + ETHTOOL_MSG_PSE_GET_REPLY, | |
| 97 | 100 | |
| 98 | 101 | /* add new constants above here */ |
| 99 | 102 | __ETHTOOL_MSG_KERNEL_CNT, |
| @@ -242,6 +245,7 @@ enum { · 142 unmodified lines | ||
| 242 | 245 | ETHTOOL_A_LINKMODES_MASTER_SLAVE_CFG, /* u8 */ |
| 243 | 246 | ETHTOOL_A_LINKMODES_MASTER_SLAVE_STATE, /* u8 */ |
| 244 | 247 | ETHTOOL_A_LINKMODES_LANES, /* u32 */ |
| 248 | + ETHTOOL_A_LINKMODES_RATE_MATCHING, /* u8 */ | |
| 245 | 249 | |
| 246 | 250 | /* add new constants above here */ |
| 247 | 251 | __ETHTOOL_A_LINKMODES_CNT, |
| @@ -862,6 +866,19 @@ enum { · 614 unmodified lines | ||
| 862 | 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 | 882 | /* generic netlink info */ |
| 866 | 883 | #define ETHTOOL_GENL_NAME "ethtool" |
| 867 | 884 | #define ETHTOOL_GENL_VERSION 1 |
| @@ -194,6 +194,9 @@ · 193 unmodified lines | ||
| 194 | 194 | * - add FUSE_SECURITY_CTX init flag |
| 195 | 195 | * - add security context to create, mkdir, symlink, and mknod requests |
| 196 | 196 | * - add FUSE_HAS_INODE_DAX, FUSE_ATTR_DAX |
| 197 | + * | |
| 198 | + * 7.37 | |
| 199 | + * - add FUSE_TMPFILE | |
| 197 | 200 | */ |
| 198 | 201 | |
| 199 | 202 | #ifndef _LINUX_FUSE_H |
| @@ -229,7 +232,7 @@ · 29 unmodified lines | ||
| 229 | 232 | #define FUSE_KERNEL_VERSION 7 |
| 230 | 233 | |
| 231 | 234 | /** Minor version number of this interface */ |
| 232 | −#define FUSE_KERNEL_MINOR_VERSION 36 | |
| 235 | +#define FUSE_KERNEL_MINOR_VERSION 37 | |
| 233 | 236 | |
| 234 | 237 | /** The node ID of the root inode */ |
| 235 | 238 | #define FUSE_ROOT_ID 1 |
| @@ -537,6 +540,7 @@ enum fuse_opcode { · 301 unmodified lines | ||
| 537 | 540 | FUSE_SETUPMAPPING = 48, |
| 538 | 541 | FUSE_REMOVEMAPPING = 49, |
| 539 | 542 | FUSE_SYNCFS = 50, |
| 543 | + FUSE_TMPFILE = 51, | |
| 540 | 544 | |
| 541 | 545 | /* CUSE specific operations */ |
| 542 | 546 | CUSE_INIT = 4096, |
| @@ -42,16 +42,30 @@ · 41 unmodified lines | ||
| 42 | 42 | #define USB_INTERFACE_PROTOCOL_KEYBOARD 1 |
| 43 | 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 | 58 | * HID class requests |
| 47 | 59 | */ |
| 48 | 60 | |
| 49 | −#define HID_REQ_GET_REPORT 0x01 | |
| 50 | −#define HID_REQ_GET_IDLE 0x02 | |
| 51 | −#define HID_REQ_GET_PROTOCOL 0x03 | |
| 52 | −#define HID_REQ_SET_REPORT 0x09 | |
| 53 | −#define HID_REQ_SET_IDLE 0x0A | |
| 54 | −#define HID_REQ_SET_PROTOCOL 0x0B | |
| 61 | +enum hid_class_request { | |
| 62 | + HID_REQ_GET_REPORT = 0x01, | |
| 63 | + HID_REQ_GET_IDLE = 0x02, | |
| 64 | + HID_REQ_GET_PROTOCOL = 0x03, | |
| 65 | + HID_REQ_SET_REPORT = 0x09, | |
| 66 | + HID_REQ_SET_IDLE = 0x0A, | |
| 67 | + HID_REQ_SET_PROTOCOL = 0x0B, | |
| 68 | +}; | |
| 55 | 69 | |
| 56 | 70 | /* |
| 57 | 71 | * HID class descriptor types |
| @@ -138,6 +138,7 @@ · 137 unmodified lines | ||
| 138 | 138 | #define ETH_P_LOCALTALK 0x0009 /* Localtalk pseudo type */ |
| 139 | 139 | #define ETH_P_CAN 0x000C /* CAN: Controller Area Network */ |
| 140 | 140 | #define ETH_P_CANFD 0x000D /* CANFD: CAN flexible data rate*/ |
| 141 | +#define ETH_P_CANXL 0x000E /* CANXL: eXtended frame Length */ | |
| 141 | 142 | #define ETH_P_PPPTALK 0x0010 /* Dummy type for Atalk over PPP*/ |
| 142 | 143 | #define ETH_P_TR_802_2 0x0011 /* 802.2 frames */ |
| 143 | 144 | #define ETH_P_MOBITEX 0x0015 /* Mobitex (kaz@cafe.net) */ |
| @@ -370,6 +370,7 @@ enum { · 369 unmodified lines | ||
| 370 | 370 | IFLA_GRO_MAX_SIZE, |
| 371 | 371 | IFLA_TSO_MAX_SIZE, |
| 372 | 372 | IFLA_TSO_MAX_SEGS, |
| 373 | + IFLA_ALLMULTI, /* Allmulti count: > 0 means acts ALLMULTI */ | |
| 373 | 374 | |
| 374 | 375 | __IFLA_MAX |
| 375 | 376 | }; |
| @@ -694,6 +695,7 @@ enum { · 318 unmodified lines | ||
| 694 | 695 | IFLA_XFRM_UNSPEC, |
| 695 | 696 | IFLA_XFRM_LINK, |
| 696 | 697 | IFLA_XFRM_IF_ID, |
| 698 | + IFLA_XFRM_COLLECT_METADATA, | |
| 697 | 699 | __IFLA_XFRM_MAX |
| 698 | 700 | }; |
| 699 | 701 | |
| @@ -1374,4 +1376,14 @@ enum { · 674 unmodified lines | ||
| 1374 | 1376 | |
| 1375 | 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 | 1389 | #endif /* _UAPI_LINUX_IF_LINK_H */ |
| @@ -22,6 +22,8 @@ · 21 unmodified lines | ||
| 22 | 22 | |
| 23 | 23 | #define MACSEC_KEYID_LEN 16 |
| 24 | 24 | |
| 25 | +#define MACSEC_SALT_LEN 12 | |
| 26 | + | |
| 25 | 27 | /* cipher IDs as per IEEE802.1AE-2018 (Table 14-1) */ |
| 26 | 28 | #define MACSEC_CIPHER_ID_GCM_AES_128 0x0080C20001000001ULL |
| 27 | 29 | #define MACSEC_CIPHER_ID_GCM_AES_256 0x0080C20001000002ULL |
| @@ -67,6 +67,8 @@ · 66 unmodified lines | ||
| 67 | 67 | #define IFF_TAP 0x0002 |
| 68 | 68 | #define IFF_NAPI 0x0010 |
| 69 | 69 | #define IFF_NAPI_FRAGS 0x0020 |
| 70 | +/* Used in TUNSETIFF to bring up tun/tap without carrier */ | |
| 71 | +#define IFF_NO_CARRIER 0x0040 | |
| 70 | 72 | #define IFF_NO_PI 0x1000 |
| 71 | 73 | /* This flag has no real effect */ |
| 72 | 74 | #define IFF_ONE_QUEUE 0x2000 |
| @@ -95,6 +95,12 @@ enum iio_modifier { · 94 unmodified lines | ||
| 95 | 95 | IIO_MOD_ETHANOL, |
| 96 | 96 | IIO_MOD_H2, |
| 97 | 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 | 106 | enum iio_event_type { |
| @@ -105,6 +111,7 @@ enum iio_event_type { · 4 unmodified lines | ||
| 105 | 111 | IIO_EV_TYPE_MAG_ADAPTIVE, |
| 106 | 112 | IIO_EV_TYPE_CHANGE, |
| 107 | 113 | IIO_EV_TYPE_MAG_REFERENCED, |
| 114 | + IIO_EV_TYPE_GESTURE, | |
| 108 | 115 | }; |
| 109 | 116 | |
| 110 | 117 | enum iio_event_direction { |
| @@ -112,7 +119,8 @@ enum iio_event_direction { · 1 unmodified line | ||
| 112 | 119 | IIO_EV_DIR_RISING, |
| 113 | 120 | IIO_EV_DIR_FALLING, |
| 114 | 121 | IIO_EV_DIR_NONE, |
| 122 | + IIO_EV_DIR_SINGLETAP, | |
| 123 | + IIO_EV_DIR_DOUBLETAP, | |
| 115 | 124 | }; |
| 116 | 125 | |
| 117 | 126 | #endif /* _UAPI_IIO_TYPES_H_ */ |
| 118 | − | |
| @@ -68,6 +68,8 @@ enum { · 67 unmodified lines | ||
| 68 | 68 | #define IPPROTO_PIM IPPROTO_PIM |
| 69 | 69 | IPPROTO_COMP = 108, /* Compression Header Protocol */ |
| 70 | 70 | #define IPPROTO_COMP IPPROTO_COMP |
| 71 | + IPPROTO_L2TP = 115, /* Layer 2 Tunnelling Protocol */ | |
| 72 | +#define IPPROTO_L2TP IPPROTO_L2TP | |
| 71 | 73 | IPPROTO_SCTP = 132, /* Stream Control Transport Protocol */ |
| 72 | 74 | #define IPPROTO_SCTP IPPROTO_SCTP |
| 73 | 75 | IPPROTO_UDPLITE = 136, /* UDP-Lite (RFC 3828) */ |
| @@ -188,21 +190,13 @@ struct ip_mreq_source { · 114 unmodified lines | ||
| 188 | 190 | }; |
| 189 | 191 | |
| 190 | 192 | struct ip_msfilter { |
| 193 | + __be32 imsf_multiaddr; | |
| 194 | + __be32 imsf_interface; | |
| 195 | + __u32 imsf_fmode; | |
| 196 | + __u32 imsf_numsrc; | |
| 191 | 197 | union { |
| 192 | − struct { | |
| 193 | − __be32 imsf_multiaddr_aux; | |
| 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 | − }; | |
| 198 | + __be32 imsf_slist[1]; | |
| 199 | + __DECLARE_FLEX_ARRAY(__be32, imsf_slist_flex); | |
| 206 | 200 | }; |
| 207 | 201 | }; |
| 208 | 202 | |
| @@ -862,6 +862,7 @@ · 861 unmodified lines | ||
| 862 | 862 | #define ABS_TOOL_WIDTH 0x1c |
| 863 | 863 | |
| 864 | 864 | #define ABS_VOLUME 0x20 |
| 865 | +#define ABS_PROFILE 0x21 | |
| 865 | 866 | |
| 866 | 867 | #define ABS_MISC 0x28 |
| 867 | 868 | |
| @@ -12,6 +12,10 @@ · 11 unmodified lines | ||
| 12 | 12 | #include <linux/types.h> |
| 13 | 13 | #include <linux/time_types.h> |
| 14 | 14 | |
| 15 | +#ifdef __cplusplus | |
| 16 | +extern "C" { | |
| 17 | +#endif | |
| 18 | + | |
| 15 | 19 | /* |
| 16 | 20 | * IO submission data structure (Submission Queue Entry) |
| 17 | 21 | */ |
| @@ -52,6 +56,7 @@ struct io_uring_sqe { · 34 unmodified lines | ||
| 52 | 56 | __u32 hardlink_flags; |
| 53 | 57 | __u32 xattr_flags; |
| 54 | 58 | __u32 msg_ring_flags; |
| 59 | + __u32 uring_cmd_flags; | |
| 55 | 60 | }; |
| 56 | 61 | __u64 user_data; /* data to be passed back at completion time */ |
| 57 | 62 | /* pack this to avoid bogus arm OABI complaints */ |
| @@ -67,8 +72,8 @@ struct io_uring_sqe { · 9 unmodified lines | ||
| 67 | 72 | __s32 splice_fd_in; |
| 68 | 73 | __u32 file_index; |
| 69 | 74 | struct { |
| 70 | − __u16 notification_idx; | |
| 71 | 75 | __u16 addr_len; |
| 76 | + __u16 __pad3[1]; | |
| 72 | 77 | }; |
| 73 | 78 | }; |
| 74 | 79 | union { |
| @@ -153,6 +158,13 @@ enum { · 78 unmodified lines | ||
| 153 | 158 | */ |
| 154 | 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 | 168 | enum io_uring_op { |
| 157 | 169 | IORING_OP_NOP, |
| 158 | 170 | IORING_OP_READV, |
| @@ -174,8 +186,7 @@ enum io_uring_op { · 15 unmodified lines | ||
| 174 | 186 | IORING_OP_FALLOCATE, |
| 175 | 187 | IORING_OP_OPENAT, |
| 176 | 188 | IORING_OP_CLOSE, |
| 177 | − IORING_OP_RSRC_UPDATE, | |
| 178 | − IORING_OP_FILES_UPDATE = IORING_OP_RSRC_UPDATE, | |
| 189 | + IORING_OP_FILES_UPDATE, | |
| 179 | 190 | IORING_OP_STATX, |
| 180 | 191 | IORING_OP_READ, |
| 181 | 192 | IORING_OP_WRITE, |
| @@ -202,12 +213,21 @@ enum io_uring_op { · 20 unmodified lines | ||
| 202 | 213 | IORING_OP_GETXATTR, |
| 203 | 214 | IORING_OP_SOCKET, |
| 204 | 215 | IORING_OP_URING_CMD, |
| 205 | − IORING_OP_SENDZC_NOTIF, | |
| 216 | + IORING_OP_SEND_ZC, | |
| 217 | + IORING_OP_SENDMSG_ZC, | |
| 206 | 218 | |
| 207 | 219 | /* this goes last, obviously */ |
| 208 | 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 | 232 | * sqe->fsync_flags |
| 213 | 233 | */ |
| @@ -224,7 +244,6 @@ enum io_uring_op { · 10 unmodified lines | ||
| 224 | 244 | #define IORING_TIMEOUT_ETIME_SUCCESS (1U << 5) |
| 225 | 245 | #define IORING_TIMEOUT_CLOCK_MASK (IORING_TIMEOUT_BOOTTIME | IORING_TIMEOUT_REALTIME) |
| 226 | 246 | #define IORING_TIMEOUT_UPDATE_MASK (IORING_TIMEOUT_UPDATE | IORING_LINK_TIMEOUT_UPDATE) |
| 227 | − | |
| 228 | 247 | /* |
| 229 | 248 | * sqe->splice_flags |
| 230 | 249 | * extends splice(2) flags |
| @@ -277,29 +296,16 @@ enum io_uring_op { · 46 unmodified lines | ||
| 277 | 296 | * |
| 278 | 297 | * IORING_RECVSEND_FIXED_BUF Use registered buffers, the index is stored in |
| 279 | 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 | 300 | #define IORING_RECVSEND_POLL_FIRST (1U << 0) |
| 285 | 301 | #define IORING_RECV_MULTISHOT (1U << 1) |
| 286 | 302 | #define IORING_RECVSEND_FIXED_BUF (1U << 2) |
| 287 | −#define IORING_RECVSEND_NOTIF_FLUSH (1U << 3) | |
| 288 | 303 | |
| 289 | 304 | /* |
| 290 | 305 | * accept flags stored in sqe->ioprio |
| 291 | 306 | */ |
| 292 | 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 | 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 | 343 | * IORING_CQE_F_BUFFER If set, the upper 16 bits are the buffer ID |
| 338 | 344 | * IORING_CQE_F_MORE If set, parent SQE will generate more CQE entries |
| 339 | 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 | 349 | #define IORING_CQE_F_BUFFER (1U << 0) |
| 342 | 350 | #define IORING_CQE_F_MORE (1U << 1) |
| 343 | 351 | #define IORING_CQE_F_SOCK_NONEMPTY (1U << 2) |
| 352 | +#define IORING_CQE_F_NOTIF (1U << 3) | |
| 344 | 353 | |
| 345 | 354 | enum { |
| 346 | 355 | IORING_CQE_BUFFER_SHIFT = 16, |
| @@ -481,10 +490,6 @@ enum { · 134 unmodified lines | ||
| 481 | 490 | /* register a range of fixed file slots for automatic slot allocation */ |
| 482 | 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 | 493 | /* this goes last */ |
| 489 | 494 | IORING_REGISTER_LAST |
| 490 | 495 | }; |
| @@ -661,4 +666,8 @@ struct io_uring_recvmsg_out { · 170 unmodified lines | ||
| 661 | 666 | __u32 flags; |
| 662 | 667 | }; |
| 663 | 668 | |
| 669 | +#ifdef __cplusplus | |
| 670 | +} | |
| 671 | +#endif | |
| 672 | + | |
| 664 | 673 | #endif |
| @@ -1177,6 +1177,7 @@ struct kvm_ppc_resize_hpt { · 1176 unmodified lines | ||
| 1177 | 1177 | #define KVM_CAP_VM_DISABLE_NX_HUGE_PAGES 220 |
| 1178 | 1178 | #define KVM_CAP_S390_ZPCI_OP 221 |
| 1179 | 1179 | #define KVM_CAP_S390_CPU_TOPOLOGY 222 |
| 1180 | +#define KVM_CAP_DIRTY_LOG_RING_ACQ_REL 223 | |
| 1180 | 1181 | |
| 1181 | 1182 | #ifdef KVM_CAP_IRQ_ROUTING |
| 1182 | 1183 | |
| @@ -13,8 +13,6 @@ · 12 unmodified lines | ||
| 13 | 13 | #include <linux/in.h> |
| 14 | 14 | #include <linux/in6.h> |
| 15 | 15 | |
| 16 | −#define IPPROTO_L2TP 115 | |
| 17 | − | |
| 18 | 16 | /** |
| 19 | 17 | * struct sockaddr_l2tpip - the sockaddr structure for L2TP-over-IP sockets |
| 20 | 18 | * @l2tp_family: address family number AF_L2TPIP. |
| @@ -26,7 +26,7 @@ struct landlock_ruleset_attr { · 25 unmodified lines | ||
| 26 | 26 | * Landlock filesystem access rights that are not part of |
| 27 | 27 | * handled_access_fs are allowed. This is needed for backward |
| 28 | 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 | 30 | * handled, but must still be explicitly handled to add new rules with |
| 31 | 31 | * this access right. |
| 32 | 32 | */ |
| @@ -128,11 +128,11 @@ struct landlock_path_beneath_attr { · 95 unmodified lines | ||
| 128 | 128 | * hierarchy must also always have the same or a superset of restrictions of |
| 129 | 129 | * the source hierarchy. If it is not the case, or if the domain doesn't |
| 130 | 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 | |
| 132 | − * right on the destination directory, and renaming also requires a | |
| 133 | − * LANDLOCK_ACCESS_FS_REMOVE_* access right on the source's (file or | |
| 131 | + * set to ``EXDEV``. Linking also requires a ``LANDLOCK_ACCESS_FS_MAKE_*`` | |
| 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 | |
| 134 | 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 | 136 | * efficiently deal with an unrecoverable error. |
| 137 | 137 | * |
| 138 | 138 | * .. warning:: |
| @@ -15,6 +15,7 @@ enum lwtunnel_encap_types { · 14 unmodified lines | ||
| 15 | 15 | LWTUNNEL_ENCAP_SEG6_LOCAL, |
| 16 | 16 | LWTUNNEL_ENCAP_RPL, |
| 17 | 17 | LWTUNNEL_ENCAP_IOAM6, |
| 18 | + LWTUNNEL_ENCAP_XFRM, | |
| 18 | 19 | __LWTUNNEL_ENCAP_MAX, |
| 19 | 20 | }; |
| 20 | 21 | |
| @@ -111,4 +112,13 @@ enum { · 90 unmodified lines | ||
| 111 | 112 | |
| 112 | 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 | 124 | #endif /* _UAPI_LWTUNNEL_H_ */ |
| @@ -63,7 +63,9 @@ enum { · 62 unmodified lines | ||
| 63 | 63 | NFPROTO_NETDEV = 5, |
| 64 | 64 | NFPROTO_BRIDGE = 7, |
| 65 | 65 | NFPROTO_IPV6 = 10, |
| 66 | +#ifndef __KERNEL__ /* no longer supported by kernel */ | |
| 66 | 67 | NFPROTO_DECNET = 12, |
| 68 | +#endif | |
| 67 | 69 | NFPROTO_NUMPROTO, |
| 68 | 70 | }; |
| 69 | 71 | |
| @@ -3,10 +3,6 @@ · 2 unmodified lines | ||
| 3 | 3 | * Patrick Schaaf <bof@bof.de> |
| 4 | 4 | * Martin Josefsson <gandalf@wlug.westbo.se> |
| 5 | 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 | 7 | #ifndef _UAPI_IP_SET_H |
| 12 | 8 | #define _UAPI_IP_SET_H |
| @@ -4,10 +4,6 @@ · 3 unmodified lines | ||
| 4 | 4 | * |
| 5 | 5 | * (C) 2010-2011 Thomas Graf <tgraf@redhat.com> |
| 6 | 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 | 9 | #ifndef _XT_AUDIT_TARGET_H |
| @@ -1,18 +1,13 @@ | ||
| 1 | 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 | 6 | #ifndef _XT_CONNMARK_H |
| 3 | 7 | #define _XT_CONNMARK_H |
| 4 | 8 | |
| 5 | 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 | 11 | enum { |
| 17 | 12 | XT_CONNMARK_SET = 0, |
| 18 | 13 | XT_CONNMARK_SAVE, |
| @@ -1,20 +1,6 @@ | ||
| 1 | 1 | /* SPDX-License-Identifier: GPL-2.0+ WITH Linux-syscall-note */ |
| 2 | 2 | /* |
| 3 | 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 | 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 | 20 | #define NETLINK_CONNECTOR 11 |
| 21 | 21 | #define NETLINK_NETFILTER 12 /* netfilter subsystem */ |
| 22 | 22 | #define NETLINK_IP6_FW 13 |
| 23 | −#define NETLINK_DNRTMSG 14 /* DECnet routing messages */ | |
| 23 | +#define NETLINK_DNRTMSG 14 /* DECnet routing messages (obsolete) */ | |
| 24 | 24 | #define NETLINK_KOBJECT_UEVENT 15 /* Kernel messages to userspace */ |
| 25 | 25 | #define NETLINK_GENERIC 16 |
| 26 | 26 | /* leave room for NETLINK_DM (DM Events) */ |
| @@ -41,12 +41,20 @@ struct sockaddr_nl { · 14 unmodified lines | ||
| 41 | 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 | 52 | struct nlmsghdr { |
| 45 | − __u32 nlmsg_len; /* Length of message including header */ | |
| 46 | − __u16 nlmsg_type; /* Message content */ | |
| 47 | − __u16 nlmsg_flags; /* Additional flags */ | |
| 48 | − __u32 nlmsg_seq; /* Sequence number */ | |
| 49 | − __u32 nlmsg_pid; /* Sending process port ID */ | |
| 53 | + __u32 nlmsg_len; | |
| 54 | + __u16 nlmsg_type; | |
| 55 | + __u16 nlmsg_flags; | |
| 56 | + __u32 nlmsg_seq; | |
| 57 | + __u32 nlmsg_pid; | |
| 50 | 58 | }; |
| 51 | 59 | |
| 52 | 60 | /* Flags values */ |
| @@ -54,7 +62,7 @@ struct nlmsghdr { · 1 unmodified line | ||
| 54 | 62 | #define NLM_F_REQUEST 0x01 /* It is request message. */ |
| 55 | 63 | #define NLM_F_MULTI 0x02 /* Multipart message, terminated by NLMSG_DONE */ |
| 56 | 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 | 66 | #define NLM_F_DUMP_INTR 0x10 /* Dump was inconsistent due to sequence change */ |
| 59 | 67 | #define NLM_F_DUMP_FILTERED 0x20 /* Dump was filtered as requested */ |
| 60 | 68 | |
| @@ -132,6 +140,10 @@ struct nlmsgerr { · 71 unmodified lines | ||
| 132 | 140 | * be used - in the success case - to identify a created |
| 133 | 141 | * object or operation or similar (binary) |
| 134 | 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 | 147 | * @__NLMSGERR_ATTR_MAX: number of attributes |
| 136 | 148 | * @NLMSGERR_ATTR_MAX: highest attribute number |
| 137 | 149 | */ |
| @@ -141,6 +153,8 @@ enum nlmsgerr_attrs { · 3 unmodified lines | ||
| 141 | 153 | NLMSGERR_ATTR_OFFS, |
| 142 | 154 | NLMSGERR_ATTR_COOKIE, |
| 143 | 155 | NLMSGERR_ATTR_POLICY, |
| 156 | + NLMSGERR_ATTR_MISS_TYPE, | |
| 157 | + NLMSGERR_ATTR_MISS_NEST, | |
| 144 | 158 | |
| 145 | 159 | __NLMSGERR_ATTR_MAX, |
| 146 | 160 | NLMSGERR_ATTR_MAX = __NLMSGERR_ATTR_MAX - 1 |
| @@ -337,6 +351,9 @@ enum netlink_attribute_type { · 190 unmodified lines | ||
| 337 | 351 | * bitfield32 type (U32) |
| 338 | 352 | * @NL_POLICY_TYPE_ATTR_MASK: mask of valid bits for unsigned integers (U64) |
| 339 | 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 | 358 | enum netlink_policy_type_attr { |
| 342 | 359 | NL_POLICY_TYPE_ATTR_UNSPEC, |
| @@ -377,14 +377,22 @@ · 376 unmodified lines | ||
| 377 | 377 | * the non-transmitting interfaces are deleted as well. |
| 378 | 378 | * |
| 379 | 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 | 383 | * @NL80211_CMD_SET_KEY: Set key attributes %NL80211_ATTR_KEY_DEFAULT, |
| 382 | 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 | 387 | * @NL80211_CMD_NEW_KEY: add a key with given %NL80211_ATTR_KEY_DATA, |
| 384 | 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 | 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 | 397 | * @NL80211_CMD_GET_BEACON: (not used) |
| 390 | 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 | 4959 | * using the nesting index as the antenna number. |
| 4952 | 4960 | * @NL80211_BSS_FREQUENCY_OFFSET: frequency offset in KHz |
| 4953 | 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 | 4963 | * @__NL80211_BSS_AFTER_LAST: internal |
| 4955 | 4964 | * @NL80211_BSS_MAX: highest BSS attribute |
| 4956 | 4965 | */ |
| @@ -4977,6 +4986,7 @@ enum nl80211_bss { · 20 unmodified lines | ||
| 4977 | 4986 | NL80211_BSS_CHAIN_SIGNAL, |
| 4978 | 4987 | NL80211_BSS_FREQUENCY_OFFSET, |
| 4979 | 4988 | NL80211_BSS_MLO_LINK_ID, |
| 4989 | + NL80211_BSS_MLD_ADDR, | |
| 4980 | 4990 | |
| 4981 | 4991 | /* keep last */ |
| 4982 | 4992 | __NL80211_BSS_AFTER_LAST, |
| @@ -6273,6 +6283,14 @@ enum nl80211_feature_flags { · 1290 unmodified lines | ||
| 6273 | 6283 | * @NL80211_EXT_FEATURE_RADAR_BACKGROUND: Device supports background radar/CAC |
| 6274 | 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 | 6294 | * @NUM_NL80211_EXT_FEATURES: number of extended features. |
| 6277 | 6295 | * @MAX_NL80211_EXT_FEATURES: highest extended feature index. |
| 6278 | 6296 | */ |
| @@ -6340,6 +6358,7 @@ enum nl80211_ext_feature_index { · 61 unmodified lines | ||
| 6340 | 6358 | NL80211_EXT_FEATURE_BSS_COLOR, |
| 6341 | 6359 | NL80211_EXT_FEATURE_FILS_CRYPTO_OFFLOAD, |
| 6342 | 6360 | NL80211_EXT_FEATURE_RADAR_BACKGROUND, |
| 6361 | + NL80211_EXT_FEATURE_POWERED_ADDR_CHANGE, | |
| 6343 | 6362 | |
| 6344 | 6363 | /* add new features before the definition below */ |
| 6345 | 6364 | NUM_NL80211_EXT_FEATURES, |
| @@ -76,6 +76,8 @@ enum ovs_datapath_cmd { · 75 unmodified lines | ||
| 76 | 76 | * datapath. Always present in notifications. |
| 77 | 77 | * @OVS_DP_ATTR_MEGAFLOW_STATS: Statistics about mega flow masks usage for the |
| 78 | 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 | 82 | * These attributes follow the &struct ovs_header within the Generic Netlink |
| 81 | 83 | * payload for %OVS_DP_* commands. |
| @@ -92,6 +94,7 @@ enum ovs_datapath_attr { · 10 unmodified lines | ||
| 92 | 94 | OVS_DP_ATTR_PER_CPU_PIDS, /* Netlink PIDS to receive upcalls in |
| 93 | 95 | * per-cpu dispatch mode |
| 94 | 96 | */ |
| 97 | + OVS_DP_ATTR_IFINDEX, | |
| 95 | 98 | __OVS_DP_ATTR_MAX |
| 96 | 99 | }; |
| 97 | 100 | |
| @@ -164,8 +164,6 @@ enum perf_event_sample_format { · 163 unmodified lines | ||
| 164 | 164 | PERF_SAMPLE_WEIGHT_STRUCT = 1U << 24, |
| 165 | 165 | |
| 166 | 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 | 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 | 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 | 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 | 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 | 238 | PERF_SAMPLE_BRANCH_MAX = 1U << PERF_SAMPLE_BRANCH_MAX_SHIFT, |
| 237 | 239 | }; |
| 238 | 240 | |
| @@ -253,9 +255,48 @@ enum { · 14 unmodified lines | ||
| 253 | 255 | PERF_BR_COND_RET = 10, /* conditional function return */ |
| 254 | 256 | PERF_BR_ERET = 11, /* exception return */ |
| 255 | 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 | 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 | 300 | #define PERF_SAMPLE_BRANCH_PLM_ALL \ |
| 260 | 301 | (PERF_SAMPLE_BRANCH_USER|\ |
| 261 | 302 | PERF_SAMPLE_BRANCH_KERNEL|\ |
| @@ -1295,7 +1336,9 @@ union perf_mem_data_src { · 1033 unmodified lines | ||
| 1295 | 1336 | #define PERF_MEM_LVLNUM_L2 0x02 /* L2 */ |
| 1296 | 1337 | #define PERF_MEM_LVLNUM_L3 0x03 /* L3 */ |
| 1297 | 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 | 1342 | #define PERF_MEM_LVLNUM_ANY_CACHE 0x0b /* Any cache */ |
| 1300 | 1343 | #define PERF_MEM_LVLNUM_LFB 0x0c /* LFB */ |
| 1301 | 1344 | #define PERF_MEM_LVLNUM_RAM 0x0d /* RAM */ |
| @@ -1313,7 +1356,7 @@ union perf_mem_data_src { · 11 unmodified lines | ||
| 1313 | 1356 | #define PERF_MEM_SNOOP_SHIFT 19 |
| 1314 | 1357 | |
| 1315 | 1358 | #define PERF_MEM_SNOOPX_FWD 0x01 /* forward */ |
| 1316 | −/* 1 free */ | |
| 1359 | +#define PERF_MEM_SNOOPX_PEER 0x02 /* xfer from peer */ | |
| 1317 | 1360 | #define PERF_MEM_SNOOPX_SHIFT 38 |
| 1318 | 1361 | |
| 1319 | 1362 | /* locked instruction */ |
| @@ -1363,6 +1406,7 @@ union perf_mem_data_src { · 43 unmodified lines | ||
| 1363 | 1406 | * abort: aborting a hardware transaction |
| 1364 | 1407 | * cycles: cycles from last branch (or 0 if not supported) |
| 1365 | 1408 | * type: branch type |
| 1409 | + * spec: branch speculation info (or 0 if not supported) | |
| 1366 | 1410 | */ |
| 1367 | 1411 | struct perf_branch_entry { |
| 1368 | 1412 | __u64 from; |
| @@ -1373,7 +1417,10 @@ struct perf_branch_entry { · 4 unmodified lines | ||
| 1373 | 1417 | abort:1, /* transaction abort */ |
| 1374 | 1418 | cycles:16, /* cycle count to last branch */ |
| 1375 | 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 | 1426 | union perf_sample_weight { |
| @@ -592,6 +592,8 @@ enum { · 591 unmodified lines | ||
| 592 | 592 | TCA_FLOWER_KEY_PPPOE_SID, /* be16 */ |
| 593 | 593 | TCA_FLOWER_KEY_PPP_PROTO, /* be16 */ |
| 594 | 594 | |
| 595 | + TCA_FLOWER_KEY_L2TPV3_SID, /* be32 */ | |
| 596 | + | |
| 595 | 597 | __TCA_FLOWER_MAX, |
| 596 | 598 | }; |
| 597 | 599 | |
| @@ -1232,6 +1232,16 @@ enum { · 1231 unmodified lines | ||
| 1232 | 1232 | #define TCA_TAPRIO_ATTR_FLAG_TXTIME_ASSIST _BITUL(0) |
| 1233 | 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 | 1245 | enum { |
| 1236 | 1246 | TCA_TAPRIO_ATTR_UNSPEC, |
| 1237 | 1247 | TCA_TAPRIO_ATTR_PRIOMAP, /* struct tc_mqprio_qopt */ |
| @@ -1245,6 +1255,7 @@ enum { · 7 unmodified lines | ||
| 1245 | 1255 | TCA_TAPRIO_ATTR_SCHED_CYCLE_TIME_EXTENSION, /* s64 */ |
| 1246 | 1256 | TCA_TAPRIO_ATTR_FLAGS, /* u32 */ |
| 1247 | 1257 | TCA_TAPRIO_ATTR_TXTIME_DELAY, /* u32 */ |
| 1258 | + TCA_TAPRIO_ATTR_TC_ENTRY, /* nest */ | |
| 1248 | 1259 | __TCA_TAPRIO_ATTR_MAX, |
| 1249 | 1260 | }; |
| 1250 | 1261 | |
| @@ -48,12 +48,26 @@ · 47 unmodified lines | ||
| 48 | 48 | #define PSCI_0_2_FN64_MIGRATE_INFO_UP_CPU PSCI_0_2_FN64(7) |
| 49 | 49 | |
| 50 | 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 | 54 | #define PSCI_1_0_FN_SYSTEM_SUSPEND PSCI_0_2_FN(14) |
| 52 | 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 | 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 | 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 | 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 | 72 | /* PSCI v0.2 power state encoding for CPU_SUSPEND function */ |
| 59 | 73 | #define PSCI_0_2_POWER_STATE_ID_MASK 0xffff |
| @@ -132,6 +132,18 @@ struct opal_read_write_table { · 131 unmodified lines | ||
| 132 | 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 | 147 | #define IOC_OPAL_SAVE _IOW('p', 220, struct opal_lock_unlock) |
| 136 | 148 | #define IOC_OPAL_LOCK_UNLOCK _IOW('p', 221, struct opal_lock_unlock) |
| 137 | 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 | 160 | #define IOC_OPAL_MBR_DONE _IOW('p', 233, struct opal_mbr_done) |
| 149 | 161 | #define IOC_OPAL_WRITE_SHADOW_MBR _IOW('p', 234, struct opal_shadow_mbr) |
| 150 | 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 | 165 | #endif /* _UAPI_SED_OPAL_H */ |
| @@ -28,6 +28,7 @@ enum { · 27 unmodified lines | ||
| 28 | 28 | SEG6_LOCAL_BPF, |
| 29 | 29 | SEG6_LOCAL_VRFTABLE, |
| 30 | 30 | SEG6_LOCAL_COUNTERS, |
| 31 | + SEG6_LOCAL_FLAVORS, | |
| 31 | 32 | __SEG6_LOCAL_MAX, |
| 32 | 33 | }; |
| 33 | 34 | #define SEG6_LOCAL_MAX (__SEG6_LOCAL_MAX - 1) |
| @@ -110,4 +111,27 @@ enum { · 76 unmodified lines | ||
| 110 | 111 | |
| 111 | 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 | 137 | #endif |
| @@ -124,7 +124,8 @@ struct statx { · 123 unmodified lines | ||
| 124 | 124 | __u32 stx_dev_minor; |
| 125 | 125 | /* 0x90 */ |
| 126 | 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 | 129 | /* 0xa0 */ |
| 129 | 130 | __u64 __spare3[12]; /* Spare space for future expansion */ |
| 130 | 131 | /* 0x100 */ |
| @@ -152,6 +153,7 @@ struct statx { · 21 unmodified lines | ||
| 152 | 153 | #define STATX_BASIC_STATS 0x000007ffU /* The stuff in the normal stat struct */ |
| 153 | 154 | #define STATX_BTIME 0x00000800U /* Want/got stx_btime */ |
| 154 | 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 | 158 | #define STATX__RESERVED 0x80000000U /* Reserved for future struct statx expansion */ |
| 157 | 159 | |
| @@ -1,11 +1,6 @@ | ||
| 1 | 1 | /* SPDX-License-Identifier: GPL-2.0+ WITH Linux-syscall-note */ |
| 2 | 2 | /* |
| 3 | 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 | 6 | #ifndef __LINUX_TC_BPF_H |
| @@ -2,19 +2,6 @@ · 1 unmodified line | ||
| 2 | 2 | /* |
| 3 | 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 | 5 | * Author: Alexander Duyck <alexander.h.duyck@intel.com> |
| 19 | 6 | */ |
| 20 | 7 | |
| @@ -1,12 +1,7 @@ | ||
| 1 | 1 | /* SPDX-License-Identifier: GPL-2.0+ WITH Linux-syscall-note */ |
| 2 | 2 | /* |
| 3 | 3 | * Copyright (c) 2016, Jamal Hadi Salim |
| 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 | 6 | #ifndef __LINUX_TC_SKBMOD_H |
| 12 | 7 | #define __LINUX_TC_SKBMOD_H |
| @@ -2,11 +2,6 @@ · 1 unmodified line | ||
| 2 | 2 | /* |
| 3 | 3 | * Copyright (c) 2016, Amir Vadai <amir@vadai.me> |
| 4 | 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 | 7 | #ifndef __LINUX_TC_TUNNEL_KEY_H |
| @@ -1,11 +1,6 @@ | ||
| 1 | 1 | /* SPDX-License-Identifier: GPL-2.0+ WITH Linux-syscall-note */ |
| 2 | 2 | /* |
| 3 | 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 | 6 | #ifndef __LINUX_TC_VLAN_H |
| @@ -100,6 +100,20 @@ · 99 unmodified lines | ||
| 100 | 100 | #define TLS_CIPHER_SM4_CCM_TAG_SIZE 16 |
| 101 | 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 | 117 | #define TLS_SET_RECORD_TYPE 1 |
| 104 | 118 | #define TLS_GET_RECORD_TYPE 2 |
| 105 | 119 | |
| @@ -156,6 +170,22 @@ struct tls12_crypto_info_sm4_ccm { · 50 unmodified lines | ||
| 156 | 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 | 189 | enum { |
| 160 | 190 | TLS_INFO_UNSPEC, |
| 161 | 191 | TLS_INFO_VERSION, |
| @@ -17,7 +17,8 @@ · 16 unmodified lines | ||
| 17 | 17 | #define UBLK_CMD_STOP_DEV 0x07 |
| 18 | 18 | #define UBLK_CMD_SET_PARAMS 0x08 |
| 19 | 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 | 23 | * IO commands, issued by ublk server, and handled by ublk driver. |
| 23 | 24 | * |
| @@ -74,9 +75,14 @@ · 50 unmodified lines | ||
| 74 | 75 | */ |
| 75 | 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 | 82 | /* device state */ |
| 78 | 83 | #define UBLK_S_DEV_DEAD 0 |
| 79 | 84 | #define UBLK_S_DEV_LIVE 1 |
| 85 | +#define UBLK_S_DEV_QUIESCED 2 | |
| 80 | 86 | |
| 81 | 87 | /* shipped via sqe->cmd of io_uring command */ |
| 82 | 88 | struct ublksrv_ctrl_cmd { |
| @@ -24,4 +24,30 @@ enum usbip_device_status { · 23 unmodified lines | ||
| 24 | 24 | VDEV_ST_USED, |
| 25 | 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 | 53 | #endif /* _UAPI_LINUX_USBIP_H */ |
| @@ -12,6 +12,10 @@ · 11 unmodified lines | ||
| 12 | 12 | |
| 13 | 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 | 20 | * If the UFFDIO_API is upgraded someday, the UFFDIO_UNREGISTER and |
| 17 | 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 | 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 | 234 | /* MPEG-class control IDs */ |
| 229 | 235 | /* The MPEG controls are applicable to all codec controls |
| 230 | 236 | * and the 'MPEG' part of the define is historical */ |
| @@ -1730,7 +1736,7 @@ struct v4l2_vp8_segment { · 1499 unmodified lines | ||
| 1730 | 1736 | * @sharpness_level: matches sharpness_level syntax element. |
| 1731 | 1737 | * @level: matches loop_filter_level syntax element. |
| 1732 | 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 | 1741 | * This structure contains loop filter related parameters. |
| 1736 | 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 | 47 | VDPA_ATTR_DEV_NEGOTIATED_FEATURES, /* u64 */ |
| 48 | 48 | VDPA_ATTR_DEV_MGMTDEV_MAX_VQS, /* u32 */ |
| 49 | + /* virtio features that are supported by the vDPA management device */ | |
| 49 | 50 | VDPA_ATTR_DEV_SUPPORTED_FEATURES, /* u64 */ |
| 50 | 51 | |
| 51 | 52 | VDPA_ATTR_DEV_QUEUE_INDEX, /* u32 */ |
| 52 | 53 | VDPA_ATTR_DEV_VENDOR_ATTR_NAME, /* string */ |
| 53 | 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 | 61 | /* new attributes must be added above here */ |
| 56 | 62 | VDPA_ATTR_MAX, |
| 57 | 63 | }; |
| @@ -986,6 +986,148 @@ enum vfio_device_mig_state { · 985 unmodified lines | ||
| 986 | 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 | 1131 | /* -------- API for Type1 VFIO IOMMU -------- */ |
| 990 | 1132 | |
| 991 | 1133 | /** |
| @@ -502,7 +502,6 @@ struct v4l2_capability { · 501 unmodified lines | ||
| 502 | 502 | #define V4L2_CAP_META_CAPTURE 0x00800000 /* Is a metadata capture device */ |
| 503 | 503 | |
| 504 | 504 | #define V4L2_CAP_READWRITE 0x01000000 /* read/write systemcalls */ |
| 505 | −#define V4L2_CAP_ASYNCIO 0x02000000 /* async I/O */ | |
| 506 | 505 | #define V4L2_CAP_STREAMING 0x04000000 /* streaming I/O ioctls */ |
| 507 | 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 | 2434 | #define V4L2_EVENT_CTRL_CH_VALUE (1 << 0) |
| 2436 | 2435 | #define V4L2_EVENT_CTRL_CH_FLAGS (1 << 1) |
| 2437 | 2436 | #define V4L2_EVENT_CTRL_CH_RANGE (1 << 2) |
| 2437 | +#define V4L2_EVENT_CTRL_CH_DIMENSIONS (1 << 3) | |
| 2438 | 2438 | |
| 2439 | 2439 | struct v4l2_event_ctrl { |
| 2440 | 2440 | __u32 changes; |
| @@ -2682,6 +2682,11 @@ struct v4l2_create_buffers { · 241 unmodified lines | ||
| 2682 | 2682 | #ifndef __KERNEL__ |
| 2683 | 2683 | #define V4L2_PIX_FMT_HM12 V4L2_PIX_FMT_NV12_16L16 |
| 2684 | 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 | 2690 | #endif |
| 2686 | 2691 | |
| 2687 | 2692 | #endif /* _UAPI__LINUX_VIDEODEV2_H */ |
| @@ -40,6 +40,7 @@ · 39 unmodified lines | ||
| 40 | 40 | #define VIRTIO_BLK_F_MQ 12 /* support more than one vq */ |
| 41 | 41 | #define VIRTIO_BLK_F_DISCARD 13 /* DISCARD is supported */ |
| 42 | 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 | 45 | /* Legacy feature bits */ |
| 45 | 46 | #ifndef VIRTIO_BLK_NO_LEGACY |
| @@ -121,6 +122,21 @@ struct virtio_blk_config { · 75 unmodified lines | ||
| 121 | 122 | __u8 write_zeroes_may_unmap; |
| 122 | 123 | |
| 123 | 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 | 140 | } __attribute__((packed)); |
| 125 | 141 | |
| 126 | 142 | /* |
| @@ -155,6 +171,9 @@ struct virtio_blk_config { · 28 unmodified lines | ||
| 155 | 171 | /* Write zeroes command */ |
| 156 | 172 | #define VIRTIO_BLK_T_WRITE_ZEROES 13 |
| 157 | 173 | |
| 174 | +/* Secure erase command */ | |
| 175 | +#define VIRTIO_BLK_T_SECURE_ERASE 14 | |
| 176 | + | |
| 158 | 177 | #ifndef VIRTIO_BLK_NO_LEGACY |
| 159 | 178 | /* Barrier before this op. */ |
| 160 | 179 | #define VIRTIO_BLK_T_BARRIER 0x80000000 |
| @@ -56,7 +56,7 @@ · 55 unmodified lines | ||
| 56 | 56 | #define VIRTIO_NET_F_MQ 22 /* Device supports Receive Flow |
| 57 | 57 | * Steering */ |
| 58 | 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 | 60 | #define VIRTIO_NET_F_HASH_REPORT 57 /* Supports hash report */ |
| 61 | 61 | #define VIRTIO_NET_F_RSS 60 /* Supports RSS RX steering */ |
| 62 | 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 | 365 | #define VIRTIO_NET_CTRL_NOTF_COAL 6 |
| 366 | 366 | /* |
| 367 | − * Set the tx-usecs/tx-max-packets patameters. | |
| 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. | |
| 367 | + * Set the tx-usecs/tx-max-packets parameters. | |
| 370 | 368 | */ |
| 371 | 369 | struct virtio_net_ctrl_coal_tx { |
| 370 | + /* Maximum number of packets to send before a TX notification */ | |
| 372 | 371 | __le32 tx_max_packets; |
| 372 | + /* Maximum number of usecs to delay a TX notification */ | |
| 373 | 373 | __le32 tx_usecs; |
| 374 | 374 | }; |
| 375 | 375 | |
| 376 | 376 | #define VIRTIO_NET_CTRL_NOTF_COAL_TX_SET 0 |
| 377 | 377 | |
| 378 | 378 | /* |
| 379 | − * Set the rx-usecs/rx-max-packets patameters. | |
| 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. | |
| 379 | + * Set the rx-usecs/rx-max-packets parameters. | |
| 382 | 380 | */ |
| 383 | 381 | struct virtio_net_ctrl_coal_rx { |
| 382 | + /* Maximum number of packets to receive before a RX notification */ | |
| 384 | 383 | __le32 rx_max_packets; |
| 384 | + /* Maximum number of usecs to delay a RX notification */ | |
| 385 | 385 | __le32 rx_usecs; |
| 386 | 386 | }; |
| 387 | 387 | |
| @@ -296,7 +296,7 @@ enum xfrm_attr_type_t { · 295 unmodified lines | ||
| 296 | 296 | XFRMA_ETIMER_THRESH, |
| 297 | 297 | XFRMA_SRCADDR, /* xfrm_address_t */ |
| 298 | 298 | XFRMA_COADDR, /* xfrm_address_t */ |
| 299 | − XFRMA_LASTUSED, /* unsigned long */ | |
| 299 | + XFRMA_LASTUSED, /* __u64 */ | |
| 300 | 300 | XFRMA_POLICY_TYPE, /* struct xfrm_userpolicy_type */ |
| 301 | 301 | XFRMA_MIGRATE, |
| 302 | 302 | XFRMA_ALG_AEAD, /* struct xfrm_algo_aead */ |
| @@ -707,6 +707,25 @@ enum hl_server_type { · 706 unmodified lines | ||
| 707 | 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 | 729 | /* Opcode for management ioctl |
| 711 | 730 | * |
| 712 | 731 | * HW_IP_INFO - Receive information about different IP blocks in the |
| @@ -754,6 +773,7 @@ enum hl_server_type { · 41 unmodified lines | ||
| 754 | 773 | * Razwi initiator. |
| 755 | 774 | * Razwi cause, was it a page fault or MMU access error. |
| 756 | 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 | 777 | * HL_INFO_REGISTER_EVENTFD - Register eventfd for event notifications. |
| 758 | 778 | * HL_INFO_UNREGISTER_EVENTFD - Unregister eventfd |
| 759 | 779 | * HL_INFO_GET_EVENTS - Retrieve the last occurred events |
| @@ -783,14 +803,19 @@ enum hl_server_type { · 23 unmodified lines | ||
| 783 | 803 | #define HL_INFO_CS_TIMEOUT_EVENT 24 |
| 784 | 804 | #define HL_INFO_RAZWI_EVENT 25 |
| 785 | 805 | #define HL_INFO_DEV_MEM_ALLOC_PAGE_SIZES 26 |
| 806 | +#define HL_INFO_SECURED_ATTESTATION 27 | |
| 786 | 807 | #define HL_INFO_REGISTER_EVENTFD 28 |
| 787 | 808 | #define HL_INFO_UNREGISTER_EVENTFD 29 |
| 788 | 809 | #define HL_INFO_GET_EVENTS 30 |
| 789 | 810 | #define HL_INFO_UNDEFINED_OPCODE_EVENT 31 |
| 811 | +#define HL_INFO_ENGINE_STATUS 32 | |
| 790 | 812 | |
| 791 | 813 | #define HL_INFO_VERSION_MAX_LEN 128 |
| 792 | 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 | 820 | * struct hl_info_hw_ip_info - hardware information on various IPs in the ASIC |
| 796 | 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 | 846 | * @tpc_enabled_mask: Bit-mask that represents which TPCs are enabled. Relevant |
| 822 | 847 | * for Goya/Gaudi only. |
| 823 | 848 | * @dram_enabled: Whether the DRAM is enabled. |
| 849 | + * @security_enabled: Whether security is enabled on device. | |
| 824 | 850 | * @mme_master_slave_mode: Indicate whether the MME is working in master/slave |
| 825 | 851 | * configuration. Relevant for Greco and later. |
| 826 | 852 | * @cpucp_version: The CPUCP f/w version. |
| @@ -852,7 +878,7 @@ struct hl_info_hw_ip_info { · 25 unmodified lines | ||
| 852 | 878 | __u32 psoc_pci_pll_div_factor; |
| 853 | 879 | __u8 tpc_enabled_mask; |
| 854 | 880 | __u8 dram_enabled; |
| 855 | − __u8 reserved; | |
| 881 | + __u8 security_enabled; | |
| 856 | 882 | __u8 mme_master_slave_mode; |
| 857 | 883 | __u8 cpucp_version[HL_INFO_VERSION_MAX_LEN]; |
| 858 | 884 | __u8 card_name[HL_INFO_CARD_NAME_MAX_LEN]; |
| @@ -876,13 +902,13 @@ struct hl_info_hw_idle { · 17 unmodified lines | ||
| 876 | 902 | __u32 is_idle; |
| 877 | 903 | /* |
| 878 | 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 | 907 | __u32 busy_engines_mask; |
| 882 | 908 | |
| 883 | 909 | /* |
| 884 | 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 | 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 | 1104 | * struct hl_info_undefined_opcode_event - info about last undefined opcode error |
| 1079 | 1105 | * @timestamp: timestamp of the undefined opcode error |
| 1080 | 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 | 1108 | * filled with values, it means the execution was in Lower-CP. |
| 1083 | 1109 | * @cq_addr: the address of the current handled command buffer |
| 1084 | 1110 | * @cq_size: the size of the current handled command buffer |
| 1085 | 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 | 1113 | * in Upper-CP (specific stream) and equal to 4 incase |
| 1088 | 1114 | * of undefined opcode in Lower-CP. |
| 1089 | 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 | 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 | 1177 | enum gaudi_dcores { |
| 1113 | 1178 | HL_GAUDI_WS_DCORE, |
| 1114 | 1179 | HL_GAUDI_WN_DCORE, |
| @@ -1130,6 +1195,11 @@ enum gaudi_dcores { · 15 unmodified lines | ||
| 1130 | 1195 | * resolution. Currently not in use. |
| 1131 | 1196 | * @pll_index: Index as defined in hl_<asic type>_pll_index enumeration. |
| 1132 | 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 | 1203 | * @pad: Padding to 64 bit. |
| 1134 | 1204 | */ |
| 1135 | 1205 | struct hl_info_args { |
| @@ -1143,6 +1213,8 @@ struct hl_info_args { · 7 unmodified lines | ||
| 1143 | 1213 | __u32 period_ms; |
| 1144 | 1214 | __u32 pll_index; |
| 1145 | 1215 | __u32 eventfd; |
| 1216 | + __u32 user_buffer_actual_size; | |
| 1217 | + __u32 sec_attest_nonce; | |
| 1146 | 1218 | }; |
| 1147 | 1219 | |
| 1148 | 1220 | __u32 pad; |
| @@ -1337,17 +1409,47 @@ struct hl_cs_chunk { · 188 unmodified lines | ||
| 1337 | 1409 | #define HL_CS_FLAGS_RESERVE_SIGNALS_ONLY 0x1000 |
| 1338 | 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 | 1418 | #define HL_CS_STATUS_SUCCESS 0 |
| 1341 | 1419 | |
| 1342 | 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 | 1430 | struct hl_cs_in { |
| 1345 | 1431 | |
| 1346 | − /* this holds address of array of hl_cs_chunk for restore phase */ | |
| 1347 | − __u64 chunks_restore; | |
| 1432 | + union { | |
| 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 */ | |
| 1350 | − __u64 chunks_execute; | |
| 1446 | + /* number of engine cores in engine_cores array */ | |
| 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 | 1454 | union { |
| 1353 | 1455 | /* |
| @@ -1412,7 +1514,7 @@ struct hl_cs_out { · 58 unmodified lines | ||
| 1412 | 1514 | |
| 1413 | 1515 | /* Valid only when HL_CS_FLAGS_RESERVE_SIGNALS_ONLY is set */ |
| 1414 | 1516 | struct { |
| 1415 | − /* This is the resereved signal handle id */ | |
| 1517 | + /* This is the reserved signal handle id */ | |
| 1416 | 1518 | __u32 handle_id; |
| 1417 | 1519 | |
| 1418 | 1520 | /* This is the signals count */ |
| @@ -1874,21 +1976,6 @@ struct hl_debug_args { · 455 unmodified lines | ||
| 1874 | 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 | 1980 | * Various information operations such as: |
| 1894 | 1981 | * - H/W IP information |
| @@ -14,11 +14,26 @@ struct hisi_qp_ctx { · 13 unmodified lines | ||
| 14 | 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 | 31 | #define HISI_QM_API_VER_BASE "hisi_qm_v1" |
| 18 | 32 | #define HISI_QM_API_VER2_BASE "hisi_qm_v2" |
| 19 | 33 | #define HISI_QM_API_VER3_BASE "hisi_qm_v3" |
| 20 | 34 | |
| 21 | 35 | /* UACCE_CMD_QM_SET_QP_CTX: Set qp algorithm type */ |
| 22 | 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 | 39 | #endif |
| @@ -55,9 +55,9 @@ struct mtd_oob_buf64 { · 54 unmodified lines | ||
| 55 | 55 | * @MTD_OPS_RAW: data are transferred as-is, with no error correction; |
| 56 | 56 | * this mode implies %MTD_OPS_PLACE_OOB |
| 57 | 57 | * |
| 58 | − * These modes can be passed to ioctl(MEMWRITE) and are also used internally. | |
| 59 | − * See notes on "MTD file modes" for discussion on %MTD_OPS_RAW vs. | |
| 60 | − * %MTD_FILE_MODE_RAW. | |
| 58 | + * These modes can be passed to ioctl(MEMWRITE) and ioctl(MEMREAD); they are | |
| 59 | + * also used internally. See notes on "MTD file modes" for discussion on | |
| 60 | + * %MTD_OPS_RAW vs. %MTD_FILE_MODE_RAW. | |
| 61 | 61 | */ |
| 62 | 62 | enum { |
| 63 | 63 | MTD_OPS_PLACE_OOB = 0, |
| @@ -91,6 +91,53 @@ struct mtd_write_req { · 27 unmodified lines | ||
| 91 | 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 | 141 | #define MTD_ABSENT 0 |
| 95 | 142 | #define MTD_RAM 1 |
| 96 | 143 | #define MTD_ROM 2 |
| @@ -207,6 +254,12 @@ struct otp_info { · 110 unmodified lines | ||
| 207 | 254 | #define MEMWRITE _IOWR('M', 24, struct mtd_write_req) |
| 208 | 255 | /* Erase a given range of user data (must be in mode %MTD_FILE_MODE_OTP_USER) */ |
| 209 | 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 | 265 | * Obsolete legacy interface. Keep it in order not to break userspace |
| @@ -270,8 +323,9 @@ struct mtd_ecc_stats { · 57 unmodified lines | ||
| 270 | 323 | * Note: %MTD_FILE_MODE_RAW provides the same functionality as %MTD_OPS_RAW - |
| 271 | 324 | * raw access to the flash, without error correction or autoplacement schemes. |
| 272 | 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 | |
| 274 | − * used out of necessity (e.g., `write()', ioctl(MEMWRITEOOB64)). | |
| 326 | + * (e.g., when using ioctl(MEMWRITE) or ioctl(MEMREAD)), but in some cases, the | |
| 327 | + * MTD_FILE_MODE is used out of necessity (e.g., `write()', | |
| 328 | + * ioctl(MEMWRITEOOB64)). | |
| 275 | 329 | */ |
| 276 | 330 | enum mtd_file_modes { |
| 277 | 331 | MTD_FILE_MODE_NORMAL = MTD_OTP_OFF, |
| @@ -247,6 +247,7 @@ enum { · 246 unmodified lines | ||
| 247 | 247 | * @vid_hdr_offset: VID header offset (use defaults if %0) |
| 248 | 248 | * @max_beb_per1024: maximum expected number of bad PEB per 1024 PEBs |
| 249 | 249 | * @padding: reserved for future, not used, has to be zeroed |
| 250 | + * @disable_fm: whether disable fastmap | |
| 250 | 251 | * |
| 251 | 252 | * This data structure is used to specify MTD device UBI has to attach and the |
| 252 | 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 | 282 | * eraseblocks for new bad eraseblocks, but attempts to use available |
| 282 | 283 | * eraseblocks (if any). The accepted range is 0-768. If 0 is given, the |
| 283 | 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 | 290 | struct ubi_attach_req { |
| 286 | 291 | __s32 ubi_num; |
| 287 | 292 | __s32 mtd_num; |
| 288 | 293 | __s32 vid_hdr_offset; |
| 289 | 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 | 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 | 6 | #ifndef EFA_ABI_USER_H |
| @@ -54,6 +54,7 @@ struct efa_ibv_alloc_pd_resp { · 47 unmodified lines | ||
| 54 | 54 | |
| 55 | 55 | enum { |
| 56 | 56 | EFA_CREATE_CQ_WITH_COMPLETION_CHANNEL = 1 << 0, |
| 57 | + EFA_CREATE_CQ_WITH_SGID = 1 << 1, | |
| 57 | 58 | }; |
| 58 | 59 | |
| 59 | 60 | struct efa_ibv_create_cq { |
| @@ -118,6 +119,7 @@ enum { · 58 unmodified lines | ||
| 118 | 119 | EFA_QUERY_DEVICE_CAPS_RDMA_READ = 1 << 0, |
| 119 | 120 | EFA_QUERY_DEVICE_CAPS_RNR_RETRY = 1 << 1, |
| 120 | 121 | EFA_QUERY_DEVICE_CAPS_CQ_NOTIFICATIONS = 1 << 2, |
| 122 | + EFA_QUERY_DEVICE_CAPS_CQ_WITH_SGID = 1 << 3, | |
| 121 | 123 | }; |
| 122 | 124 | |
| 123 | 125 | struct efa_ibv_ex_query_device_resp { |
| @@ -104,6 +104,7 @@ enum mlx5_ib_alloc_ucontext_resp_mask { · 103 unmodified lines | ||
| 104 | 104 | MLX5_IB_ALLOC_UCONTEXT_RESP_MASK_ECE = 1UL << 2, |
| 105 | 105 | MLX5_IB_ALLOC_UCONTEXT_RESP_MASK_SQD2RTS = 1UL << 3, |
| 106 | 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 | 110 | enum mlx5_user_cmds_supp_uhw { |
| @@ -174,6 +174,7 @@ enum mlx5_ib_devx_umem_reg_attrs { · 173 unmodified lines | ||
| 174 | 174 | MLX5_IB_ATTR_DEVX_UMEM_REG_ACCESS, |
| 175 | 175 | MLX5_IB_ATTR_DEVX_UMEM_REG_OUT_ID, |
| 176 | 176 | MLX5_IB_ATTR_DEVX_UMEM_REG_PGSZ_BITMAP, |
| 177 | + MLX5_IB_ATTR_DEVX_UMEM_REG_DMABUF_FD, | |
| 177 | 178 | }; |
| 178 | 179 | |
| 179 | 180 | enum mlx5_ib_devx_umem_dereg_attrs { |
| @@ -74,7 +74,7 @@ struct rxe_av { · 73 unmodified lines | ||
| 74 | 74 | |
| 75 | 75 | struct rxe_send_wr { |
| 76 | 76 | __aligned_u64 wr_id; |
| 77 | − __u32 num_sge; | |
| 77 | + __u32 reserved; | |
| 78 | 78 | __u32 opcode; |
| 79 | 79 | __u32 send_flags; |
| 80 | 80 | union { |
| @@ -166,7 +166,7 @@ struct rxe_send_wqe { · 85 unmodified lines | ||
| 166 | 166 | |
| 167 | 167 | struct rxe_recv_wqe { |
| 168 | 168 | __aligned_u64 wr_id; |
| 169 | − __u32 num_sge; | |
| 169 | + __u32 reserved; | |
| 170 | 170 | __u32 padding; |
| 171 | 171 | struct rxe_dma_info dma; |
| 172 | 172 | }; |
| @@ -35,7 +35,7 @@ · 34 unmodified lines | ||
| 35 | 35 | * FC Transport Broadcast Event Message : |
| 36 | 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 | 39 | * vendor unique payload, and the length of the payload is |
| 40 | 40 | * per event_datalen |
| 41 | 41 | * |
| @@ -50,7 +50,10 @@ struct fc_nl_event { · 8 unmodified lines | ||
| 50 | 50 | __u16 event_datalen; |
| 51 | 51 | __u32 event_num; |
| 52 | 52 | __u32 event_code; |
| 53 | − __u32 event_data; | |
| 53 | + union { | |
| 54 | + __u32 event_data; | |
| 55 | + __DECLARE_FLEX_ARRAY(__u8, event_data_flex); | |
| 56 | + }; | |
| 54 | 57 | } __attribute__((aligned(sizeof(__u64)))); |
| 55 | 58 | |
| 56 | 59 | |
| @@ -3,22 +3,6 @@ · 2 unmodified lines | ||
| 3 | 3 | * Main header file for the ALSA sequencer |
| 4 | 4 | * Copyright (c) 1998-1999 by Frank van de Pol <fvdpol@coil.demon.nl> |
| 5 | 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 | 7 | #ifndef _UAPI__SOUND_ASEQUENCER_H |
| 24 | 8 | #define _UAPI__SOUND_ASEQUENCER_H |
| @@ -5,10 +5,6 @@ · 4 unmodified lines | ||
| 5 | 5 | * Copyright (C) 2012 Texas Instruments Inc. |
| 6 | 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 | 8 | * Simple file API to load FW that includes mixers, coefficients, DAPM graphs, |
| 13 | 9 | * algorithms, equalisers, DAIs, widgets etc. |
| 14 | 10 | */ |
| @@ -3,22 +3,6 @@ · 2 unmodified lines | ||
| 3 | 3 | * Advanced Linux Sound Architecture - ALSA - Driver |
| 4 | 4 | * Copyright (c) 1994-2003 by Jaroslav Kysela <perex@perex.cz>, |
| 5 | 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 | 8 | #ifndef _UAPI__SOUND_ASOUND_H |
| @@ -10,21 +10,6 @@ · 9 unmodified lines | ||
| 10 | 10 | * 4Front Technologies |
| 11 | 11 | * |
| 12 | 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 | 15 | #define SNDRV_DM_FM_MODE_OPL2 0x00 |
| @@ -5,23 +5,6 @@ · 4 unmodified lines | ||
| 5 | 5 | * Copyright (C) 2011 Intel Corporation |
| 6 | 6 | * Authors: Vinod Koul <vinod.koul@linux.intel.com> |
| 7 | 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 | 9 | #ifndef __COMPRESS_OFFLOAD_H |
| 27 | 10 | #define __COMPRESS_OFFLOAD_H |
| @@ -7,47 +7,13 @@ · 6 unmodified lines | ||
| 7 | 7 | * Authors: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com> |
| 8 | 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 | 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 | 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 | 18 | #ifndef __SND_COMPRESS_PARAMS_H |
| 53 | 19 | #define __SND_COMPRESS_PARAMS_H |
| @@ -3,22 +3,6 @@ · 2 unmodified lines | ||
| 3 | 3 | * Copyright (c) by Jaroslav Kysela <perex@perex.cz>, |
| 4 | 4 | * Creative Labs, Inc. |
| 5 | 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 | 7 | #ifndef _UAPI__SOUND_EMU10K1_H |
| 24 | 8 | #define _UAPI__SOUND_EMU10K1_H |
| @@ -4,20 +4,6 @@ · 3 unmodified lines | ||
| 4 | 4 | |
| 5 | 5 | /* |
| 6 | 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 | 9 | #ifdef __linux__ |
| @@ -4,21 +4,6 @@ · 3 unmodified lines | ||
| 4 | 4 | /* |
| 5 | 5 | * Copyright (C) 2003 Winfried Ritsch (IEM) |
| 6 | 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 | 9 | #ifdef __linux__ |
| @@ -4,21 +4,6 @@ · 3 unmodified lines | ||
| 4 | 4 | * Takashi Iwai <tiwai@suse.de> |
| 5 | 5 | * |
| 6 | 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 | 8 | #ifndef _UAPI__SOUND_SB16_CSP_H |
| 24 | 9 | #define _UAPI__SOUND_SB16_CSP_H |
| @@ -6,21 +6,6 @@ · 5 unmodified lines | ||
| 6 | 6 | * Patch record compatible with AWE driver on OSS |
| 7 | 7 | * |
| 8 | 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 | 11 | #include <sound/asound.h> |
| @@ -4,16 +4,6 @@ · 3 unmodified lines | ||
| 4 | 4 | * |
| 5 | 5 | * Copyright (C) 2016 Intel Corp |
| 6 | 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 | 8 | #ifndef __SND_SST_TOKENS_H__ |
| 19 | 9 | #define __SND_SST_TOKENS_H__ |
| @@ -1,15 +1,4 @@ | ||
| 1 | 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 | 3 | #ifndef __UAPI_SOUND_TLV_H |
| 15 | 4 | #define __UAPI_SOUND_TLV_H |
| @@ -1,20 +1,6 @@ | ||
| 1 | 1 | /* SPDX-License-Identifier: GPL-2.0+ WITH Linux-syscall-note */ |
| 2 | 2 | /* |
| 3 | 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 | 6 | #ifndef _UAPI__SOUND_USB_STREAM_H |