From 6cd53a5f6be398691b1048df7a86e9e6d313835f Mon Sep 17 00:00:00 2001 From: Christopher Ferris Date: Mon, 12 Dec 2022 23:39:16 +0000 Subject: [PATCH] Update to v6.1 kernel headers. Kernel headers coming from: Git: https://android.googlesource.com/kernel/common/ Branch: android-mainline Tag: android-mainline-6.1 Test: Bionic unit tests pass. Change-Id: I9414fb5e698a9806b85eb09e37d763849f08a468 --- libc/kernel/uapi/asm-arm64/asm/hwcap.h | 1 + libc/kernel/uapi/asm-arm64/asm/perf_regs.h | 3 + libc/kernel/uapi/asm-generic/hugetlb_encode.h | 26 ++-- libc/kernel/uapi/asm-generic/mman-common.h | 1 + libc/kernel/uapi/asm-riscv/asm/auxvec.h | 4 +- libc/kernel/uapi/asm-riscv/asm/kvm.h | 4 + libc/kernel/uapi/drm/amdgpu_drm.h | 5 + libc/kernel/uapi/drm/drm_fourcc.h | 12 ++ libc/kernel/uapi/drm/panfrost_drm.h | 32 +++++ libc/kernel/uapi/linux/ashmem.h | 1 + libc/kernel/uapi/linux/audit.h | 2 +- libc/kernel/uapi/linux/bpf.h | 39 +++++- libc/kernel/uapi/linux/btrfs.h | 1 + libc/kernel/uapi/linux/btrfs_tree.h | 1 + libc/kernel/uapi/linux/can.h | 22 ++++ libc/kernel/uapi/linux/can/raw.h | 1 + libc/kernel/uapi/linux/capability.h | 2 +- libc/kernel/uapi/linux/cec.h | 2 + libc/kernel/uapi/linux/counter.h | 5 + libc/kernel/uapi/linux/dlm.h | 1 - libc/kernel/uapi/linux/dn.h | 114 ------------------ libc/kernel/uapi/linux/dw100.h | 23 ++++ libc/kernel/uapi/linux/ethtool.h | 20 ++- libc/kernel/uapi/linux/ethtool_netlink.h | 13 ++ libc/kernel/uapi/linux/fuse.h | 3 +- libc/kernel/uapi/linux/hid.h | 20 ++- libc/kernel/uapi/linux/idxd.h | 1 + libc/kernel/uapi/linux/if_ether.h | 1 + libc/kernel/uapi/linux/if_link.h | 8 ++ libc/kernel/uapi/linux/if_macsec.h | 1 + libc/kernel/uapi/linux/iio/types.h | 9 ++ libc/kernel/uapi/linux/in.h | 3 + libc/kernel/uapi/linux/input-event-codes.h | 1 + libc/kernel/uapi/linux/io_uring.h | 4 + libc/kernel/uapi/linux/ip.h | 3 +- libc/kernel/uapi/linux/ipv6.h | 3 +- libc/kernel/uapi/linux/kvm.h | 1 + libc/kernel/uapi/linux/l2tp.h | 1 - libc/kernel/uapi/linux/lwtunnel.h | 8 ++ libc/kernel/uapi/linux/netfilter_decnet.h | 57 --------- libc/kernel/uapi/linux/netlink.h | 2 + libc/kernel/uapi/linux/nl80211.h | 2 + libc/kernel/uapi/linux/openvswitch.h | 1 + libc/kernel/uapi/linux/perf_event.h | 40 +++++- libc/kernel/uapi/linux/pkt_cls.h | 1 + libc/kernel/uapi/linux/pkt_sched.h | 8 ++ libc/kernel/uapi/linux/psci.h | 12 ++ libc/kernel/uapi/linux/rkisp1-config.h | 31 +++++ libc/kernel/uapi/linux/sed-opal.h | 11 ++ libc/kernel/uapi/linux/seg6_local.h | 18 +++ libc/kernel/uapi/linux/stat.h | 4 +- libc/kernel/uapi/linux/tls.h | 26 ++++ libc/kernel/uapi/linux/ublk_cmd.h | 5 + libc/kernel/uapi/linux/usbip.h | 17 +++ libc/kernel/uapi/linux/userfaultfd.h | 2 + libc/kernel/uapi/linux/v4l2-controls.h | 1 + libc/kernel/uapi/linux/vdpa.h | 2 + libc/kernel/uapi/linux/version.h | 4 +- libc/kernel/uapi/linux/vfio.h | 26 ++++ libc/kernel/uapi/linux/videodev2.h | 5 +- libc/kernel/uapi/linux/virtio_blk.h | 5 + libc/kernel/uapi/misc/habanalabs.h | 55 +++++++-- libc/kernel/uapi/misc/uacce/hisi_qm.h | 7 ++ libc/kernel/uapi/mtd/mtd-abi.h | 16 +++ libc/kernel/uapi/mtd/ubi-user.h | 3 +- libc/kernel/uapi/rdma/efa-abi.h | 2 + libc/kernel/uapi/rdma/mlx5-abi.h | 1 + libc/kernel/uapi/rdma/mlx5_user_ioctl_cmds.h | 1 + libc/kernel/uapi/rdma/rdma_user_rxe.h | 4 +- libc/kernel/uapi/scsi/scsi_netlink_fc.h | 5 +- 70 files changed, 556 insertions(+), 220 deletions(-) delete mode 100644 libc/kernel/uapi/linux/dn.h create mode 100644 libc/kernel/uapi/linux/dw100.h delete mode 100644 libc/kernel/uapi/linux/netfilter_decnet.h diff --git a/libc/kernel/uapi/asm-arm64/asm/hwcap.h b/libc/kernel/uapi/asm-arm64/asm/hwcap.h index 442600dc1..af32056bb 100644 --- a/libc/kernel/uapi/asm-arm64/asm/hwcap.h +++ b/libc/kernel/uapi/asm-arm64/asm/hwcap.h @@ -83,4 +83,5 @@ #define HWCAP2_SME_FA64 (1 << 30) #define HWCAP2_WFXT (1UL << 31) #define HWCAP2_EBF16 (1UL << 32) +#define HWCAP2_SVE_EBF16 (1UL << 33) #endif diff --git a/libc/kernel/uapi/asm-arm64/asm/perf_regs.h b/libc/kernel/uapi/asm-arm64/asm/perf_regs.h index 71d496f20..e18fd0520 100644 --- a/libc/kernel/uapi/asm-arm64/asm/perf_regs.h +++ b/libc/kernel/uapi/asm-arm64/asm/perf_regs.h @@ -53,5 +53,8 @@ enum perf_event_arm_regs { PERF_REG_ARM64_SP, PERF_REG_ARM64_PC, PERF_REG_ARM64_MAX, + PERF_REG_ARM64_VG = 46, + PERF_REG_ARM64_EXTENDED_MAX }; +#define PERF_REG_EXTENDED_MASK (1ULL << PERF_REG_ARM64_VG) #endif diff --git a/libc/kernel/uapi/asm-generic/hugetlb_encode.h b/libc/kernel/uapi/asm-generic/hugetlb_encode.h index 73d818050..059991cbf 100644 --- a/libc/kernel/uapi/asm-generic/hugetlb_encode.h +++ b/libc/kernel/uapi/asm-generic/hugetlb_encode.h @@ -20,17 +20,17 @@ #define _ASM_GENERIC_HUGETLB_ENCODE_H_ #define HUGETLB_FLAG_ENCODE_SHIFT 26 #define HUGETLB_FLAG_ENCODE_MASK 0x3f -#define HUGETLB_FLAG_ENCODE_16KB (14 << HUGETLB_FLAG_ENCODE_SHIFT) -#define HUGETLB_FLAG_ENCODE_64KB (16 << HUGETLB_FLAG_ENCODE_SHIFT) -#define HUGETLB_FLAG_ENCODE_512KB (19 << HUGETLB_FLAG_ENCODE_SHIFT) -#define HUGETLB_FLAG_ENCODE_1MB (20 << HUGETLB_FLAG_ENCODE_SHIFT) -#define HUGETLB_FLAG_ENCODE_2MB (21 << HUGETLB_FLAG_ENCODE_SHIFT) -#define HUGETLB_FLAG_ENCODE_8MB (23 << HUGETLB_FLAG_ENCODE_SHIFT) -#define HUGETLB_FLAG_ENCODE_16MB (24 << HUGETLB_FLAG_ENCODE_SHIFT) -#define HUGETLB_FLAG_ENCODE_32MB (25 << HUGETLB_FLAG_ENCODE_SHIFT) -#define HUGETLB_FLAG_ENCODE_256MB (28 << HUGETLB_FLAG_ENCODE_SHIFT) -#define HUGETLB_FLAG_ENCODE_512MB (29 << HUGETLB_FLAG_ENCODE_SHIFT) -#define HUGETLB_FLAG_ENCODE_1GB (30 << HUGETLB_FLAG_ENCODE_SHIFT) -#define HUGETLB_FLAG_ENCODE_2GB (31 << HUGETLB_FLAG_ENCODE_SHIFT) -#define HUGETLB_FLAG_ENCODE_16GB (34 << HUGETLB_FLAG_ENCODE_SHIFT) +#define HUGETLB_FLAG_ENCODE_16KB (14U << HUGETLB_FLAG_ENCODE_SHIFT) +#define HUGETLB_FLAG_ENCODE_64KB (16U << HUGETLB_FLAG_ENCODE_SHIFT) +#define HUGETLB_FLAG_ENCODE_512KB (19U << HUGETLB_FLAG_ENCODE_SHIFT) +#define HUGETLB_FLAG_ENCODE_1MB (20U << HUGETLB_FLAG_ENCODE_SHIFT) +#define HUGETLB_FLAG_ENCODE_2MB (21U << HUGETLB_FLAG_ENCODE_SHIFT) +#define HUGETLB_FLAG_ENCODE_8MB (23U << HUGETLB_FLAG_ENCODE_SHIFT) +#define HUGETLB_FLAG_ENCODE_16MB (24U << HUGETLB_FLAG_ENCODE_SHIFT) +#define HUGETLB_FLAG_ENCODE_32MB (25U << HUGETLB_FLAG_ENCODE_SHIFT) +#define HUGETLB_FLAG_ENCODE_256MB (28U << HUGETLB_FLAG_ENCODE_SHIFT) +#define HUGETLB_FLAG_ENCODE_512MB (29U << HUGETLB_FLAG_ENCODE_SHIFT) +#define HUGETLB_FLAG_ENCODE_1GB (30U << HUGETLB_FLAG_ENCODE_SHIFT) +#define HUGETLB_FLAG_ENCODE_2GB (31U << HUGETLB_FLAG_ENCODE_SHIFT) +#define HUGETLB_FLAG_ENCODE_16GB (34U << HUGETLB_FLAG_ENCODE_SHIFT) #endif diff --git a/libc/kernel/uapi/asm-generic/mman-common.h b/libc/kernel/uapi/asm-generic/mman-common.h index e96f4cc2c..966d05b7e 100644 --- a/libc/kernel/uapi/asm-generic/mman-common.h +++ b/libc/kernel/uapi/asm-generic/mman-common.h @@ -63,6 +63,7 @@ #define MADV_POPULATE_READ 22 #define MADV_POPULATE_WRITE 23 #define MADV_DONTNEED_LOCKED 24 +#define MADV_COLLAPSE 25 #define MAP_FILE 0 #define PKEY_DISABLE_ACCESS 0x1 #define PKEY_DISABLE_WRITE 0x2 diff --git a/libc/kernel/uapi/asm-riscv/asm/auxvec.h b/libc/kernel/uapi/asm-riscv/asm/auxvec.h index b0e22af59..c70be178a 100644 --- a/libc/kernel/uapi/asm-riscv/asm/auxvec.h +++ b/libc/kernel/uapi/asm-riscv/asm/auxvec.h @@ -25,5 +25,7 @@ #define AT_L1D_CACHEGEOMETRY 43 #define AT_L2_CACHESIZE 44 #define AT_L2_CACHEGEOMETRY 45 -#define AT_VECTOR_SIZE_ARCH 7 +#define AT_L3_CACHESIZE 46 +#define AT_L3_CACHEGEOMETRY 47 +#define AT_VECTOR_SIZE_ARCH 9 #endif diff --git a/libc/kernel/uapi/asm-riscv/asm/kvm.h b/libc/kernel/uapi/asm-riscv/asm/kvm.h index 8a317b604..5dc165bc4 100644 --- a/libc/kernel/uapi/asm-riscv/asm/kvm.h +++ b/libc/kernel/uapi/asm-riscv/asm/kvm.h @@ -39,6 +39,7 @@ struct kvm_sregs { }; struct kvm_riscv_config { unsigned long isa; + unsigned long zicbom_block_size; }; struct kvm_riscv_core { struct user_regs_struct regs; @@ -74,6 +75,9 @@ enum KVM_RISCV_ISA_EXT_ID { KVM_RISCV_ISA_EXT_M, KVM_RISCV_ISA_EXT_SVPBMT, KVM_RISCV_ISA_EXT_SSTC, + KVM_RISCV_ISA_EXT_SVINVAL, + KVM_RISCV_ISA_EXT_ZIHINTPAUSE, + KVM_RISCV_ISA_EXT_ZICBOM, KVM_RISCV_ISA_EXT_MAX, }; #define KVM_RISCV_TIMER_STATE_OFF 0 diff --git a/libc/kernel/uapi/drm/amdgpu_drm.h b/libc/kernel/uapi/drm/amdgpu_drm.h index f03a086c5..658eb3139 100644 --- a/libc/kernel/uapi/drm/amdgpu_drm.h +++ b/libc/kernel/uapi/drm/amdgpu_drm.h @@ -453,6 +453,11 @@ struct drm_amdgpu_cs_chunk_data { #define AMDGPU_INFO_FW_DMCUB 0x14 #define AMDGPU_INFO_FW_TOC 0x15 #define AMDGPU_INFO_FW_CAP 0x16 +#define AMDGPU_INFO_FW_GFX_RLCP 0x17 +#define AMDGPU_INFO_FW_GFX_RLCV 0x18 +#define AMDGPU_INFO_FW_MES_KIQ 0x19 +#define AMDGPU_INFO_FW_MES 0x1a +#define AMDGPU_INFO_FW_IMU 0x1b #define AMDGPU_INFO_NUM_BYTES_MOVED 0x0f #define AMDGPU_INFO_VRAM_USAGE 0x10 #define AMDGPU_INFO_GTT_USAGE 0x11 diff --git a/libc/kernel/uapi/drm/drm_fourcc.h b/libc/kernel/uapi/drm/drm_fourcc.h index a59a6fb20..8188b8fbe 100644 --- a/libc/kernel/uapi/drm/drm_fourcc.h +++ b/libc/kernel/uapi/drm/drm_fourcc.h @@ -25,7 +25,17 @@ extern "C" { #define fourcc_code(a,b,c,d) ((__u32) (a) | ((__u32) (b) << 8) | ((__u32) (c) << 16) | ((__u32) (d) << 24)) #define DRM_FORMAT_BIG_ENDIAN (1U << 31) #define DRM_FORMAT_INVALID 0 +#define DRM_FORMAT_C1 fourcc_code('C', '1', ' ', ' ') +#define DRM_FORMAT_C2 fourcc_code('C', '2', ' ', ' ') +#define DRM_FORMAT_C4 fourcc_code('C', '4', ' ', ' ') #define DRM_FORMAT_C8 fourcc_code('C', '8', ' ', ' ') +#define DRM_FORMAT_D1 fourcc_code('D', '1', ' ', ' ') +#define DRM_FORMAT_D2 fourcc_code('D', '2', ' ', ' ') +#define DRM_FORMAT_D4 fourcc_code('D', '4', ' ', ' ') +#define DRM_FORMAT_D8 fourcc_code('D', '8', ' ', ' ') +#define DRM_FORMAT_R1 fourcc_code('R', '1', ' ', ' ') +#define DRM_FORMAT_R2 fourcc_code('R', '2', ' ', ' ') +#define DRM_FORMAT_R4 fourcc_code('R', '4', ' ', ' ') #define DRM_FORMAT_R8 fourcc_code('R', '8', ' ', ' ') #define DRM_FORMAT_R10 fourcc_code('R', '1', '0', ' ') #define DRM_FORMAT_R12 fourcc_code('R', '1', '2', ' ') @@ -86,7 +96,9 @@ extern "C" { #define DRM_FORMAT_UYVY fourcc_code('U', 'Y', 'V', 'Y') #define DRM_FORMAT_VYUY fourcc_code('V', 'Y', 'U', 'Y') #define DRM_FORMAT_AYUV fourcc_code('A', 'Y', 'U', 'V') +#define DRM_FORMAT_AVUY8888 fourcc_code('A', 'V', 'U', 'Y') #define DRM_FORMAT_XYUV8888 fourcc_code('X', 'Y', 'U', 'V') +#define DRM_FORMAT_XVUY8888 fourcc_code('X', 'V', 'U', 'Y') #define DRM_FORMAT_VUY888 fourcc_code('V', 'U', '2', '4') #define DRM_FORMAT_VUY101010 fourcc_code('V', 'U', '3', '0') #define DRM_FORMAT_Y210 fourcc_code('Y', '2', '1', '0') diff --git a/libc/kernel/uapi/drm/panfrost_drm.h b/libc/kernel/uapi/drm/panfrost_drm.h index 1f4473d4e..04a85df63 100644 --- a/libc/kernel/uapi/drm/panfrost_drm.h +++ b/libc/kernel/uapi/drm/panfrost_drm.h @@ -136,6 +136,38 @@ struct drm_panfrost_madvise { __u32 madv; __u32 retained; }; +#define PANFROSTDUMP_MAJOR 1 +#define PANFROSTDUMP_MINOR 0 +#define PANFROSTDUMP_MAGIC 0x464E4150 +#define PANFROSTDUMP_BUF_REG 0 +#define PANFROSTDUMP_BUF_BOMAP (PANFROSTDUMP_BUF_REG + 1) +#define PANFROSTDUMP_BUF_BO (PANFROSTDUMP_BUF_BOMAP + 1) +#define PANFROSTDUMP_BUF_TRAILER (PANFROSTDUMP_BUF_BO + 1) +struct panfrost_dump_object_header { + __u32 magic; + __u32 type; + __u32 file_size; + __u32 file_offset; + union { + struct { + __u64 jc; + __u32 gpu_id; + __u32 major; + __u32 minor; + __u64 nbos; + } reghdr; + struct { + __u32 valid; + __u64 iova; + __u32 data[2]; + } bomap; + __u32 sizer[496]; + }; +}; +struct panfrost_dump_registers { + __u32 reg; + __u32 value; +}; #ifdef __cplusplus } #endif diff --git a/libc/kernel/uapi/linux/ashmem.h b/libc/kernel/uapi/linux/ashmem.h index 174667f90..88f0e811d 100644 --- a/libc/kernel/uapi/linux/ashmem.h +++ b/libc/kernel/uapi/linux/ashmem.h @@ -41,4 +41,5 @@ struct ashmem_pin { #define ASHMEM_UNPIN _IOW(__ASHMEMIOC, 8, struct ashmem_pin) #define ASHMEM_GET_PIN_STATUS _IO(__ASHMEMIOC, 9) #define ASHMEM_PURGE_ALL_CACHES _IO(__ASHMEMIOC, 10) +#define ASHMEM_GET_FILE_ID _IOR(__ASHMEMIOC, 11, unsigned long) #endif diff --git a/libc/kernel/uapi/linux/audit.h b/libc/kernel/uapi/linux/audit.h index 2c37e2a1a..f7c969b4d 100644 --- a/libc/kernel/uapi/linux/audit.h +++ b/libc/kernel/uapi/linux/audit.h @@ -140,7 +140,7 @@ #define AUDIT_MAX_KEY_LEN 256 #define AUDIT_BITMASK_SIZE 64 #define AUDIT_WORD(nr) ((__u32) ((nr) / 32)) -#define AUDIT_BIT(nr) (1 << ((nr) - AUDIT_WORD(nr) * 32)) +#define AUDIT_BIT(nr) (1U << ((nr) - AUDIT_WORD(nr) * 32)) #define AUDIT_SYSCALL_CLASSES 16 #define AUDIT_CLASS_DIR_WRITE 0 #define AUDIT_CLASS_DIR_WRITE_32 1 diff --git a/libc/kernel/uapi/linux/bpf.h b/libc/kernel/uapi/linux/bpf.h index 641ac5585..807884a46 100644 --- a/libc/kernel/uapi/linux/bpf.h +++ b/libc/kernel/uapi/linux/bpf.h @@ -74,10 +74,27 @@ struct bpf_cgroup_storage_key { __u64 cgroup_inode_id; __u32 attach_type; }; +enum bpf_cgroup_iter_order { + BPF_CGROUP_ITER_ORDER_UNSPEC = 0, + BPF_CGROUP_ITER_SELF_ONLY, + BPF_CGROUP_ITER_DESCENDANTS_PRE, + BPF_CGROUP_ITER_DESCENDANTS_POST, + BPF_CGROUP_ITER_ANCESTORS_UP, +}; union bpf_iter_link_info { struct { __u32 map_fd; } map; + struct { + enum bpf_cgroup_iter_order order; + __u32 cgroup_fd; + __u64 cgroup_id; + } cgroup; + struct { + __u32 tid; + __u32 pid; + __u32 pid_fd; + } task; }; enum bpf_cmd { BPF_MAP_CREATE, @@ -150,6 +167,7 @@ enum bpf_map_type { BPF_MAP_TYPE_INODE_STORAGE, BPF_MAP_TYPE_TASK_STORAGE, BPF_MAP_TYPE_BLOOM_FILTER, + BPF_MAP_TYPE_USER_RINGBUF, }; enum bpf_prog_type { BPF_PROG_TYPE_UNSPEC, @@ -500,7 +518,7 @@ union bpf_attr { __u32 flags; } prog_bind_map; } __attribute__((aligned(8))); -#define __BPF_FUNC_MAPPER(FN) FN(unspec), FN(map_lookup_elem), FN(map_update_elem), FN(map_delete_elem), FN(probe_read), FN(ktime_get_ns), FN(trace_printk), FN(get_prandom_u32), FN(get_smp_processor_id), FN(skb_store_bytes), FN(l3_csum_replace), FN(l4_csum_replace), FN(tail_call), FN(clone_redirect), FN(get_current_pid_tgid), FN(get_current_uid_gid), FN(get_current_comm), FN(get_cgroup_classid), FN(skb_vlan_push), FN(skb_vlan_pop), FN(skb_get_tunnel_key), FN(skb_set_tunnel_key), FN(perf_event_read), FN(redirect), FN(get_route_realm), FN(perf_event_output), FN(skb_load_bytes), FN(get_stackid), FN(csum_diff), FN(skb_get_tunnel_opt), FN(skb_set_tunnel_opt), FN(skb_change_proto), FN(skb_change_type), FN(skb_under_cgroup), FN(get_hash_recalc), FN(get_current_task), FN(probe_write_user), FN(current_task_under_cgroup), FN(skb_change_tail), FN(skb_pull_data), FN(csum_update), FN(set_hash_invalid), FN(get_numa_node_id), FN(skb_change_head), FN(xdp_adjust_head), FN(probe_read_str), FN(get_socket_cookie), FN(get_socket_uid), FN(set_hash), FN(setsockopt), FN(skb_adjust_room), FN(redirect_map), FN(sk_redirect_map), FN(sock_map_update), FN(xdp_adjust_meta), FN(perf_event_read_value), FN(perf_prog_read_value), FN(getsockopt), FN(override_return), FN(sock_ops_cb_flags_set), FN(msg_redirect_map), FN(msg_apply_bytes), FN(msg_cork_bytes), FN(msg_pull_data), FN(bind), FN(xdp_adjust_tail), FN(skb_get_xfrm_state), FN(get_stack), FN(skb_load_bytes_relative), FN(fib_lookup), FN(sock_hash_update), FN(msg_redirect_hash), FN(sk_redirect_hash), FN(lwt_push_encap), FN(lwt_seg6_store_bytes), FN(lwt_seg6_adjust_srh), FN(lwt_seg6_action), FN(rc_repeat), FN(rc_keydown), FN(skb_cgroup_id), FN(get_current_cgroup_id), FN(get_local_storage), FN(sk_select_reuseport), FN(skb_ancestor_cgroup_id), FN(sk_lookup_tcp), FN(sk_lookup_udp), FN(sk_release), FN(map_push_elem), FN(map_pop_elem), FN(map_peek_elem), FN(msg_push_data), FN(msg_pop_data), FN(rc_pointer_rel), FN(spin_lock), FN(spin_unlock), FN(sk_fullsock), FN(tcp_sock), FN(skb_ecn_set_ce), FN(get_listener_sock), FN(skc_lookup_tcp), FN(tcp_check_syncookie), FN(sysctl_get_name), FN(sysctl_get_current_value), FN(sysctl_get_new_value), FN(sysctl_set_new_value), FN(strtol), FN(strtoul), FN(sk_storage_get), FN(sk_storage_delete), FN(send_signal), FN(tcp_gen_syncookie), FN(skb_output), FN(probe_read_user), FN(probe_read_kernel), FN(probe_read_user_str), FN(probe_read_kernel_str), FN(tcp_send_ack), FN(send_signal_thread), FN(jiffies64), FN(read_branch_records), FN(get_ns_current_pid_tgid), FN(xdp_output), FN(get_netns_cookie), FN(get_current_ancestor_cgroup_id), FN(sk_assign), FN(ktime_get_boot_ns), FN(seq_printf), FN(seq_write), FN(sk_cgroup_id), FN(sk_ancestor_cgroup_id), FN(ringbuf_output), FN(ringbuf_reserve), FN(ringbuf_submit), FN(ringbuf_discard), FN(ringbuf_query), FN(csum_level), FN(skc_to_tcp6_sock), FN(skc_to_tcp_sock), FN(skc_to_tcp_timewait_sock), FN(skc_to_tcp_request_sock), FN(skc_to_udp6_sock), FN(get_task_stack), FN(load_hdr_opt), FN(store_hdr_opt), FN(reserve_hdr_opt), FN(inode_storage_get), FN(inode_storage_delete), FN(d_path), FN(copy_from_user), FN(snprintf_btf), FN(seq_printf_btf), FN(skb_cgroup_classid), FN(redirect_neigh), FN(per_cpu_ptr), FN(this_cpu_ptr), FN(redirect_peer), FN(task_storage_get), FN(task_storage_delete), FN(get_current_task_btf), FN(bprm_opts_set), FN(ktime_get_coarse_ns), FN(ima_inode_hash), FN(sock_from_file), FN(check_mtu), FN(for_each_map_elem), FN(snprintf), FN(sys_bpf), FN(btf_find_by_name_kind), FN(sys_close), FN(timer_init), FN(timer_set_callback), FN(timer_start), FN(timer_cancel), FN(get_func_ip), FN(get_attach_cookie), FN(task_pt_regs), FN(get_branch_snapshot), FN(trace_vprintk), FN(skc_to_unix_sock), FN(kallsyms_lookup_name), FN(find_vma), FN(loop), FN(strncmp), FN(get_func_arg), FN(get_func_ret), FN(get_func_arg_cnt), FN(get_retval), FN(set_retval), FN(xdp_get_buff_len), FN(xdp_load_bytes), FN(xdp_store_bytes), FN(copy_from_user_task), FN(skb_set_tstamp), FN(ima_file_hash), FN(kptr_xchg), FN(map_lookup_percpu_elem), FN(skc_to_mptcp_sock), FN(dynptr_from_mem), FN(ringbuf_reserve_dynptr), FN(ringbuf_submit_dynptr), FN(ringbuf_discard_dynptr), FN(dynptr_read), FN(dynptr_write), FN(dynptr_data), FN(tcp_raw_gen_syncookie_ipv4), FN(tcp_raw_gen_syncookie_ipv6), FN(tcp_raw_check_syncookie_ipv4), FN(tcp_raw_check_syncookie_ipv6), +#define __BPF_FUNC_MAPPER(FN) FN(unspec), FN(map_lookup_elem), FN(map_update_elem), FN(map_delete_elem), FN(probe_read), FN(ktime_get_ns), FN(trace_printk), FN(get_prandom_u32), FN(get_smp_processor_id), FN(skb_store_bytes), FN(l3_csum_replace), FN(l4_csum_replace), FN(tail_call), FN(clone_redirect), FN(get_current_pid_tgid), FN(get_current_uid_gid), FN(get_current_comm), FN(get_cgroup_classid), FN(skb_vlan_push), FN(skb_vlan_pop), FN(skb_get_tunnel_key), FN(skb_set_tunnel_key), FN(perf_event_read), FN(redirect), FN(get_route_realm), FN(perf_event_output), FN(skb_load_bytes), FN(get_stackid), FN(csum_diff), FN(skb_get_tunnel_opt), FN(skb_set_tunnel_opt), FN(skb_change_proto), FN(skb_change_type), FN(skb_under_cgroup), FN(get_hash_recalc), FN(get_current_task), FN(probe_write_user), FN(current_task_under_cgroup), FN(skb_change_tail), FN(skb_pull_data), FN(csum_update), FN(set_hash_invalid), FN(get_numa_node_id), FN(skb_change_head), FN(xdp_adjust_head), FN(probe_read_str), FN(get_socket_cookie), FN(get_socket_uid), FN(set_hash), FN(setsockopt), FN(skb_adjust_room), FN(redirect_map), FN(sk_redirect_map), FN(sock_map_update), FN(xdp_adjust_meta), FN(perf_event_read_value), FN(perf_prog_read_value), FN(getsockopt), FN(override_return), FN(sock_ops_cb_flags_set), FN(msg_redirect_map), FN(msg_apply_bytes), FN(msg_cork_bytes), FN(msg_pull_data), FN(bind), FN(xdp_adjust_tail), FN(skb_get_xfrm_state), FN(get_stack), FN(skb_load_bytes_relative), FN(fib_lookup), FN(sock_hash_update), FN(msg_redirect_hash), FN(sk_redirect_hash), FN(lwt_push_encap), FN(lwt_seg6_store_bytes), FN(lwt_seg6_adjust_srh), FN(lwt_seg6_action), FN(rc_repeat), FN(rc_keydown), FN(skb_cgroup_id), FN(get_current_cgroup_id), FN(get_local_storage), FN(sk_select_reuseport), FN(skb_ancestor_cgroup_id), FN(sk_lookup_tcp), FN(sk_lookup_udp), FN(sk_release), FN(map_push_elem), FN(map_pop_elem), FN(map_peek_elem), FN(msg_push_data), FN(msg_pop_data), FN(rc_pointer_rel), FN(spin_lock), FN(spin_unlock), FN(sk_fullsock), FN(tcp_sock), FN(skb_ecn_set_ce), FN(get_listener_sock), FN(skc_lookup_tcp), FN(tcp_check_syncookie), FN(sysctl_get_name), FN(sysctl_get_current_value), FN(sysctl_get_new_value), FN(sysctl_set_new_value), FN(strtol), FN(strtoul), FN(sk_storage_get), FN(sk_storage_delete), FN(send_signal), FN(tcp_gen_syncookie), FN(skb_output), FN(probe_read_user), FN(probe_read_kernel), FN(probe_read_user_str), FN(probe_read_kernel_str), FN(tcp_send_ack), FN(send_signal_thread), FN(jiffies64), FN(read_branch_records), FN(get_ns_current_pid_tgid), FN(xdp_output), FN(get_netns_cookie), FN(get_current_ancestor_cgroup_id), FN(sk_assign), FN(ktime_get_boot_ns), FN(seq_printf), FN(seq_write), FN(sk_cgroup_id), FN(sk_ancestor_cgroup_id), FN(ringbuf_output), FN(ringbuf_reserve), FN(ringbuf_submit), FN(ringbuf_discard), FN(ringbuf_query), FN(csum_level), FN(skc_to_tcp6_sock), FN(skc_to_tcp_sock), FN(skc_to_tcp_timewait_sock), FN(skc_to_tcp_request_sock), FN(skc_to_udp6_sock), FN(get_task_stack), FN(load_hdr_opt), FN(store_hdr_opt), FN(reserve_hdr_opt), FN(inode_storage_get), FN(inode_storage_delete), FN(d_path), FN(copy_from_user), FN(snprintf_btf), FN(seq_printf_btf), FN(skb_cgroup_classid), FN(redirect_neigh), FN(per_cpu_ptr), FN(this_cpu_ptr), FN(redirect_peer), FN(task_storage_get), FN(task_storage_delete), FN(get_current_task_btf), FN(bprm_opts_set), FN(ktime_get_coarse_ns), FN(ima_inode_hash), FN(sock_from_file), FN(check_mtu), FN(for_each_map_elem), FN(snprintf), FN(sys_bpf), FN(btf_find_by_name_kind), FN(sys_close), FN(timer_init), FN(timer_set_callback), FN(timer_start), FN(timer_cancel), FN(get_func_ip), FN(get_attach_cookie), FN(task_pt_regs), FN(get_branch_snapshot), FN(trace_vprintk), FN(skc_to_unix_sock), FN(kallsyms_lookup_name), FN(find_vma), FN(loop), FN(strncmp), FN(get_func_arg), FN(get_func_ret), FN(get_func_arg_cnt), FN(get_retval), FN(set_retval), FN(xdp_get_buff_len), FN(xdp_load_bytes), FN(xdp_store_bytes), FN(copy_from_user_task), FN(skb_set_tstamp), FN(ima_file_hash), FN(kptr_xchg), FN(map_lookup_percpu_elem), FN(skc_to_mptcp_sock), FN(dynptr_from_mem), FN(ringbuf_reserve_dynptr), FN(ringbuf_submit_dynptr), FN(ringbuf_discard_dynptr), FN(dynptr_read), FN(dynptr_write), FN(dynptr_data), FN(tcp_raw_gen_syncookie_ipv4), FN(tcp_raw_gen_syncookie_ipv6), FN(tcp_raw_check_syncookie_ipv4), FN(tcp_raw_check_syncookie_ipv6), FN(ktime_get_tai_ns), FN(user_ringbuf_drain), #define __BPF_ENUM_FN(x) BPF_FUNC_ ##x enum bpf_func_id { __BPF_FUNC_MAPPER(__BPF_ENUM_FN) __BPF_FUNC_MAX_ID, @@ -536,6 +554,9 @@ enum { BPF_F_DONT_FRAGMENT = (1ULL << 2), BPF_F_SEQ_NUMBER = (1ULL << 3), }; +enum { + BPF_F_TUNINFO_FLAGS = (1ULL << 4), +}; enum { BPF_F_INDEX_MASK = 0xffffffffULL, BPF_F_CURRENT_CPU = BPF_F_INDEX_MASK, @@ -664,7 +685,10 @@ struct bpf_tunnel_key { }; __u8 tunnel_tos; __u8 tunnel_ttl; - __u16 tunnel_ext; + union { + __u16 tunnel_ext; + __be16 tunnel_flags; + }; __u32 tunnel_label; union { __u32 local_ipv4; @@ -686,6 +710,7 @@ enum bpf_ret_code { BPF_DROP = 2, BPF_REDIRECT = 7, BPF_LWT_REROUTE = 128, + BPF_FLOW_DISSECTOR_CONTINUE = 129, }; struct bpf_sock { __u32 bound_dev_if; @@ -903,6 +928,16 @@ struct bpf_link_info { __u32 map_id; } map; }; + union { + struct { + __u64 cgroup_id; + __u32 order; + } cgroup; + struct { + __u32 tid; + __u32 pid; + } task; + }; } iter; struct { __u32 netns_ino; diff --git a/libc/kernel/uapi/linux/btrfs.h b/libc/kernel/uapi/linux/btrfs.h index d73527e50..506238ff9 100644 --- a/libc/kernel/uapi/linux/btrfs.h +++ b/libc/kernel/uapi/linux/btrfs.h @@ -176,6 +176,7 @@ struct btrfs_ioctl_fs_info_args { #define BTRFS_FEATURE_COMPAT_RO_FREE_SPACE_TREE (1ULL << 0) #define BTRFS_FEATURE_COMPAT_RO_FREE_SPACE_TREE_VALID (1ULL << 1) #define BTRFS_FEATURE_COMPAT_RO_VERITY (1ULL << 2) +#define BTRFS_FEATURE_COMPAT_RO_BLOCK_GROUP_TREE (1ULL << 3) #define BTRFS_FEATURE_INCOMPAT_MIXED_BACKREF (1ULL << 0) #define BTRFS_FEATURE_INCOMPAT_DEFAULT_SUBVOL (1ULL << 1) #define BTRFS_FEATURE_INCOMPAT_MIXED_GROUPS (1ULL << 2) diff --git a/libc/kernel/uapi/linux/btrfs_tree.h b/libc/kernel/uapi/linux/btrfs_tree.h index 3becce8f5..6cd46dd8a 100644 --- a/libc/kernel/uapi/linux/btrfs_tree.h +++ b/libc/kernel/uapi/linux/btrfs_tree.h @@ -394,6 +394,7 @@ struct btrfs_free_space_info { #define BTRFS_QGROUP_STATUS_FLAG_ON (1ULL << 0) #define BTRFS_QGROUP_STATUS_FLAG_RESCAN (1ULL << 1) #define BTRFS_QGROUP_STATUS_FLAG_INCONSISTENT (1ULL << 2) +#define BTRFS_QGROUP_STATUS_FLAGS_MASK (BTRFS_QGROUP_STATUS_FLAG_ON | BTRFS_QGROUP_STATUS_FLAG_RESCAN | BTRFS_QGROUP_STATUS_FLAG_INCONSISTENT) #define BTRFS_QGROUP_STATUS_VERSION 1 struct btrfs_qgroup_status_item { __le64 version; diff --git a/libc/kernel/uapi/linux/can.h b/libc/kernel/uapi/linux/can.h index 30eeca2de..1365dbac9 100644 --- a/libc/kernel/uapi/linux/can.h +++ b/libc/kernel/uapi/linux/can.h @@ -20,21 +20,29 @@ #define _UAPI_CAN_H #include #include +#include #define CAN_EFF_FLAG 0x80000000U #define CAN_RTR_FLAG 0x40000000U #define CAN_ERR_FLAG 0x20000000U #define CAN_SFF_MASK 0x000007FFU #define CAN_EFF_MASK 0x1FFFFFFFU #define CAN_ERR_MASK 0x1FFFFFFFU +#define CANXL_PRIO_MASK CAN_SFF_MASK typedef __u32 canid_t; #define CAN_SFF_ID_BITS 11 #define CAN_EFF_ID_BITS 29 +#define CANXL_PRIO_BITS CAN_SFF_ID_BITS typedef __u32 can_err_mask_t; #define CAN_MAX_DLC 8 #define CAN_MAX_RAW_DLC 15 #define CAN_MAX_DLEN 8 #define CANFD_MAX_DLC 15 #define CANFD_MAX_DLEN 64 +#define CANXL_MIN_DLC 0 +#define CANXL_MAX_DLC 2047 +#define CANXL_MAX_DLC_MASK 0x07FF +#define CANXL_MIN_DLEN 1 +#define CANXL_MAX_DLEN 2048 struct can_frame { canid_t can_id; union { @@ -57,8 +65,22 @@ struct canfd_frame { __u8 __res1; __u8 data[CANFD_MAX_DLEN] __attribute__((aligned(8))); }; +#define CANXL_XLF 0x80 +#define CANXL_SEC 0x01 +struct canxl_frame { + canid_t prio; + __u8 flags; + __u8 sdt; + __u16 len; + __u32 af; + __u8 data[CANXL_MAX_DLEN]; +}; #define CAN_MTU (sizeof(struct can_frame)) #define CANFD_MTU (sizeof(struct canfd_frame)) +#define CANXL_MTU (sizeof(struct canxl_frame)) +#define CANXL_HDR_SIZE (offsetof(struct canxl_frame, data)) +#define CANXL_MIN_MTU (CANXL_HDR_SIZE + 64) +#define CANXL_MAX_MTU CANXL_MTU #define CAN_RAW 1 #define CAN_BCM 2 #define CAN_TP16 3 diff --git a/libc/kernel/uapi/linux/can/raw.h b/libc/kernel/uapi/linux/can/raw.h index a3bddb76c..f8de17970 100644 --- a/libc/kernel/uapi/linux/can/raw.h +++ b/libc/kernel/uapi/linux/can/raw.h @@ -30,5 +30,6 @@ enum { CAN_RAW_RECV_OWN_MSGS, CAN_RAW_FD_FRAMES, CAN_RAW_JOIN_FILTERS, + CAN_RAW_XL_FRAMES, }; #endif diff --git a/libc/kernel/uapi/linux/capability.h b/libc/kernel/uapi/linux/capability.h index 958e6ab61..c1b5dbff5 100644 --- a/libc/kernel/uapi/linux/capability.h +++ b/libc/kernel/uapi/linux/capability.h @@ -111,5 +111,5 @@ struct vfs_ns_cap_data { #define CAP_LAST_CAP CAP_CHECKPOINT_RESTORE #define cap_valid(x) ((x) >= 0 && (x) <= CAP_LAST_CAP) #define CAP_TO_INDEX(x) ((x) >> 5) -#define CAP_TO_MASK(x) (1 << ((x) & 31)) +#define CAP_TO_MASK(x) (1U << ((x) & 31)) #endif diff --git a/libc/kernel/uapi/linux/cec.h b/libc/kernel/uapi/linux/cec.h index b90dc49af..3953fe349 100644 --- a/libc/kernel/uapi/linux/cec.h +++ b/libc/kernel/uapi/linux/cec.h @@ -340,6 +340,7 @@ struct cec_event { #define CEC_OP_FEAT_DEV_HAS_SET_AUDIO_RATE 0x08 #define CEC_OP_FEAT_DEV_SINK_HAS_ARC_TX 0x04 #define CEC_OP_FEAT_DEV_SOURCE_HAS_ARC_RX 0x02 +#define CEC_OP_FEAT_DEV_HAS_SET_AUDIO_VOLUME_LEVEL 0x01 #define CEC_MSG_GIVE_FEATURES 0xa5 #define CEC_MSG_DECK_CONTROL 0x42 #define CEC_OP_DECK_CTL_MODE_SKIP_FWD 1 @@ -554,6 +555,7 @@ struct cec_event { #define CEC_MSG_SYSTEM_AUDIO_MODE_STATUS 0x7e #define CEC_OP_AUD_FMT_ID_CEA861 0 #define CEC_OP_AUD_FMT_ID_CEA861_CXT 1 +#define CEC_MSG_SET_AUDIO_VOLUME_LEVEL 0x73 #define CEC_MSG_SET_AUDIO_RATE 0x9a #define CEC_OP_AUD_RATE_OFF 0 #define CEC_OP_AUD_RATE_WIDE_STD 1 diff --git a/libc/kernel/uapi/linux/counter.h b/libc/kernel/uapi/linux/counter.h index 4b86b28cb..f986365ef 100644 --- a/libc/kernel/uapi/linux/counter.h +++ b/libc/kernel/uapi/linux/counter.h @@ -46,6 +46,7 @@ enum counter_event_type { COUNTER_EVENT_THRESHOLD, COUNTER_EVENT_INDEX, COUNTER_EVENT_CHANGE_OF_STATE, + COUNTER_EVENT_CAPTURE, }; struct counter_watch { struct counter_component component; @@ -91,4 +92,8 @@ enum counter_synapse_action { COUNTER_SYNAPSE_ACTION_FALLING_EDGE, COUNTER_SYNAPSE_ACTION_BOTH_EDGES, }; +enum counter_signal_polarity { + COUNTER_SIGNAL_POLARITY_POSITIVE, + COUNTER_SIGNAL_POLARITY_NEGATIVE, +}; #endif diff --git a/libc/kernel/uapi/linux/dlm.h b/libc/kernel/uapi/linux/dlm.h index c75918f8f..499baada7 100644 --- a/libc/kernel/uapi/linux/dlm.h +++ b/libc/kernel/uapi/linux/dlm.h @@ -31,6 +31,5 @@ struct dlm_lksb { char * sb_lvbptr; }; #define DLM_LSFL_TIMEWARN 0x00000002 -#define DLM_LSFL_FS 0x00000004 #define DLM_LSFL_NEWEXCL 0x00000008 #endif diff --git a/libc/kernel/uapi/linux/dn.h b/libc/kernel/uapi/linux/dn.h deleted file mode 100644 index 621f60fdd..000000000 --- a/libc/kernel/uapi/linux/dn.h +++ /dev/null @@ -1,114 +0,0 @@ -/**************************************************************************** - **************************************************************************** - *** - *** This header was automatically generated from a Linux kernel header - *** of the same name, to make information necessary for userspace to - *** call into the kernel available to libc. It contains only constants, - *** structures, and macros generated from the original header, and thus, - *** contains no copyrightable information. - *** - *** To edit the content of this header, modify the corresponding - *** source file (e.g. under external/kernel-headers/original/) then - *** run bionic/libc/kernel/tools/update_all.py - *** - *** Any manual change here will be lost the next time this script will - *** be run. You've been warned! - *** - **************************************************************************** - ****************************************************************************/ -#ifndef _LINUX_DN_H -#define _LINUX_DN_H -#include -#include -#include -#define DNPROTO_NSP 2 -#define DNPROTO_ROU 3 -#define DNPROTO_NML 4 -#define DNPROTO_EVL 5 -#define DNPROTO_EVR 6 -#define DNPROTO_NSPT 7 -#define DN_ADDL 2 -#define DN_MAXADDL 2 -#define DN_MAXOPTL 16 -#define DN_MAXOBJL 16 -#define DN_MAXACCL 40 -#define DN_MAXALIASL 128 -#define DN_MAXNODEL 256 -#define DNBUFSIZE 65023 -#define SO_CONDATA 1 -#define SO_CONACCESS 2 -#define SO_PROXYUSR 3 -#define SO_LINKINFO 7 -#define DSO_CONDATA 1 -#define DSO_DISDATA 10 -#define DSO_CONACCESS 2 -#define DSO_ACCEPTMODE 4 -#define DSO_CONACCEPT 5 -#define DSO_CONREJECT 6 -#define DSO_LINKINFO 7 -#define DSO_STREAM 8 -#define DSO_SEQPACKET 9 -#define DSO_MAXWINDOW 11 -#define DSO_NODELAY 12 -#define DSO_CORK 13 -#define DSO_SERVICES 14 -#define DSO_INFO 15 -#define DSO_MAX 15 -#define LL_INACTIVE 0 -#define LL_CONNECTING 1 -#define LL_RUNNING 2 -#define LL_DISCONNECTING 3 -#define ACC_IMMED 0 -#define ACC_DEFER 1 -#define SDF_WILD 1 -#define SDF_PROXY 2 -#define SDF_UICPROXY 4 -struct dn_naddr { - __le16 a_len; - __u8 a_addr[DN_MAXADDL]; -}; -struct sockaddr_dn { - __u16 sdn_family; - __u8 sdn_flags; - __u8 sdn_objnum; - __le16 sdn_objnamel; - __u8 sdn_objname[DN_MAXOBJL]; - struct dn_naddr sdn_add; -}; -#define sdn_nodeaddrl sdn_add.a_len -#define sdn_nodeaddr sdn_add.a_addr -struct optdata_dn { - __le16 opt_status; -#define opt_sts opt_status - __le16 opt_optl; - __u8 opt_data[16]; -}; -struct accessdata_dn { - __u8 acc_accl; - __u8 acc_acc[DN_MAXACCL]; - __u8 acc_passl; - __u8 acc_pass[DN_MAXACCL]; - __u8 acc_userl; - __u8 acc_user[DN_MAXACCL]; -}; -struct linkinfo_dn { - __u16 idn_segsize; - __u8 idn_linkstate; -}; -union etheraddress { - __u8 dne_addr[ETH_ALEN]; - struct { - __u8 dne_hiord[4]; - __u8 dne_nodeaddr[2]; - } dne_remote; -}; -struct dn_addr { - __le16 dna_family; - union etheraddress dna_netaddr; -}; -#define DECNET_IOCTL_BASE 0x89 -#define SIOCSNETADDR _IOW(DECNET_IOCTL_BASE, 0xe0, struct dn_naddr) -#define SIOCGNETADDR _IOR(DECNET_IOCTL_BASE, 0xe1, struct dn_naddr) -#define OSIOCSNETADDR _IOW(DECNET_IOCTL_BASE, 0xe0, int) -#define OSIOCGNETADDR _IOR(DECNET_IOCTL_BASE, 0xe1, int) -#endif diff --git a/libc/kernel/uapi/linux/dw100.h b/libc/kernel/uapi/linux/dw100.h new file mode 100644 index 000000000..13d848726 --- /dev/null +++ b/libc/kernel/uapi/linux/dw100.h @@ -0,0 +1,23 @@ +/**************************************************************************** + **************************************************************************** + *** + *** This header was automatically generated from a Linux kernel header + *** of the same name, to make information necessary for userspace to + *** call into the kernel available to libc. It contains only constants, + *** structures, and macros generated from the original header, and thus, + *** contains no copyrightable information. + *** + *** To edit the content of this header, modify the corresponding + *** source file (e.g. under external/kernel-headers/original/) then + *** run bionic/libc/kernel/tools/update_all.py + *** + *** Any manual change here will be lost the next time this script will + *** be run. You've been warned! + *** + **************************************************************************** + ****************************************************************************/ +#ifndef __UAPI_DW100_H__ +#define __UAPI_DW100_H__ +#include +#define V4L2_CID_DW100_DEWARPING_16x16_VERTEX_MAP (V4L2_CID_USER_DW100_BASE + 1) +#endif diff --git a/libc/kernel/uapi/linux/ethtool.h b/libc/kernel/uapi/linux/ethtool.h index 22dc9f277..8bdd62216 100644 --- a/libc/kernel/uapi/linux/ethtool.h +++ b/libc/kernel/uapi/linux/ethtool.h @@ -277,6 +277,20 @@ enum ethtool_module_power_mode { ETHTOOL_MODULE_POWER_MODE_LOW = 1, ETHTOOL_MODULE_POWER_MODE_HIGH, }; +enum ethtool_podl_pse_admin_state { + ETHTOOL_PODL_PSE_ADMIN_STATE_UNKNOWN = 1, + ETHTOOL_PODL_PSE_ADMIN_STATE_DISABLED, + ETHTOOL_PODL_PSE_ADMIN_STATE_ENABLED, +}; +enum ethtool_podl_pse_pw_d_status { + ETHTOOL_PODL_PSE_PW_D_STATUS_UNKNOWN = 1, + ETHTOOL_PODL_PSE_PW_D_STATUS_DISABLED, + ETHTOOL_PODL_PSE_PW_D_STATUS_SEARCHING, + ETHTOOL_PODL_PSE_PW_D_STATUS_DELIVERING, + ETHTOOL_PODL_PSE_PW_D_STATUS_SLEEP, + ETHTOOL_PODL_PSE_PW_D_STATUS_IDLE, + ETHTOOL_PODL_PSE_PW_D_STATUS_ERROR, +}; struct ethtool_gstrings { __u32 cmd; __u32 string_set; @@ -800,6 +814,10 @@ enum ethtool_link_mode_bit_indices { #define MASTER_SLAVE_STATE_MASTER 2 #define MASTER_SLAVE_STATE_SLAVE 3 #define MASTER_SLAVE_STATE_ERR 4 +#define RATE_MATCH_NONE 0 +#define RATE_MATCH_PAUSE 1 +#define RATE_MATCH_CRS 2 +#define RATE_MATCH_OPEN_LOOP 3 #define PORT_TP 0x00 #define PORT_AUI 0x01 #define PORT_MII 0x02 @@ -901,7 +919,7 @@ struct ethtool_link_settings { __u8 transceiver; __u8 master_slave_cfg; __u8 master_slave_state; - __u8 reserved1[1]; + __u8 rate_matching; __u32 reserved[7]; __u32 link_mode_masks[]; }; diff --git a/libc/kernel/uapi/linux/ethtool_netlink.h b/libc/kernel/uapi/linux/ethtool_netlink.h index 85ce51bc1..08c693601 100644 --- a/libc/kernel/uapi/linux/ethtool_netlink.h +++ b/libc/kernel/uapi/linux/ethtool_netlink.h @@ -56,6 +56,8 @@ enum { ETHTOOL_MSG_PHC_VCLOCKS_GET, ETHTOOL_MSG_MODULE_GET, ETHTOOL_MSG_MODULE_SET, + ETHTOOL_MSG_PSE_GET, + ETHTOOL_MSG_PSE_SET, __ETHTOOL_MSG_USER_CNT, ETHTOOL_MSG_USER_MAX = __ETHTOOL_MSG_USER_CNT - 1 }; @@ -97,6 +99,7 @@ enum { ETHTOOL_MSG_PHC_VCLOCKS_GET_REPLY, ETHTOOL_MSG_MODULE_GET_REPLY, ETHTOOL_MSG_MODULE_NTF, + ETHTOOL_MSG_PSE_GET_REPLY, __ETHTOOL_MSG_KERNEL_CNT, ETHTOOL_MSG_KERNEL_MAX = __ETHTOOL_MSG_KERNEL_CNT - 1 }; @@ -193,6 +196,7 @@ enum { ETHTOOL_A_LINKMODES_MASTER_SLAVE_CFG, ETHTOOL_A_LINKMODES_MASTER_SLAVE_STATE, ETHTOOL_A_LINKMODES_LANES, + ETHTOOL_A_LINKMODES_RATE_MATCHING, __ETHTOOL_A_LINKMODES_CNT, ETHTOOL_A_LINKMODES_MAX = __ETHTOOL_A_LINKMODES_CNT - 1 }; @@ -609,6 +613,15 @@ enum { __ETHTOOL_A_MODULE_CNT, ETHTOOL_A_MODULE_MAX = (__ETHTOOL_A_MODULE_CNT - 1) }; +enum { + ETHTOOL_A_PSE_UNSPEC, + ETHTOOL_A_PSE_HEADER, + ETHTOOL_A_PODL_PSE_ADMIN_STATE, + ETHTOOL_A_PODL_PSE_ADMIN_CONTROL, + ETHTOOL_A_PODL_PSE_PW_D_STATUS, + __ETHTOOL_A_PSE_CNT, + ETHTOOL_A_PSE_MAX = (__ETHTOOL_A_PSE_CNT - 1) +}; #define ETHTOOL_GENL_NAME "ethtool" #define ETHTOOL_GENL_VERSION 1 #define ETHTOOL_MCGRP_MONITOR_NAME "monitor" diff --git a/libc/kernel/uapi/linux/fuse.h b/libc/kernel/uapi/linux/fuse.h index 144e960c6..ae667ebad 100644 --- a/libc/kernel/uapi/linux/fuse.h +++ b/libc/kernel/uapi/linux/fuse.h @@ -20,7 +20,7 @@ #define _LINUX_FUSE_H #include #define FUSE_KERNEL_VERSION 7 -#define FUSE_KERNEL_MINOR_VERSION 36 +#define FUSE_KERNEL_MINOR_VERSION 37 #define FUSE_ROOT_ID 1 struct fuse_attr { uint64_t ino; @@ -187,6 +187,7 @@ enum fuse_opcode { FUSE_SETUPMAPPING = 48, FUSE_REMOVEMAPPING = 49, FUSE_SYNCFS = 50, + FUSE_TMPFILE = 51, FUSE_CANONICAL_PATH = 2016, CUSE_INIT = 4096, CUSE_INIT_BSWAP_RESERVED = 1048576, diff --git a/libc/kernel/uapi/linux/hid.h b/libc/kernel/uapi/linux/hid.h index ce93cd799..37ab462f4 100644 --- a/libc/kernel/uapi/linux/hid.h +++ b/libc/kernel/uapi/linux/hid.h @@ -22,12 +22,20 @@ #define USB_INTERFACE_SUBCLASS_BOOT 1 #define USB_INTERFACE_PROTOCOL_KEYBOARD 1 #define USB_INTERFACE_PROTOCOL_MOUSE 2 -#define HID_REQ_GET_REPORT 0x01 -#define HID_REQ_GET_IDLE 0x02 -#define HID_REQ_GET_PROTOCOL 0x03 -#define HID_REQ_SET_REPORT 0x09 -#define HID_REQ_SET_IDLE 0x0A -#define HID_REQ_SET_PROTOCOL 0x0B +enum hid_report_type { + HID_INPUT_REPORT = 0, + HID_OUTPUT_REPORT = 1, + HID_FEATURE_REPORT = 2, + HID_REPORT_TYPES, +}; +enum hid_class_request { + HID_REQ_GET_REPORT = 0x01, + HID_REQ_GET_IDLE = 0x02, + HID_REQ_GET_PROTOCOL = 0x03, + HID_REQ_SET_REPORT = 0x09, + HID_REQ_SET_IDLE = 0x0A, + HID_REQ_SET_PROTOCOL = 0x0B, +}; #define HID_DT_HID (USB_TYPE_CLASS | 0x01) #define HID_DT_REPORT (USB_TYPE_CLASS | 0x02) #define HID_DT_PHYSICAL (USB_TYPE_CLASS | 0x03) diff --git a/libc/kernel/uapi/linux/idxd.h b/libc/kernel/uapi/linux/idxd.h index c6d698547..a456352eb 100644 --- a/libc/kernel/uapi/linux/idxd.h +++ b/libc/kernel/uapi/linux/idxd.h @@ -38,6 +38,7 @@ enum idxd_scmd_stat { IDXD_SCMD_WQ_NO_SIZE = 0x800e0000, IDXD_SCMD_WQ_NO_PRIV = 0x800f0000, IDXD_SCMD_WQ_IRQ_ERR = 0x80100000, + IDXD_SCMD_WQ_USER_NO_IOMMU = 0x80110000, }; #define IDXD_SCMD_SOFTERR_MASK 0x80000000 #define IDXD_SCMD_SOFTERR_SHIFT 16 diff --git a/libc/kernel/uapi/linux/if_ether.h b/libc/kernel/uapi/linux/if_ether.h index d35509efe..604392185 100644 --- a/libc/kernel/uapi/linux/if_ether.h +++ b/libc/kernel/uapi/linux/if_ether.h @@ -112,6 +112,7 @@ #define ETH_P_LOCALTALK 0x0009 #define ETH_P_CAN 0x000C #define ETH_P_CANFD 0x000D +#define ETH_P_CANXL 0x000E #define ETH_P_PPPTALK 0x0010 #define ETH_P_TR_802_2 0x0011 #define ETH_P_MOBITEX 0x0015 diff --git a/libc/kernel/uapi/linux/if_link.h b/libc/kernel/uapi/linux/if_link.h index 52f8ca391..ebf403af2 100644 --- a/libc/kernel/uapi/linux/if_link.h +++ b/libc/kernel/uapi/linux/if_link.h @@ -165,6 +165,7 @@ enum { IFLA_GRO_MAX_SIZE, IFLA_TSO_MAX_SIZE, IFLA_TSO_MAX_SEGS, + IFLA_ALLMULTI, __IFLA_MAX }; #define IFLA_MAX (__IFLA_MAX - 1) @@ -411,6 +412,7 @@ enum { IFLA_XFRM_UNSPEC, IFLA_XFRM_LINK, IFLA_XFRM_IF_ID, + IFLA_XFRM_COLLECT_METADATA, __IFLA_XFRM_MAX }; #define IFLA_XFRM_MAX (__IFLA_XFRM_MAX - 1) @@ -937,4 +939,10 @@ enum { __IFLA_MCTP_MAX, }; #define IFLA_MCTP_MAX (__IFLA_MCTP_MAX - 1) +enum { + IFLA_DSA_UNSPEC, + IFLA_DSA_MASTER, + __IFLA_DSA_MAX, +}; +#define IFLA_DSA_MAX (__IFLA_DSA_MAX - 1) #endif diff --git a/libc/kernel/uapi/linux/if_macsec.h b/libc/kernel/uapi/linux/if_macsec.h index e60d76746..7b51f8003 100644 --- a/libc/kernel/uapi/linux/if_macsec.h +++ b/libc/kernel/uapi/linux/if_macsec.h @@ -23,6 +23,7 @@ #define MACSEC_GENL_VERSION 1 #define MACSEC_MAX_KEY_LEN 128 #define MACSEC_KEYID_LEN 16 +#define MACSEC_SALT_LEN 12 #define MACSEC_CIPHER_ID_GCM_AES_128 0x0080C20001000001ULL #define MACSEC_CIPHER_ID_GCM_AES_256 0x0080C20001000002ULL #define MACSEC_CIPHER_ID_GCM_AES_XPN_128 0x0080C20001000003ULL diff --git a/libc/kernel/uapi/linux/iio/types.h b/libc/kernel/uapi/linux/iio/types.h index aa66d5063..af7bdda65 100644 --- a/libc/kernel/uapi/linux/iio/types.h +++ b/libc/kernel/uapi/linux/iio/types.h @@ -101,6 +101,12 @@ enum iio_modifier { IIO_MOD_ETHANOL, IIO_MOD_H2, IIO_MOD_O2, + IIO_MOD_LINEAR_X, + IIO_MOD_LINEAR_Y, + IIO_MOD_LINEAR_Z, + IIO_MOD_PITCH, + IIO_MOD_YAW, + IIO_MOD_ROLL, }; enum iio_event_type { IIO_EV_TYPE_THRESH, @@ -110,11 +116,14 @@ enum iio_event_type { IIO_EV_TYPE_MAG_ADAPTIVE, IIO_EV_TYPE_CHANGE, IIO_EV_TYPE_MAG_REFERENCED, + IIO_EV_TYPE_GESTURE, }; enum iio_event_direction { IIO_EV_DIR_EITHER, IIO_EV_DIR_RISING, IIO_EV_DIR_FALLING, IIO_EV_DIR_NONE, + IIO_EV_DIR_SINGLETAP, + IIO_EV_DIR_DOUBLETAP, }; #endif diff --git a/libc/kernel/uapi/linux/in.h b/libc/kernel/uapi/linux/in.h index d4060e7dc..53d3074a1 100644 --- a/libc/kernel/uapi/linux/in.h +++ b/libc/kernel/uapi/linux/in.h @@ -22,6 +22,7 @@ #include #include #include +#include #include #include #if __UAPI_DEF_IN_IPPROTO @@ -68,6 +69,8 @@ enum { #define IPPROTO_PIM IPPROTO_PIM IPPROTO_COMP = 108, #define IPPROTO_COMP IPPROTO_COMP + IPPROTO_L2TP = 115, +#define IPPROTO_L2TP IPPROTO_L2TP IPPROTO_SCTP = 132, #define IPPROTO_SCTP IPPROTO_SCTP IPPROTO_UDPLITE = 136, diff --git a/libc/kernel/uapi/linux/input-event-codes.h b/libc/kernel/uapi/linux/input-event-codes.h index 4b251df76..40827b55a 100644 --- a/libc/kernel/uapi/linux/input-event-codes.h +++ b/libc/kernel/uapi/linux/input-event-codes.h @@ -720,6 +720,7 @@ #define ABS_TILT_Y 0x1b #define ABS_TOOL_WIDTH 0x1c #define ABS_VOLUME 0x20 +#define ABS_PROFILE 0x21 #define ABS_MISC 0x28 #define ABS_RESERVED 0x2e #define ABS_MT_SLOT 0x2f diff --git a/libc/kernel/uapi/linux/io_uring.h b/libc/kernel/uapi/linux/io_uring.h index 4d52cf006..82dee970d 100644 --- a/libc/kernel/uapi/linux/io_uring.h +++ b/libc/kernel/uapi/linux/io_uring.h @@ -61,6 +61,7 @@ struct io_uring_sqe { __u32 hardlink_flags; __u32 xattr_flags; __u32 msg_ring_flags; + __u32 uring_cmd_flags; }; __u64 user_data; union { @@ -114,6 +115,7 @@ enum { #define IORING_SETUP_SQE128 (1U << 10) #define IORING_SETUP_CQE32 (1U << 11) #define IORING_SETUP_SINGLE_ISSUER (1U << 12) +#define IORING_SETUP_DEFER_TASKRUN (1U << 13) enum io_uring_op { IORING_OP_NOP, IORING_OP_READV, @@ -163,8 +165,10 @@ enum io_uring_op { IORING_OP_SOCKET, IORING_OP_URING_CMD, IORING_OP_SEND_ZC, + IORING_OP_SENDMSG_ZC, IORING_OP_LAST, }; +#define IORING_URING_CMD_FIXED (1U << 0) #define IORING_FSYNC_DATASYNC (1U << 0) #define IORING_TIMEOUT_ABS (1U << 0) #define IORING_TIMEOUT_UPDATE (1U << 1) diff --git a/libc/kernel/uapi/linux/ip.h b/libc/kernel/uapi/linux/ip.h index b6aef50d2..766a8086e 100644 --- a/libc/kernel/uapi/linux/ip.h +++ b/libc/kernel/uapi/linux/ip.h @@ -86,8 +86,9 @@ struct iphdr { __u8 ttl; __u8 protocol; __sum16 check; - __be32 saddr; + __struct_group(, addrs,, __be32 saddr; __be32 daddr; + ); }; struct ip_auth_hdr { __u8 nexthdr; diff --git a/libc/kernel/uapi/linux/ipv6.h b/libc/kernel/uapi/linux/ipv6.h index 757cbda96..2e57ed16a 100644 --- a/libc/kernel/uapi/linux/ipv6.h +++ b/libc/kernel/uapi/linux/ipv6.h @@ -87,8 +87,9 @@ struct ipv6hdr { __be16 payload_len; __u8 nexthdr; __u8 hop_limit; - struct in6_addr saddr; + __struct_group(, addrs,, struct in6_addr saddr; struct in6_addr daddr; + ); }; enum { DEVCONF_FORWARDING = 0, diff --git a/libc/kernel/uapi/linux/kvm.h b/libc/kernel/uapi/linux/kvm.h index affb6a57a..768f57e7a 100644 --- a/libc/kernel/uapi/linux/kvm.h +++ b/libc/kernel/uapi/linux/kvm.h @@ -928,6 +928,7 @@ struct kvm_ppc_resize_hpt { #define KVM_CAP_VM_DISABLE_NX_HUGE_PAGES 220 #define KVM_CAP_S390_ZPCI_OP 221 #define KVM_CAP_S390_CPU_TOPOLOGY 222 +#define KVM_CAP_DIRTY_LOG_RING_ACQ_REL 223 #ifdef KVM_CAP_IRQ_ROUTING struct kvm_irq_routing_irqchip { __u32 irqchip; diff --git a/libc/kernel/uapi/linux/l2tp.h b/libc/kernel/uapi/linux/l2tp.h index a054819f5..dee634e71 100644 --- a/libc/kernel/uapi/linux/l2tp.h +++ b/libc/kernel/uapi/linux/l2tp.h @@ -22,7 +22,6 @@ #include #include #include -#define IPPROTO_L2TP 115 #define __SOCK_SIZE__ 16 struct sockaddr_l2tpip { __kernel_sa_family_t l2tp_family; diff --git a/libc/kernel/uapi/linux/lwtunnel.h b/libc/kernel/uapi/linux/lwtunnel.h index e6fb53610..94011ddc8 100644 --- a/libc/kernel/uapi/linux/lwtunnel.h +++ b/libc/kernel/uapi/linux/lwtunnel.h @@ -30,6 +30,7 @@ enum lwtunnel_encap_types { LWTUNNEL_ENCAP_SEG6_LOCAL, LWTUNNEL_ENCAP_RPL, LWTUNNEL_ENCAP_IOAM6, + LWTUNNEL_ENCAP_XFRM, __LWTUNNEL_ENCAP_MAX, }; #define LWTUNNEL_ENCAP_MAX (__LWTUNNEL_ENCAP_MAX - 1) @@ -107,4 +108,11 @@ enum { }; #define LWT_BPF_MAX (__LWT_BPF_MAX - 1) #define LWT_BPF_MAX_HEADROOM 256 +enum { + LWT_XFRM_UNSPEC, + LWT_XFRM_IF_ID, + LWT_XFRM_LINK, + __LWT_XFRM_MAX, +}; +#define LWT_XFRM_MAX (__LWT_XFRM_MAX - 1) #endif diff --git a/libc/kernel/uapi/linux/netfilter_decnet.h b/libc/kernel/uapi/linux/netfilter_decnet.h deleted file mode 100644 index c9c16ca0b..000000000 --- a/libc/kernel/uapi/linux/netfilter_decnet.h +++ /dev/null @@ -1,57 +0,0 @@ -/**************************************************************************** - **************************************************************************** - *** - *** This header was automatically generated from a Linux kernel header - *** of the same name, to make information necessary for userspace to - *** call into the kernel available to libc. It contains only constants, - *** structures, and macros generated from the original header, and thus, - *** contains no copyrightable information. - *** - *** To edit the content of this header, modify the corresponding - *** source file (e.g. under external/kernel-headers/original/) then - *** run bionic/libc/kernel/tools/update_all.py - *** - *** Any manual change here will be lost the next time this script will - *** be run. You've been warned! - *** - **************************************************************************** - ****************************************************************************/ -#ifndef __LINUX_DECNET_NETFILTER_H -#define __LINUX_DECNET_NETFILTER_H -#include -#include -#define NF_DN_NUMHOOKS 7 -#define NF_DN_PRE_ROUTING 0 -#define NF_DN_LOCAL_IN 1 -#define NF_DN_FORWARD 2 -#define NF_DN_LOCAL_OUT 3 -#define NF_DN_POST_ROUTING 4 -#define NF_DN_HELLO 5 -#define NF_DN_ROUTE 6 -enum nf_dn_hook_priorities { - NF_DN_PRI_FIRST = INT_MIN, - NF_DN_PRI_CONNTRACK = - 200, - NF_DN_PRI_MANGLE = - 150, - NF_DN_PRI_NAT_DST = - 100, - NF_DN_PRI_FILTER = 0, - NF_DN_PRI_NAT_SRC = 100, - NF_DN_PRI_DNRTMSG = 200, - NF_DN_PRI_LAST = INT_MAX, -}; -struct nf_dn_rtmsg { - int nfdn_ifindex; -}; -#define NFDN_RTMSG(r) ((unsigned char *) (r) + NLMSG_ALIGN(sizeof(struct nf_dn_rtmsg))) -#define DNRMG_L1_GROUP 0x01 -#define DNRMG_L2_GROUP 0x02 -enum { - DNRNG_NLGRP_NONE, -#define DNRNG_NLGRP_NONE DNRNG_NLGRP_NONE - DNRNG_NLGRP_L1, -#define DNRNG_NLGRP_L1 DNRNG_NLGRP_L1 - DNRNG_NLGRP_L2, -#define DNRNG_NLGRP_L2 DNRNG_NLGRP_L2 - __DNRNG_NLGRP_MAX -}; -#define DNRNG_NLGRP_MAX (__DNRNG_NLGRP_MAX - 1) -#endif diff --git a/libc/kernel/uapi/linux/netlink.h b/libc/kernel/uapi/linux/netlink.h index bc3e749ca..17d529165 100644 --- a/libc/kernel/uapi/linux/netlink.h +++ b/libc/kernel/uapi/linux/netlink.h @@ -100,6 +100,8 @@ enum nlmsgerr_attrs { NLMSGERR_ATTR_OFFS, NLMSGERR_ATTR_COOKIE, NLMSGERR_ATTR_POLICY, + NLMSGERR_ATTR_MISS_TYPE, + NLMSGERR_ATTR_MISS_NEST, __NLMSGERR_ATTR_MAX, NLMSGERR_ATTR_MAX = __NLMSGERR_ATTR_MAX - 1 }; diff --git a/libc/kernel/uapi/linux/nl80211.h b/libc/kernel/uapi/linux/nl80211.h index c3aefa323..faff80a17 100644 --- a/libc/kernel/uapi/linux/nl80211.h +++ b/libc/kernel/uapi/linux/nl80211.h @@ -1118,6 +1118,7 @@ enum nl80211_bss { NL80211_BSS_CHAIN_SIGNAL, NL80211_BSS_FREQUENCY_OFFSET, NL80211_BSS_MLO_LINK_ID, + NL80211_BSS_MLD_ADDR, __NL80211_BSS_AFTER_LAST, NL80211_BSS_MAX = __NL80211_BSS_AFTER_LAST - 1 }; @@ -1530,6 +1531,7 @@ enum nl80211_ext_feature_index { NL80211_EXT_FEATURE_BSS_COLOR, NL80211_EXT_FEATURE_FILS_CRYPTO_OFFLOAD, NL80211_EXT_FEATURE_RADAR_BACKGROUND, + NL80211_EXT_FEATURE_POWERED_ADDR_CHANGE, NUM_NL80211_EXT_FEATURES, MAX_NL80211_EXT_FEATURES = NUM_NL80211_EXT_FEATURES - 1 }; diff --git a/libc/kernel/uapi/linux/openvswitch.h b/libc/kernel/uapi/linux/openvswitch.h index c7d719c76..c44e9503a 100644 --- a/libc/kernel/uapi/linux/openvswitch.h +++ b/libc/kernel/uapi/linux/openvswitch.h @@ -44,6 +44,7 @@ enum ovs_datapath_attr { OVS_DP_ATTR_PAD, OVS_DP_ATTR_MASKS_CACHE_SIZE, OVS_DP_ATTR_PER_CPU_PIDS, + OVS_DP_ATTR_IFINDEX, __OVS_DP_ATTR_MAX }; #define OVS_DP_ATTR_MAX (__OVS_DP_ATTR_MAX - 1) diff --git a/libc/kernel/uapi/linux/perf_event.h b/libc/kernel/uapi/linux/perf_event.h index 165ff45cf..8f081edcb 100644 --- a/libc/kernel/uapi/linux/perf_event.h +++ b/libc/kernel/uapi/linux/perf_event.h @@ -108,7 +108,6 @@ enum perf_event_sample_format { PERF_SAMPLE_CODE_PAGE_SIZE = 1U << 23, PERF_SAMPLE_WEIGHT_STRUCT = 1U << 24, PERF_SAMPLE_MAX = 1U << 25, - __PERF_SAMPLE_CALLCHAIN_EARLY = 1ULL << 63, }; #define PERF_SAMPLE_WEIGHT_TYPE (PERF_SAMPLE_WEIGHT | PERF_SAMPLE_WEIGHT_STRUCT) enum perf_branch_sample_type_shift { @@ -130,6 +129,7 @@ enum perf_branch_sample_type_shift { PERF_SAMPLE_BRANCH_NO_CYCLES_SHIFT = 15, PERF_SAMPLE_BRANCH_TYPE_SAVE_SHIFT = 16, PERF_SAMPLE_BRANCH_HW_INDEX_SHIFT = 17, + PERF_SAMPLE_BRANCH_PRIV_SAVE_SHIFT = 18, PERF_SAMPLE_BRANCH_MAX_SHIFT }; enum perf_branch_sample_type { @@ -151,6 +151,7 @@ enum perf_branch_sample_type { PERF_SAMPLE_BRANCH_NO_CYCLES = 1U << PERF_SAMPLE_BRANCH_NO_CYCLES_SHIFT, PERF_SAMPLE_BRANCH_TYPE_SAVE = 1U << PERF_SAMPLE_BRANCH_TYPE_SAVE_SHIFT, PERF_SAMPLE_BRANCH_HW_INDEX = 1U << PERF_SAMPLE_BRANCH_HW_INDEX_SHIFT, + PERF_SAMPLE_BRANCH_PRIV_SAVE = 1U << PERF_SAMPLE_BRANCH_PRIV_SAVE_SHIFT, PERF_SAMPLE_BRANCH_MAX = 1U << PERF_SAMPLE_BRANCH_MAX_SHIFT, }; enum { @@ -167,8 +168,40 @@ enum { PERF_BR_COND_RET = 10, PERF_BR_ERET = 11, PERF_BR_IRQ = 12, + PERF_BR_SERROR = 13, + PERF_BR_NO_TX = 14, + PERF_BR_EXTEND_ABI = 15, PERF_BR_MAX, }; +enum { + PERF_BR_SPEC_NA = 0, + PERF_BR_SPEC_WRONG_PATH = 1, + PERF_BR_NON_SPEC_CORRECT_PATH = 2, + PERF_BR_SPEC_CORRECT_PATH = 3, + PERF_BR_SPEC_MAX, +}; +enum { + PERF_BR_NEW_FAULT_ALGN = 0, + PERF_BR_NEW_FAULT_DATA = 1, + PERF_BR_NEW_FAULT_INST = 2, + PERF_BR_NEW_ARCH_1 = 3, + PERF_BR_NEW_ARCH_2 = 4, + PERF_BR_NEW_ARCH_3 = 5, + PERF_BR_NEW_ARCH_4 = 6, + PERF_BR_NEW_ARCH_5 = 7, + PERF_BR_NEW_MAX, +}; +enum { + PERF_BR_PRIV_UNKNOWN = 0, + PERF_BR_PRIV_USER = 1, + PERF_BR_PRIV_KERNEL = 2, + PERF_BR_PRIV_HV = 3, +}; +#define PERF_BR_ARM64_FIQ PERF_BR_NEW_ARCH_1 +#define PERF_BR_ARM64_DEBUG_HALT PERF_BR_NEW_ARCH_2 +#define PERF_BR_ARM64_DEBUG_EXIT PERF_BR_NEW_ARCH_3 +#define PERF_BR_ARM64_DEBUG_INST PERF_BR_NEW_ARCH_4 +#define PERF_BR_ARM64_DEBUG_DATA PERF_BR_NEW_ARCH_5 #define PERF_SAMPLE_BRANCH_PLM_ALL (PERF_SAMPLE_BRANCH_USER | PERF_SAMPLE_BRANCH_KERNEL | PERF_SAMPLE_BRANCH_HV) enum perf_sample_regs_abi { PERF_SAMPLE_REGS_ABI_NONE = 0, @@ -435,6 +468,8 @@ union perf_mem_data_src { #define PERF_MEM_LVLNUM_L2 0x02 #define PERF_MEM_LVLNUM_L3 0x03 #define PERF_MEM_LVLNUM_L4 0x04 +#define PERF_MEM_LVLNUM_CXL 0x09 +#define PERF_MEM_LVLNUM_IO 0x0a #define PERF_MEM_LVLNUM_ANY_CACHE 0x0b #define PERF_MEM_LVLNUM_LFB 0x0c #define PERF_MEM_LVLNUM_RAM 0x0d @@ -448,6 +483,7 @@ union perf_mem_data_src { #define PERF_MEM_SNOOP_HITM 0x10 #define PERF_MEM_SNOOP_SHIFT 19 #define PERF_MEM_SNOOPX_FWD 0x01 +#define PERF_MEM_SNOOPX_PEER 0x02 #define PERF_MEM_SNOOPX_SHIFT 38 #define PERF_MEM_LOCK_NA 0x01 #define PERF_MEM_LOCK_LOCKED 0x02 @@ -473,7 +509,7 @@ union perf_mem_data_src { struct perf_branch_entry { __u64 from; __u64 to; - __u64 mispred : 1, predicted : 1, in_tx : 1, abort : 1, cycles : 16, type : 4, reserved : 40; + __u64 mispred : 1, predicted : 1, in_tx : 1, abort : 1, cycles : 16, type : 4, spec : 2, new_type : 4, priv : 3, reserved : 31; }; union perf_sample_weight { __u64 full; diff --git a/libc/kernel/uapi/linux/pkt_cls.h b/libc/kernel/uapi/linux/pkt_cls.h index 580e83eee..876cb73bf 100644 --- a/libc/kernel/uapi/linux/pkt_cls.h +++ b/libc/kernel/uapi/linux/pkt_cls.h @@ -462,6 +462,7 @@ enum { TCA_FLOWER_KEY_NUM_OF_VLANS, TCA_FLOWER_KEY_PPPOE_SID, TCA_FLOWER_KEY_PPP_PROTO, + TCA_FLOWER_KEY_L2TPV3_SID, __TCA_FLOWER_MAX, }; #define TCA_FLOWER_MAX (__TCA_FLOWER_MAX - 1) diff --git a/libc/kernel/uapi/linux/pkt_sched.h b/libc/kernel/uapi/linux/pkt_sched.h index e298b74ab..c31b8bb76 100644 --- a/libc/kernel/uapi/linux/pkt_sched.h +++ b/libc/kernel/uapi/linux/pkt_sched.h @@ -923,6 +923,13 @@ enum { #define TCA_TAPRIO_SCHED_MAX (__TCA_TAPRIO_SCHED_MAX - 1) #define TCA_TAPRIO_ATTR_FLAG_TXTIME_ASSIST _BITUL(0) #define TCA_TAPRIO_ATTR_FLAG_FULL_OFFLOAD _BITUL(1) +enum { + TCA_TAPRIO_TC_ENTRY_UNSPEC, + TCA_TAPRIO_TC_ENTRY_INDEX, + TCA_TAPRIO_TC_ENTRY_MAX_SDU, + __TCA_TAPRIO_TC_ENTRY_CNT, + TCA_TAPRIO_TC_ENTRY_MAX = (__TCA_TAPRIO_TC_ENTRY_CNT - 1) +}; enum { TCA_TAPRIO_ATTR_UNSPEC, TCA_TAPRIO_ATTR_PRIOMAP, @@ -936,6 +943,7 @@ enum { TCA_TAPRIO_ATTR_SCHED_CYCLE_TIME_EXTENSION, TCA_TAPRIO_ATTR_FLAGS, TCA_TAPRIO_ATTR_TXTIME_DELAY, + TCA_TAPRIO_ATTR_TC_ENTRY, __TCA_TAPRIO_ATTR_MAX, }; #define TCA_TAPRIO_ATTR_MAX (__TCA_TAPRIO_ATTR_MAX - 1) diff --git a/libc/kernel/uapi/linux/psci.h b/libc/kernel/uapi/linux/psci.h index 31e746562..4dead17ff 100644 --- a/libc/kernel/uapi/linux/psci.h +++ b/libc/kernel/uapi/linux/psci.h @@ -39,11 +39,23 @@ #define PSCI_0_2_FN64_MIGRATE PSCI_0_2_FN64(5) #define PSCI_0_2_FN64_MIGRATE_INFO_UP_CPU PSCI_0_2_FN64(7) #define PSCI_1_0_FN_PSCI_FEATURES PSCI_0_2_FN(10) +#define PSCI_1_0_FN_CPU_FREEZE PSCI_0_2_FN(11) +#define PSCI_1_0_FN_CPU_DEFAULT_SUSPEND PSCI_0_2_FN(12) +#define PSCI_1_0_FN_NODE_HW_STATE PSCI_0_2_FN(13) #define PSCI_1_0_FN_SYSTEM_SUSPEND PSCI_0_2_FN(14) #define PSCI_1_0_FN_SET_SUSPEND_MODE PSCI_0_2_FN(15) +#define PSCI_1_0_FN_STAT_RESIDENCY PSCI_0_2_FN(16) +#define PSCI_1_0_FN_STAT_COUNT PSCI_0_2_FN(17) #define PSCI_1_1_FN_SYSTEM_RESET2 PSCI_0_2_FN(18) +#define PSCI_1_1_FN_MEM_PROTECT PSCI_0_2_FN(19) +#define PSCI_1_1_FN_MEM_PROTECT_CHECK_RANGE PSCI_0_2_FN(19) +#define PSCI_1_0_FN64_CPU_DEFAULT_SUSPEND PSCI_0_2_FN64(12) +#define PSCI_1_0_FN64_NODE_HW_STATE PSCI_0_2_FN64(13) #define PSCI_1_0_FN64_SYSTEM_SUSPEND PSCI_0_2_FN64(14) +#define PSCI_1_0_FN64_STAT_RESIDENCY PSCI_0_2_FN64(16) +#define PSCI_1_0_FN64_STAT_COUNT PSCI_0_2_FN64(17) #define PSCI_1_1_FN64_SYSTEM_RESET2 PSCI_0_2_FN64(18) +#define PSCI_1_1_FN64_MEM_PROTECT_CHECK_RANGE PSCI_0_2_FN64(19) #define PSCI_0_2_POWER_STATE_ID_MASK 0xffff #define PSCI_0_2_POWER_STATE_ID_SHIFT 0 #define PSCI_0_2_POWER_STATE_TYPE_SHIFT 16 diff --git a/libc/kernel/uapi/linux/rkisp1-config.h b/libc/kernel/uapi/linux/rkisp1-config.h index cea14cd2b..7175c23fc 100644 --- a/libc/kernel/uapi/linux/rkisp1-config.h +++ b/libc/kernel/uapi/linux/rkisp1-config.h @@ -67,6 +67,37 @@ #define RKISP1_CIF_ISP_HISTOGRAM_WEIGHT_GRIDS_SIZE_V12 81 #define RKISP1_CIF_ISP_HISTOGRAM_WEIGHT_GRIDS_SIZE RKISP1_CIF_ISP_HISTOGRAM_WEIGHT_GRIDS_SIZE_V12 #define RKISP1_CIF_ISP_DPCC_METHODS_MAX 3 +#define RKISP1_CIF_ISP_DPCC_MODE_STAGE1_ENABLE (1U << 2) +#define RKISP1_CIF_ISP_DPCC_OUTPUT_MODE_STAGE1_INCL_G_CENTER (1U << 0) +#define RKISP1_CIF_ISP_DPCC_OUTPUT_MODE_STAGE1_INCL_RB_CENTER (1U << 1) +#define RKISP1_CIF_ISP_DPCC_OUTPUT_MODE_STAGE1_G_3X3 (1U << 2) +#define RKISP1_CIF_ISP_DPCC_OUTPUT_MODE_STAGE1_RB_3X3 (1U << 3) +#define RKISP1_CIF_ISP_DPCC_SET_USE_STAGE1_USE_SET(n) ((n) << 0) +#define RKISP1_CIF_ISP_DPCC_SET_USE_STAGE1_USE_FIX_SET (1U << 3) +#define RKISP1_CIF_ISP_DPCC_METHODS_SET_PG_GREEN_ENABLE (1U << 0) +#define RKISP1_CIF_ISP_DPCC_METHODS_SET_LC_GREEN_ENABLE (1U << 1) +#define RKISP1_CIF_ISP_DPCC_METHODS_SET_RO_GREEN_ENABLE (1U << 2) +#define RKISP1_CIF_ISP_DPCC_METHODS_SET_RND_GREEN_ENABLE (1U << 3) +#define RKISP1_CIF_ISP_DPCC_METHODS_SET_RG_GREEN_ENABLE (1U << 4) +#define RKISP1_CIF_ISP_DPCC_METHODS_SET_PG_RED_BLUE_ENABLE (1U << 8) +#define RKISP1_CIF_ISP_DPCC_METHODS_SET_LC_RED_BLUE_ENABLE (1U << 9) +#define RKISP1_CIF_ISP_DPCC_METHODS_SET_RO_RED_BLUE_ENABLE (1U << 10) +#define RKISP1_CIF_ISP_DPCC_METHODS_SET_RND_RED_BLUE_ENABLE (1U << 11) +#define RKISP1_CIF_ISP_DPCC_METHODS_SET_RG_RED_BLUE_ENABLE (1U << 12) +#define RKISP1_CIF_ISP_DPCC_LINE_THRESH_G(v) ((v) << 0) +#define RKISP1_CIF_ISP_DPCC_LINE_THRESH_RB(v) ((v) << 8) +#define RKISP1_CIF_ISP_DPCC_LINE_MAD_FAC_G(v) ((v) << 0) +#define RKISP1_CIF_ISP_DPCC_LINE_MAD_FAC_RB(v) ((v) << 8) +#define RKISP1_CIF_ISP_DPCC_PG_FAC_G(v) ((v) << 0) +#define RKISP1_CIF_ISP_DPCC_PG_FAC_RB(v) ((v) << 8) +#define RKISP1_CIF_ISP_DPCC_RND_THRESH_G(v) ((v) << 0) +#define RKISP1_CIF_ISP_DPCC_RND_THRESH_RB(v) ((v) << 8) +#define RKISP1_CIF_ISP_DPCC_RG_FAC_G(v) ((v) << 0) +#define RKISP1_CIF_ISP_DPCC_RG_FAC_RB(v) ((v) << 8) +#define RKISP1_CIF_ISP_DPCC_RO_LIMITS_n_G(n,v) ((v) << ((n) * 4)) +#define RKISP1_CIF_ISP_DPCC_RO_LIMITS_n_RB(n,v) ((v) << ((n) * 4 + 2)) +#define RKISP1_CIF_ISP_DPCC_RND_OFFS_n_G(n,v) ((v) << ((n) * 4)) +#define RKISP1_CIF_ISP_DPCC_RND_OFFS_n_RB(n,v) ((v) << ((n) * 4 + 2)) #define RKISP1_CIF_ISP_DPF_MAX_NLF_COEFFS 17 #define RKISP1_CIF_ISP_DPF_MAX_SPATIAL_COEFFS 6 #define RKISP1_CIF_ISP_STAT_AWB (1U << 0) diff --git a/libc/kernel/uapi/linux/sed-opal.h b/libc/kernel/uapi/linux/sed-opal.h index a20197ac9..f7ac9bd0b 100644 --- a/libc/kernel/uapi/linux/sed-opal.h +++ b/libc/kernel/uapi/linux/sed-opal.h @@ -112,6 +112,16 @@ struct opal_read_write_table { __u64 flags; __u64 priv; }; +#define OPAL_FL_SUPPORTED 0x00000001 +#define OPAL_FL_LOCKING_SUPPORTED 0x00000002 +#define OPAL_FL_LOCKING_ENABLED 0x00000004 +#define OPAL_FL_LOCKED 0x00000008 +#define OPAL_FL_MBR_ENABLED 0x00000010 +#define OPAL_FL_MBR_DONE 0x00000020 +struct opal_status { + __u32 flags; + __u32 reserved; +}; #define IOC_OPAL_SAVE _IOW('p', 220, struct opal_lock_unlock) #define IOC_OPAL_LOCK_UNLOCK _IOW('p', 221, struct opal_lock_unlock) #define IOC_OPAL_TAKE_OWNERSHIP _IOW('p', 222, struct opal_key) @@ -128,4 +138,5 @@ struct opal_read_write_table { #define IOC_OPAL_MBR_DONE _IOW('p', 233, struct opal_mbr_done) #define IOC_OPAL_WRITE_SHADOW_MBR _IOW('p', 234, struct opal_shadow_mbr) #define IOC_OPAL_GENERIC_TABLE_RW _IOW('p', 235, struct opal_read_write_table) +#define IOC_OPAL_GET_STATUS _IOR('p', 236, struct opal_status) #endif diff --git a/libc/kernel/uapi/linux/seg6_local.h b/libc/kernel/uapi/linux/seg6_local.h index 61a8d97ab..4d062e82c 100644 --- a/libc/kernel/uapi/linux/seg6_local.h +++ b/libc/kernel/uapi/linux/seg6_local.h @@ -31,6 +31,7 @@ enum { SEG6_LOCAL_BPF, SEG6_LOCAL_VRFTABLE, SEG6_LOCAL_COUNTERS, + SEG6_LOCAL_FLAVORS, __SEG6_LOCAL_MAX, }; #define SEG6_LOCAL_MAX (__SEG6_LOCAL_MAX - 1) @@ -71,4 +72,21 @@ enum { __SEG6_LOCAL_CNT_MAX, }; #define SEG6_LOCAL_CNT_MAX (__SEG6_LOCAL_CNT_MAX - 1) +enum { + SEG6_LOCAL_FLV_UNSPEC, + SEG6_LOCAL_FLV_OPERATION, + SEG6_LOCAL_FLV_LCBLOCK_BITS, + SEG6_LOCAL_FLV_LCNODE_FN_BITS, + __SEG6_LOCAL_FLV_MAX, +}; +#define SEG6_LOCAL_FLV_MAX (__SEG6_LOCAL_FLV_MAX - 1) +enum { + SEG6_LOCAL_FLV_OP_UNSPEC, + SEG6_LOCAL_FLV_OP_PSP, + SEG6_LOCAL_FLV_OP_USP, + SEG6_LOCAL_FLV_OP_USD, + SEG6_LOCAL_FLV_OP_NEXT_CSID, + __SEG6_LOCAL_FLV_OP_MAX +}; +#define SEG6_LOCAL_FLV_OP_MAX (__SEG6_LOCAL_FLV_OP_MAX - 1) #endif diff --git a/libc/kernel/uapi/linux/stat.h b/libc/kernel/uapi/linux/stat.h index a15b9b578..89304ce6c 100644 --- a/libc/kernel/uapi/linux/stat.h +++ b/libc/kernel/uapi/linux/stat.h @@ -78,7 +78,8 @@ struct statx { __u32 stx_dev_major; __u32 stx_dev_minor; __u64 stx_mnt_id; - __u64 __spare2; + __u32 stx_dio_mem_align; + __u32 stx_dio_offset_align; __u64 __spare3[12]; }; #define STATX_TYPE 0x00000001U @@ -95,6 +96,7 @@ struct statx { #define STATX_BASIC_STATS 0x000007ffU #define STATX_BTIME 0x00000800U #define STATX_MNT_ID 0x00001000U +#define STATX_DIOALIGN 0x00002000U #define STATX__RESERVED 0x80000000U #define STATX_ALL 0x00000fffU #define STATX_ATTR_COMPRESSED 0x00000004 diff --git a/libc/kernel/uapi/linux/tls.h b/libc/kernel/uapi/linux/tls.h index d327d66a6..fcab74b3a 100644 --- a/libc/kernel/uapi/linux/tls.h +++ b/libc/kernel/uapi/linux/tls.h @@ -68,6 +68,18 @@ #define TLS_CIPHER_SM4_CCM_SALT_SIZE 4 #define TLS_CIPHER_SM4_CCM_TAG_SIZE 16 #define TLS_CIPHER_SM4_CCM_REC_SEQ_SIZE 8 +#define TLS_CIPHER_ARIA_GCM_128 57 +#define TLS_CIPHER_ARIA_GCM_128_IV_SIZE 8 +#define TLS_CIPHER_ARIA_GCM_128_KEY_SIZE 16 +#define TLS_CIPHER_ARIA_GCM_128_SALT_SIZE 4 +#define TLS_CIPHER_ARIA_GCM_128_TAG_SIZE 16 +#define TLS_CIPHER_ARIA_GCM_128_REC_SEQ_SIZE 8 +#define TLS_CIPHER_ARIA_GCM_256 58 +#define TLS_CIPHER_ARIA_GCM_256_IV_SIZE 8 +#define TLS_CIPHER_ARIA_GCM_256_KEY_SIZE 32 +#define TLS_CIPHER_ARIA_GCM_256_SALT_SIZE 4 +#define TLS_CIPHER_ARIA_GCM_256_TAG_SIZE 16 +#define TLS_CIPHER_ARIA_GCM_256_REC_SEQ_SIZE 8 #define TLS_SET_RECORD_TYPE 1 #define TLS_GET_RECORD_TYPE 2 struct tls_crypto_info { @@ -116,6 +128,20 @@ struct tls12_crypto_info_sm4_ccm { unsigned char salt[TLS_CIPHER_SM4_CCM_SALT_SIZE]; unsigned char rec_seq[TLS_CIPHER_SM4_CCM_REC_SEQ_SIZE]; }; +struct tls12_crypto_info_aria_gcm_128 { + struct tls_crypto_info info; + unsigned char iv[TLS_CIPHER_ARIA_GCM_128_IV_SIZE]; + unsigned char key[TLS_CIPHER_ARIA_GCM_128_KEY_SIZE]; + unsigned char salt[TLS_CIPHER_ARIA_GCM_128_SALT_SIZE]; + unsigned char rec_seq[TLS_CIPHER_ARIA_GCM_128_REC_SEQ_SIZE]; +}; +struct tls12_crypto_info_aria_gcm_256 { + struct tls_crypto_info info; + unsigned char iv[TLS_CIPHER_ARIA_GCM_256_IV_SIZE]; + unsigned char key[TLS_CIPHER_ARIA_GCM_256_KEY_SIZE]; + unsigned char salt[TLS_CIPHER_ARIA_GCM_256_SALT_SIZE]; + unsigned char rec_seq[TLS_CIPHER_ARIA_GCM_256_REC_SEQ_SIZE]; +}; enum { TLS_INFO_UNSPEC, TLS_INFO_VERSION, diff --git a/libc/kernel/uapi/linux/ublk_cmd.h b/libc/kernel/uapi/linux/ublk_cmd.h index caf7f93ce..8c9cbebda 100644 --- a/libc/kernel/uapi/linux/ublk_cmd.h +++ b/libc/kernel/uapi/linux/ublk_cmd.h @@ -27,6 +27,8 @@ #define UBLK_CMD_STOP_DEV 0x07 #define UBLK_CMD_SET_PARAMS 0x08 #define UBLK_CMD_GET_PARAMS 0x09 +#define UBLK_CMD_START_USER_RECOVERY 0x10 +#define UBLK_CMD_END_USER_RECOVERY 0x11 #define UBLK_IO_FETCH_REQ 0x20 #define UBLK_IO_COMMIT_AND_FETCH_REQ 0x21 #define UBLK_IO_NEED_GET_DATA 0x22 @@ -39,8 +41,11 @@ #define UBLK_F_SUPPORT_ZERO_COPY (1ULL << 0) #define UBLK_F_URING_CMD_COMP_IN_TASK (1ULL << 1) #define UBLK_F_NEED_GET_DATA (1UL << 2) +#define UBLK_F_USER_RECOVERY (1UL << 3) +#define UBLK_F_USER_RECOVERY_REISSUE (1UL << 4) #define UBLK_S_DEV_DEAD 0 #define UBLK_S_DEV_LIVE 1 +#define UBLK_S_DEV_QUIESCED 2 struct ublksrv_ctrl_cmd { __u32 dev_id; __u16 queue_id; diff --git a/libc/kernel/uapi/linux/usbip.h b/libc/kernel/uapi/linux/usbip.h index ae18347e3..b0c10676f 100644 --- a/libc/kernel/uapi/linux/usbip.h +++ b/libc/kernel/uapi/linux/usbip.h @@ -27,4 +27,21 @@ enum usbip_device_status { VDEV_ST_USED, VDEV_ST_ERROR }; +#define USBIP_URB_SHORT_NOT_OK 0x0001 +#define USBIP_URB_ISO_ASAP 0x0002 +#define USBIP_URB_NO_TRANSFER_DMA_MAP 0x0004 +#define USBIP_URB_ZERO_PACKET 0x0040 +#define USBIP_URB_NO_INTERRUPT 0x0080 +#define USBIP_URB_FREE_BUFFER 0x0100 +#define USBIP_URB_DIR_IN 0x0200 +#define USBIP_URB_DIR_OUT 0 +#define USBIP_URB_DIR_MASK USBIP_URB_DIR_IN +#define USBIP_URB_DMA_MAP_SINGLE 0x00010000 +#define USBIP_URB_DMA_MAP_PAGE 0x00020000 +#define USBIP_URB_DMA_MAP_SG 0x00040000 +#define USBIP_URB_MAP_LOCAL 0x00080000 +#define USBIP_URB_SETUP_MAP_SINGLE 0x00100000 +#define USBIP_URB_SETUP_MAP_LOCAL 0x00200000 +#define USBIP_URB_DMA_SG_COMBINED 0x00400000 +#define USBIP_URB_ALIGNED_TEMP_BUFFER 0x00800000 #endif diff --git a/libc/kernel/uapi/linux/userfaultfd.h b/libc/kernel/uapi/linux/userfaultfd.h index 46d747293..ad58fc0f0 100644 --- a/libc/kernel/uapi/linux/userfaultfd.h +++ b/libc/kernel/uapi/linux/userfaultfd.h @@ -19,6 +19,8 @@ #ifndef _LINUX_USERFAULTFD_H #define _LINUX_USERFAULTFD_H #include +#define USERFAULTFD_IOC 0xAA +#define USERFAULTFD_IOC_NEW _IO(USERFAULTFD_IOC, 0x00) #define UFFD_API ((__u64) 0xAA) #define UFFD_API_REGISTER_MODES (UFFDIO_REGISTER_MODE_MISSING | UFFDIO_REGISTER_MODE_WP | UFFDIO_REGISTER_MODE_MINOR) #define UFFD_API_FEATURES (UFFD_FEATURE_PAGEFAULT_FLAG_WP | UFFD_FEATURE_EVENT_FORK | UFFD_FEATURE_EVENT_REMAP | UFFD_FEATURE_EVENT_REMOVE | UFFD_FEATURE_EVENT_UNMAP | UFFD_FEATURE_MISSING_HUGETLBFS | UFFD_FEATURE_MISSING_SHMEM | UFFD_FEATURE_SIGBUS | UFFD_FEATURE_THREAD_ID | UFFD_FEATURE_MINOR_HUGETLBFS | UFFD_FEATURE_MINOR_SHMEM | UFFD_FEATURE_EXACT_ADDRESS | UFFD_FEATURE_WP_HUGETLBFS_SHMEM) diff --git a/libc/kernel/uapi/linux/v4l2-controls.h b/libc/kernel/uapi/linux/v4l2-controls.h index 9de38d14c..276ecaa3d 100644 --- a/libc/kernel/uapi/linux/v4l2-controls.h +++ b/libc/kernel/uapi/linux/v4l2-controls.h @@ -120,6 +120,7 @@ enum v4l2_colorfx { #define V4L2_CID_USER_CCS_BASE (V4L2_CID_USER_BASE + 0x10f0) #define V4L2_CID_USER_ALLEGRO_BASE (V4L2_CID_USER_BASE + 0x1170) #define V4L2_CID_USER_ISL7998X_BASE (V4L2_CID_USER_BASE + 0x1180) +#define V4L2_CID_USER_DW100_BASE (V4L2_CID_USER_BASE + 0x1190) #define V4L2_CID_CODEC_BASE (V4L2_CTRL_CLASS_CODEC | 0x900) #define V4L2_CID_CODEC_CLASS (V4L2_CTRL_CLASS_CODEC | 1) #define V4L2_CID_MPEG_STREAM_TYPE (V4L2_CID_CODEC_BASE + 0) diff --git a/libc/kernel/uapi/linux/vdpa.h b/libc/kernel/uapi/linux/vdpa.h index 8b3be00b0..ed61cdd40 100644 --- a/libc/kernel/uapi/linux/vdpa.h +++ b/libc/kernel/uapi/linux/vdpa.h @@ -52,6 +52,8 @@ enum vdpa_attr { VDPA_ATTR_DEV_QUEUE_INDEX, VDPA_ATTR_DEV_VENDOR_ATTR_NAME, VDPA_ATTR_DEV_VENDOR_ATTR_VALUE, + VDPA_ATTR_DEV_FEATURES, + VDPA_ATTR_VDPA_DEV_SUPPORTED_FEATURES, VDPA_ATTR_MAX, }; #endif diff --git a/libc/kernel/uapi/linux/version.h b/libc/kernel/uapi/linux/version.h index c19434593..ab95caf57 100644 --- a/libc/kernel/uapi/linux/version.h +++ b/libc/kernel/uapi/linux/version.h @@ -16,8 +16,8 @@ *** **************************************************************************** ****************************************************************************/ -#define LINUX_VERSION_CODE 393216 +#define LINUX_VERSION_CODE 393472 #define KERNEL_VERSION(a,b,c) (((a) << 16) + ((b) << 8) + ((c) > 255 ? 255 : (c))) #define LINUX_VERSION_MAJOR 6 -#define LINUX_VERSION_PATCHLEVEL 0 +#define LINUX_VERSION_PATCHLEVEL 1 #define LINUX_VERSION_SUBLEVEL 0 diff --git a/libc/kernel/uapi/linux/vfio.h b/libc/kernel/uapi/linux/vfio.h index 807540841..dffa13686 100644 --- a/libc/kernel/uapi/linux/vfio.h +++ b/libc/kernel/uapi/linux/vfio.h @@ -304,6 +304,32 @@ enum vfio_device_mig_state { VFIO_DEVICE_STATE_RESUMING = 4, VFIO_DEVICE_STATE_RUNNING_P2P = 5, }; +#define VFIO_DEVICE_FEATURE_LOW_POWER_ENTRY 3 +struct vfio_device_low_power_entry_with_wakeup { + __s32 wakeup_eventfd; + __u32 reserved; +}; +#define VFIO_DEVICE_FEATURE_LOW_POWER_ENTRY_WITH_WAKEUP 4 +#define VFIO_DEVICE_FEATURE_LOW_POWER_EXIT 5 +struct vfio_device_feature_dma_logging_control { + __aligned_u64 page_size; + __u32 num_ranges; + __u32 __reserved; + __aligned_u64 ranges; +}; +struct vfio_device_feature_dma_logging_range { + __aligned_u64 iova; + __aligned_u64 length; +}; +#define VFIO_DEVICE_FEATURE_DMA_LOGGING_START 6 +#define VFIO_DEVICE_FEATURE_DMA_LOGGING_STOP 7 +struct vfio_device_feature_dma_logging_report { + __aligned_u64 iova; + __aligned_u64 length; + __aligned_u64 page_size; + __aligned_u64 bitmap; +}; +#define VFIO_DEVICE_FEATURE_DMA_LOGGING_REPORT 8 struct vfio_iommu_type1_info { __u32 argsz; __u32 flags; diff --git a/libc/kernel/uapi/linux/videodev2.h b/libc/kernel/uapi/linux/videodev2.h index 9fc33a4ff..3d8dd7235 100644 --- a/libc/kernel/uapi/linux/videodev2.h +++ b/libc/kernel/uapi/linux/videodev2.h @@ -185,7 +185,6 @@ struct v4l2_capability { #define V4L2_CAP_SDR_OUTPUT 0x00400000 #define V4L2_CAP_META_CAPTURE 0x00800000 #define V4L2_CAP_READWRITE 0x01000000 -#define V4L2_CAP_ASYNCIO 0x02000000 #define V4L2_CAP_STREAMING 0x04000000 #define V4L2_CAP_META_OUTPUT 0x08000000 #define V4L2_CAP_TOUCH 0x10000000 @@ -792,7 +791,7 @@ struct v4l2_bt_timings { #define V4L2_DV_FL_CAN_DETECT_REDUCED_FPS (1 << 9) #define V4L2_DV_BT_BLANKING_WIDTH(bt) ((bt)->hfrontporch + (bt)->hsync + (bt)->hbackporch) #define V4L2_DV_BT_FRAME_WIDTH(bt) ((bt)->width + V4L2_DV_BT_BLANKING_WIDTH(bt)) -#define V4L2_DV_BT_BLANKING_HEIGHT(bt) ((bt)->vfrontporch + (bt)->vsync + (bt)->vbackporch + (bt)->il_vfrontporch + (bt)->il_vsync + (bt)->il_vbackporch) +#define V4L2_DV_BT_BLANKING_HEIGHT(bt) ((bt)->vfrontporch + (bt)->vsync + (bt)->vbackporch + ((bt)->interlaced ? ((bt)->il_vfrontporch + (bt)->il_vsync + (bt)->il_vbackporch) : 0)) #define V4L2_DV_BT_FRAME_HEIGHT(bt) ((bt)->height + V4L2_DV_BT_BLANKING_HEIGHT(bt)) struct v4l2_dv_timings { __u32 type; @@ -1324,6 +1323,7 @@ struct v4l2_event_vsync { #define V4L2_EVENT_CTRL_CH_VALUE (1 << 0) #define V4L2_EVENT_CTRL_CH_FLAGS (1 << 1) #define V4L2_EVENT_CTRL_CH_RANGE (1 << 2) +#define V4L2_EVENT_CTRL_CH_DIMENSIONS (1 << 3) struct v4l2_event_ctrl { __u32 changes; __u32 type; @@ -1495,4 +1495,5 @@ struct v4l2_create_buffers { #define BASE_VIDIOC_PRIVATE 192 #define V4L2_PIX_FMT_HM12 V4L2_PIX_FMT_NV12_16L16 #define V4L2_PIX_FMT_SUNXI_TILED_NV12 V4L2_PIX_FMT_NV12_32L32 +#define V4L2_CAP_ASYNCIO 0x02000000 #endif diff --git a/libc/kernel/uapi/linux/virtio_blk.h b/libc/kernel/uapi/linux/virtio_blk.h index f2f0381a5..0dd08c5a0 100644 --- a/libc/kernel/uapi/linux/virtio_blk.h +++ b/libc/kernel/uapi/linux/virtio_blk.h @@ -31,6 +31,7 @@ #define VIRTIO_BLK_F_MQ 12 #define VIRTIO_BLK_F_DISCARD 13 #define VIRTIO_BLK_F_WRITE_ZEROES 14 +#define VIRTIO_BLK_F_SECURE_ERASE 16 #ifndef VIRTIO_BLK_NO_LEGACY #define VIRTIO_BLK_F_BARRIER 0 #define VIRTIO_BLK_F_SCSI 7 @@ -63,6 +64,9 @@ struct virtio_blk_config { __virtio32 max_write_zeroes_seg; __u8 write_zeroes_may_unmap; __u8 unused1[3]; + __virtio32 max_secure_erase_sectors; + __virtio32 max_secure_erase_seg; + __virtio32 secure_erase_sector_alignment; } __attribute__((packed)); #define VIRTIO_BLK_T_IN 0 #define VIRTIO_BLK_T_OUT 1 @@ -73,6 +77,7 @@ struct virtio_blk_config { #define VIRTIO_BLK_T_GET_ID 8 #define VIRTIO_BLK_T_DISCARD 11 #define VIRTIO_BLK_T_WRITE_ZEROES 13 +#define VIRTIO_BLK_T_SECURE_ERASE 14 #ifndef VIRTIO_BLK_NO_LEGACY #define VIRTIO_BLK_T_BARRIER 0x80000000 #endif diff --git a/libc/kernel/uapi/misc/habanalabs.h b/libc/kernel/uapi/misc/habanalabs.h index 67036765c..b6140bcf0 100644 --- a/libc/kernel/uapi/misc/habanalabs.h +++ b/libc/kernel/uapi/misc/habanalabs.h @@ -617,6 +617,13 @@ enum hl_server_type { HL_SERVER_GAUDI_TYPE2 = 4, HL_SERVER_GAUDI2_HLS2 = 5 }; +#define HL_NOTIFIER_EVENT_TPC_ASSERT (1ULL << 0) +#define HL_NOTIFIER_EVENT_UNDEFINED_OPCODE (1ULL << 1) +#define HL_NOTIFIER_EVENT_DEVICE_RESET (1ULL << 2) +#define HL_NOTIFIER_EVENT_CS_TIMEOUT (1ULL << 3) +#define HL_NOTIFIER_EVENT_DEVICE_UNAVAILABLE (1ULL << 4) +#define HL_NOTIFIER_EVENT_USER_ENGINE_ERR (1ULL << 5) +#define HL_NOTIFIER_EVENT_GENERAL_HW_ERR (1ULL << 6) #define HL_INFO_HW_IP_INFO 0 #define HL_INFO_HW_EVENTS 1 #define HL_INFO_DRAM_USAGE 2 @@ -641,12 +648,15 @@ enum hl_server_type { #define HL_INFO_CS_TIMEOUT_EVENT 24 #define HL_INFO_RAZWI_EVENT 25 #define HL_INFO_DEV_MEM_ALLOC_PAGE_SIZES 26 +#define HL_INFO_SECURED_ATTESTATION 27 #define HL_INFO_REGISTER_EVENTFD 28 #define HL_INFO_UNREGISTER_EVENTFD 29 #define HL_INFO_GET_EVENTS 30 #define HL_INFO_UNDEFINED_OPCODE_EVENT 31 +#define HL_INFO_ENGINE_STATUS 32 #define HL_INFO_VERSION_MAX_LEN 128 #define HL_INFO_CARD_NAME_MAX_LEN 16 +#define HL_ENGINES_DATA_MAX_SIZE SZ_1M struct hl_info_hw_ip_info { __u64 sram_base_address; __u64 dram_base_address; @@ -665,7 +675,7 @@ struct hl_info_hw_ip_info { __u32 psoc_pci_pll_div_factor; __u8 tpc_enabled_mask; __u8 dram_enabled; - __u8 reserved; + __u8 security_enabled; __u8 mme_master_slave_mode; __u8 cpucp_version[HL_INFO_VERSION_MAX_LEN]; __u8 card_name[HL_INFO_CARD_NAME_MAX_LEN]; @@ -794,6 +804,26 @@ struct hl_info_undefined_opcode_event { struct hl_info_dev_memalloc_page_sizes { __u64 page_order_bitmask; }; +#define SEC_PCR_DATA_BUF_SZ 256 +#define SEC_PCR_QUOTE_BUF_SZ 510 +#define SEC_SIGNATURE_BUF_SZ 255 +#define SEC_PUB_DATA_BUF_SZ 510 +#define SEC_CERTIFICATE_BUF_SZ 2046 +struct hl_info_sec_attest { + __u32 nonce; + __u16 pcr_quote_len; + __u16 pub_data_len; + __u16 certificate_len; + __u8 pcr_num_reg; + __u8 pcr_reg_len; + __u8 quote_sig_len; + __u8 pcr_data[SEC_PCR_DATA_BUF_SZ]; + __u8 pcr_quote[SEC_PCR_QUOTE_BUF_SZ]; + __u8 quote_sig[SEC_SIGNATURE_BUF_SZ]; + __u8 public_data[SEC_PUB_DATA_BUF_SZ]; + __u8 certificate[SEC_CERTIFICATE_BUF_SZ]; + __u8 pad0[2]; +}; enum gaudi_dcores { HL_GAUDI_WS_DCORE, HL_GAUDI_WN_DCORE, @@ -810,6 +840,8 @@ struct hl_info_args { __u32 period_ms; __u32 pll_index; __u32 eventfd; + __u32 user_buffer_actual_size; + __u32 sec_attest_nonce; }; __u32 pad; }; @@ -872,11 +904,23 @@ struct hl_cs_chunk { #define HL_CS_FLAGS_ENCAP_SIGNALS 0x800 #define HL_CS_FLAGS_RESERVE_SIGNALS_ONLY 0x1000 #define HL_CS_FLAGS_UNRESERVE_SIGNALS_ONLY 0x2000 +#define HL_CS_FLAGS_ENGINE_CORE_COMMAND 0x4000 #define HL_CS_STATUS_SUCCESS 0 #define HL_MAX_JOBS_PER_CS 512 +#define HL_ENGINE_CORE_HALT (1 << 0) +#define HL_ENGINE_CORE_RUN (1 << 1) struct hl_cs_in { - __u64 chunks_restore; - __u64 chunks_execute; + union { + struct { + __u64 chunks_restore; + __u64 chunks_execute; + }; + struct { + __u64 engine_cores; + __u32 num_engine_cores; + __u32 core_command; + }; + }; union { __u64 seq; __u32 encaps_sig_handle_id; @@ -1081,11 +1125,6 @@ struct hl_debug_args { __u32 enable; __u32 ctx_id; }; -#define HL_NOTIFIER_EVENT_TPC_ASSERT (1ULL << 0) -#define HL_NOTIFIER_EVENT_UNDEFINED_OPCODE (1ULL << 1) -#define HL_NOTIFIER_EVENT_DEVICE_RESET (1ULL << 2) -#define HL_NOTIFIER_EVENT_CS_TIMEOUT (1ULL << 3) -#define HL_NOTIFIER_EVENT_DEVICE_UNAVAILABLE (1ULL << 4) #define HL_IOCTL_INFO _IOWR('H', 0x01, struct hl_info_args) #define HL_IOCTL_CB _IOWR('H', 0x02, union hl_cb_args) #define HL_IOCTL_CS _IOWR('H', 0x03, union hl_cs_args) diff --git a/libc/kernel/uapi/misc/uacce/hisi_qm.h b/libc/kernel/uapi/misc/uacce/hisi_qm.h index 87757a9d2..d2509d07e 100644 --- a/libc/kernel/uapi/misc/uacce/hisi_qm.h +++ b/libc/kernel/uapi/misc/uacce/hisi_qm.h @@ -23,8 +23,15 @@ struct hisi_qp_ctx { __u16 id; __u16 qc_type; }; +struct hisi_qp_info { + __u32 sqe_size; + __u16 sq_depth; + __u16 cq_depth; + __u64 reserved; +}; #define HISI_QM_API_VER_BASE "hisi_qm_v1" #define HISI_QM_API_VER2_BASE "hisi_qm_v2" #define HISI_QM_API_VER3_BASE "hisi_qm_v3" #define UACCE_CMD_QM_SET_QP_CTX _IOWR('H', 10, struct hisi_qp_ctx) +#define UACCE_CMD_QM_SET_QP_INFO _IOWR('H', 11, struct hisi_qp_info) #endif diff --git a/libc/kernel/uapi/mtd/mtd-abi.h b/libc/kernel/uapi/mtd/mtd-abi.h index 50ae56514..6e26cae82 100644 --- a/libc/kernel/uapi/mtd/mtd-abi.h +++ b/libc/kernel/uapi/mtd/mtd-abi.h @@ -52,6 +52,21 @@ struct mtd_write_req { __u8 mode; __u8 padding[7]; }; +struct mtd_read_req_ecc_stats { + __u32 uncorrectable_errors; + __u32 corrected_bitflips; + __u32 max_bitflips; +}; +struct mtd_read_req { + __u64 start; + __u64 len; + __u64 ooblen; + __u64 usr_data; + __u64 usr_oob; + __u8 mode; + __u8 padding[7]; + struct mtd_read_req_ecc_stats ecc_stats; +}; #define MTD_ABSENT 0 #define MTD_RAM 1 #define MTD_ROM 2 @@ -122,6 +137,7 @@ struct otp_info { #define MEMISLOCKED _IOR('M', 23, struct erase_info_user) #define MEMWRITE _IOWR('M', 24, struct mtd_write_req) #define OTPERASE _IOW('M', 25, struct otp_info) +#define MEMREAD _IOWR('M', 26, struct mtd_read_req) struct nand_oobinfo { __u32 useecc; __u32 eccbytes; diff --git a/libc/kernel/uapi/mtd/ubi-user.h b/libc/kernel/uapi/mtd/ubi-user.h index 866fbd2c9..bb0fefe03 100644 --- a/libc/kernel/uapi/mtd/ubi-user.h +++ b/libc/kernel/uapi/mtd/ubi-user.h @@ -56,7 +56,8 @@ struct ubi_attach_req { __s32 mtd_num; __s32 vid_hdr_offset; __s16 max_beb_per1024; - __s8 padding[10]; + __s8 disable_fm; + __s8 padding[9]; }; enum { UBI_VOL_SKIP_CRC_CHECK_FLG = 0x1, diff --git a/libc/kernel/uapi/rdma/efa-abi.h b/libc/kernel/uapi/rdma/efa-abi.h index 4b6842b6e..bfb3f180d 100644 --- a/libc/kernel/uapi/rdma/efa-abi.h +++ b/libc/kernel/uapi/rdma/efa-abi.h @@ -49,6 +49,7 @@ struct efa_ibv_alloc_pd_resp { }; enum { EFA_CREATE_CQ_WITH_COMPLETION_CHANNEL = 1 << 0, + EFA_CREATE_CQ_WITH_SGID = 1 << 1, }; struct efa_ibv_create_cq { __u32 comp_mask; @@ -102,6 +103,7 @@ enum { EFA_QUERY_DEVICE_CAPS_RDMA_READ = 1 << 0, EFA_QUERY_DEVICE_CAPS_RNR_RETRY = 1 << 1, EFA_QUERY_DEVICE_CAPS_CQ_NOTIFICATIONS = 1 << 2, + EFA_QUERY_DEVICE_CAPS_CQ_WITH_SGID = 1 << 3, }; struct efa_ibv_ex_query_device_resp { __u32 comp_mask; diff --git a/libc/kernel/uapi/rdma/mlx5-abi.h b/libc/kernel/uapi/rdma/mlx5-abi.h index aadb20ea6..f41c88748 100644 --- a/libc/kernel/uapi/rdma/mlx5-abi.h +++ b/libc/kernel/uapi/rdma/mlx5-abi.h @@ -70,6 +70,7 @@ enum mlx5_ib_alloc_ucontext_resp_mask { MLX5_IB_ALLOC_UCONTEXT_RESP_MASK_ECE = 1UL << 2, MLX5_IB_ALLOC_UCONTEXT_RESP_MASK_SQD2RTS = 1UL << 3, MLX5_IB_ALLOC_UCONTEXT_RESP_MASK_REAL_TIME_TS = 1UL << 4, + MLX5_IB_ALLOC_UCONTEXT_RESP_MASK_MKEY_UPDATE_TAG = 1UL << 5, }; enum mlx5_user_cmds_supp_uhw { MLX5_USER_CMDS_SUPP_UHW_QUERY_DEVICE = 1 << 0, diff --git a/libc/kernel/uapi/rdma/mlx5_user_ioctl_cmds.h b/libc/kernel/uapi/rdma/mlx5_user_ioctl_cmds.h index dc3eb1ffd..c060482d9 100644 --- a/libc/kernel/uapi/rdma/mlx5_user_ioctl_cmds.h +++ b/libc/kernel/uapi/rdma/mlx5_user_ioctl_cmds.h @@ -135,6 +135,7 @@ enum mlx5_ib_devx_umem_reg_attrs { MLX5_IB_ATTR_DEVX_UMEM_REG_ACCESS, MLX5_IB_ATTR_DEVX_UMEM_REG_OUT_ID, MLX5_IB_ATTR_DEVX_UMEM_REG_PGSZ_BITMAP, + MLX5_IB_ATTR_DEVX_UMEM_REG_DMABUF_FD, }; enum mlx5_ib_devx_umem_dereg_attrs { MLX5_IB_ATTR_DEVX_UMEM_DEREG_HANDLE = (1U << UVERBS_ID_NS_SHIFT), diff --git a/libc/kernel/uapi/rdma/rdma_user_rxe.h b/libc/kernel/uapi/rdma/rdma_user_rxe.h index cdb00c7b9..247669918 100644 --- a/libc/kernel/uapi/rdma/rdma_user_rxe.h +++ b/libc/kernel/uapi/rdma/rdma_user_rxe.h @@ -52,7 +52,7 @@ struct rxe_av { }; struct rxe_send_wr { __aligned_u64 wr_id; - __u32 num_sge; + __u32 reserved; __u32 opcode; __u32 send_flags; union { @@ -128,7 +128,7 @@ struct rxe_send_wqe { }; struct rxe_recv_wqe { __aligned_u64 wr_id; - __u32 num_sge; + __u32 reserved; __u32 padding; struct rxe_dma_info dma; }; diff --git a/libc/kernel/uapi/scsi/scsi_netlink_fc.h b/libc/kernel/uapi/scsi/scsi_netlink_fc.h index ff9287741..6eeb86629 100644 --- a/libc/kernel/uapi/scsi/scsi_netlink_fc.h +++ b/libc/kernel/uapi/scsi/scsi_netlink_fc.h @@ -30,6 +30,9 @@ struct fc_nl_event { __u16 event_datalen; __u32 event_num; __u32 event_code; - __u32 event_data; + union { + __u32 event_data; + __DECLARE_FLEX_ARRAY(__u8, event_data_flex); + }; } __attribute__((aligned(sizeof(__u64)))); #endif