We need the tty/serial fixes in here as well.
Showing the changes to include/uapi (7 of 706 files). Show all
Unified · Split
| @@ -4,9 +4,9 @@ · 3 unmodified lines | ||
| 4 | 4 | #ifndef _UAPI_LINUX_BITS_H |
| 5 | 5 | #define _UAPI_LINUX_BITS_H |
| 6 | 6 | |
| 7 | −#define __GENMASK(h, l) (((~_UL(0)) << (l)) & (~_UL(0) >> (__BITS_PER_LONG - 1 - (h)))) | |
| 7 | +#define __GENMASK(h, l) (((~_UL(0)) << (l)) & (~_UL(0) >> (BITS_PER_LONG - 1 - (h)))) | |
| 8 | 8 | |
| 9 | −#define __GENMASK_ULL(h, l) (((~_ULL(0)) << (l)) & (~_ULL(0) >> (__BITS_PER_LONG_LONG - 1 - (h)))) | |
| 9 | +#define __GENMASK_ULL(h, l) (((~_ULL(0)) << (l)) & (~_ULL(0) >> (BITS_PER_LONG_LONG - 1 - (h)))) | |
| 10 | 10 | |
| 11 | 11 | #define __GENMASK_U128(h, l) \ |
| 12 | 12 | ((_BIT128((h)) << 1) - (_BIT128(l))) |
| @@ -208,10 +208,6 @@ enum { · 207 unmodified lines | ||
| 208 | 208 | ETHTOOL_A_STATS_PHY_MAX = (__ETHTOOL_A_STATS_PHY_CNT - 1) |
| 209 | 209 | }; |
| 210 | 210 | |
| 211 | −/* generic netlink info */ | |
| 212 | −#define ETHTOOL_GENL_NAME "ethtool" | |
| 213 | −#define ETHTOOL_GENL_VERSION 1 | |
| 214 | − | |
| 215 | 211 | #define ETHTOOL_MCGRP_MONITOR_NAME "monitor" |
| 216 | 212 | |
| 217 | 213 | #endif /* _UAPI_LINUX_ETHTOOL_NETLINK_H_ */ |
| @@ -6,8 +6,8 @@ · 5 unmodified lines | ||
| 6 | 6 | #ifndef _UAPI_LINUX_ETHTOOL_NETLINK_GENERATED_H |
| 7 | 7 | #define _UAPI_LINUX_ETHTOOL_NETLINK_GENERATED_H |
| 8 | 8 | |
| 9 | −#define ETHTOOL_FAMILY_NAME "ethtool" | |
| 10 | −#define ETHTOOL_FAMILY_VERSION 1 | |
| 9 | +#define ETHTOOL_GENL_NAME "ethtool" | |
| 10 | +#define ETHTOOL_GENL_VERSION 1 | |
| 11 | 11 | |
| 12 | 12 | enum { |
| 13 | 13 | ETHTOOL_UDP_TUNNEL_TYPE_VXLAN, |
| @@ -178,6 +178,7 @@ struct kvm_xen_exit { · 177 unmodified lines | ||
| 178 | 178 | #define KVM_EXIT_NOTIFY 37 |
| 179 | 179 | #define KVM_EXIT_LOONGARCH_IOCSR 38 |
| 180 | 180 | #define KVM_EXIT_MEMORY_FAULT 39 |
| 181 | +#define KVM_EXIT_TDX 40 | |
| 181 | 182 | |
| 182 | 183 | /* For KVM_EXIT_INTERNAL_ERROR */ |
| 183 | 184 | /* Emulate instruction failed. */ |
| @@ -447,6 +448,27 @@ struct kvm_run { · 263 unmodified lines | ||
| 447 | 448 | __u64 gpa; |
| 448 | 449 | __u64 size; |
| 449 | 450 | } memory_fault; |
| 451 | + /* KVM_EXIT_TDX */ | |
| 452 | + struct { | |
| 453 | + __u64 flags; | |
| 454 | + __u64 nr; | |
| 455 | + union { | |
| 456 | + struct { | |
| 457 | + __u64 ret; | |
| 458 | + __u64 data[5]; | |
| 459 | + } unknown; | |
| 460 | + struct { | |
| 461 | + __u64 ret; | |
| 462 | + __u64 gpa; | |
| 463 | + __u64 size; | |
| 464 | + } get_quote; | |
| 465 | + struct { | |
| 466 | + __u64 ret; | |
| 467 | + __u64 leaf; | |
| 468 | + __u64 r11, r12, r13, r14; | |
| 469 | + } get_tdvmcall_info; | |
| 470 | + }; | |
| 471 | + } tdx; | |
| 450 | 472 | /* Fix the size of the union. */ |
| 451 | 473 | char padding[256]; |
| 452 | 474 | }; |
| @@ -27,14 +27,14 @@ · 26 unmodified lines | ||
| 27 | 27 | * token, rem_id. |
| 28 | 28 | * @MPTCP_EVENT_SUB_ESTABLISHED: A new subflow has been established. 'error' |
| 29 | 29 | * should not be set. Attributes: token, family, loc_id, rem_id, saddr4 | |
| 30 | − * saddr6, daddr4 | daddr6, sport, dport, backup, if_idx [, error]. | |
| 30 | + * saddr6, daddr4 | daddr6, sport, dport, backup, if-idx [, error]. | |
| 31 | 31 | * @MPTCP_EVENT_SUB_CLOSED: A subflow has been closed. An error (copy of |
| 32 | 32 | * sk_err) could be set if an error has been detected for this subflow. |
| 33 | 33 | * Attributes: token, family, loc_id, rem_id, saddr4 | saddr6, daddr4 | |
| 34 | − * daddr6, sport, dport, backup, if_idx [, error]. | |
| 34 | + * daddr6, sport, dport, backup, if-idx [, error]. | |
| 35 | 35 | * @MPTCP_EVENT_SUB_PRIORITY: The priority of a subflow has changed. 'error' |
| 36 | 36 | * should not be set. Attributes: token, family, loc_id, rem_id, saddr4 | |
| 37 | − * saddr6, daddr4 | daddr6, sport, dport, backup, if_idx [, error]. | |
| 37 | + * saddr6, daddr4 | daddr6, sport, dport, backup, if-idx [, error]. | |
| 38 | 38 | * @MPTCP_EVENT_LISTENER_CREATED: A new PM listener is created. Attributes: |
| 39 | 39 | * family, sport, saddr4 | saddr6. |
| 40 | 40 | * @MPTCP_EVENT_LISTENER_CLOSED: A PM listener is closed. Attributes: family, |
| @@ -135,8 +135,28 @@ · 134 unmodified lines | ||
| 135 | 135 | #define UBLKSRV_IO_BUF_TOTAL_SIZE (1ULL << UBLKSRV_IO_BUF_TOTAL_BITS) |
| 136 | 136 | |
| 137 | 137 | /* |
| 138 | − * zero copy requires 4k block size, and can remap ublk driver's io | |
| 139 | − * request into ublksrv's vm space | |
| 138 | + * ublk server can register data buffers for incoming I/O requests with a sparse | |
| 139 | + * io_uring buffer table. The request buffer can then be used as the data buffer | |
| 140 | + * for io_uring operations via the fixed buffer index. | |
| 141 | + * Note that the ublk server can never directly access the request data memory. | |
| 142 | + * | |
| 143 | + * To use this feature, the ublk server must first register a sparse buffer | |
| 144 | + * table on an io_uring instance. | |
| 145 | + * When an incoming ublk request is received, the ublk server submits a | |
| 146 | + * UBLK_U_IO_REGISTER_IO_BUF command to that io_uring instance. The | |
| 147 | + * ublksrv_io_cmd's q_id and tag specify the request whose buffer to register | |
| 148 | + * and addr is the index in the io_uring's buffer table to install the buffer. | |
| 149 | + * SQEs can now be submitted to the io_uring to read/write the request's buffer | |
| 150 | + * by enabling fixed buffers (e.g. using IORING_OP_{READ,WRITE}_FIXED or | |
| 151 | + * IORING_URING_CMD_FIXED) and passing the registered buffer index in buf_index. | |
| 152 | + * Once the last io_uring operation using the request's buffer has completed, | |
| 153 | + * the ublk server submits a UBLK_U_IO_UNREGISTER_IO_BUF command with q_id, tag, | |
| 154 | + * and addr again specifying the request buffer to unregister. | |
| 155 | + * The ublk request is completed when its buffer is unregistered from all | |
| 156 | + * io_uring instances and the ublk server issues UBLK_U_IO_COMMIT_AND_FETCH_REQ. | |
| 157 | + * | |
| 158 | + * Not available for UBLK_F_UNPRIVILEGED_DEV, as a ublk server can leak | |
| 159 | + * uninitialized kernel memory by not reading into the full request buffer. | |
| 140 | 160 | */ |
| 141 | 161 | #define UBLK_F_SUPPORT_ZERO_COPY (1ULL << 0) |
| 142 | 162 | |
| @@ -450,10 +470,10 @@ static inline struct ublk_auto_buf_reg ublk_sqe_addr_to_auto_buf_reg( · 307 unmodified lines | ||
| 450 | 470 | __u64 sqe_addr) |
| 451 | 471 | { |
| 452 | 472 | struct ublk_auto_buf_reg reg = { |
| 453 | − .index = sqe_addr & 0xffff, | |
| 454 | − .flags = (sqe_addr >> 16) & 0xff, | |
| 455 | − .reserved0 = (sqe_addr >> 24) & 0xff, | |
| 456 | − .reserved1 = sqe_addr >> 32, | |
| 473 | + .index = (__u16)sqe_addr, | |
| 474 | + .flags = (__u8)(sqe_addr >> 16), | |
| 475 | + .reserved0 = (__u8)(sqe_addr >> 24), | |
| 476 | + .reserved1 = (__u32)(sqe_addr >> 32), | |
| 457 | 477 | }; |
| 458 | 478 | |
| 459 | 479 | return reg; |
| @@ -17,6 +17,10 @@ · 16 unmodified lines | ||
| 17 | 17 | #ifndef _UAPI_VM_SOCKETS_H |
| 18 | 18 | #define _UAPI_VM_SOCKETS_H |
| 19 | 19 | |
| 20 | +#ifndef __KERNEL__ | |
| 21 | +#include <sys/socket.h> /* for struct sockaddr and sa_family_t */ | |
| 22 | +#endif | |
| 23 | + | |
| 20 | 24 | #include <linux/socket.h> |
| 21 | 25 | #include <linux/types.h> |
| 22 | 26 | |