aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTreehugger Robot <treehugger-gerrit@google.com>2022-05-27 22:58:41 +0000
committerAutomerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>2022-05-27 22:58:41 +0000
commitd8e478931a6ff8405f475fe9df4c44ae9fabb41d (patch)
treeea6f000cadad53a010394a25e0654c0c349460f2
parentec3e5288fbdb2c8b48c1d1a4697cb399286fbef1 (diff)
parent7c7be1ff48191f45ecb5001fa02d4e41155432a0 (diff)
downloadkernel-headers-d8e478931a6ff8405f475fe9df4c44ae9fabb41d.tar.gz
Merge "Revert "Update to v5.18 kernel headers."" am: 7c7be1ff48
Original change: https://android-review.googlesource.com/c/platform/external/kernel-headers/+/2106940 Change-Id: I0ce1584950f34e866e70b719f51626a88a213b83 Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
-rw-r--r--original/uapi/asm-arm/asm/signal.h2
-rw-r--r--original/uapi/asm-arm64/asm/hwcap.h1
-rw-r--r--original/uapi/asm-arm64/asm/kvm.h11
-rw-r--r--original/uapi/asm-generic/mman-common.h2
-rw-r--r--original/uapi/asm-generic/shmbuf.h4
-rw-r--r--original/uapi/asm-generic/signal.h2
-rw-r--r--original/uapi/asm-generic/socket.h2
-rw-r--r--original/uapi/asm-x86/asm/amd_hsmp.h203
-rw-r--r--original/uapi/asm-x86/asm/processor-flags.h2
-rw-r--r--original/uapi/asm-x86/asm/shmbuf.h6
-rw-r--r--original/uapi/asm-x86/asm/signal.h2
-rw-r--r--original/uapi/drm/amdgpu_drm.h21
-rw-r--r--original/uapi/drm/drm_mode.h88
-rw-r--r--original/uapi/drm/i915_drm.h45
-rw-r--r--original/uapi/drm/msm_drm.h32
-rw-r--r--original/uapi/drm/panfrost_drm.h4
-rw-r--r--original/uapi/linux/android/binder.h4
-rw-r--r--original/uapi/linux/bpf.h163
-rw-r--r--original/uapi/linux/btrfs.h133
-rw-r--r--original/uapi/linux/btrfs_tree.h3
-rw-r--r--original/uapi/linux/can/isotp.h28
-rw-r--r--original/uapi/linux/counter.h2
-rw-r--r--original/uapi/linux/dm-ioctl.h4
-rw-r--r--original/uapi/linux/dma-buf.h4
-rw-r--r--original/uapi/linux/elf.h10
-rw-r--r--original/uapi/linux/ethtool_netlink.h8
-rw-r--r--original/uapi/linux/fb.h2
-rw-r--r--original/uapi/linux/fsi.h14
-rw-r--r--original/uapi/linux/fsmap.h2
-rw-r--r--original/uapi/linux/gtp.h1
-rw-r--r--original/uapi/linux/hyperv.h11
-rw-r--r--original/uapi/linux/if_addr.h9
-rw-r--r--original/uapi/linux/if_bridge.h18
-rw-r--r--original/uapi/linux/if_ether.h2
-rw-r--r--original/uapi/linux/if_link.h91
-rw-r--r--original/uapi/linux/if_tunnel.h4
-rw-r--r--original/uapi/linux/iio/types.h1
-rw-r--r--original/uapi/linux/input-event-codes.h21
-rw-r--r--original/uapi/linux/io_uring.h16
-rw-r--r--original/uapi/linux/ioam6_iptunnel.h9
-rw-r--r--original/uapi/linux/iommu.h181
-rw-r--r--original/uapi/linux/kexec.h4
-rw-r--r--original/uapi/linux/kfd_ioctl.h98
-rw-r--r--original/uapi/linux/kvm.h25
-rw-r--r--original/uapi/linux/lirc.h16
-rw-r--r--original/uapi/linux/loop.h4
-rw-r--r--original/uapi/linux/mctp.h18
-rw-r--r--original/uapi/linux/mptcp.h1
-rw-r--r--original/uapi/linux/mroute6.h1
-rw-r--r--original/uapi/linux/ndctl.h2
-rw-r--r--original/uapi/linux/net_dropmon.h1
-rw-r--r--original/uapi/linux/netfilter/nfnetlink_queue.h1
-rw-r--r--original/uapi/linux/nfs4.h1
-rw-r--r--original/uapi/linux/nfs_fs.h2
-rw-r--r--original/uapi/linux/nl80211.h97
-rw-r--r--original/uapi/linux/nvme_ioctl.h6
-rw-r--r--original/uapi/linux/omap3isp.h21
-rw-r--r--original/uapi/linux/openvswitch.h22
-rw-r--r--original/uapi/linux/perf_event.h2
-rw-r--r--original/uapi/linux/pkt_cls.h15
-rw-r--r--original/uapi/linux/psci.h4
-rw-r--r--original/uapi/linux/ptrace.h2
-rw-r--r--original/uapi/linux/reiserfs_xattr.h2
-rw-r--r--original/uapi/linux/rfkill.h14
-rw-r--r--original/uapi/linux/rpmsg.h10
-rw-r--r--original/uapi/linux/rseq.h20
-rw-r--r--original/uapi/linux/rtc.h3
-rw-r--r--original/uapi/linux/rtnetlink.h14
-rw-r--r--original/uapi/linux/serial_core.h6
-rw-r--r--original/uapi/linux/smc.h15
-rw-r--r--original/uapi/linux/socket.h4
-rw-r--r--original/uapi/linux/stddef.h4
-rw-r--r--original/uapi/linux/thermal.h6
-rw-r--r--original/uapi/linux/tipc_config.h28
-rw-r--r--original/uapi/linux/tty.h6
-rw-r--r--original/uapi/linux/types.h6
-rw-r--r--original/uapi/linux/userfaultfd.h8
-rw-r--r--original/uapi/linux/v4l2-controls.h8
-rw-r--r--original/uapi/linux/version.h4
-rw-r--r--original/uapi/linux/vfio.h406
-rw-r--r--original/uapi/linux/vhost.h7
-rw-r--r--original/uapi/linux/videodev2.h4
-rw-r--r--original/uapi/linux/virtio_config.h6
-rw-r--r--original/uapi/linux/virtio_crypto.h82
-rw-r--r--original/uapi/linux/virtio_ids.h14
-rw-r--r--original/uapi/misc/fastrpc.h81
-rw-r--r--original/uapi/misc/habanalabs.h146
-rw-r--r--original/uapi/sound/sof/abi.h4
88 files changed, 627 insertions, 1792 deletions
diff --git a/original/uapi/asm-arm/asm/signal.h b/original/uapi/asm-arm/asm/signal.h
index 9e21784..c9a3ea1 100644
--- a/original/uapi/asm-arm/asm/signal.h
+++ b/original/uapi/asm-arm/asm/signal.h
@@ -93,7 +93,7 @@ struct sigaction {
typedef struct sigaltstack {
void __user *ss_sp;
int ss_flags;
- __kernel_size_t ss_size;
+ size_t ss_size;
} stack_t;
diff --git a/original/uapi/asm-arm64/asm/hwcap.h b/original/uapi/asm-arm64/asm/hwcap.h
index 99cb5d3..f037318 100644
--- a/original/uapi/asm-arm64/asm/hwcap.h
+++ b/original/uapi/asm-arm64/asm/hwcap.h
@@ -78,6 +78,5 @@
#define HWCAP2_ECV (1 << 19)
#define HWCAP2_AFP (1 << 20)
#define HWCAP2_RPRES (1 << 21)
-#define HWCAP2_MTE3 (1 << 22)
#endif /* _UAPI__ASM_HWCAP_H */
diff --git a/original/uapi/asm-arm64/asm/kvm.h b/original/uapi/asm-arm64/asm/kvm.h
index c1b6ddc..323e251 100644
--- a/original/uapi/asm-arm64/asm/kvm.h
+++ b/original/uapi/asm-arm64/asm/kvm.h
@@ -367,7 +367,6 @@ struct kvm_arm_copy_mte_tags {
#define KVM_ARM_VCPU_PMU_V3_IRQ 0
#define KVM_ARM_VCPU_PMU_V3_INIT 1
#define KVM_ARM_VCPU_PMU_V3_FILTER 2
-#define KVM_ARM_VCPU_PMU_V3_SET_PMU 3
#define KVM_ARM_VCPU_TIMER_CTRL 1
#define KVM_ARM_VCPU_TIMER_IRQ_VTIMER 0
#define KVM_ARM_VCPU_TIMER_IRQ_PTIMER 1
@@ -419,16 +418,6 @@ struct kvm_arm_copy_mte_tags {
#define KVM_PSCI_RET_INVAL PSCI_RET_INVALID_PARAMS
#define KVM_PSCI_RET_DENIED PSCI_RET_DENIED
-/* arm64-specific kvm_run::system_event flags */
-/*
- * Reset caused by a PSCI v1.1 SYSTEM_RESET2 call.
- * Valid only when the system event has a type of KVM_SYSTEM_EVENT_RESET.
- */
-#define KVM_SYSTEM_EVENT_RESET_FLAG_PSCI_RESET2 (1ULL << 0)
-
-/* run->fail_entry.hardware_entry_failure_reason codes. */
-#define KVM_EXIT_FAIL_ENTRY_CPU_UNSUPPORTED (1ULL << 0)
-
#endif
#endif /* __ARM_KVM_H__ */
diff --git a/original/uapi/asm-generic/mman-common.h b/original/uapi/asm-generic/mman-common.h
index 6c1aa92..1567a32 100644
--- a/original/uapi/asm-generic/mman-common.h
+++ b/original/uapi/asm-generic/mman-common.h
@@ -75,8 +75,6 @@
#define MADV_POPULATE_READ 22 /* populate (prefault) page tables readable */
#define MADV_POPULATE_WRITE 23 /* populate (prefault) page tables writable */
-#define MADV_DONTNEED_LOCKED 24 /* like DONTNEED, but drop locked pages too */
-
/* compatibility flags */
#define MAP_FILE 0
diff --git a/original/uapi/asm-generic/shmbuf.h b/original/uapi/asm-generic/shmbuf.h
index 2979b6d..2bab955 100644
--- a/original/uapi/asm-generic/shmbuf.h
+++ b/original/uapi/asm-generic/shmbuf.h
@@ -3,8 +3,6 @@
#define __ASM_GENERIC_SHMBUF_H
#include <asm/bitsperlong.h>
-#include <asm/ipcbuf.h>
-#include <asm/posix_types.h>
/*
* The shmid64_ds structure for x86 architecture.
@@ -26,7 +24,7 @@
struct shmid64_ds {
struct ipc64_perm shm_perm; /* operation perms */
- __kernel_size_t shm_segsz; /* size of segment (bytes) */
+ size_t shm_segsz; /* size of segment (bytes) */
#if __BITS_PER_LONG == 64
long shm_atime; /* last attach time */
long shm_dtime; /* last detach time */
diff --git a/original/uapi/asm-generic/signal.h b/original/uapi/asm-generic/signal.h
index 0eb69dc..f634822 100644
--- a/original/uapi/asm-generic/signal.h
+++ b/original/uapi/asm-generic/signal.h
@@ -85,7 +85,7 @@ struct sigaction {
typedef struct sigaltstack {
void __user *ss_sp;
int ss_flags;
- __kernel_size_t ss_size;
+ size_t ss_size;
} stack_t;
#endif /* __ASSEMBLY__ */
diff --git a/original/uapi/asm-generic/socket.h b/original/uapi/asm-generic/socket.h
index 467ca2f..c77a131 100644
--- a/original/uapi/asm-generic/socket.h
+++ b/original/uapi/asm-generic/socket.h
@@ -128,8 +128,6 @@
#define SO_RESERVE_MEM 73
-#define SO_TXREHASH 74
-
#if !defined(__KERNEL__)
#if __BITS_PER_LONG == 64 || (defined(__x86_64__) && defined(__ILP32__))
diff --git a/original/uapi/asm-x86/asm/amd_hsmp.h b/original/uapi/asm-x86/asm/amd_hsmp.h
deleted file mode 100644
index 7ee7ba0..0000000
--- a/original/uapi/asm-x86/asm/amd_hsmp.h
+++ /dev/null
@@ -1,203 +0,0 @@
-/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
-
-#ifndef _UAPI_ASM_X86_AMD_HSMP_H_
-#define _UAPI_ASM_X86_AMD_HSMP_H_
-
-#include <linux/types.h>
-
-#pragma pack(4)
-
-#define HSMP_MAX_MSG_LEN 8
-
-/*
- * HSMP Messages supported
- */
-enum hsmp_message_ids {
- HSMP_TEST = 1, /* 01h Increments input value by 1 */
- HSMP_GET_SMU_VER, /* 02h SMU FW version */
- HSMP_GET_PROTO_VER, /* 03h HSMP interface version */
- HSMP_GET_SOCKET_POWER, /* 04h average package power consumption */
- HSMP_SET_SOCKET_POWER_LIMIT, /* 05h Set the socket power limit */
- HSMP_GET_SOCKET_POWER_LIMIT, /* 06h Get current socket power limit */
- HSMP_GET_SOCKET_POWER_LIMIT_MAX,/* 07h Get maximum socket power value */
- HSMP_SET_BOOST_LIMIT, /* 08h Set a core maximum frequency limit */
- HSMP_SET_BOOST_LIMIT_SOCKET, /* 09h Set socket maximum frequency level */
- HSMP_GET_BOOST_LIMIT, /* 0Ah Get current frequency limit */
- HSMP_GET_PROC_HOT, /* 0Bh Get PROCHOT status */
- HSMP_SET_XGMI_LINK_WIDTH, /* 0Ch Set max and min width of xGMI Link */
- HSMP_SET_DF_PSTATE, /* 0Dh Alter APEnable/Disable messages behavior */
- HSMP_SET_AUTO_DF_PSTATE, /* 0Eh Enable DF P-State Performance Boost algorithm */
- HSMP_GET_FCLK_MCLK, /* 0Fh Get FCLK and MEMCLK for current socket */
- HSMP_GET_CCLK_THROTTLE_LIMIT, /* 10h Get CCLK frequency limit in socket */
- HSMP_GET_C0_PERCENT, /* 11h Get average C0 residency in socket */
- HSMP_SET_NBIO_DPM_LEVEL, /* 12h Set max/min LCLK DPM Level for a given NBIO */
- /* 13h Reserved */
- HSMP_GET_DDR_BANDWIDTH = 0x14, /* 14h Get theoretical maximum and current DDR Bandwidth */
- HSMP_GET_TEMP_MONITOR, /* 15h Get per-DIMM temperature and refresh rates */
- HSMP_MSG_ID_MAX,
-};
-
-struct hsmp_message {
- __u32 msg_id; /* Message ID */
- __u16 num_args; /* Number of input argument words in message */
- __u16 response_sz; /* Number of expected output/response words */
- __u32 args[HSMP_MAX_MSG_LEN]; /* argument/response buffer */
- __u16 sock_ind; /* socket number */
-};
-
-enum hsmp_msg_type {
- HSMP_RSVD = -1,
- HSMP_SET = 0,
- HSMP_GET = 1,
-};
-
-struct hsmp_msg_desc {
- int num_args;
- int response_sz;
- enum hsmp_msg_type type;
-};
-
-/*
- * User may use these comments as reference, please find the
- * supported list of messages and message definition in the
- * HSMP chapter of respective family/model PPR.
- *
- * Not supported messages would return -ENOMSG.
- */
-static const struct hsmp_msg_desc hsmp_msg_desc_table[] = {
- /* RESERVED */
- {0, 0, HSMP_RSVD},
-
- /*
- * HSMP_TEST, num_args = 1, response_sz = 1
- * input: args[0] = xx
- * output: args[0] = xx + 1
- */
- {1, 1, HSMP_GET},
-
- /*
- * HSMP_GET_SMU_VER, num_args = 0, response_sz = 1
- * output: args[0] = smu fw ver
- */
- {0, 1, HSMP_GET},
-
- /*
- * HSMP_GET_PROTO_VER, num_args = 0, response_sz = 1
- * output: args[0] = proto version
- */
- {0, 1, HSMP_GET},
-
- /*
- * HSMP_GET_SOCKET_POWER, num_args = 0, response_sz = 1
- * output: args[0] = socket power in mWatts
- */
- {0, 1, HSMP_GET},
-
- /*
- * HSMP_SET_SOCKET_POWER_LIMIT, num_args = 1, response_sz = 0
- * input: args[0] = power limit value in mWatts
- */
- {1, 0, HSMP_SET},
-
- /*
- * HSMP_GET_SOCKET_POWER_LIMIT, num_args = 0, response_sz = 1
- * output: args[0] = socket power limit value in mWatts
- */
- {0, 1, HSMP_GET},
-
- /*
- * HSMP_GET_SOCKET_POWER_LIMIT_MAX, num_args = 0, response_sz = 1
- * output: args[0] = maximuam socket power limit in mWatts
- */
- {0, 1, HSMP_GET},
-
- /*
- * HSMP_SET_BOOST_LIMIT, num_args = 1, response_sz = 0
- * input: args[0] = apic id[31:16] + boost limit value in MHz[15:0]
- */
- {1, 0, HSMP_SET},
-
- /*
- * HSMP_SET_BOOST_LIMIT_SOCKET, num_args = 1, response_sz = 0
- * input: args[0] = boost limit value in MHz
- */
- {1, 0, HSMP_SET},
-
- /*
- * HSMP_GET_BOOST_LIMIT, num_args = 1, response_sz = 1
- * input: args[0] = apic id
- * output: args[0] = boost limit value in MHz
- */
- {1, 1, HSMP_GET},
-
- /*
- * HSMP_GET_PROC_HOT, num_args = 0, response_sz = 1
- * output: args[0] = proc hot status
- */
- {0, 1, HSMP_GET},
-
- /*
- * HSMP_SET_XGMI_LINK_WIDTH, num_args = 1, response_sz = 0
- * input: args[0] = min link width[15:8] + max link width[7:0]
- */
- {1, 0, HSMP_SET},
-
- /*
- * HSMP_SET_DF_PSTATE, num_args = 1, response_sz = 0
- * input: args[0] = df pstate[7:0]
- */
- {1, 0, HSMP_SET},
-
- /* HSMP_SET_AUTO_DF_PSTATE, num_args = 0, response_sz = 0 */
- {0, 0, HSMP_SET},
-
- /*
- * HSMP_GET_FCLK_MCLK, num_args = 0, response_sz = 2
- * output: args[0] = fclk in MHz, args[1] = mclk in MHz
- */
- {0, 2, HSMP_GET},
-
- /*
- * HSMP_GET_CCLK_THROTTLE_LIMIT, num_args = 0, response_sz = 1
- * output: args[0] = core clock in MHz
- */
- {0, 1, HSMP_GET},
-
- /*
- * HSMP_GET_C0_PERCENT, num_args = 0, response_sz = 1
- * output: args[0] = average c0 residency
- */
- {0, 1, HSMP_GET},
-
- /*
- * HSMP_SET_NBIO_DPM_LEVEL, num_args = 1, response_sz = 0
- * input: args[0] = nbioid[23:16] + max dpm level[15:8] + min dpm level[7:0]
- */
- {1, 0, HSMP_SET},
-
- /* RESERVED message */
- {0, 0, HSMP_RSVD},
-
- /*
- * HSMP_GET_DDR_BANDWIDTH, num_args = 0, response_sz = 1
- * output: args[0] = max bw in Gbps[31:20] + utilised bw in Gbps[19:8] +
- * bw in percentage[7:0]
- */
- {0, 1, HSMP_GET},
-
- /*
- * HSMP_GET_TEMP_MONITOR, num_args = 0, response_sz = 1
- * output: args[0] = temperature in degree celsius. [15:8] integer part +
- * [7:5] fractional part
- */
- {0, 1, HSMP_GET},
-};
-
-/* Reset to default packing */
-#pragma pack()
-
-/* Define unique ioctl command for hsmp msgs using generic _IOWR */
-#define HSMP_BASE_IOCTL_NR 0xF8
-#define HSMP_IOCTL_CMD _IOWR(HSMP_BASE_IOCTL_NR, 0, struct hsmp_message)
-
-#endif /*_ASM_X86_AMD_HSMP_H_*/
diff --git a/original/uapi/asm-x86/asm/processor-flags.h b/original/uapi/asm-x86/asm/processor-flags.h
index c47cc7f..bcba3c6 100644
--- a/original/uapi/asm-x86/asm/processor-flags.h
+++ b/original/uapi/asm-x86/asm/processor-flags.h
@@ -130,8 +130,6 @@
#define X86_CR4_SMAP _BITUL(X86_CR4_SMAP_BIT)
#define X86_CR4_PKE_BIT 22 /* enable Protection Keys support */
#define X86_CR4_PKE _BITUL(X86_CR4_PKE_BIT)
-#define X86_CR4_CET_BIT 23 /* enable Control-flow Enforcement Technology */
-#define X86_CR4_CET _BITUL(X86_CR4_CET_BIT)
/*
* x86-64 Task Priority Register, CR8
diff --git a/original/uapi/asm-x86/asm/shmbuf.h b/original/uapi/asm-x86/asm/shmbuf.h
index 13775bf..fce18ea 100644
--- a/original/uapi/asm-x86/asm/shmbuf.h
+++ b/original/uapi/asm-x86/asm/shmbuf.h
@@ -5,10 +5,6 @@
#if !defined(__x86_64__) || !defined(__ILP32__)
#include <asm-generic/shmbuf.h>
#else
-
-#include <asm/ipcbuf.h>
-#include <asm/posix_types.h>
-
/*
* The shmid64_ds structure for x86 architecture with x32 ABI.
*
@@ -19,7 +15,7 @@
struct shmid64_ds {
struct ipc64_perm shm_perm; /* operation perms */
- __kernel_size_t shm_segsz; /* size of segment (bytes) */
+ size_t shm_segsz; /* size of segment (bytes) */
__kernel_long_t shm_atime; /* last attach time */
__kernel_long_t shm_dtime; /* last detach time */
__kernel_long_t shm_ctime; /* last change time */
diff --git a/original/uapi/asm-x86/asm/signal.h b/original/uapi/asm-x86/asm/signal.h
index 777c3a0..164a22a 100644
--- a/original/uapi/asm-x86/asm/signal.h
+++ b/original/uapi/asm-x86/asm/signal.h
@@ -104,7 +104,7 @@ struct sigaction {
typedef struct sigaltstack {
void __user *ss_sp;
int ss_flags;
- __kernel_size_t ss_size;
+ size_t ss_size;
} stack_t;
#endif /* __ASSEMBLY__ */
diff --git a/original/uapi/drm/amdgpu_drm.h b/original/uapi/drm/amdgpu_drm.h
index 1d65c1f..0b94ec7 100644
--- a/original/uapi/drm/amdgpu_drm.h
+++ b/original/uapi/drm/amdgpu_drm.h
@@ -206,8 +206,6 @@ union drm_amdgpu_bo_list {
#define AMDGPU_CTX_OP_FREE_CTX 2
#define AMDGPU_CTX_OP_QUERY_STATE 3
#define AMDGPU_CTX_OP_QUERY_STATE2 4
-#define AMDGPU_CTX_OP_GET_STABLE_PSTATE 5
-#define AMDGPU_CTX_OP_SET_STABLE_PSTATE 6
/* GPU reset status */
#define AMDGPU_CTX_NO_RESET 0
@@ -240,18 +238,10 @@ union drm_amdgpu_bo_list {
#define AMDGPU_CTX_PRIORITY_HIGH 512
#define AMDGPU_CTX_PRIORITY_VERY_HIGH 1023
-/* select a stable profiling pstate for perfmon tools */
-#define AMDGPU_CTX_STABLE_PSTATE_FLAGS_MASK 0xf
-#define AMDGPU_CTX_STABLE_PSTATE_NONE 0
-#define AMDGPU_CTX_STABLE_PSTATE_STANDARD 1
-#define AMDGPU_CTX_STABLE_PSTATE_MIN_SCLK 2
-#define AMDGPU_CTX_STABLE_PSTATE_MIN_MCLK 3
-#define AMDGPU_CTX_STABLE_PSTATE_PEAK 4
-
struct drm_amdgpu_ctx_in {
/** AMDGPU_CTX_OP_* */
__u32 op;
- /** Flags */
+ /** For future use, no flags defined so far */
__u32 flags;
__u32 ctx_id;
/** AMDGPU_CTX_PRIORITY_* */
@@ -272,11 +262,6 @@ union drm_amdgpu_ctx_out {
/** Reset status since the last call of the ioctl. */
__u32 reset_status;
} state;
-
- struct {
- __u32 flags;
- __u32 _pad;
- } pstate;
};
union drm_amdgpu_ctx {
@@ -743,8 +728,6 @@ struct drm_amdgpu_cs_chunk_data {
#define AMDGPU_INFO_FW_DMCUB 0x14
/* Subquery id: Query TOC firmware version */
#define AMDGPU_INFO_FW_TOC 0x15
- /* Subquery id: Query CAP firmware version */
- #define AMDGPU_INFO_FW_CAP 0x16
/* number of bytes moved for TTM migration */
#define AMDGPU_INFO_NUM_BYTES_MOVED 0x0f
@@ -1151,8 +1134,6 @@ struct drm_amdgpu_info_video_caps {
#define AMDGPU_FAMILY_NV 143 /* Navi10 */
#define AMDGPU_FAMILY_VGH 144 /* Van Gogh */
#define AMDGPU_FAMILY_YC 146 /* Yellow Carp */
-#define AMDGPU_FAMILY_GC_10_3_6 149 /* GC 10.3.6 */
-#define AMDGPU_FAMILY_GC_10_3_7 151 /* GC 10.3.7 */
#if defined(__cplusplus)
}
diff --git a/original/uapi/drm/drm_mode.h b/original/uapi/drm/drm_mode.h
index 0a0d56a..e1e3516 100644
--- a/original/uapi/drm/drm_mode.h
+++ b/original/uapi/drm/drm_mode.h
@@ -663,73 +663,41 @@ struct drm_mode_fb_cmd {
#define DRM_MODE_FB_INTERLACED (1<<0) /* for interlaced framebuffers */
#define DRM_MODE_FB_MODIFIERS (1<<1) /* enables ->modifer[] */
-/**
- * struct drm_mode_fb_cmd2 - Frame-buffer metadata.
- *
- * This struct holds frame-buffer metadata. There are two ways to use it:
- *
- * - User-space can fill this struct and perform a &DRM_IOCTL_MODE_ADDFB2
- * ioctl to register a new frame-buffer. The new frame-buffer object ID will
- * be set by the kernel in @fb_id.
- * - User-space can set @fb_id and perform a &DRM_IOCTL_MODE_GETFB2 ioctl to
- * fetch metadata about an existing frame-buffer.
- *
- * In case of planar formats, this struct allows up to 4 buffer objects with
- * offsets and pitches per plane. The pitch and offset order is dictated by the
- * format FourCC as defined by ``drm_fourcc.h``, e.g. NV12 is described as:
- *
- * YUV 4:2:0 image with a plane of 8 bit Y samples followed by an
- * interleaved U/V plane containing 8 bit 2x2 subsampled colour difference
- * samples.
- *
- * So it would consist of a Y plane at ``offsets[0]`` and a UV plane at
- * ``offsets[1]``.
- *
- * To accommodate tiled, compressed, etc formats, a modifier can be specified.
- * For more information see the "Format Modifiers" section. Note that even
- * though it looks like we have a modifier per-plane, we in fact do not. The
- * modifier for each plane must be identical. Thus all combinations of
- * different data layouts for multi-plane formats must be enumerated as
- * separate modifiers.
- *
- * All of the entries in @handles, @pitches, @offsets and @modifier must be
- * zero when unused. Warning, for @offsets and @modifier zero can't be used to
- * figure out whether the entry is used or not since it's a valid value (a zero
- * offset is common, and a zero modifier is &DRM_FORMAT_MOD_LINEAR).
- */
struct drm_mode_fb_cmd2 {
- /** @fb_id: Object ID of the frame-buffer. */
__u32 fb_id;
- /** @width: Width of the frame-buffer. */
__u32 width;
- /** @height: Height of the frame-buffer. */
__u32 height;
- /**
- * @pixel_format: FourCC format code, see ``DRM_FORMAT_*`` constants in
- * ``drm_fourcc.h``.
- */
- __u32 pixel_format;
- /**
- * @flags: Frame-buffer flags (see &DRM_MODE_FB_INTERLACED and
- * &DRM_MODE_FB_MODIFIERS).
- */
- __u32 flags;
+ __u32 pixel_format; /* fourcc code from drm_fourcc.h */
+ __u32 flags; /* see above flags */
- /**
- * @handles: GEM buffer handle, one per plane. Set to 0 if the plane is
- * unused. The same handle can be used for multiple planes.
+ /*
+ * In case of planar formats, this ioctl allows up to 4
+ * buffer objects with offsets and pitches per plane.
+ * The pitch and offset order is dictated by the fourcc,
+ * e.g. NV12 (https://fourcc.org/yuv.php#NV12) is described as:
+ *
+ * YUV 4:2:0 image with a plane of 8 bit Y samples
+ * followed by an interleaved U/V plane containing
+ * 8 bit 2x2 subsampled colour difference samples.
+ *
+ * So it would consist of Y as offsets[0] and UV as
+ * offsets[1]. Note that offsets[0] will generally
+ * be 0 (but this is not required).
+ *
+ * To accommodate tiled, compressed, etc formats, a
+ * modifier can be specified. The default value of zero
+ * indicates "native" format as specified by the fourcc.
+ * Vendor specific modifier token. Note that even though
+ * it looks like we have a modifier per-plane, we in fact
+ * do not. The modifier for each plane must be identical.
+ * Thus all combinations of different data layouts for
+ * multi plane formats must be enumerated as separate
+ * modifiers.
*/
__u32 handles[4];
- /** @pitches: Pitch (aka. stride) in bytes, one per plane. */
- __u32 pitches[4];
- /** @offsets: Offset into the buffer in bytes, one per plane. */
- __u32 offsets[4];
- /**
- * @modifier: Format modifier, one per plane. See ``DRM_FORMAT_MOD_*``
- * constants in ``drm_fourcc.h``. All planes must use the same
- * modifier. Ignored unless &DRM_MODE_FB_MODIFIERS is set in @flags.
- */
- __u64 modifier[4];
+ __u32 pitches[4]; /* pitch for each plane */
+ __u32 offsets[4]; /* offset of each plane */
+ __u64 modifier[4]; /* ie, tiling, compress */
};
#define DRM_MODE_FB_DIRTY_ANNOTATE_COPY 0x01
diff --git a/original/uapi/drm/i915_drm.h b/original/uapi/drm/i915_drm.h
index 05c3642..914ebd9 100644
--- a/original/uapi/drm/i915_drm.h
+++ b/original/uapi/drm/i915_drm.h
@@ -1118,16 +1118,10 @@ struct drm_i915_gem_exec_object2 {
/**
* When the EXEC_OBJECT_PINNED flag is specified this is populated by
* the user with the GTT offset at which this object will be pinned.
- *
* When the I915_EXEC_NO_RELOC flag is specified this must contain the
* presumed_offset of the object.
- *
* During execbuffer2 the kernel populates it with the value of the
* current GTT offset of the object, for future presumed_offset writes.
- *
- * See struct drm_i915_gem_create_ext for the rules when dealing with
- * alignment restrictions with I915_MEMORY_CLASS_DEVICE, on devices with
- * minimum page sizes, like DG2.
*/
__u64 offset;
@@ -3150,40 +3144,11 @@ struct drm_i915_gem_create_ext {
*
* The (page-aligned) allocated size for the object will be returned.
*
- *
- * DG2 64K min page size implications:
- *
- * On discrete platforms, starting from DG2, we have to contend with GTT
- * page size restrictions when dealing with I915_MEMORY_CLASS_DEVICE
- * objects. Specifically the hardware only supports 64K or larger GTT
- * page sizes for such memory. The kernel will already ensure that all
- * I915_MEMORY_CLASS_DEVICE memory is allocated using 64K or larger page
- * sizes underneath.
- *
- * Note that the returned size here will always reflect any required
- * rounding up done by the kernel, i.e 4K will now become 64K on devices
- * such as DG2.
- *
- * Special DG2 GTT address alignment requirement:
- *
- * The GTT alignment will also need to be at least 2M for such objects.
- *
- * Note that due to how the hardware implements 64K GTT page support, we
- * have some further complications:
- *
- * 1) The entire PDE (which covers a 2MB virtual address range), must
- * contain only 64K PTEs, i.e mixing 4K and 64K PTEs in the same
- * PDE is forbidden by the hardware.
- *
- * 2) We still need to support 4K PTEs for I915_MEMORY_CLASS_SYSTEM
- * objects.
- *
- * To keep things simple for userland, we mandate that any GTT mappings
- * must be aligned to and rounded up to 2MB. The kernel will internally
- * pad them out to the next 2MB boundary. As this only wastes virtual
- * address space and avoids userland having to copy any needlessly
- * complicated PDE sharing scheme (coloring) and only affects DG2, this
- * is deemed to be a good compromise.
+ * Note that for some devices we have might have further minimum
+ * page-size restrictions(larger than 4K), like for device local-memory.
+ * However in general the final size here should always reflect any
+ * rounding up, if for example using the I915_GEM_CREATE_EXT_MEMORY_REGIONS
+ * extension to place the object in device local-memory.
*/
__u64 size;
/**
diff --git a/original/uapi/drm/msm_drm.h b/original/uapi/drm/msm_drm.h
index 07efc80..6b8fffc 100644
--- a/original/uapi/drm/msm_drm.h
+++ b/original/uapi/drm/msm_drm.h
@@ -67,21 +67,16 @@ struct drm_msm_timespec {
__s64 tv_nsec; /* nanoseconds */
};
-/* Below "RO" indicates a read-only param, "WO" indicates write-only, and
- * "RW" indicates a param that can be both read (GET_PARAM) and written
- * (SET_PARAM)
- */
-#define MSM_PARAM_GPU_ID 0x01 /* RO */
-#define MSM_PARAM_GMEM_SIZE 0x02 /* RO */
-#define MSM_PARAM_CHIP_ID 0x03 /* RO */
-#define MSM_PARAM_MAX_FREQ 0x04 /* RO */
-#define MSM_PARAM_TIMESTAMP 0x05 /* RO */
-#define MSM_PARAM_GMEM_BASE 0x06 /* RO */
-#define MSM_PARAM_PRIORITIES 0x07 /* RO: The # of priority levels */
-#define MSM_PARAM_PP_PGTABLE 0x08 /* RO: Deprecated, always returns zero */
-#define MSM_PARAM_FAULTS 0x09 /* RO */
-#define MSM_PARAM_SUSPENDS 0x0a /* RO */
-#define MSM_PARAM_SYSPROF 0x0b /* WO: 1 preserves perfcntrs, 2 also disables suspend */
+#define MSM_PARAM_GPU_ID 0x01
+#define MSM_PARAM_GMEM_SIZE 0x02
+#define MSM_PARAM_CHIP_ID 0x03
+#define MSM_PARAM_MAX_FREQ 0x04
+#define MSM_PARAM_TIMESTAMP 0x05
+#define MSM_PARAM_GMEM_BASE 0x06
+#define MSM_PARAM_PRIORITIES 0x07 /* The # of priority levels */
+#define MSM_PARAM_PP_PGTABLE 0x08 /* => 1 for per-process pagetables, else 0 */
+#define MSM_PARAM_FAULTS 0x09
+#define MSM_PARAM_SUSPENDS 0x0a
/* For backwards compat. The original support for preemption was based on
* a single ring per priority level so # of priority levels equals the #
@@ -232,7 +227,6 @@ struct drm_msm_gem_submit_bo {
#define MSM_SUBMIT_SUDO 0x10000000 /* run submitted cmds from RB */
#define MSM_SUBMIT_SYNCOBJ_IN 0x08000000 /* enable input syncobj */
#define MSM_SUBMIT_SYNCOBJ_OUT 0x04000000 /* enable output syncobj */
-#define MSM_SUBMIT_FENCE_SN_IN 0x02000000 /* userspace passes in seqno fence */
#define MSM_SUBMIT_FLAGS ( \
MSM_SUBMIT_NO_IMPLICIT | \
MSM_SUBMIT_FENCE_FD_IN | \
@@ -240,7 +234,6 @@ struct drm_msm_gem_submit_bo {
MSM_SUBMIT_SUDO | \
MSM_SUBMIT_SYNCOBJ_IN | \
MSM_SUBMIT_SYNCOBJ_OUT | \
- MSM_SUBMIT_FENCE_SN_IN | \
0)
#define MSM_SUBMIT_SYNCOBJ_RESET 0x00000001 /* Reset syncobj after wait. */
@@ -260,7 +253,7 @@ struct drm_msm_gem_submit_syncobj {
*/
struct drm_msm_gem_submit {
__u32 flags; /* MSM_PIPE_x | MSM_SUBMIT_x */
- __u32 fence; /* out (or in with MSM_SUBMIT_FENCE_SN_IN flag) */
+ __u32 fence; /* out */
__u32 nr_bos; /* in, number of submit_bo's */
__u32 nr_cmds; /* in, number of submit_cmd's */
__u64 bos; /* in, ptr to array of submit_bo's */
@@ -340,7 +333,9 @@ struct drm_msm_submitqueue_query {
};
#define DRM_MSM_GET_PARAM 0x00
+/* placeholder:
#define DRM_MSM_SET_PARAM 0x01
+ */
#define DRM_MSM_GEM_NEW 0x02
#define DRM_MSM_GEM_INFO 0x03
#define DRM_MSM_GEM_CPU_PREP 0x04
@@ -356,7 +351,6 @@ struct drm_msm_submitqueue_query {
#define DRM_MSM_SUBMITQUEUE_QUERY 0x0C
#define DRM_IOCTL_MSM_GET_PARAM DRM_IOWR(DRM_COMMAND_BASE + DRM_MSM_GET_PARAM, struct drm_msm_param)
-#define DRM_IOCTL_MSM_SET_PARAM DRM_IOW (DRM_COMMAND_BASE + DRM_MSM_SET_PARAM, struct drm_msm_param)
#define DRM_IOCTL_MSM_GEM_NEW DRM_IOWR(DRM_COMMAND_BASE + DRM_MSM_GEM_NEW, struct drm_msm_gem_new)
#define DRM_IOCTL_MSM_GEM_INFO DRM_IOWR(DRM_COMMAND_BASE + DRM_MSM_GEM_INFO, struct drm_msm_gem_info)
#define DRM_IOCTL_MSM_GEM_CPU_PREP DRM_IOW (DRM_COMMAND_BASE + DRM_MSM_GEM_CPU_PREP, struct drm_msm_gem_cpu_prep)
diff --git a/original/uapi/drm/panfrost_drm.h b/original/uapi/drm/panfrost_drm.h
index 9e40277..061e700 100644
--- a/original/uapi/drm/panfrost_drm.h
+++ b/original/uapi/drm/panfrost_drm.h
@@ -84,14 +84,14 @@ struct drm_panfrost_wait_bo {
__s64 timeout_ns; /* absolute */
};
-/* Valid flags to pass to drm_panfrost_create_bo */
#define PANFROST_BO_NOEXEC 1
#define PANFROST_BO_HEAP 2
/**
* struct drm_panfrost_create_bo - ioctl argument for creating Panfrost BOs.
*
- * The flags argument is a bit mask of PANFROST_BO_* flags.
+ * There are currently no values for the flags argument, but it may be
+ * used in a future extension.
*/
struct drm_panfrost_create_bo {
__u32 size;
diff --git a/original/uapi/linux/android/binder.h b/original/uapi/linux/android/binder.h
index 5f4eb7a..2d3f015 100644
--- a/original/uapi/linux/android/binder.h
+++ b/original/uapi/linux/android/binder.h
@@ -336,8 +336,8 @@ struct binder_transaction_data {
/* General information about the transaction. */
__u32 flags;
- __kernel_pid_t sender_pid;
- __kernel_uid_t sender_euid;
+ pid_t sender_pid;
+ uid_t sender_euid;
binder_size_t data_size; /* number of bytes of data */
binder_size_t offsets_size; /* number of bytes of offsets */
diff --git a/original/uapi/linux/bpf.h b/original/uapi/linux/bpf.h
index d14b10b..b0383d3 100644
--- a/original/uapi/linux/bpf.h
+++ b/original/uapi/linux/bpf.h
@@ -330,8 +330,6 @@ union bpf_iter_link_info {
* *ctx_out*, *data_in* and *data_out* must be NULL.
* *repeat* must be zero.
*
- * BPF_PROG_RUN is an alias for BPF_PROG_TEST_RUN.
- *
* Return
* Returns zero on success. On error, -1 is returned and *errno*
* is set appropriately.
@@ -997,7 +995,6 @@ enum bpf_attach_type {
BPF_SK_REUSEPORT_SELECT,
BPF_SK_REUSEPORT_SELECT_OR_MIGRATE,
BPF_PERF_EVENT,
- BPF_TRACE_KPROBE_MULTI,
__MAX_BPF_ATTACH_TYPE
};
@@ -1012,7 +1009,6 @@ enum bpf_link_type {
BPF_LINK_TYPE_NETNS = 5,
BPF_LINK_TYPE_XDP = 6,
BPF_LINK_TYPE_PERF_EVENT = 7,
- BPF_LINK_TYPE_KPROBE_MULTI = 8,
MAX_BPF_LINK_TYPE,
};
@@ -1115,16 +1111,6 @@ enum bpf_link_type {
*/
#define BPF_F_SLEEPABLE (1U << 4)
-/* If BPF_F_XDP_HAS_FRAGS is used in BPF_PROG_LOAD command, the loaded program
- * fully support xdp frags.
- */
-#define BPF_F_XDP_HAS_FRAGS (1U << 5)
-
-/* link_create.kprobe_multi.flags used in LINK_CREATE command for
- * BPF_TRACE_KPROBE_MULTI attach type to create return probe.
- */
-#define BPF_F_KPROBE_MULTI_RETURN (1U << 0)
-
/* When BPF ldimm64's insn[0].src_reg != 0 then this can have
* the following extensions:
*
@@ -1239,8 +1225,6 @@ enum {
/* If set, run the test on the cpu specified by bpf_attr.test.cpu */
#define BPF_F_TEST_RUN_ON_CPU (1U << 0)
-/* If set, XDP frames will be transmitted after processing */
-#define BPF_F_TEST_XDP_LIVE_FRAMES (1U << 1)
/* type for BPF_ENABLE_STATS */
enum bpf_stats_type {
@@ -1402,7 +1386,6 @@ union bpf_attr {
__aligned_u64 ctx_out;
__u32 flags;
__u32 cpu;
- __u32 batch_size;
} test;
struct { /* anonymous struct used by BPF_*_GET_*_ID */
@@ -1482,13 +1465,6 @@ union bpf_attr {
*/
__u64 bpf_cookie;
} perf_event;
- struct {
- __u32 flags;
- __u32 cnt;
- __aligned_u64 syms;
- __aligned_u64 addrs;
- __aligned_u64 cookies;
- } kprobe_multi;
};
} link_create;
@@ -1799,8 +1775,6 @@ union bpf_attr {
* 0 on success, or a negative error in case of failure.
*
* u64 bpf_get_current_pid_tgid(void)
- * Description
- * Get the current pid and tgid.
* Return
* A 64-bit integer containing the current tgid and pid, and
* created as such:
@@ -1808,8 +1782,6 @@ union bpf_attr {
* *current_task*\ **->pid**.
*
* u64 bpf_get_current_uid_gid(void)
- * Description
- * Get the current uid and gid.
* Return
* A 64-bit integer containing the current GID and UID, and
* created as such: *current_gid* **<< 32 \|** *current_uid*.
@@ -2284,8 +2256,6 @@ union bpf_attr {
* The 32-bit hash.
*
* u64 bpf_get_current_task(void)
- * Description
- * Get the current task.
* Return
* A pointer to the current task struct.
*
@@ -2316,8 +2286,8 @@ union bpf_attr {
* Return
* The return value depends on the result of the test, and can be:
*
- * * 1, if current task belongs to the cgroup2.
- * * 0, if current task does not belong to the cgroup2.
+ * * 0, if current task belongs to the cgroup2.
+ * * 1, if current task does not belong to the cgroup2.
* * A negative error code, if an error occurred.
*
* long bpf_skb_change_tail(struct sk_buff *skb, u32 len, u64 flags)
@@ -2399,8 +2369,6 @@ union bpf_attr {
* indicate that the hash is outdated and to trigger a
* recalculation the next time the kernel tries to access this
* hash or when the **bpf_get_hash_recalc**\ () helper is called.
- * Return
- * void.
*
* long bpf_get_numa_node_id(void)
* Description
@@ -2498,8 +2466,6 @@ union bpf_attr {
* A 8-byte long unique number or 0 if *sk* is NULL.
*
* u32 bpf_get_socket_uid(struct sk_buff *skb)
- * Description
- * Get the owner UID of the socked associated to *skb*.
* Return
* The owner UID of the socket associated to *skb*. If the socket
* is **NULL**, or if it is not a full socket (i.e. if it is a
@@ -3009,8 +2975,8 @@ union bpf_attr {
*
* # sysctl kernel.perf_event_max_stack=<new value>
* Return
- * The non-negative copied *buf* length equal to or less than
- * *size* on success, or a negative error in case of failure.
+ * A non-negative value equal to or less than *size* on success,
+ * or a negative error in case of failure.
*
* long bpf_skb_load_bytes_relative(const void *skb, u32 offset, void *to, u32 len, u32 start_header)
* Description
@@ -3274,9 +3240,6 @@ union bpf_attr {
* The id is returned or 0 in case the id could not be retrieved.
*
* u64 bpf_get_current_cgroup_id(void)
- * Description
- * Get the current cgroup id based on the cgroup within which
- * the current task is running.
* Return
* A 64-bit integer containing the current cgroup id based
* on the cgroup within which the current task is running.
@@ -4316,8 +4279,8 @@ union bpf_attr {
*
* # sysctl kernel.perf_event_max_stack=<new value>
* Return
- * The non-negative copied *buf* length equal to or less than
- * *size* on success, or a negative error in case of failure.
+ * A non-negative value equal to or less than *size* on success,
+ * or a negative error in case of failure.
*
* long bpf_load_hdr_opt(struct bpf_sock_ops *skops, void *searchby_res, u32 len, u64 flags)
* Description
@@ -5055,94 +5018,6 @@ union bpf_attr {
*
* Return
* The number of arguments of the traced function.
- *
- * int bpf_get_retval(void)
- * Description
- * Get the syscall's return value that will be returned to userspace.
- *
- * This helper is currently supported by cgroup programs only.
- * Return
- * The syscall's return value.
- *
- * int bpf_set_retval(int retval)
- * Description
- * Set the syscall's return value that will be returned to userspace.
- *
- * This helper is currently supported by cgroup programs only.
- * Return
- * 0 on success, or a negative error in case of failure.
- *
- * u64 bpf_xdp_get_buff_len(struct xdp_buff *xdp_md)
- * Description
- * Get the total size of a given xdp buff (linear and paged area)
- * Return
- * The total size of a given xdp buffer.
- *
- * long bpf_xdp_load_bytes(struct xdp_buff *xdp_md, u32 offset, void *buf, u32 len)
- * Description
- * This helper is provided as an easy way to load data from a
- * xdp buffer. It can be used to load *len* bytes from *offset* from
- * the frame associated to *xdp_md*, into the buffer pointed by
- * *buf*.
- * Return
- * 0 on success, or a negative error in case of failure.
- *
- * long bpf_xdp_store_bytes(struct xdp_buff *xdp_md, u32 offset, void *buf, u32 len)
- * Description
- * Store *len* bytes from buffer *buf* into the frame
- * associated to *xdp_md*, at *offset*.
- * Return
- * 0 on success, or a negative error in case of failure.
- *
- * long bpf_copy_from_user_task(void *dst, u32 size, const void *user_ptr, struct task_struct *tsk, u64 flags)
- * Description
- * Read *size* bytes from user space address *user_ptr* in *tsk*'s
- * address space, and stores the data in *dst*. *flags* is not
- * used yet and is provided for future extensibility. This helper
- * can only be used by sleepable programs.
- * Return
- * 0 on success, or a negative error in case of failure. On error
- * *dst* buffer is zeroed out.
- *
- * long bpf_skb_set_tstamp(struct sk_buff *skb, u64 tstamp, u32 tstamp_type)
- * Description
- * Change the __sk_buff->tstamp_type to *tstamp_type*
- * and set *tstamp* to the __sk_buff->tstamp together.
- *
- * If there is no need to change the __sk_buff->tstamp_type,
- * the tstamp value can be directly written to __sk_buff->tstamp
- * instead.
- *
- * BPF_SKB_TSTAMP_DELIVERY_MONO is the only tstamp that
- * will be kept during bpf_redirect_*(). A non zero
- * *tstamp* must be used with the BPF_SKB_TSTAMP_DELIVERY_MONO
- * *tstamp_type*.
- *
- * A BPF_SKB_TSTAMP_UNSPEC *tstamp_type* can only be used
- * with a zero *tstamp*.
- *
- * Only IPv4 and IPv6 skb->protocol are supported.
- *
- * This function is most useful when it needs to set a
- * mono delivery time to __sk_buff->tstamp and then
- * bpf_redirect_*() to the egress of an iface. For example,
- * changing the (rcv) timestamp in __sk_buff->tstamp at
- * ingress to a mono delivery time and then bpf_redirect_*()
- * to sch_fq@phy-dev.
- * Return
- * 0 on success.
- * **-EINVAL** for invalid input
- * **-EOPNOTSUPP** for unsupported protocol
- *
- * long bpf_ima_file_hash(struct file *file, void *dst, u32 size)
- * Description
- * Returns a calculated IMA hash of the *file*.
- * If the hash is larger than *size*, then only *size*
- * bytes will be copied to *dst*
- * Return
- * The **hash_algo** is returned on success,
- * **-EOPNOTSUP** if the hash calculation failed or **-EINVAL** if
- * invalid arguments are passed.
*/
#define __BPF_FUNC_MAPPER(FN) \
FN(unspec), \
@@ -5331,14 +5206,6 @@ union bpf_attr {
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), \
/* */
/* integer value in 'imm' field of BPF_CALL instruction selects which helper
@@ -5528,15 +5395,6 @@ union { \
__u64 :64; \
} __attribute__((aligned(8)))
-enum {
- BPF_SKB_TSTAMP_UNSPEC,
- BPF_SKB_TSTAMP_DELIVERY_MONO, /* tstamp has mono delivery time */
- /* For any BPF_SKB_TSTAMP_* that the bpf prog cannot handle,
- * the bpf prog should handle it like BPF_SKB_TSTAMP_UNSPEC
- * and try to deduce it by ingress, egress or skb->sk->sk_clockid.
- */
-};
-
/* user accessible mirror of in-kernel sk_buff.
* new fields can only be added to the end of this structure
*/
@@ -5577,8 +5435,7 @@ struct __sk_buff {
__u32 gso_segs;
__bpf_md_ptr(struct bpf_sock *, sk);
__u32 gso_size;
- __u8 tstamp_type;
- __u32 :24; /* Padding, future use. */
+ __u32 :32; /* Padding, future use. */
__u64 hwtstamp;
};
@@ -5643,8 +5500,7 @@ struct bpf_sock {
__u32 src_ip4;
__u32 src_ip6[4];
__u32 src_port; /* host byte order */
- __be16 dst_port; /* network byte order */
- __u16 :16; /* zero padding */
+ __u32 dst_port; /* network byte order */
__u32 dst_ip4;
__u32 dst_ip6[4];
__u32 state;
@@ -6522,8 +6378,7 @@ struct bpf_sk_lookup {
__u32 protocol; /* IP protocol (IPPROTO_TCP, IPPROTO_UDP) */
__u32 remote_ip4; /* Network byte order */
__u32 remote_ip6[4]; /* Network byte order */
- __be16 remote_port; /* Network byte order */
- __u16 :16; /* Zero padding */
+ __u32 remote_port; /* Network byte order */
__u32 local_ip4; /* Network byte order */
__u32 local_ip6[4]; /* Network byte order */
__u32 local_port; /* Host byte order */
diff --git a/original/uapi/linux/btrfs.h b/original/uapi/linux/btrfs.h
index d956b29..7386199 100644
--- a/original/uapi/linux/btrfs.h
+++ b/original/uapi/linux/btrfs.h
@@ -309,7 +309,6 @@ struct btrfs_ioctl_fs_info_args {
#define BTRFS_FEATURE_INCOMPAT_METADATA_UUID (1ULL << 10)
#define BTRFS_FEATURE_INCOMPAT_RAID1C34 (1ULL << 11)
#define BTRFS_FEATURE_INCOMPAT_ZONED (1ULL << 12)
-#define BTRFS_FEATURE_INCOMPAT_EXTENT_TREE_V2 (1ULL << 13)
struct btrfs_ioctl_feature_flags {
__u64 compat_flags;
@@ -869,134 +868,6 @@ struct btrfs_ioctl_get_subvol_rootref_args {
__u8 align[7];
};
-/*
- * Data and metadata for an encoded read or write.
- *
- * Encoded I/O bypasses any encoding automatically done by the filesystem (e.g.,
- * compression). This can be used to read the compressed contents of a file or
- * write pre-compressed data directly to a file.
- *
- * BTRFS_IOC_ENCODED_READ and BTRFS_IOC_ENCODED_WRITE are essentially
- * preadv/pwritev with additional metadata about how the data is encoded and the
- * size of the unencoded data.
- *
- * BTRFS_IOC_ENCODED_READ fills the given iovecs with the encoded data, fills
- * the metadata fields, and returns the size of the encoded data. It reads one
- * extent per call. It can also read data which is not encoded.
- *
- * BTRFS_IOC_ENCODED_WRITE uses the metadata fields, writes the encoded data
- * from the iovecs, and returns the size of the encoded data. Note that the
- * encoded data is not validated when it is written; if it is not valid (e.g.,
- * it cannot be decompressed), then a subsequent read may return an error.
- *
- * Since the filesystem page cache contains decoded data, encoded I/O bypasses
- * the page cache. Encoded I/O requires CAP_SYS_ADMIN.
- */
-struct btrfs_ioctl_encoded_io_args {
- /* Input parameters for both reads and writes. */
-
- /*
- * iovecs containing encoded data.
- *
- * For reads, if the size of the encoded data is larger than the sum of
- * iov[n].iov_len for 0 <= n < iovcnt, then the ioctl fails with
- * ENOBUFS.
- *
- * For writes, the size of the encoded data is the sum of iov[n].iov_len
- * for 0 <= n < iovcnt. This must be less than 128 KiB (this limit may
- * increase in the future). This must also be less than or equal to
- * unencoded_len.
- */
- const struct iovec __user *iov;
- /* Number of iovecs. */
- unsigned long iovcnt;
- /*
- * Offset in file.
- *
- * For writes, must be aligned to the sector size of the filesystem.
- */
- __s64 offset;
- /* Currently must be zero. */
- __u64 flags;
-
- /*
- * For reads, the following members are output parameters that will
- * contain the returned metadata for the encoded data.
- * For writes, the following members must be set to the metadata for the
- * encoded data.
- */
-
- /*
- * Length of the data in the file.
- *
- * Must be less than or equal to unencoded_len - unencoded_offset. For
- * writes, must be aligned to the sector size of the filesystem unless
- * the data ends at or beyond the current end of the file.
- */
- __u64 len;
- /*
- * Length of the unencoded (i.e., decrypted and decompressed) data.
- *
- * For writes, must be no more than 128 KiB (this limit may increase in
- * the future). If the unencoded data is actually longer than
- * unencoded_len, then it is truncated; if it is shorter, then it is
- * extended with zeroes.
- */
- __u64 unencoded_len;
- /*
- * Offset from the first byte of the unencoded data to the first byte of
- * logical data in the file.
- *
- * Must be less than unencoded_len.
- */
- __u64 unencoded_offset;
- /*
- * BTRFS_ENCODED_IO_COMPRESSION_* type.
- *
- * For writes, must not be BTRFS_ENCODED_IO_COMPRESSION_NONE.
- */
- __u32 compression;
- /* Currently always BTRFS_ENCODED_IO_ENCRYPTION_NONE. */
- __u32 encryption;
- /*
- * Reserved for future expansion.
- *
- * For reads, always returned as zero. Users should check for non-zero
- * bytes. If there are any, then the kernel has a newer version of this
- * structure with additional information that the user definition is
- * missing.
- *
- * For writes, must be zeroed.
- */
- __u8 reserved[64];
-};
-
-/* Data is not compressed. */
-#define BTRFS_ENCODED_IO_COMPRESSION_NONE 0
-/* Data is compressed as a single zlib stream. */
-#define BTRFS_ENCODED_IO_COMPRESSION_ZLIB 1
-/*
- * Data is compressed as a single zstd frame with the windowLog compression
- * parameter set to no more than 17.
- */
-#define BTRFS_ENCODED_IO_COMPRESSION_ZSTD 2
-/*
- * Data is compressed sector by sector (using the sector size indicated by the
- * name of the constant) with LZO1X and wrapped in the format documented in
- * fs/btrfs/lzo.c. For writes, the compression sector size must match the
- * filesystem sector size.
- */
-#define BTRFS_ENCODED_IO_COMPRESSION_LZO_4K 3
-#define BTRFS_ENCODED_IO_COMPRESSION_LZO_8K 4
-#define BTRFS_ENCODED_IO_COMPRESSION_LZO_16K 5
-#define BTRFS_ENCODED_IO_COMPRESSION_LZO_32K 6
-#define BTRFS_ENCODED_IO_COMPRESSION_LZO_64K 7
-#define BTRFS_ENCODED_IO_COMPRESSION_TYPES 8
-
-/* Data is not encrypted. */
-#define BTRFS_ENCODED_IO_ENCRYPTION_NONE 0
-#define BTRFS_ENCODED_IO_ENCRYPTION_TYPES 1
-
/* Error codes as returned by the kernel */
enum btrfs_err_code {
BTRFS_ERROR_DEV_RAID1_MIN_NOT_MET = 1,
@@ -1125,9 +996,5 @@ enum btrfs_err_code {
struct btrfs_ioctl_ino_lookup_user_args)
#define BTRFS_IOC_SNAP_DESTROY_V2 _IOW(BTRFS_IOCTL_MAGIC, 63, \
struct btrfs_ioctl_vol_args_v2)
-#define BTRFS_IOC_ENCODED_READ _IOR(BTRFS_IOCTL_MAGIC, 64, \
- struct btrfs_ioctl_encoded_io_args)
-#define BTRFS_IOC_ENCODED_WRITE _IOW(BTRFS_IOCTL_MAGIC, 64, \
- struct btrfs_ioctl_encoded_io_args)
#endif /* _UAPI_LINUX_BTRFS_H */
diff --git a/original/uapi/linux/btrfs_tree.h b/original/uapi/linux/btrfs_tree.h
index b069752..5416f1f 100644
--- a/original/uapi/linux/btrfs_tree.h
+++ b/original/uapi/linux/btrfs_tree.h
@@ -53,9 +53,6 @@
/* tracks free space in block groups. */
#define BTRFS_FREE_SPACE_TREE_OBJECTID 10ULL
-/* Holds the block group items for extent tree v2. */
-#define BTRFS_BLOCK_GROUP_TREE_OBJECTID 11ULL
-
/* device stats in the device tree */
#define BTRFS_DEV_STATS_OBJECTID 0ULL
diff --git a/original/uapi/linux/can/isotp.h b/original/uapi/linux/can/isotp.h
index 590f8ae..c55935b 100644
--- a/original/uapi/linux/can/isotp.h
+++ b/original/uapi/linux/can/isotp.h
@@ -137,16 +137,20 @@ struct can_isotp_ll_options {
#define CAN_ISOTP_WAIT_TX_DONE 0x400 /* wait for tx completion */
#define CAN_ISOTP_SF_BROADCAST 0x800 /* 1-to-N functional addressing */
-/* protocol machine default values */
+/* default values */
#define CAN_ISOTP_DEFAULT_FLAGS 0
#define CAN_ISOTP_DEFAULT_EXT_ADDRESS 0x00
#define CAN_ISOTP_DEFAULT_PAD_CONTENT 0xCC /* prevent bit-stuffing */
-#define CAN_ISOTP_DEFAULT_FRAME_TXTIME 50000 /* 50 micro seconds */
+#define CAN_ISOTP_DEFAULT_FRAME_TXTIME 0
#define CAN_ISOTP_DEFAULT_RECV_BS 0
#define CAN_ISOTP_DEFAULT_RECV_STMIN 0x00
#define CAN_ISOTP_DEFAULT_RECV_WFTMAX 0
+#define CAN_ISOTP_DEFAULT_LL_MTU CAN_MTU
+#define CAN_ISOTP_DEFAULT_LL_TX_DL CAN_MAX_DLEN
+#define CAN_ISOTP_DEFAULT_LL_TX_FLAGS 0
+
/*
* Remark on CAN_ISOTP_DEFAULT_RECV_* values:
*
@@ -158,24 +162,4 @@ struct can_isotp_ll_options {
* consistency and copied directly into the flow control (FC) frame.
*/
-/* link layer default values => make use of Classical CAN frames */
-
-#define CAN_ISOTP_DEFAULT_LL_MTU CAN_MTU
-#define CAN_ISOTP_DEFAULT_LL_TX_DL CAN_MAX_DLEN
-#define CAN_ISOTP_DEFAULT_LL_TX_FLAGS 0
-
-/*
- * The CAN_ISOTP_DEFAULT_FRAME_TXTIME has become a non-zero value as
- * it only makes sense for isotp implementation tests to run without
- * a N_As value. As user space applications usually do not set the
- * frame_txtime element of struct can_isotp_options the new in-kernel
- * default is very likely overwritten with zero when the sockopt()
- * CAN_ISOTP_OPTS is invoked.
- * To make sure that a N_As value of zero is only set intentional the
- * value '0' is now interpreted as 'do not change the current value'.
- * When a frame_txtime of zero is required for testing purposes this
- * CAN_ISOTP_FRAME_TXTIME_ZERO u32 value has to be set in frame_txtime.
- */
-#define CAN_ISOTP_FRAME_TXTIME_ZERO 0xFFFFFFFF
-
#endif /* !_UAPI_CAN_ISOTP_H */
diff --git a/original/uapi/linux/counter.h b/original/uapi/linux/counter.h
index 96c5ffd..d0aa95a 100644
--- a/original/uapi/linux/counter.h
+++ b/original/uapi/linux/counter.h
@@ -61,8 +61,6 @@ enum counter_event_type {
COUNTER_EVENT_THRESHOLD,
/* Index signal detected */
COUNTER_EVENT_INDEX,
- /* State of counter is changed */
- COUNTER_EVENT_CHANGE_OF_STATE,
};
/**
diff --git a/original/uapi/linux/dm-ioctl.h b/original/uapi/linux/dm-ioctl.h
index 2e9550f..c12ce30 100644
--- a/original/uapi/linux/dm-ioctl.h
+++ b/original/uapi/linux/dm-ioctl.h
@@ -286,9 +286,9 @@ enum {
#define DM_DEV_SET_GEOMETRY _IOWR(DM_IOCTL, DM_DEV_SET_GEOMETRY_CMD, struct dm_ioctl)
#define DM_VERSION_MAJOR 4
-#define DM_VERSION_MINOR 46
+#define DM_VERSION_MINOR 45
#define DM_VERSION_PATCHLEVEL 0
-#define DM_VERSION_EXTRA "-ioctl (2022-02-22)"
+#define DM_VERSION_EXTRA "-ioctl (2021-03-22)"
/* Status bits */
#define DM_READONLY_FLAG (1 << 0) /* In/Out */
diff --git a/original/uapi/linux/dma-buf.h b/original/uapi/linux/dma-buf.h
index b1523cb..8e4a2ca 100644
--- a/original/uapi/linux/dma-buf.h
+++ b/original/uapi/linux/dma-buf.h
@@ -92,7 +92,7 @@ struct dma_buf_sync {
* between them in actual uapi, they're just different numbers.
*/
#define DMA_BUF_SET_NAME _IOW(DMA_BUF_BASE, 1, const char *)
-#define DMA_BUF_SET_NAME_A _IOW(DMA_BUF_BASE, 1, __u32)
-#define DMA_BUF_SET_NAME_B _IOW(DMA_BUF_BASE, 1, __u64)
+#define DMA_BUF_SET_NAME_A _IOW(DMA_BUF_BASE, 1, u32)
+#define DMA_BUF_SET_NAME_B _IOW(DMA_BUF_BASE, 1, u64)
#endif
diff --git a/original/uapi/linux/elf.h b/original/uapi/linux/elf.h
index 7ce993e..61bf477 100644
--- a/original/uapi/linux/elf.h
+++ b/original/uapi/linux/elf.h
@@ -35,14 +35,10 @@ typedef __s64 Elf64_Sxword;
#define PT_HIOS 0x6fffffff /* OS-specific */
#define PT_LOPROC 0x70000000
#define PT_HIPROC 0x7fffffff
-#define PT_GNU_EH_FRAME (PT_LOOS + 0x474e550)
-#define PT_GNU_STACK (PT_LOOS + 0x474e551)
-#define PT_GNU_RELRO (PT_LOOS + 0x474e552)
-#define PT_GNU_PROPERTY (PT_LOOS + 0x474e553)
-
+#define PT_GNU_EH_FRAME 0x6474e550
+#define PT_GNU_PROPERTY 0x6474e553
-/* ARM MTE memory tag segment type */
-#define PT_AARCH64_MEMTAG_MTE (PT_LOPROC + 0x2)
+#define PT_GNU_STACK (PT_LOOS + 0x474e551)
/*
* Extended Numbering
diff --git a/original/uapi/linux/ethtool_netlink.h b/original/uapi/linux/ethtool_netlink.h
index 9798502..cca6e47 100644
--- a/original/uapi/linux/ethtool_netlink.h
+++ b/original/uapi/linux/ethtool_netlink.h
@@ -319,12 +319,6 @@ enum {
/* RINGS */
enum {
- ETHTOOL_TCP_DATA_SPLIT_UNKNOWN = 0,
- ETHTOOL_TCP_DATA_SPLIT_DISABLED,
- ETHTOOL_TCP_DATA_SPLIT_ENABLED,
-};
-
-enum {
ETHTOOL_A_RINGS_UNSPEC,
ETHTOOL_A_RINGS_HEADER, /* nest - _A_HEADER_* */
ETHTOOL_A_RINGS_RX_MAX, /* u32 */
@@ -336,8 +330,6 @@ enum {
ETHTOOL_A_RINGS_RX_JUMBO, /* u32 */
ETHTOOL_A_RINGS_TX, /* u32 */
ETHTOOL_A_RINGS_RX_BUF_LEN, /* u32 */
- ETHTOOL_A_RINGS_TCP_DATA_SPLIT, /* u8 */
- ETHTOOL_A_RINGS_CQE_SIZE, /* u32 */
/* add new constants above here */
__ETHTOOL_A_RINGS_CNT,
diff --git a/original/uapi/linux/fb.h b/original/uapi/linux/fb.h
index 3a49913..4c14e8b 100644
--- a/original/uapi/linux/fb.h
+++ b/original/uapi/linux/fb.h
@@ -182,7 +182,7 @@ struct fb_fix_screeninfo {
*
* For pseudocolor: offset and length should be the same for all color
* components. Offset specifies the position of the least significant bit
- * of the palette index in a pixel value. Length indicates the number
+ * of the pallette index in a pixel value. Length indicates the number
* of available palette entries (i.e. # of entries = 1 << length).
*/
struct fb_bitfield {
diff --git a/original/uapi/linux/fsi.h b/original/uapi/linux/fsi.h
index b2f1977..da577ec 100644
--- a/original/uapi/linux/fsi.h
+++ b/original/uapi/linux/fsi.h
@@ -55,18 +55,4 @@ struct scom_access {
#define FSI_SCOM_WRITE _IOWR('s', 0x02, struct scom_access)
#define FSI_SCOM_RESET _IOW('s', 0x03, __u32)
-/*
- * /dev/sbefifo* ioctl interface
- */
-
-/**
- * FSI_SBEFIFO_READ_TIMEOUT sets the read timeout for response from SBE.
- *
- * The read timeout is specified in seconds. The minimum value of read
- * timeout is 10 seconds (default) and the maximum value of read timeout is
- * 120 seconds. A read timeout of 0 will reset the value to the default of
- * (10 seconds).
- */
-#define FSI_SBEFIFO_READ_TIMEOUT_SECONDS _IOW('s', 0x00, __u32)
-
#endif /* _UAPI_LINUX_FSI_H */
diff --git a/original/uapi/linux/fsmap.h b/original/uapi/linux/fsmap.h
index c690d17..91fd519 100644
--- a/original/uapi/linux/fsmap.h
+++ b/original/uapi/linux/fsmap.h
@@ -69,7 +69,7 @@ struct fsmap_head {
};
/* Size of an fsmap_head with room for nr records. */
-static inline __kernel_size_t
+static inline size_t
fsmap_sizeof(
unsigned int nr)
{
diff --git a/original/uapi/linux/gtp.h b/original/uapi/linux/gtp.h
index 2f61298..79f9191 100644
--- a/original/uapi/linux/gtp.h
+++ b/original/uapi/linux/gtp.h
@@ -8,7 +8,6 @@ enum gtp_genl_cmds {
GTP_CMD_NEWPDP,
GTP_CMD_DELPDP,
GTP_CMD_GETPDP,
- GTP_CMD_ECHOREQ,
GTP_CMD_MAX,
};
diff --git a/original/uapi/linux/hyperv.h b/original/uapi/linux/hyperv.h
index aaa502a..daf82a2 100644
--- a/original/uapi/linux/hyperv.h
+++ b/original/uapi/linux/hyperv.h
@@ -90,17 +90,6 @@ struct hv_vss_check_dm_info {
__u32 flags;
} __attribute__((packed));
-/*
- * struct hv_vss_msg encodes the fields that the Linux VSS
- * driver accesses. However, FREEZE messages from Hyper-V contain
- * additional LUN information that Linux doesn't use and are not
- * represented in struct hv_vss_msg. A received FREEZE message may
- * be as large as 6,260 bytes, so the driver must allocate at least
- * that much space, not sizeof(struct hv_vss_msg). Other messages
- * such as AUTO_RECOVER may be as large as 12,500 bytes. However,
- * because the Linux VSS driver responds that it doesn't support
- * auto-recovery, it should not receive such messages.
- */
struct hv_vss_msg {
union {
struct hv_vss_hdr vss_hdr;
diff --git a/original/uapi/linux/if_addr.h b/original/uapi/linux/if_addr.h
index 1c392dd..dfcf3ce 100644
--- a/original/uapi/linux/if_addr.h
+++ b/original/uapi/linux/if_addr.h
@@ -33,9 +33,8 @@ enum {
IFA_CACHEINFO,
IFA_MULTICAST,
IFA_FLAGS,
- IFA_RT_PRIORITY, /* u32, priority/metric for prefix route */
+ IFA_RT_PRIORITY, /* u32, priority/metric for prefix route */
IFA_TARGET_NETNSID,
- IFA_PROTO, /* u8, address protocol */
__IFA_MAX,
};
@@ -70,10 +69,4 @@ struct ifa_cacheinfo {
#define IFA_PAYLOAD(n) NLMSG_PAYLOAD(n,sizeof(struct ifaddrmsg))
#endif
-/* ifa_proto */
-#define IFAPROT_UNSPEC 0
-#define IFAPROT_KERNEL_LO 1 /* loopback */
-#define IFAPROT_KERNEL_RA 2 /* set by kernel from router announcement */
-#define IFAPROT_KERNEL_LL 3 /* link-local set by kernel */
-
#endif
diff --git a/original/uapi/linux/if_bridge.h b/original/uapi/linux/if_bridge.h
index a86a7e7..2711c35 100644
--- a/original/uapi/linux/if_bridge.h
+++ b/original/uapi/linux/if_bridge.h
@@ -122,7 +122,6 @@ enum {
IFLA_BRIDGE_VLAN_TUNNEL_INFO,
IFLA_BRIDGE_MRP,
IFLA_BRIDGE_CFM,
- IFLA_BRIDGE_MST,
__IFLA_BRIDGE_MAX,
};
#define IFLA_BRIDGE_MAX (__IFLA_BRIDGE_MAX - 1)
@@ -454,21 +453,6 @@ enum {
#define IFLA_BRIDGE_CFM_CC_PEER_STATUS_MAX (__IFLA_BRIDGE_CFM_CC_PEER_STATUS_MAX - 1)
-enum {
- IFLA_BRIDGE_MST_UNSPEC,
- IFLA_BRIDGE_MST_ENTRY,
- __IFLA_BRIDGE_MST_MAX,
-};
-#define IFLA_BRIDGE_MST_MAX (__IFLA_BRIDGE_MST_MAX - 1)
-
-enum {
- IFLA_BRIDGE_MST_ENTRY_UNSPEC,
- IFLA_BRIDGE_MST_ENTRY_MSTI,
- IFLA_BRIDGE_MST_ENTRY_STATE,
- __IFLA_BRIDGE_MST_ENTRY_MAX,
-};
-#define IFLA_BRIDGE_MST_ENTRY_MAX (__IFLA_BRIDGE_MST_ENTRY_MAX - 1)
-
struct bridge_stp_xstats {
__u64 transition_blk;
__u64 transition_fwd;
@@ -580,7 +564,6 @@ enum {
BRIDGE_VLANDB_GOPTS_MCAST_QUERIER,
BRIDGE_VLANDB_GOPTS_MCAST_ROUTER_PORTS,
BRIDGE_VLANDB_GOPTS_MCAST_QUERIER_STATE,
- BRIDGE_VLANDB_GOPTS_MSTI,
__BRIDGE_VLANDB_GOPTS_MAX
};
#define BRIDGE_VLANDB_GOPTS_MAX (__BRIDGE_VLANDB_GOPTS_MAX - 1)
@@ -776,7 +759,6 @@ struct br_mcast_stats {
enum br_boolopt_id {
BR_BOOLOPT_NO_LL_LEARN,
BR_BOOLOPT_MCAST_VLAN_SNOOPING,
- BR_BOOLOPT_MST_ENABLE,
BR_BOOLOPT_MAX
};
diff --git a/original/uapi/linux/if_ether.h b/original/uapi/linux/if_ether.h
index 1d0bccc..c0c2f3e 100644
--- a/original/uapi/linux/if_ether.h
+++ b/original/uapi/linux/if_ether.h
@@ -86,10 +86,8 @@
* over Ethernet
*/
#define ETH_P_PAE 0x888E /* Port Access Entity (IEEE 802.1X) */
-#define ETH_P_PROFINET 0x8892 /* PROFINET */
#define ETH_P_REALTEK 0x8899 /* Multiple proprietary protocols */
#define ETH_P_AOE 0x88A2 /* ATA over Ethernet */
-#define ETH_P_ETHERCAT 0x88A4 /* EtherCAT */
#define ETH_P_8021AD 0x88A8 /* 802.1ad Service VLAN */
#define ETH_P_802_EX1 0x88B5 /* 802.1 Local Experimental 1. */
#define ETH_P_PREAUTH 0x88C7 /* 802.11 Preauthentication */
diff --git a/original/uapi/linux/if_link.h b/original/uapi/linux/if_link.h
index cc284c0..6218f93 100644
--- a/original/uapi/linux/if_link.h
+++ b/original/uapi/linux/if_link.h
@@ -245,21 +245,6 @@ struct rtnl_link_stats64 {
__u64 rx_nohandler;
};
-/* Subset of link stats useful for in-HW collection. Meaning of the fields is as
- * for struct rtnl_link_stats64.
- */
-struct rtnl_hw_stats64 {
- __u64 rx_packets;
- __u64 tx_packets;
- __u64 rx_bytes;
- __u64 tx_bytes;
- __u64 rx_errors;
- __u64 tx_errors;
- __u64 rx_dropped;
- __u64 tx_dropped;
- __u64 multicast;
-};
-
/* The struct should be in sync with struct ifmap */
struct rtnl_link_ifmap {
__u64 mem_start;
@@ -552,7 +537,6 @@ enum {
IFLA_BRPORT_MRP_IN_OPEN,
IFLA_BRPORT_MCAST_EHT_HOSTS_LIMIT,
IFLA_BRPORT_MCAST_EHT_HOSTS_CNT,
- IFLA_BRPORT_LOCKED,
__IFLA_BRPORT_MAX
};
#define IFLA_BRPORT_MAX (__IFLA_BRPORT_MAX - 1)
@@ -728,55 +712,7 @@ enum ipvlan_mode {
#define IPVLAN_F_PRIVATE 0x01
#define IPVLAN_F_VEPA 0x02
-/* Tunnel RTM header */
-struct tunnel_msg {
- __u8 family;
- __u8 flags;
- __u16 reserved2;
- __u32 ifindex;
-};
-
/* VXLAN section */
-
-/* include statistics in the dump */
-#define TUNNEL_MSG_FLAG_STATS 0x01
-
-#define TUNNEL_MSG_VALID_USER_FLAGS TUNNEL_MSG_FLAG_STATS
-
-/* Embedded inside VXLAN_VNIFILTER_ENTRY_STATS */
-enum {
- VNIFILTER_ENTRY_STATS_UNSPEC,
- VNIFILTER_ENTRY_STATS_RX_BYTES,
- VNIFILTER_ENTRY_STATS_RX_PKTS,
- VNIFILTER_ENTRY_STATS_RX_DROPS,
- VNIFILTER_ENTRY_STATS_RX_ERRORS,
- VNIFILTER_ENTRY_STATS_TX_BYTES,
- VNIFILTER_ENTRY_STATS_TX_PKTS,
- VNIFILTER_ENTRY_STATS_TX_DROPS,
- VNIFILTER_ENTRY_STATS_TX_ERRORS,
- VNIFILTER_ENTRY_STATS_PAD,
- __VNIFILTER_ENTRY_STATS_MAX
-};
-#define VNIFILTER_ENTRY_STATS_MAX (__VNIFILTER_ENTRY_STATS_MAX - 1)
-
-enum {
- VXLAN_VNIFILTER_ENTRY_UNSPEC,
- VXLAN_VNIFILTER_ENTRY_START,
- VXLAN_VNIFILTER_ENTRY_END,
- VXLAN_VNIFILTER_ENTRY_GROUP,
- VXLAN_VNIFILTER_ENTRY_GROUP6,
- VXLAN_VNIFILTER_ENTRY_STATS,
- __VXLAN_VNIFILTER_ENTRY_MAX
-};
-#define VXLAN_VNIFILTER_ENTRY_MAX (__VXLAN_VNIFILTER_ENTRY_MAX - 1)
-
-enum {
- VXLAN_VNIFILTER_UNSPEC,
- VXLAN_VNIFILTER_ENTRY,
- __VXLAN_VNIFILTER_MAX
-};
-#define VXLAN_VNIFILTER_MAX (__VXLAN_VNIFILTER_MAX - 1)
-
enum {
IFLA_VXLAN_UNSPEC,
IFLA_VXLAN_ID,
@@ -808,7 +744,6 @@ enum {
IFLA_VXLAN_GPE,
IFLA_VXLAN_TTL_INHERIT,
IFLA_VXLAN_DF,
- IFLA_VXLAN_VNIFILTER, /* only applicable with COLLECT_METADATA mode */
__IFLA_VXLAN_MAX
};
#define IFLA_VXLAN_MAX (__IFLA_VXLAN_MAX - 1)
@@ -842,7 +777,6 @@ enum {
IFLA_GENEVE_LABEL,
IFLA_GENEVE_TTL_INHERIT,
IFLA_GENEVE_DF,
- IFLA_GENEVE_INNER_PROTO_INHERIT,
__IFLA_GENEVE_MAX
};
#define IFLA_GENEVE_MAX (__IFLA_GENEVE_MAX - 1)
@@ -888,8 +822,6 @@ enum {
IFLA_GTP_FD1,
IFLA_GTP_PDP_HASHSIZE,
IFLA_GTP_ROLE,
- IFLA_GTP_CREATE_SOCKETS,
- IFLA_GTP_RESTART_COUNT,
__IFLA_GTP_MAX,
};
#define IFLA_GTP_MAX (__IFLA_GTP_MAX - 1)
@@ -928,7 +860,6 @@ enum {
IFLA_BOND_PEER_NOTIF_DELAY,
IFLA_BOND_AD_LACP_ACTIVE,
IFLA_BOND_MISSED_MAX,
- IFLA_BOND_NS_IP6_TARGET,
__IFLA_BOND_MAX,
};
@@ -1225,17 +1156,6 @@ enum {
#define IFLA_STATS_FILTER_BIT(ATTR) (1 << (ATTR - 1))
-enum {
- IFLA_STATS_GETSET_UNSPEC,
- IFLA_STATS_GET_FILTERS, /* Nest of IFLA_STATS_LINK_xxx, each a u32 with
- * a filter mask for the corresponding group.
- */
- IFLA_STATS_SET_OFFLOAD_XSTATS_L3_STATS, /* 0 or 1 as u8 */
- __IFLA_STATS_GETSET_MAX,
-};
-
-#define IFLA_STATS_GETSET_MAX (__IFLA_STATS_GETSET_MAX - 1)
-
/* These are embedded into IFLA_STATS_LINK_XSTATS:
* [IFLA_STATS_LINK_XSTATS]
* -> [LINK_XSTATS_TYPE_xxx]
@@ -1253,21 +1173,10 @@ enum {
enum {
IFLA_OFFLOAD_XSTATS_UNSPEC,
IFLA_OFFLOAD_XSTATS_CPU_HIT, /* struct rtnl_link_stats64 */
- IFLA_OFFLOAD_XSTATS_HW_S_INFO, /* HW stats info. A nest */
- IFLA_OFFLOAD_XSTATS_L3_STATS, /* struct rtnl_hw_stats64 */
__IFLA_OFFLOAD_XSTATS_MAX
};
#define IFLA_OFFLOAD_XSTATS_MAX (__IFLA_OFFLOAD_XSTATS_MAX - 1)
-enum {
- IFLA_OFFLOAD_XSTATS_HW_S_INFO_UNSPEC,
- IFLA_OFFLOAD_XSTATS_HW_S_INFO_REQUEST, /* u8 */
- IFLA_OFFLOAD_XSTATS_HW_S_INFO_USED, /* u8 */
- __IFLA_OFFLOAD_XSTATS_HW_S_INFO_MAX,
-};
-#define IFLA_OFFLOAD_XSTATS_HW_S_INFO_MAX \
- (__IFLA_OFFLOAD_XSTATS_HW_S_INFO_MAX - 1)
-
/* XDP section */
#define XDP_FLAGS_UPDATE_IF_NOEXIST (1U << 0)
diff --git a/original/uapi/linux/if_tunnel.h b/original/uapi/linux/if_tunnel.h
index 1021196..7d91055 100644
--- a/original/uapi/linux/if_tunnel.h
+++ b/original/uapi/linux/if_tunnel.h
@@ -176,10 +176,8 @@ enum {
#define TUNNEL_VXLAN_OPT __cpu_to_be16(0x1000)
#define TUNNEL_NOCACHE __cpu_to_be16(0x2000)
#define TUNNEL_ERSPAN_OPT __cpu_to_be16(0x4000)
-#define TUNNEL_GTP_OPT __cpu_to_be16(0x8000)
#define TUNNEL_OPTIONS_PRESENT \
- (TUNNEL_GENEVE_OPT | TUNNEL_VXLAN_OPT | TUNNEL_ERSPAN_OPT | \
- TUNNEL_GTP_OPT)
+ (TUNNEL_GENEVE_OPT | TUNNEL_VXLAN_OPT | TUNNEL_ERSPAN_OPT)
#endif /* _UAPI_IF_TUNNEL_H_ */
diff --git a/original/uapi/linux/iio/types.h b/original/uapi/linux/iio/types.h
index 472cead..48c1314 100644
--- a/original/uapi/linux/iio/types.h
+++ b/original/uapi/linux/iio/types.h
@@ -104,7 +104,6 @@ enum iio_event_type {
IIO_EV_TYPE_THRESH_ADAPTIVE,
IIO_EV_TYPE_MAG_ADAPTIVE,
IIO_EV_TYPE_CHANGE,
- IIO_EV_TYPE_MAG_REFERENCED,
};
enum iio_event_direction {
diff --git a/original/uapi/linux/input-event-codes.h b/original/uapi/linux/input-event-codes.h
index dff8e7f..7989d94 100644
--- a/original/uapi/linux/input-event-codes.h
+++ b/original/uapi/linux/input-event-codes.h
@@ -662,27 +662,6 @@
/* Select an area of screen to be copied */
#define KEY_SELECTIVE_SCREENSHOT 0x27a
-/* Move the focus to the next or previous user controllable element within a UI container */
-#define KEY_NEXT_ELEMENT 0x27b
-#define KEY_PREVIOUS_ELEMENT 0x27c
-
-/* Toggle Autopilot engagement */
-#define KEY_AUTOPILOT_ENGAGE_TOGGLE 0x27d
-
-/* Shortcut Keys */
-#define KEY_MARK_WAYPOINT 0x27e
-#define KEY_SOS 0x27f
-#define KEY_NAV_CHART 0x280
-#define KEY_FISHING_CHART 0x281
-#define KEY_SINGLE_RANGE_RADAR 0x282
-#define KEY_DUAL_RANGE_RADAR 0x283
-#define KEY_RADAR_OVERLAY 0x284
-#define KEY_TRADITIONAL_SONAR 0x285
-#define KEY_CLEARVU_SONAR 0x286
-#define KEY_SIDEVU_SONAR 0x287
-#define KEY_NAV_INFO 0x288
-#define KEY_BRIGHTNESS_MENU 0x289
-
/*
* Some keyboards have keys which do not have a defined meaning, these keys
* are intended to be programmed / bound to macros by the user. For most
diff --git a/original/uapi/linux/io_uring.h b/original/uapi/linux/io_uring.h
index 1845cf7..787f491 100644
--- a/original/uapi/linux/io_uring.h
+++ b/original/uapi/linux/io_uring.h
@@ -101,7 +101,6 @@ enum {
#define IORING_SETUP_CLAMP (1U << 4) /* clamp SQ/CQ ring sizes */
#define IORING_SETUP_ATTACH_WQ (1U << 5) /* attach to existing wq */
#define IORING_SETUP_R_DISABLED (1U << 6) /* start with ring disabled */
-#define IORING_SETUP_SUBMIT_ALL (1U << 7) /* continue submit on error */
enum {
IORING_OP_NOP,
@@ -144,7 +143,6 @@ enum {
IORING_OP_MKDIRAT,
IORING_OP_SYMLINKAT,
IORING_OP_LINKAT,
- IORING_OP_MSG_RING,
/* this goes last, obviously */
IORING_OP_LAST,
@@ -259,11 +257,10 @@ struct io_cqring_offsets {
/*
* io_uring_enter(2) flags
*/
-#define IORING_ENTER_GETEVENTS (1U << 0)
-#define IORING_ENTER_SQ_WAKEUP (1U << 1)
-#define IORING_ENTER_SQ_WAIT (1U << 2)
-#define IORING_ENTER_EXT_ARG (1U << 3)
-#define IORING_ENTER_REGISTERED_RING (1U << 4)
+#define IORING_ENTER_GETEVENTS (1U << 0)
+#define IORING_ENTER_SQ_WAKEUP (1U << 1)
+#define IORING_ENTER_SQ_WAIT (1U << 2)
+#define IORING_ENTER_EXT_ARG (1U << 3)
/*
* Passed in for io_uring_setup(2). Copied back with updated info on success
@@ -296,7 +293,6 @@ struct io_uring_params {
#define IORING_FEAT_NATIVE_WORKERS (1U << 9)
#define IORING_FEAT_RSRC_TAGS (1U << 10)
#define IORING_FEAT_CQE_SKIP (1U << 11)
-#define IORING_FEAT_LINKED_FILE (1U << 12)
/*
* io_uring_register(2) opcodes and arguments
@@ -329,10 +325,6 @@ enum {
/* set/get max number of io-wq workers */
IORING_REGISTER_IOWQ_MAX_WORKERS = 19,
- /* register/unregister io_uring fd with the ring */
- IORING_REGISTER_RING_FDS = 20,
- IORING_UNREGISTER_RING_FDS = 21,
-
/* this goes last */
IORING_REGISTER_LAST
};
diff --git a/original/uapi/linux/ioam6_iptunnel.h b/original/uapi/linux/ioam6_iptunnel.h
index 38f6a8f..829ffdf 100644
--- a/original/uapi/linux/ioam6_iptunnel.h
+++ b/original/uapi/linux/ioam6_iptunnel.h
@@ -41,15 +41,6 @@ enum {
/* IOAM Trace Header */
IOAM6_IPTUNNEL_TRACE, /* struct ioam6_trace_hdr */
- /* Insertion frequency:
- * "k over n" packets (0 < k <= n)
- * [0.0001% ... 100%]
- */
-#define IOAM6_IPTUNNEL_FREQ_MIN 1
-#define IOAM6_IPTUNNEL_FREQ_MAX 1000000
- IOAM6_IPTUNNEL_FREQ_K, /* u32 */
- IOAM6_IPTUNNEL_FREQ_N, /* u32 */
-
__IOAM6_IPTUNNEL_MAX,
};
diff --git a/original/uapi/linux/iommu.h b/original/uapi/linux/iommu.h
index 65d8b02..59178fc 100644
--- a/original/uapi/linux/iommu.h
+++ b/original/uapi/linux/iommu.h
@@ -158,4 +158,185 @@ struct iommu_page_response {
__u32 code;
};
+/* defines the granularity of the invalidation */
+enum iommu_inv_granularity {
+ IOMMU_INV_GRANU_DOMAIN, /* domain-selective invalidation */
+ IOMMU_INV_GRANU_PASID, /* PASID-selective invalidation */
+ IOMMU_INV_GRANU_ADDR, /* page-selective invalidation */
+ IOMMU_INV_GRANU_NR, /* number of invalidation granularities */
+};
+
+/**
+ * struct iommu_inv_addr_info - Address Selective Invalidation Structure
+ *
+ * @flags: indicates the granularity of the address-selective invalidation
+ * - If the PASID bit is set, the @pasid field is populated and the invalidation
+ * relates to cache entries tagged with this PASID and matching the address
+ * range.
+ * - If ARCHID bit is set, @archid is populated and the invalidation relates
+ * to cache entries tagged with this architecture specific ID and matching
+ * the address range.
+ * - Both PASID and ARCHID can be set as they may tag different caches.
+ * - If neither PASID or ARCHID is set, global addr invalidation applies.
+ * - The LEAF flag indicates whether only the leaf PTE caching needs to be
+ * invalidated and other paging structure caches can be preserved.
+ * @pasid: process address space ID
+ * @archid: architecture-specific ID
+ * @addr: first stage/level input address
+ * @granule_size: page/block size of the mapping in bytes
+ * @nb_granules: number of contiguous granules to be invalidated
+ */
+struct iommu_inv_addr_info {
+#define IOMMU_INV_ADDR_FLAGS_PASID (1 << 0)
+#define IOMMU_INV_ADDR_FLAGS_ARCHID (1 << 1)
+#define IOMMU_INV_ADDR_FLAGS_LEAF (1 << 2)
+ __u32 flags;
+ __u32 archid;
+ __u64 pasid;
+ __u64 addr;
+ __u64 granule_size;
+ __u64 nb_granules;
+};
+
+/**
+ * struct iommu_inv_pasid_info - PASID Selective Invalidation Structure
+ *
+ * @flags: indicates the granularity of the PASID-selective invalidation
+ * - If the PASID bit is set, the @pasid field is populated and the invalidation
+ * relates to cache entries tagged with this PASID and matching the address
+ * range.
+ * - If the ARCHID bit is set, the @archid is populated and the invalidation
+ * relates to cache entries tagged with this architecture specific ID and
+ * matching the address range.
+ * - Both PASID and ARCHID can be set as they may tag different caches.
+ * - At least one of PASID or ARCHID must be set.
+ * @pasid: process address space ID
+ * @archid: architecture-specific ID
+ */
+struct iommu_inv_pasid_info {
+#define IOMMU_INV_PASID_FLAGS_PASID (1 << 0)
+#define IOMMU_INV_PASID_FLAGS_ARCHID (1 << 1)
+ __u32 flags;
+ __u32 archid;
+ __u64 pasid;
+};
+
+/**
+ * struct iommu_cache_invalidate_info - First level/stage invalidation
+ * information
+ * @argsz: User filled size of this data
+ * @version: API version of this structure
+ * @cache: bitfield that allows to select which caches to invalidate
+ * @granularity: defines the lowest granularity used for the invalidation:
+ * domain > PASID > addr
+ * @padding: reserved for future use (should be zero)
+ * @pasid_info: invalidation data when @granularity is %IOMMU_INV_GRANU_PASID
+ * @addr_info: invalidation data when @granularity is %IOMMU_INV_GRANU_ADDR
+ *
+ * Not all the combinations of cache/granularity are valid:
+ *
+ * +--------------+---------------+---------------+---------------+
+ * | type / | DEV_IOTLB | IOTLB | PASID |
+ * | granularity | | | cache |
+ * +==============+===============+===============+===============+
+ * | DOMAIN | N/A | Y | Y |
+ * +--------------+---------------+---------------+---------------+
+ * | PASID | Y | Y | Y |
+ * +--------------+---------------+---------------+---------------+
+ * | ADDR | Y | Y | N/A |
+ * +--------------+---------------+---------------+---------------+
+ *
+ * Invalidations by %IOMMU_INV_GRANU_DOMAIN don't take any argument other than
+ * @version and @cache.
+ *
+ * If multiple cache types are invalidated simultaneously, they all
+ * must support the used granularity.
+ */
+struct iommu_cache_invalidate_info {
+ __u32 argsz;
+#define IOMMU_CACHE_INVALIDATE_INFO_VERSION_1 1
+ __u32 version;
+/* IOMMU paging structure cache */
+#define IOMMU_CACHE_INV_TYPE_IOTLB (1 << 0) /* IOMMU IOTLB */
+#define IOMMU_CACHE_INV_TYPE_DEV_IOTLB (1 << 1) /* Device IOTLB */
+#define IOMMU_CACHE_INV_TYPE_PASID (1 << 2) /* PASID cache */
+#define IOMMU_CACHE_INV_TYPE_NR (3)
+ __u8 cache;
+ __u8 granularity;
+ __u8 padding[6];
+ union {
+ struct iommu_inv_pasid_info pasid_info;
+ struct iommu_inv_addr_info addr_info;
+ } granu;
+};
+
+/**
+ * struct iommu_gpasid_bind_data_vtd - Intel VT-d specific data on device and guest
+ * SVA binding.
+ *
+ * @flags: VT-d PASID table entry attributes
+ * @pat: Page attribute table data to compute effective memory type
+ * @emt: Extended memory type
+ *
+ * Only guest vIOMMU selectable and effective options are passed down to
+ * the host IOMMU.
+ */
+struct iommu_gpasid_bind_data_vtd {
+#define IOMMU_SVA_VTD_GPASID_SRE (1 << 0) /* supervisor request */
+#define IOMMU_SVA_VTD_GPASID_EAFE (1 << 1) /* extended access enable */
+#define IOMMU_SVA_VTD_GPASID_PCD (1 << 2) /* page-level cache disable */
+#define IOMMU_SVA_VTD_GPASID_PWT (1 << 3) /* page-level write through */
+#define IOMMU_SVA_VTD_GPASID_EMTE (1 << 4) /* extended mem type enable */
+#define IOMMU_SVA_VTD_GPASID_CD (1 << 5) /* PASID-level cache disable */
+#define IOMMU_SVA_VTD_GPASID_WPE (1 << 6) /* Write protect enable */
+#define IOMMU_SVA_VTD_GPASID_LAST (1 << 7)
+ __u64 flags;
+ __u32 pat;
+ __u32 emt;
+};
+
+#define IOMMU_SVA_VTD_GPASID_MTS_MASK (IOMMU_SVA_VTD_GPASID_CD | \
+ IOMMU_SVA_VTD_GPASID_EMTE | \
+ IOMMU_SVA_VTD_GPASID_PCD | \
+ IOMMU_SVA_VTD_GPASID_PWT)
+
+/**
+ * struct iommu_gpasid_bind_data - Information about device and guest PASID binding
+ * @argsz: User filled size of this data
+ * @version: Version of this data structure
+ * @format: PASID table entry format
+ * @flags: Additional information on guest bind request
+ * @gpgd: Guest page directory base of the guest mm to bind
+ * @hpasid: Process address space ID used for the guest mm in host IOMMU
+ * @gpasid: Process address space ID used for the guest mm in guest IOMMU
+ * @addr_width: Guest virtual address width
+ * @padding: Reserved for future use (should be zero)
+ * @vtd: Intel VT-d specific data
+ *
+ * Guest to host PASID mapping can be an identity or non-identity, where guest
+ * has its own PASID space. For non-identify mapping, guest to host PASID lookup
+ * is needed when VM programs guest PASID into an assigned device. VMM may
+ * trap such PASID programming then request host IOMMU driver to convert guest
+ * PASID to host PASID based on this bind data.
+ */
+struct iommu_gpasid_bind_data {
+ __u32 argsz;
+#define IOMMU_GPASID_BIND_VERSION_1 1
+ __u32 version;
+#define IOMMU_PASID_FORMAT_INTEL_VTD 1
+#define IOMMU_PASID_FORMAT_LAST 2
+ __u32 format;
+ __u32 addr_width;
+#define IOMMU_SVA_GPASID_VAL (1 << 0) /* guest PASID valid */
+ __u64 flags;
+ __u64 gpgd;
+ __u64 hpasid;
+ __u64 gpasid;
+ __u8 padding[8];
+ /* Vendor specific data */
+ union {
+ struct iommu_gpasid_bind_data_vtd vtd;
+ } vendor;
+};
+
#endif /* _UAPI_IOMMU_H */
diff --git a/original/uapi/linux/kexec.h b/original/uapi/linux/kexec.h
index fb7e2ef..778dc19 100644
--- a/original/uapi/linux/kexec.h
+++ b/original/uapi/linux/kexec.h
@@ -54,9 +54,9 @@
*/
struct kexec_segment {
const void *buf;
- __kernel_size_t bufsz;
+ size_t bufsz;
const void *mem;
- __kernel_size_t memsz;
+ size_t memsz;
};
#endif /* __KERNEL__ */
diff --git a/original/uapi/linux/kfd_ioctl.h b/original/uapi/linux/kfd_ioctl.h
index 42975e9..af96af1 100644
--- a/original/uapi/linux/kfd_ioctl.h
+++ b/original/uapi/linux/kfd_ioctl.h
@@ -32,11 +32,9 @@
* - 1.4 - Indicate new SRAM EDC bit in device properties
* - 1.5 - Add SVM API
* - 1.6 - Query clear flags in SVM get_attr API
- * - 1.7 - Checkpoint Restore (CRIU) API
- * - 1.8 - CRIU - Support for SDMA transfers with GTT BOs
*/
#define KFD_IOCTL_MAJOR_VERSION 1
-#define KFD_IOCTL_MINOR_VERSION 8
+#define KFD_IOCTL_MINOR_VERSION 6
struct kfd_ioctl_get_version_args {
__u32 major_version; /* from KFD */
@@ -196,8 +194,6 @@ struct kfd_ioctl_dbg_wave_control_args {
__u32 buf_size_in_bytes; /*including gpu_id and buf_size */
};
-#define KFD_INVALID_FD 0xffffffff
-
/* Matching HSA_EVENTTYPE */
#define KFD_IOC_EVENT_SIGNAL 0
#define KFD_IOC_EVENT_NODECHANGE 1
@@ -466,89 +462,12 @@ enum kfd_smi_event {
};
#define KFD_SMI_EVENT_MASK_FROM_INDEX(i) (1ULL << ((i) - 1))
-#define KFD_SMI_EVENT_MSG_SIZE 96
struct kfd_ioctl_smi_events_args {
__u32 gpuid; /* to KFD */
__u32 anon_fd; /* from KFD */
};
-/**************************************************************************************************
- * CRIU IOCTLs (Checkpoint Restore In Userspace)
- *
- * When checkpointing a process, the userspace application will perform:
- * 1. PROCESS_INFO op to determine current process information. This pauses execution and evicts
- * all the queues.
- * 2. CHECKPOINT op to checkpoint process contents (BOs, queues, events, svm-ranges)
- * 3. UNPAUSE op to un-evict all the queues
- *
- * When restoring a process, the CRIU userspace application will perform:
- *
- * 1. RESTORE op to restore process contents
- * 2. RESUME op to start the process
- *
- * Note: Queues are forced into an evicted state after a successful PROCESS_INFO. User
- * application needs to perform an UNPAUSE operation after calling PROCESS_INFO.
- */
-
-enum kfd_criu_op {
- KFD_CRIU_OP_PROCESS_INFO,
- KFD_CRIU_OP_CHECKPOINT,
- KFD_CRIU_OP_UNPAUSE,
- KFD_CRIU_OP_RESTORE,
- KFD_CRIU_OP_RESUME,
-};
-
-/**
- * kfd_ioctl_criu_args - Arguments perform CRIU operation
- * @devices: [in/out] User pointer to memory location for devices information.
- * This is an array of type kfd_criu_device_bucket.
- * @bos: [in/out] User pointer to memory location for BOs information
- * This is an array of type kfd_criu_bo_bucket.
- * @priv_data: [in/out] User pointer to memory location for private data
- * @priv_data_size: [in/out] Size of priv_data in bytes
- * @num_devices: [in/out] Number of GPUs used by process. Size of @devices array.
- * @num_bos [in/out] Number of BOs used by process. Size of @bos array.
- * @num_objects: [in/out] Number of objects used by process. Objects are opaque to
- * user application.
- * @pid: [in/out] PID of the process being checkpointed
- * @op [in] Type of operation (kfd_criu_op)
- *
- * Return: 0 on success, -errno on failure
- */
-struct kfd_ioctl_criu_args {
- __u64 devices; /* Used during ops: CHECKPOINT, RESTORE */
- __u64 bos; /* Used during ops: CHECKPOINT, RESTORE */
- __u64 priv_data; /* Used during ops: CHECKPOINT, RESTORE */
- __u64 priv_data_size; /* Used during ops: PROCESS_INFO, RESTORE */
- __u32 num_devices; /* Used during ops: PROCESS_INFO, RESTORE */
- __u32 num_bos; /* Used during ops: PROCESS_INFO, RESTORE */
- __u32 num_objects; /* Used during ops: PROCESS_INFO, RESTORE */
- __u32 pid; /* Used during ops: PROCESS_INFO, RESUME */
- __u32 op;
-};
-
-struct kfd_criu_device_bucket {
- __u32 user_gpu_id;
- __u32 actual_gpu_id;
- __u32 drm_fd;
- __u32 pad;
-};
-
-struct kfd_criu_bo_bucket {
- __u64 addr;
- __u64 size;
- __u64 offset;
- __u64 restored_offset; /* During restore, updated offset for BO */
- __u32 gpu_id; /* This is the user_gpu_id */
- __u32 alloc_flags;
- __u32 dmabuf_fd;
- __u32 pad;
-};
-
-/* CRIU IOCTLs - END */
-/**************************************************************************************************/
-
/* Register offset inside the remapped mmio page
*/
enum kfd_mmio_remap {
@@ -677,7 +596,7 @@ struct kfd_ioctl_svm_args {
__u32 op;
__u32 nattr;
/* Variable length array of attributes */
- struct kfd_ioctl_svm_attribute attrs[];
+ struct kfd_ioctl_svm_attribute attrs[0];
};
/**
@@ -760,16 +679,16 @@ struct kfd_ioctl_set_xnack_mode_args {
#define AMDKFD_IOC_WAIT_EVENTS \
AMDKFD_IOWR(0x0C, struct kfd_ioctl_wait_events_args)
-#define AMDKFD_IOC_DBG_REGISTER_DEPRECATED \
+#define AMDKFD_IOC_DBG_REGISTER \
AMDKFD_IOW(0x0D, struct kfd_ioctl_dbg_register_args)
-#define AMDKFD_IOC_DBG_UNREGISTER_DEPRECATED \
+#define AMDKFD_IOC_DBG_UNREGISTER \
AMDKFD_IOW(0x0E, struct kfd_ioctl_dbg_unregister_args)
-#define AMDKFD_IOC_DBG_ADDRESS_WATCH_DEPRECATED \
+#define AMDKFD_IOC_DBG_ADDRESS_WATCH \
AMDKFD_IOW(0x0F, struct kfd_ioctl_dbg_address_watch_args)
-#define AMDKFD_IOC_DBG_WAVE_CONTROL_DEPRECATED \
+#define AMDKFD_IOC_DBG_WAVE_CONTROL \
AMDKFD_IOW(0x10, struct kfd_ioctl_dbg_wave_control_args)
#define AMDKFD_IOC_SET_SCRATCH_BACKING_VA \
@@ -823,10 +742,7 @@ struct kfd_ioctl_set_xnack_mode_args {
#define AMDKFD_IOC_SET_XNACK_MODE \
AMDKFD_IOWR(0x21, struct kfd_ioctl_set_xnack_mode_args)
-#define AMDKFD_IOC_CRIU_OP \
- AMDKFD_IOWR(0x22, struct kfd_ioctl_criu_args)
-
#define AMDKFD_COMMAND_START 0x01
-#define AMDKFD_COMMAND_END 0x23
+#define AMDKFD_COMMAND_END 0x22
#endif
diff --git a/original/uapi/linux/kvm.h b/original/uapi/linux/kvm.h
index 6a184d2..507ee1f 100644
--- a/original/uapi/linux/kvm.h
+++ b/original/uapi/linux/kvm.h
@@ -445,13 +445,7 @@ struct kvm_run {
#define KVM_SYSTEM_EVENT_RESET 2
#define KVM_SYSTEM_EVENT_CRASH 3
__u32 type;
- __u32 ndata;
- union {
-#ifndef __KERNEL__
- __u64 flags;
-#endif
- __u64 data[16];
- };
+ __u64 flags;
} system_event;
/* KVM_EXIT_S390_STSI */
struct {
@@ -568,12 +562,9 @@ struct kvm_s390_mem_op {
__u32 op; /* type of operation */
__u64 buf; /* buffer in userspace */
union {
- struct {
- __u8 ar; /* the access register number */
- __u8 key; /* access key, ignored if flag unset */
- };
+ __u8 ar; /* the access register number */
__u32 sida_offset; /* offset into the sida */
- __u8 reserved[32]; /* ignored */
+ __u8 reserved[32]; /* should be set to 0 */
};
};
/* types for kvm_s390_mem_op->op */
@@ -581,12 +572,9 @@ struct kvm_s390_mem_op {
#define KVM_S390_MEMOP_LOGICAL_WRITE 1
#define KVM_S390_MEMOP_SIDA_READ 2
#define KVM_S390_MEMOP_SIDA_WRITE 3
-#define KVM_S390_MEMOP_ABSOLUTE_READ 4
-#define KVM_S390_MEMOP_ABSOLUTE_WRITE 5
/* flags for kvm_s390_mem_op->flags */
#define KVM_S390_MEMOP_F_CHECK_ONLY (1ULL << 0)
#define KVM_S390_MEMOP_F_INJECT_EXCEPTION (1ULL << 1)
-#define KVM_S390_MEMOP_F_SKEY_PROTECTION (1ULL << 2)
/* for KVM_INTERRUPT */
struct kvm_interrupt {
@@ -1147,11 +1135,6 @@ struct kvm_ppc_resize_hpt {
#define KVM_CAP_XSAVE2 208
#define KVM_CAP_SYS_ATTRIBUTES 209
#define KVM_CAP_PPC_AIL_MODE_3 210
-#define KVM_CAP_S390_MEM_OP_EXTENSION 211
-#define KVM_CAP_PMU_CAPABILITY 212
-#define KVM_CAP_DISABLE_QUIRKS2 213
-/* #define KVM_CAP_VM_TSC_CONTROL 214 */
-#define KVM_CAP_SYSTEM_EVENT_DATA 215
#ifdef KVM_CAP_IRQ_ROUTING
@@ -1988,8 +1971,6 @@ struct kvm_dirty_gfn {
#define KVM_BUS_LOCK_DETECTION_OFF (1 << 0)
#define KVM_BUS_LOCK_DETECTION_EXIT (1 << 1)
-#define KVM_PMU_CAP_DISABLE (1 << 0)
-
/**
* struct kvm_stats_header - Header of per vm/vcpu binary statistics data.
* @flags: Some extra information for header, always 0 for now.
diff --git a/original/uapi/linux/lirc.h b/original/uapi/linux/lirc.h
index 23b0f2c..9919f20 100644
--- a/original/uapi/linux/lirc.h
+++ b/original/uapi/linux/lirc.h
@@ -16,16 +16,14 @@
#define LIRC_MODE2_PULSE 0x01000000
#define LIRC_MODE2_FREQUENCY 0x02000000
#define LIRC_MODE2_TIMEOUT 0x03000000
-#define LIRC_MODE2_OVERFLOW 0x04000000
#define LIRC_VALUE_MASK 0x00FFFFFF
#define LIRC_MODE2_MASK 0xFF000000
-#define LIRC_SPACE(val) (((val) & LIRC_VALUE_MASK) | LIRC_MODE2_SPACE)
-#define LIRC_PULSE(val) (((val) & LIRC_VALUE_MASK) | LIRC_MODE2_PULSE)
-#define LIRC_FREQUENCY(val) (((val) & LIRC_VALUE_MASK) | LIRC_MODE2_FREQUENCY)
-#define LIRC_TIMEOUT(val) (((val) & LIRC_VALUE_MASK) | LIRC_MODE2_TIMEOUT)
-#define LIRC_OVERFLOW(val) (((val) & LIRC_VALUE_MASK) | LIRC_MODE2_OVERFLOW)
+#define LIRC_SPACE(val) (((val)&LIRC_VALUE_MASK) | LIRC_MODE2_SPACE)
+#define LIRC_PULSE(val) (((val)&LIRC_VALUE_MASK) | LIRC_MODE2_PULSE)
+#define LIRC_FREQUENCY(val) (((val)&LIRC_VALUE_MASK) | LIRC_MODE2_FREQUENCY)
+#define LIRC_TIMEOUT(val) (((val)&LIRC_VALUE_MASK) | LIRC_MODE2_TIMEOUT)
#define LIRC_VALUE(val) ((val)&LIRC_VALUE_MASK)
#define LIRC_MODE2(val) ((val)&LIRC_MODE2_MASK)
@@ -34,7 +32,6 @@
#define LIRC_IS_PULSE(val) (LIRC_MODE2(val) == LIRC_MODE2_PULSE)
#define LIRC_IS_FREQUENCY(val) (LIRC_MODE2(val) == LIRC_MODE2_FREQUENCY)
#define LIRC_IS_TIMEOUT(val) (LIRC_MODE2(val) == LIRC_MODE2_TIMEOUT)
-#define LIRC_IS_OVERFLOW(val) (LIRC_MODE2(val) == LIRC_MODE2_OVERFLOW)
/* used heavily by lirc userspace */
#define lirc_t int
@@ -73,10 +70,13 @@
#define LIRC_CAN_REC_MASK LIRC_MODE2REC(LIRC_CAN_SEND_MASK)
#define LIRC_CAN_SET_REC_CARRIER (LIRC_CAN_SET_SEND_CARRIER << 16)
+#define LIRC_CAN_SET_REC_DUTY_CYCLE (LIRC_CAN_SET_SEND_DUTY_CYCLE << 16)
+#define LIRC_CAN_SET_REC_DUTY_CYCLE_RANGE 0x40000000
#define LIRC_CAN_SET_REC_CARRIER_RANGE 0x80000000
#define LIRC_CAN_GET_REC_RESOLUTION 0x20000000
#define LIRC_CAN_SET_REC_TIMEOUT 0x10000000
+#define LIRC_CAN_SET_REC_FILTER 0x08000000
#define LIRC_CAN_MEASURE_CARRIER 0x02000000
#define LIRC_CAN_USE_WIDEBAND_RECEIVER 0x04000000
@@ -84,6 +84,8 @@
#define LIRC_CAN_SEND(x) ((x)&LIRC_CAN_SEND_MASK)
#define LIRC_CAN_REC(x) ((x)&LIRC_CAN_REC_MASK)
+#define LIRC_CAN_NOTIFY_DECODE 0x01000000
+
/*** IOCTL commands for lirc driver ***/
#define LIRC_GET_FEATURES _IOR('i', 0x00000000, __u32)
diff --git a/original/uapi/linux/loop.h b/original/uapi/linux/loop.h
index 98e6080..24a1c45 100644
--- a/original/uapi/linux/loop.h
+++ b/original/uapi/linux/loop.h
@@ -45,7 +45,7 @@ struct loop_info {
unsigned long lo_inode; /* ioctl r/o */
__kernel_old_dev_t lo_rdevice; /* ioctl r/o */
int lo_offset;
- int lo_encrypt_type; /* obsolete, ignored */
+ int lo_encrypt_type;
int lo_encrypt_key_size; /* ioctl w/o */
int lo_flags;
char lo_name[LO_NAME_SIZE];
@@ -61,7 +61,7 @@ struct loop_info64 {
__u64 lo_offset;
__u64 lo_sizelimit;/* bytes, 0 == max available */
__u32 lo_number; /* ioctl r/o */
- __u32 lo_encrypt_type; /* obsolete, ignored */
+ __u32 lo_encrypt_type;
__u32 lo_encrypt_key_size; /* ioctl w/o */
__u32 lo_flags;
__u8 lo_file_name[LO_NAME_SIZE];
diff --git a/original/uapi/linux/mctp.h b/original/uapi/linux/mctp.h
index 154ab56..07b0318 100644
--- a/original/uapi/linux/mctp.h
+++ b/original/uapi/linux/mctp.h
@@ -44,25 +44,7 @@ struct sockaddr_mctp_ext {
#define MCTP_TAG_MASK 0x07
#define MCTP_TAG_OWNER 0x08
-#define MCTP_TAG_PREALLOC 0x10
#define MCTP_OPT_ADDR_EXT 1
-#define SIOCMCTPALLOCTAG (SIOCPROTOPRIVATE + 0)
-#define SIOCMCTPDROPTAG (SIOCPROTOPRIVATE + 1)
-
-struct mctp_ioc_tag_ctl {
- mctp_eid_t peer_addr;
-
- /* For SIOCMCTPALLOCTAG: must be passed as zero, kernel will
- * populate with the allocated tag value. Returned tag value will
- * always have TO and PREALLOC set.
- *
- * For SIOCMCTPDROPTAG: userspace provides tag value to drop, from
- * a prior SIOCMCTPALLOCTAG call (and so must have TO and PREALLOC set).
- */
- __u8 tag;
- __u16 flags;
-};
-
#endif /* __UAPI_MCTP_H */
diff --git a/original/uapi/linux/mptcp.h b/original/uapi/linux/mptcp.h
index 9690efe..f106a39 100644
--- a/original/uapi/linux/mptcp.h
+++ b/original/uapi/linux/mptcp.h
@@ -81,7 +81,6 @@ enum {
#define MPTCP_PM_ADDR_FLAG_SUBFLOW (1 << 1)
#define MPTCP_PM_ADDR_FLAG_BACKUP (1 << 2)
#define MPTCP_PM_ADDR_FLAG_FULLMESH (1 << 3)
-#define MPTCP_PM_ADDR_FLAG_IMPLICIT (1 << 4)
enum {
MPTCP_PM_CMD_UNSPEC,
diff --git a/original/uapi/linux/mroute6.h b/original/uapi/linux/mroute6.h
index 1d90c21..a1fd617 100644
--- a/original/uapi/linux/mroute6.h
+++ b/original/uapi/linux/mroute6.h
@@ -134,7 +134,6 @@ struct mrt6msg {
#define MRT6MSG_NOCACHE 1
#define MRT6MSG_WRONGMIF 2
#define MRT6MSG_WHOLEPKT 3 /* used for use level encap */
-#define MRT6MSG_WRMIFWHOLE 4 /* For PIM Register and assert processing */
__u8 im6_mbz; /* must be zero */
__u8 im6_msgtype; /* what type of message */
__u16 im6_mif; /* mif rec'd on */
diff --git a/original/uapi/linux/ndctl.h b/original/uapi/linux/ndctl.h
index 17e02b6..8cf1e48 100644
--- a/original/uapi/linux/ndctl.h
+++ b/original/uapi/linux/ndctl.h
@@ -189,6 +189,7 @@ static inline const char *nvdimm_cmd_name(unsigned cmd)
#define ND_DEVICE_REGION_BLK 3 /* nd_region: (parent of BLK namespaces) */
#define ND_DEVICE_NAMESPACE_IO 4 /* legacy persistent memory */
#define ND_DEVICE_NAMESPACE_PMEM 5 /* PMEM namespace (may alias with BLK) */
+#define ND_DEVICE_NAMESPACE_BLK 6 /* BLK namespace (may alias with PMEM) */
#define ND_DEVICE_DAX_PMEM 7 /* Device DAX interface to pmem */
enum nd_driver_flags {
@@ -197,6 +198,7 @@ enum nd_driver_flags {
ND_DRIVER_REGION_BLK = 1 << ND_DEVICE_REGION_BLK,
ND_DRIVER_NAMESPACE_IO = 1 << ND_DEVICE_NAMESPACE_IO,
ND_DRIVER_NAMESPACE_PMEM = 1 << ND_DEVICE_NAMESPACE_PMEM,
+ ND_DRIVER_NAMESPACE_BLK = 1 << ND_DEVICE_NAMESPACE_BLK,
ND_DRIVER_DAX_PMEM = 1 << ND_DEVICE_DAX_PMEM,
};
diff --git a/original/uapi/linux/net_dropmon.h b/original/uapi/linux/net_dropmon.h
index 1bbea8f..66048cc 100644
--- a/original/uapi/linux/net_dropmon.h
+++ b/original/uapi/linux/net_dropmon.h
@@ -93,7 +93,6 @@ enum net_dm_attr {
NET_DM_ATTR_SW_DROPS, /* flag */
NET_DM_ATTR_HW_DROPS, /* flag */
NET_DM_ATTR_FLOW_ACTION_COOKIE, /* binary */
- NET_DM_ATTR_REASON, /* string */
__NET_DM_ATTR_MAX,
NET_DM_ATTR_MAX = __NET_DM_ATTR_MAX - 1
diff --git a/original/uapi/linux/netfilter/nfnetlink_queue.h b/original/uapi/linux/netfilter/nfnetlink_queue.h
index ef7c97f..aed90c4 100644
--- a/original/uapi/linux/netfilter/nfnetlink_queue.h
+++ b/original/uapi/linux/netfilter/nfnetlink_queue.h
@@ -61,7 +61,6 @@ enum nfqnl_attr_type {
NFQA_SECCTX, /* security context string */
NFQA_VLAN, /* nested attribute: packet vlan info */
NFQA_L2HDR, /* full L2 header */
- NFQA_PRIORITY, /* skb->priority */
__NFQA_MAX
};
diff --git a/original/uapi/linux/nfs4.h b/original/uapi/linux/nfs4.h
index 1d20437..800bb0f 100644
--- a/original/uapi/linux/nfs4.h
+++ b/original/uapi/linux/nfs4.h
@@ -45,7 +45,6 @@
#define NFS4_OPEN_RESULT_CONFIRM 0x0002
#define NFS4_OPEN_RESULT_LOCKTYPE_POSIX 0x0004
-#define NFS4_OPEN_RESULT_PRESERVE_UNLINKED 0x0008
#define NFS4_OPEN_RESULT_MAY_NOTIFY_LOCK 0x0020
#define NFS4_SHARE_ACCESS_MASK 0x000F
diff --git a/original/uapi/linux/nfs_fs.h b/original/uapi/linux/nfs_fs.h
index ae0de16..3afe376 100644
--- a/original/uapi/linux/nfs_fs.h
+++ b/original/uapi/linux/nfs_fs.h
@@ -52,7 +52,7 @@
#define NFSDBG_CALLBACK 0x0100
#define NFSDBG_CLIENT 0x0200
#define NFSDBG_MOUNT 0x0400
-#define NFSDBG_FSCACHE 0x0800 /* unused */
+#define NFSDBG_FSCACHE 0x0800
#define NFSDBG_PNFS 0x1000
#define NFSDBG_PNFS_LD 0x2000
#define NFSDBG_STATE 0x4000
diff --git a/original/uapi/linux/nl80211.h b/original/uapi/linux/nl80211.h
index 0568a79..195a238 100644
--- a/original/uapi/linux/nl80211.h
+++ b/original/uapi/linux/nl80211.h
@@ -11,7 +11,7 @@
* Copyright 2008 Jouni Malinen <jouni.malinen@atheros.com>
* Copyright 2008 Colin McCabe <colin@cozybit.com>
* Copyright 2015-2017 Intel Deutschland GmbH
- * Copyright (C) 2018-2022 Intel Corporation
+ * Copyright (C) 2018-2021 Intel Corporation
*
* Permission to use, copy, modify, and/or distribute this software for any
* purpose with or without fee is hereby granted, provided that the above
@@ -2659,10 +2659,6 @@ enum nl80211_commands {
* enumerated in &enum nl80211_ap_settings_flags. This attribute shall be
* used with %NL80211_CMD_START_AP request.
*
- * @NL80211_ATTR_EHT_CAPABILITY: EHT Capability information element (from
- * association request when used with NL80211_CMD_NEW_STATION). Can be set
- * only if %NL80211_STA_FLAG_WME is set.
- *
* @NUM_NL80211_ATTR: total number of nl80211_attrs available
* @NL80211_ATTR_MAX: highest attribute number currently defined
* @__NL80211_ATTR_AFTER_LAST: internal use
@@ -3173,8 +3169,6 @@ enum nl80211_attrs {
NL80211_ATTR_AP_SETTINGS_FLAGS,
- NL80211_ATTR_EHT_CAPABILITY,
-
/* add attributes here, update the policy in nl80211.c */
__NL80211_ATTR_AFTER_LAST,
@@ -3230,8 +3224,6 @@ enum nl80211_attrs {
#define NL80211_HE_MAX_CAPABILITY_LEN 54
#define NL80211_MAX_NR_CIPHER_SUITES 5
#define NL80211_MAX_NR_AKM_SUITES 2
-#define NL80211_EHT_MIN_CAPABILITY_LEN 13
-#define NL80211_EHT_MAX_CAPABILITY_LEN 51
#define NL80211_MIN_REMAIN_ON_CHANNEL_TIME 10
@@ -3259,7 +3251,7 @@ enum nl80211_attrs {
* and therefore can't be created in the normal ways, use the
* %NL80211_CMD_START_P2P_DEVICE and %NL80211_CMD_STOP_P2P_DEVICE
* commands to create and destroy one
- * @NL80211_IFTYPE_OCB: Outside Context of a BSS
+ * @NL80211_IF_TYPE_OCB: Outside Context of a BSS
* This mode corresponds to the MIB variable dot11OCBActivated=true
* @NL80211_IFTYPE_NAN: NAN device interface type (not a netdev)
* @NL80211_IFTYPE_MAX: highest interface type number currently defined
@@ -3401,56 +3393,6 @@ enum nl80211_he_ru_alloc {
};
/**
- * enum nl80211_eht_gi - EHT guard interval
- * @NL80211_RATE_INFO_EHT_GI_0_8: 0.8 usec
- * @NL80211_RATE_INFO_EHT_GI_1_6: 1.6 usec
- * @NL80211_RATE_INFO_EHT_GI_3_2: 3.2 usec
- */
-enum nl80211_eht_gi {
- NL80211_RATE_INFO_EHT_GI_0_8,
- NL80211_RATE_INFO_EHT_GI_1_6,
- NL80211_RATE_INFO_EHT_GI_3_2,
-};
-
-/**
- * enum nl80211_eht_ru_alloc - EHT RU allocation values
- * @NL80211_RATE_INFO_EHT_RU_ALLOC_26: 26-tone RU allocation
- * @NL80211_RATE_INFO_EHT_RU_ALLOC_52: 52-tone RU allocation
- * @NL80211_RATE_INFO_EHT_RU_ALLOC_52P26: 52+26-tone RU allocation
- * @NL80211_RATE_INFO_EHT_RU_ALLOC_106: 106-tone RU allocation
- * @NL80211_RATE_INFO_EHT_RU_ALLOC_106P26: 106+26 tone RU allocation
- * @NL80211_RATE_INFO_EHT_RU_ALLOC_242: 242-tone RU allocation
- * @NL80211_RATE_INFO_EHT_RU_ALLOC_484: 484-tone RU allocation
- * @NL80211_RATE_INFO_EHT_RU_ALLOC_484P242: 484+242 tone RU allocation
- * @NL80211_RATE_INFO_EHT_RU_ALLOC_996: 996-tone RU allocation
- * @NL80211_RATE_INFO_EHT_RU_ALLOC_996P484: 996+484 tone RU allocation
- * @NL80211_RATE_INFO_EHT_RU_ALLOC_996P484P242: 996+484+242 tone RU allocation
- * @NL80211_RATE_INFO_EHT_RU_ALLOC_2x996: 2x996-tone RU allocation
- * @NL80211_RATE_INFO_EHT_RU_ALLOC_2x996P484: 2x996+484 tone RU allocation
- * @NL80211_RATE_INFO_EHT_RU_ALLOC_3x996: 3x996-tone RU allocation
- * @NL80211_RATE_INFO_EHT_RU_ALLOC_3x996P484: 3x996+484 tone RU allocation
- * @NL80211_RATE_INFO_EHT_RU_ALLOC_4x996: 4x996-tone RU allocation
- */
-enum nl80211_eht_ru_alloc {
- NL80211_RATE_INFO_EHT_RU_ALLOC_26,
- NL80211_RATE_INFO_EHT_RU_ALLOC_52,
- NL80211_RATE_INFO_EHT_RU_ALLOC_52P26,
- NL80211_RATE_INFO_EHT_RU_ALLOC_106,
- NL80211_RATE_INFO_EHT_RU_ALLOC_106P26,
- NL80211_RATE_INFO_EHT_RU_ALLOC_242,
- NL80211_RATE_INFO_EHT_RU_ALLOC_484,
- NL80211_RATE_INFO_EHT_RU_ALLOC_484P242,
- NL80211_RATE_INFO_EHT_RU_ALLOC_996,
- NL80211_RATE_INFO_EHT_RU_ALLOC_996P484,
- NL80211_RATE_INFO_EHT_RU_ALLOC_996P484P242,
- NL80211_RATE_INFO_EHT_RU_ALLOC_2x996,
- NL80211_RATE_INFO_EHT_RU_ALLOC_2x996P484,
- NL80211_RATE_INFO_EHT_RU_ALLOC_3x996,
- NL80211_RATE_INFO_EHT_RU_ALLOC_3x996P484,
- NL80211_RATE_INFO_EHT_RU_ALLOC_4x996,
-};
-
-/**
* enum nl80211_rate_info - bitrate information
*
* These attribute types are used with %NL80211_STA_INFO_TXRATE
@@ -3489,13 +3431,6 @@ enum nl80211_eht_ru_alloc {
* @NL80211_RATE_INFO_HE_DCM: HE DCM value (u8, 0/1)
* @NL80211_RATE_INFO_RU_ALLOC: HE RU allocation, if not present then
* non-OFDMA was used (u8, see &enum nl80211_he_ru_alloc)
- * @NL80211_RATE_INFO_320_MHZ_WIDTH: 320 MHz bitrate
- * @NL80211_RATE_INFO_EHT_MCS: EHT MCS index (u8, 0-15)
- * @NL80211_RATE_INFO_EHT_NSS: EHT NSS value (u8, 1-8)
- * @NL80211_RATE_INFO_EHT_GI: EHT guard interval identifier
- * (u8, see &enum nl80211_eht_gi)
- * @NL80211_RATE_INFO_EHT_RU_ALLOC: EHT RU allocation, if not present then
- * non-OFDMA was used (u8, see &enum nl80211_eht_ru_alloc)
* @__NL80211_RATE_INFO_AFTER_LAST: internal use
*/
enum nl80211_rate_info {
@@ -3517,11 +3452,6 @@ enum nl80211_rate_info {
NL80211_RATE_INFO_HE_GI,
NL80211_RATE_INFO_HE_DCM,
NL80211_RATE_INFO_HE_RU_ALLOC,
- NL80211_RATE_INFO_320_MHZ_WIDTH,
- NL80211_RATE_INFO_EHT_MCS,
- NL80211_RATE_INFO_EHT_NSS,
- NL80211_RATE_INFO_EHT_GI,
- NL80211_RATE_INFO_EHT_RU_ALLOC,
/* keep last */
__NL80211_RATE_INFO_AFTER_LAST,
@@ -3836,14 +3766,6 @@ enum nl80211_mpath_info {
* given for all 6 GHz band channels
* @NL80211_BAND_IFTYPE_ATTR_VENDOR_ELEMS: vendor element capabilities that are
* advertised on this band/for this iftype (binary)
- * @NL80211_BAND_IFTYPE_ATTR_EHT_CAP_MAC: EHT MAC capabilities as in EHT
- * capabilities element
- * @NL80211_BAND_IFTYPE_ATTR_EHT_CAP_PHY: EHT PHY capabilities as in EHT
- * capabilities element
- * @NL80211_BAND_IFTYPE_ATTR_EHT_CAP_MCS_SET: EHT supported NSS/MCS as in EHT
- * capabilities element
- * @NL80211_BAND_IFTYPE_ATTR_EHT_CAP_PPE: EHT PPE thresholds information as
- * defined in EHT capabilities element
* @__NL80211_BAND_IFTYPE_ATTR_AFTER_LAST: internal use
* @NL80211_BAND_IFTYPE_ATTR_MAX: highest band attribute currently defined
*/
@@ -3857,10 +3779,6 @@ enum nl80211_band_iftype_attr {
NL80211_BAND_IFTYPE_ATTR_HE_CAP_PPE,
NL80211_BAND_IFTYPE_ATTR_HE_6GHZ_CAPA,
NL80211_BAND_IFTYPE_ATTR_VENDOR_ELEMS,
- NL80211_BAND_IFTYPE_ATTR_EHT_CAP_MAC,
- NL80211_BAND_IFTYPE_ATTR_EHT_CAP_PHY,
- NL80211_BAND_IFTYPE_ATTR_EHT_CAP_MCS_SET,
- NL80211_BAND_IFTYPE_ATTR_EHT_CAP_PPE,
/* keep last */
__NL80211_BAND_IFTYPE_ATTR_AFTER_LAST,
@@ -4005,10 +3923,6 @@ enum nl80211_wmm_rule {
* on this channel in current regulatory domain.
* @NL80211_FREQUENCY_ATTR_16MHZ: 16 MHz operation is allowed
* on this channel in current regulatory domain.
- * @NL80211_FREQUENCY_ATTR_NO_320MHZ: any 320 MHz channel using this channel
- * as the primary or any of the secondary channels isn't possible
- * @NL80211_FREQUENCY_ATTR_NO_EHT: EHT operation is not allowed on this channel
- * in current regulatory domain.
* @NL80211_FREQUENCY_ATTR_MAX: highest frequency attribute number
* currently defined
* @__NL80211_FREQUENCY_ATTR_AFTER_LAST: internal use
@@ -4045,8 +3959,6 @@ enum nl80211_frequency_attr {
NL80211_FREQUENCY_ATTR_4MHZ,
NL80211_FREQUENCY_ATTR_8MHZ,
NL80211_FREQUENCY_ATTR_16MHZ,
- NL80211_FREQUENCY_ATTR_NO_320MHZ,
- NL80211_FREQUENCY_ATTR_NO_EHT,
/* keep last */
__NL80211_FREQUENCY_ATTR_AFTER_LAST,
@@ -4245,7 +4157,6 @@ enum nl80211_sched_scan_match_attr {
* @NL80211_RRF_NO_80MHZ: 80MHz operation not allowed
* @NL80211_RRF_NO_160MHZ: 160MHz operation not allowed
* @NL80211_RRF_NO_HE: HE operation not allowed
- * @NL80211_RRF_NO_320MHZ: 320MHz operation not allowed
*/
enum nl80211_reg_rule_flags {
NL80211_RRF_NO_OFDM = 1<<0,
@@ -4264,7 +4175,6 @@ enum nl80211_reg_rule_flags {
NL80211_RRF_NO_80MHZ = 1<<15,
NL80211_RRF_NO_160MHZ = 1<<16,
NL80211_RRF_NO_HE = 1<<17,
- NL80211_RRF_NO_320MHZ = 1<<18,
};
#define NL80211_RRF_PASSIVE_SCAN NL80211_RRF_NO_IR
@@ -4762,8 +4672,6 @@ enum nl80211_key_mode {
* @NL80211_CHAN_WIDTH_4: 4 MHz OFDM channel
* @NL80211_CHAN_WIDTH_8: 8 MHz OFDM channel
* @NL80211_CHAN_WIDTH_16: 16 MHz OFDM channel
- * @NL80211_CHAN_WIDTH_320: 320 MHz channel, the %NL80211_ATTR_CENTER_FREQ1
- * attribute must be provided as well
*/
enum nl80211_chan_width {
NL80211_CHAN_WIDTH_20_NOHT,
@@ -4779,7 +4687,6 @@ enum nl80211_chan_width {
NL80211_CHAN_WIDTH_4,
NL80211_CHAN_WIDTH_8,
NL80211_CHAN_WIDTH_16,
- NL80211_CHAN_WIDTH_320,
};
/**
diff --git a/original/uapi/linux/nvme_ioctl.h b/original/uapi/linux/nvme_ioctl.h
index b2e4318..d99b5a7 100644
--- a/original/uapi/linux/nvme_ioctl.h
+++ b/original/uapi/linux/nvme_ioctl.h
@@ -55,10 +55,7 @@ struct nvme_passthru_cmd64 {
__u64 metadata;
__u64 addr;
__u32 metadata_len;
- union {
- __u32 data_len; /* for non-vectored io */
- __u32 vec_cnt; /* for vectored io */
- };
+ __u32 data_len;
__u32 cdw10;
__u32 cdw11;
__u32 cdw12;
@@ -81,6 +78,5 @@ struct nvme_passthru_cmd64 {
#define NVME_IOCTL_RESCAN _IO('N', 0x46)
#define NVME_IOCTL_ADMIN64_CMD _IOWR('N', 0x47, struct nvme_passthru_cmd64)
#define NVME_IOCTL_IO64_CMD _IOWR('N', 0x48, struct nvme_passthru_cmd64)
-#define NVME_IOCTL_IO64_CMD_VEC _IOWR('N', 0x49, struct nvme_passthru_cmd64)
#endif /* _UAPI_LINUX_NVME_IOCTL_H */
diff --git a/original/uapi/linux/omap3isp.h b/original/uapi/linux/omap3isp.h
index d9db7ad..87b5575 100644
--- a/original/uapi/linux/omap3isp.h
+++ b/original/uapi/linux/omap3isp.h
@@ -162,7 +162,6 @@ struct omap3isp_h3a_aewb_config {
* struct omap3isp_stat_data - Statistic data sent to or received from user
* @ts: Timestamp of returned framestats.
* @buf: Pointer to pass to user.
- * @buf_size: Size of buffer.
* @frame_number: Frame number of requested stats.
* @cur_frame: Current frame number being processed.
* @config_counter: Number of the configuration associated with the data.
@@ -177,12 +176,10 @@ struct omap3isp_stat_data {
struct timeval ts;
#endif
void __user *buf;
- __struct_group(/* no tag */, frame, /* no attrs */,
- __u32 buf_size;
- __u16 frame_number;
- __u16 cur_frame;
- __u16 config_counter;
- );
+ __u32 buf_size;
+ __u16 frame_number;
+ __u16 cur_frame;
+ __u16 config_counter;
};
#ifdef __KERNEL__
@@ -192,12 +189,10 @@ struct omap3isp_stat_data_time32 {
__s32 tv_usec;
} ts;
__u32 buf;
- __struct_group(/* no tag */, frame, /* no attrs */,
- __u32 buf_size;
- __u16 frame_number;
- __u16 cur_frame;
- __u16 config_counter;
- );
+ __u32 buf_size;
+ __u16 frame_number;
+ __u16 cur_frame;
+ __u16 config_counter;
};
#endif
diff --git a/original/uapi/linux/openvswitch.h b/original/uapi/linux/openvswitch.h
index ce3e173..150bcff 100644
--- a/original/uapi/linux/openvswitch.h
+++ b/original/uapi/linux/openvswitch.h
@@ -352,20 +352,9 @@ enum ovs_key_attr {
OVS_KEY_ATTR_CT_ORIG_TUPLE_IPV6, /* struct ovs_key_ct_tuple_ipv6 */
OVS_KEY_ATTR_NSH, /* Nested set of ovs_nsh_key_* */
- /* User space decided to squat on types 29 and 30. They are defined
- * below, but should not be sent to the kernel.
- *
- * WARNING: No new types should be added unless they are defined
- * for both kernel and user space (no 'ifdef's). It's hard
- * to keep compatibility otherwise.
- */
- OVS_KEY_ATTR_PACKET_TYPE, /* be32 packet type */
- OVS_KEY_ATTR_ND_EXTENSIONS, /* IPv6 Neighbor Discovery extensions */
-
- OVS_KEY_ATTR_TUNNEL_INFO, /* struct ip_tunnel_info.
- * For in-kernel use only.
- */
- OVS_KEY_ATTR_IPV6_EXTHDRS, /* struct ovs_key_ipv6_exthdr */
+#ifdef __KERNEL__
+ OVS_KEY_ATTR_TUNNEL_INFO, /* struct ip_tunnel_info */
+#endif
__OVS_KEY_ATTR_MAX
};
@@ -441,11 +430,6 @@ struct ovs_key_ipv6 {
__u8 ipv6_frag; /* One of OVS_FRAG_TYPE_*. */
};
-/* separate structure to support backward compatibility with older user space */
-struct ovs_key_ipv6_exthdrs {
- __u16 hdrs;
-};
-
struct ovs_key_tcp {
__be16 tcp_src;
__be16 tcp_dst;
diff --git a/original/uapi/linux/perf_event.h b/original/uapi/linux/perf_event.h
index d37629d..82858b6 100644
--- a/original/uapi/linux/perf_event.h
+++ b/original/uapi/linux/perf_event.h
@@ -251,8 +251,6 @@ enum {
PERF_BR_SYSRET = 8, /* syscall return */
PERF_BR_COND_CALL = 9, /* conditional function call */
PERF_BR_COND_RET = 10, /* conditional function return */
- PERF_BR_ERET = 11, /* exception return */
- PERF_BR_IRQ = 12, /* irq */
PERF_BR_MAX,
};
diff --git a/original/uapi/linux/pkt_cls.h b/original/uapi/linux/pkt_cls.h
index 404f97f..ee38b35 100644
--- a/original/uapi/linux/pkt_cls.h
+++ b/original/uapi/linux/pkt_cls.h
@@ -616,10 +616,6 @@ enum {
* TCA_FLOWER_KEY_ENC_OPT_ERSPAN_
* attributes
*/
- TCA_FLOWER_KEY_ENC_OPTS_GTP, /* Nested
- * TCA_FLOWER_KEY_ENC_OPT_GTP_
- * attributes
- */
__TCA_FLOWER_KEY_ENC_OPTS_MAX,
};
@@ -659,17 +655,6 @@ enum {
(__TCA_FLOWER_KEY_ENC_OPT_ERSPAN_MAX - 1)
enum {
- TCA_FLOWER_KEY_ENC_OPT_GTP_UNSPEC,
- TCA_FLOWER_KEY_ENC_OPT_GTP_PDU_TYPE, /* u8 */
- TCA_FLOWER_KEY_ENC_OPT_GTP_QFI, /* u8 */
-
- __TCA_FLOWER_KEY_ENC_OPT_GTP_MAX,
-};
-
-#define TCA_FLOWER_KEY_ENC_OPT_GTP_MAX \
- (__TCA_FLOWER_KEY_ENC_OPT_GTP_MAX - 1)
-
-enum {
TCA_FLOWER_KEY_MPLS_OPTS_UNSPEC,
TCA_FLOWER_KEY_MPLS_OPTS_LSE,
__TCA_FLOWER_KEY_MPLS_OPTS_MAX,
diff --git a/original/uapi/linux/psci.h b/original/uapi/linux/psci.h
index 2bf93c0..2fcad1d 100644
--- a/original/uapi/linux/psci.h
+++ b/original/uapi/linux/psci.h
@@ -82,10 +82,6 @@
#define PSCI_0_2_TOS_UP_NO_MIGRATE 1
#define PSCI_0_2_TOS_MP 2
-/* PSCI v1.1 reset type encoding for SYSTEM_RESET2 */
-#define PSCI_1_1_RESET_TYPE_SYSTEM_WARM_RESET 0
-#define PSCI_1_1_RESET_TYPE_VENDOR_START 0x80000000U
-
/* PSCI version decoding (independent of PSCI version) */
#define PSCI_VERSION_MAJOR_SHIFT 16
#define PSCI_VERSION_MINOR_MASK \
diff --git a/original/uapi/linux/ptrace.h b/original/uapi/linux/ptrace.h
index 195ae64..3747bf8 100644
--- a/original/uapi/linux/ptrace.h
+++ b/original/uapi/linux/ptrace.h
@@ -114,7 +114,7 @@ struct ptrace_rseq_configuration {
/*
* These values are stored in task->ptrace_message
- * by ptrace_stop to describe the current syscall-stop.
+ * by tracehook_report_syscall_* to describe the current syscall-stop.
*/
#define PTRACE_EVENTMSG_SYSCALL_ENTRY 1
#define PTRACE_EVENTMSG_SYSCALL_EXIT 2
diff --git a/original/uapi/linux/reiserfs_xattr.h b/original/uapi/linux/reiserfs_xattr.h
index 503ad01..28f1084 100644
--- a/original/uapi/linux/reiserfs_xattr.h
+++ b/original/uapi/linux/reiserfs_xattr.h
@@ -19,7 +19,7 @@ struct reiserfs_xattr_header {
struct reiserfs_security_handle {
const char *name;
void *value;
- __kernel_size_t length;
+ size_t length;
};
#endif /* _LINUX_REISERFS_XATTR_H */
diff --git a/original/uapi/linux/rfkill.h b/original/uapi/linux/rfkill.h
index db6c858..9b77cfc 100644
--- a/original/uapi/linux/rfkill.h
+++ b/original/uapi/linux/rfkill.h
@@ -159,16 +159,8 @@ struct rfkill_event_ext {
* old behaviour for all userspace, unless it explicitly opts in to the
* rules outlined here by using the new &struct rfkill_event_ext.
*
- * Additionally, some other userspace (bluez, g-s-d) was reading with a
- * large size but as streaming reads rather than message-based, or with
- * too strict checks for the returned size. So eventually, we completely
- * reverted this, and extended messages need to be opted in to by using
- * an ioctl:
- *
- * ioctl(fd, RFKILL_IOCTL_MAX_SIZE, sizeof(struct rfkill_event_ext));
- *
- * Userspace using &struct rfkill_event_ext and the ioctl must adhere to
- * the following rules:
+ * Userspace using &struct rfkill_event_ext must adhere to the following
+ * rules
*
* 1. accept short writes, optionally using them to detect that it's
* running on an older kernel;
@@ -183,8 +175,6 @@ struct rfkill_event_ext {
#define RFKILL_IOC_MAGIC 'R'
#define RFKILL_IOC_NOINPUT 1
#define RFKILL_IOCTL_NOINPUT _IO(RFKILL_IOC_MAGIC, RFKILL_IOC_NOINPUT)
-#define RFKILL_IOC_MAX_SIZE 2
-#define RFKILL_IOCTL_MAX_SIZE _IOW(RFKILL_IOC_MAGIC, RFKILL_IOC_MAX_SIZE, __u32)
/* and that's all userspace gets */
diff --git a/original/uapi/linux/rpmsg.h b/original/uapi/linux/rpmsg.h
index 1637e68..f5ca874 100644
--- a/original/uapi/linux/rpmsg.h
+++ b/original/uapi/linux/rpmsg.h
@@ -33,14 +33,4 @@ struct rpmsg_endpoint_info {
*/
#define RPMSG_DESTROY_EPT_IOCTL _IO(0xb5, 0x2)
-/**
- * Instantiate a new local rpmsg service device.
- */
-#define RPMSG_CREATE_DEV_IOCTL _IOW(0xb5, 0x3, struct rpmsg_endpoint_info)
-
-/**
- * Release a local rpmsg device.
- */
-#define RPMSG_RELEASE_DEV_IOCTL _IOW(0xb5, 0x4, struct rpmsg_endpoint_info)
-
#endif
diff --git a/original/uapi/linux/rseq.h b/original/uapi/linux/rseq.h
index 77ee207..9a402fd 100644
--- a/original/uapi/linux/rseq.h
+++ b/original/uapi/linux/rseq.h
@@ -105,11 +105,23 @@ struct rseq {
* Read and set by the kernel. Set by user-space with single-copy
* atomicity semantics. This field should only be updated by the
* thread which registered this data structure. Aligned on 64-bit.
- *
- * 32-bit architectures should update the low order bits of the
- * rseq_cs field, leaving the high order bits initialized to 0.
*/
- __u64 rseq_cs;
+ union {
+ __u64 ptr64;
+#ifdef __LP64__
+ __u64 ptr;
+#else
+ struct {
+#if (defined(__BYTE_ORDER) && (__BYTE_ORDER == __BIG_ENDIAN)) || defined(__BIG_ENDIAN)
+ __u32 padding; /* Initialized to zero. */
+ __u32 ptr32;
+#else /* LITTLE */
+ __u32 ptr32;
+ __u32 padding; /* Initialized to zero. */
+#endif /* ENDIAN */
+ } ptr;
+#endif
+ } rseq_cs;
/*
* Restartable sequences flags field.
diff --git a/original/uapi/linux/rtc.h b/original/uapi/linux/rtc.h
index 97aca45..03e5b77 100644
--- a/original/uapi/linux/rtc.h
+++ b/original/uapi/linux/rtc.h
@@ -133,8 +133,7 @@ struct rtc_param {
#define RTC_FEATURE_UPDATE_INTERRUPT 4
#define RTC_FEATURE_CORRECTION 5
#define RTC_FEATURE_BACKUP_SWITCH_MODE 6
-#define RTC_FEATURE_ALARM_WAKEUP_ONLY 7
-#define RTC_FEATURE_CNT 8
+#define RTC_FEATURE_CNT 7
/* parameter list */
#define RTC_PARAM_FEATURES 0
diff --git a/original/uapi/linux/rtnetlink.h b/original/uapi/linux/rtnetlink.h
index 83849a3..93d934c 100644
--- a/original/uapi/linux/rtnetlink.h
+++ b/original/uapi/linux/rtnetlink.h
@@ -146,8 +146,6 @@ enum {
#define RTM_NEWSTATS RTM_NEWSTATS
RTM_GETSTATS = 94,
#define RTM_GETSTATS RTM_GETSTATS
- RTM_SETSTATS,
-#define RTM_SETSTATS RTM_SETSTATS
RTM_NEWCACHEREPORT = 96,
#define RTM_NEWCACHEREPORT RTM_NEWCACHEREPORT
@@ -187,13 +185,6 @@ enum {
RTM_GETNEXTHOPBUCKET,
#define RTM_GETNEXTHOPBUCKET RTM_GETNEXTHOPBUCKET
- RTM_NEWTUNNEL = 120,
-#define RTM_NEWTUNNEL RTM_NEWTUNNEL
- RTM_DELTUNNEL,
-#define RTM_DELTUNNEL RTM_DELTUNNEL
- RTM_GETTUNNEL,
-#define RTM_GETTUNNEL RTM_GETTUNNEL
-
__RTM_MAX,
#define RTM_MAX (((__RTM_MAX + 3) & ~3) - 1)
};
@@ -765,10 +756,6 @@ enum rtnetlink_groups {
#define RTNLGRP_BRVLAN RTNLGRP_BRVLAN
RTNLGRP_MCTP_IFADDR,
#define RTNLGRP_MCTP_IFADDR RTNLGRP_MCTP_IFADDR
- RTNLGRP_TUNNEL,
-#define RTNLGRP_TUNNEL RTNLGRP_TUNNEL
- RTNLGRP_STATS,
-#define RTNLGRP_STATS RTNLGRP_STATS
__RTNLGRP_MAX
};
#define RTNLGRP_MAX (__RTNLGRP_MAX - 1)
@@ -817,7 +804,6 @@ enum {
#define RTEXT_FILTER_MRP (1 << 4)
#define RTEXT_FILTER_CFM_CONFIG (1 << 5)
#define RTEXT_FILTER_CFM_STATUS (1 << 6)
-#define RTEXT_FILTER_MST (1 << 7)
/* End of information exported to user level */
diff --git a/original/uapi/linux/serial_core.h b/original/uapi/linux/serial_core.h
index 6faf502..c4042dc 100644
--- a/original/uapi/linux/serial_core.h
+++ b/original/uapi/linux/serial_core.h
@@ -68,9 +68,6 @@
/* NVIDIA Tegra Combined UART */
#define PORT_TEGRA_TCU 41
-/* ASPEED AST2x00 virtual UART */
-#define PORT_ASPEED_VUART 42
-
/* Intel EG20 */
#define PORT_PCH_8LINE 44
#define PORT_PCH_2LINE 45
@@ -277,7 +274,4 @@
/* Freescale LINFlexD UART */
#define PORT_LINFLEXUART 122
-/* Sunplus UART */
-#define PORT_SUNPLUS 123
-
#endif /* _UAPILINUX_SERIAL_CORE_H */
diff --git a/original/uapi/linux/smc.h b/original/uapi/linux/smc.h
index 693f549..6c2874f 100644
--- a/original/uapi/linux/smc.h
+++ b/original/uapi/linux/smc.h
@@ -59,9 +59,6 @@ enum {
SMC_NETLINK_DUMP_SEID,
SMC_NETLINK_ENABLE_SEID,
SMC_NETLINK_DISABLE_SEID,
- SMC_NETLINK_DUMP_HS_LIMITATION,
- SMC_NETLINK_ENABLE_HS_LIMITATION,
- SMC_NETLINK_DISABLE_HS_LIMITATION,
};
/* SMC_GENL_FAMILY top level attributes */
@@ -287,16 +284,4 @@ enum {
__SMC_NLA_SEID_TABLE_MAX,
SMC_NLA_SEID_TABLE_MAX = __SMC_NLA_SEID_TABLE_MAX - 1
};
-
-/* SMC_NETLINK_HS_LIMITATION attributes */
-enum {
- SMC_NLA_HS_LIMITATION_UNSPEC,
- SMC_NLA_HS_LIMITATION_ENABLED, /* u8 */
- __SMC_NLA_HS_LIMITATION_MAX,
- SMC_NLA_HS_LIMITATION_MAX = __SMC_NLA_HS_LIMITATION_MAX - 1
-};
-
-/* SMC socket options */
-#define SMC_LIMIT_HS 1 /* constraint on smc handshake */
-
#endif /* _UAPI_LINUX_SMC_H */
diff --git a/original/uapi/linux/socket.h b/original/uapi/linux/socket.h
index 51d6bb2..eb0a9a5 100644
--- a/original/uapi/linux/socket.h
+++ b/original/uapi/linux/socket.h
@@ -31,8 +31,4 @@ struct __kernel_sockaddr_storage {
#define SOCK_BUF_LOCK_MASK (SOCK_SNDBUF_LOCK | SOCK_RCVBUF_LOCK)
-#define SOCK_TXREHASH_DEFAULT ((u8)-1)
-#define SOCK_TXREHASH_DISABLED 0
-#define SOCK_TXREHASH_ENABLED 1
-
#endif /* _UAPI_LINUX_SOCKET_H */
diff --git a/original/uapi/linux/stddef.h b/original/uapi/linux/stddef.h
index 7837ba4..3021ea2 100644
--- a/original/uapi/linux/stddef.h
+++ b/original/uapi/linux/stddef.h
@@ -1,7 +1,4 @@
/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
-#ifndef _UAPI_LINUX_STDDEF_H
-#define _UAPI_LINUX_STDDEF_H
-
#include <linux/compiler_types.h>
#ifndef __always_inline
@@ -44,4 +41,3 @@
struct { } __empty_ ## NAME; \
TYPE NAME[]; \
}
-#endif
diff --git a/original/uapi/linux/thermal.h b/original/uapi/linux/thermal.h
index fc78bf3..9aa2fed 100644
--- a/original/uapi/linux/thermal.h
+++ b/original/uapi/linux/thermal.h
@@ -44,10 +44,7 @@ enum thermal_genl_attr {
THERMAL_GENL_ATTR_CDEV_MAX_STATE,
THERMAL_GENL_ATTR_CDEV_NAME,
THERMAL_GENL_ATTR_GOV_NAME,
- THERMAL_GENL_ATTR_CPU_CAPABILITY,
- THERMAL_GENL_ATTR_CPU_CAPABILITY_ID,
- THERMAL_GENL_ATTR_CPU_CAPABILITY_PERFORMANCE,
- THERMAL_GENL_ATTR_CPU_CAPABILITY_EFFICIENCY,
+
__THERMAL_GENL_ATTR_MAX,
};
#define THERMAL_GENL_ATTR_MAX (__THERMAL_GENL_ATTR_MAX - 1)
@@ -74,7 +71,6 @@ enum thermal_genl_event {
THERMAL_GENL_EVENT_CDEV_DELETE, /* Cdev unbound */
THERMAL_GENL_EVENT_CDEV_STATE_UPDATE, /* Cdev state updated */
THERMAL_GENL_EVENT_TZ_GOV_CHANGE, /* Governor policy changed */
- THERMAL_GENL_EVENT_CPU_CAPABILITY_CHANGE, /* CPU capability changed */
__THERMAL_GENL_EVENT_MAX,
};
#define THERMAL_GENL_EVENT_MAX (__THERMAL_GENL_EVENT_MAX - 1)
diff --git a/original/uapi/linux/tipc_config.h b/original/uapi/linux/tipc_config.h
index c00adf2..4dfc056 100644
--- a/original/uapi/linux/tipc_config.h
+++ b/original/uapi/linux/tipc_config.h
@@ -43,6 +43,10 @@
#include <linux/tipc.h>
#include <asm/byteorder.h>
+#ifndef __KERNEL__
+#include <arpa/inet.h> /* for ntohs etc. */
+#endif
+
/*
* Configuration
*
@@ -265,33 +269,33 @@ static inline int TLV_OK(const void *tlv, __u16 space)
*/
return (space >= TLV_SPACE(0)) &&
- (__be16_to_cpu(((struct tlv_desc *)tlv)->tlv_len) <= space);
+ (ntohs(((struct tlv_desc *)tlv)->tlv_len) <= space);
}
static inline int TLV_CHECK(const void *tlv, __u16 space, __u16 exp_type)
{
return TLV_OK(tlv, space) &&
- (__be16_to_cpu(((struct tlv_desc *)tlv)->tlv_type) == exp_type);
+ (ntohs(((struct tlv_desc *)tlv)->tlv_type) == exp_type);
}
static inline int TLV_GET_LEN(struct tlv_desc *tlv)
{
- return __be16_to_cpu(tlv->tlv_len);
+ return ntohs(tlv->tlv_len);
}
static inline void TLV_SET_LEN(struct tlv_desc *tlv, __u16 len)
{
- tlv->tlv_len = __cpu_to_be16(len);
+ tlv->tlv_len = htons(len);
}
static inline int TLV_CHECK_TYPE(struct tlv_desc *tlv, __u16 type)
{
- return (__be16_to_cpu(tlv->tlv_type) == type);
+ return (ntohs(tlv->tlv_type) == type);
}
static inline void TLV_SET_TYPE(struct tlv_desc *tlv, __u16 type)
{
- tlv->tlv_type = __cpu_to_be16(type);
+ tlv->tlv_type = htons(type);
}
static inline int TLV_SET(void *tlv, __u16 type, void *data, __u16 len)
@@ -301,8 +305,8 @@ static inline int TLV_SET(void *tlv, __u16 type, void *data, __u16 len)
tlv_len = TLV_LENGTH(len);
tlv_ptr = (struct tlv_desc *)tlv;
- tlv_ptr->tlv_type = __cpu_to_be16(type);
- tlv_ptr->tlv_len = __cpu_to_be16(tlv_len);
+ tlv_ptr->tlv_type = htons(type);
+ tlv_ptr->tlv_len = htons(tlv_len);
if (len && data) {
memcpy(TLV_DATA(tlv_ptr), data, len);
memset((char *)TLV_DATA(tlv_ptr) + len, 0, TLV_SPACE(len) - tlv_len);
@@ -344,7 +348,7 @@ static inline void *TLV_LIST_DATA(struct tlv_list_desc *list)
static inline void TLV_LIST_STEP(struct tlv_list_desc *list)
{
- __u16 tlv_space = TLV_ALIGN(__be16_to_cpu(list->tlv_ptr->tlv_len));
+ __u16 tlv_space = TLV_ALIGN(ntohs(list->tlv_ptr->tlv_len));
list->tlv_ptr = (struct tlv_desc *)((char *)list->tlv_ptr + tlv_space);
list->tlv_space -= tlv_space;
@@ -400,9 +404,9 @@ static inline int TCM_SET(void *msg, __u16 cmd, __u16 flags,
msg_len = TCM_LENGTH(data_len);
tcm_hdr = (struct tipc_cfg_msg_hdr *)msg;
- tcm_hdr->tcm_len = __cpu_to_be32(msg_len);
- tcm_hdr->tcm_type = __cpu_to_be16(cmd);
- tcm_hdr->tcm_flags = __cpu_to_be16(flags);
+ tcm_hdr->tcm_len = htonl(msg_len);
+ tcm_hdr->tcm_type = htons(cmd);
+ tcm_hdr->tcm_flags = htons(flags);
if (data_len && data) {
memcpy(TCM_DATA(msg), data, data_len);
memset((char *)TCM_DATA(msg) + data_len, 0, TCM_SPACE(data_len) - msg_len);
diff --git a/original/uapi/linux/tty.h b/original/uapi/linux/tty.h
index 9d0f06b..a58deb3 100644
--- a/original/uapi/linux/tty.h
+++ b/original/uapi/linux/tty.h
@@ -6,6 +6,8 @@
* 'tty.h' defines some structures used by tty_io.c and some defines.
*/
+#define NR_LDISCS 30
+
/* line disciplines */
#define N_TTY 0
#define N_SLIP 1
@@ -37,9 +39,5 @@
#define N_SPEAKUP 26 /* Speakup communication with synths */
#define N_NULL 27 /* Null ldisc used for error handling */
#define N_MCTP 28 /* MCTP-over-serial */
-#define N_DEVELOPMENT 29 /* Manual out-of-tree testing */
-
-/* Always the newest line discipline + 1 */
-#define NR_LDISCS 30
#endif /* _UAPI_LINUX_TTY_H */
diff --git a/original/uapi/linux/types.h b/original/uapi/linux/types.h
index c4dc597..f6d2f83 100644
--- a/original/uapi/linux/types.h
+++ b/original/uapi/linux/types.h
@@ -19,12 +19,12 @@
* any application/library that wants linux/types.h.
*/
-/* sparse defines __CHECKER__; see Documentation/dev-tools/sparse.rst */
#ifdef __CHECKER__
-#define __bitwise __attribute__((bitwise))
+#define __bitwise__ __attribute__((bitwise))
#else
-#define __bitwise
+#define __bitwise__
#endif
+#define __bitwise __bitwise__
typedef __u16 __bitwise __le16;
typedef __u16 __bitwise __be16;
diff --git a/original/uapi/linux/userfaultfd.h b/original/uapi/linux/userfaultfd.h
index ef73905..05b31d6 100644
--- a/original/uapi/linux/userfaultfd.h
+++ b/original/uapi/linux/userfaultfd.h
@@ -32,8 +32,7 @@
UFFD_FEATURE_SIGBUS | \
UFFD_FEATURE_THREAD_ID | \
UFFD_FEATURE_MINOR_HUGETLBFS | \
- UFFD_FEATURE_MINOR_SHMEM | \
- UFFD_FEATURE_EXACT_ADDRESS)
+ UFFD_FEATURE_MINOR_SHMEM)
#define UFFD_API_IOCTLS \
((__u64)1 << _UFFDIO_REGISTER | \
(__u64)1 << _UFFDIO_UNREGISTER | \
@@ -190,10 +189,6 @@ struct uffdio_api {
*
* UFFD_FEATURE_MINOR_SHMEM indicates the same support as
* UFFD_FEATURE_MINOR_HUGETLBFS, but for shmem-backed pages instead.
- *
- * UFFD_FEATURE_EXACT_ADDRESS indicates that the exact address of page
- * faults would be provided and the offset within the page would not be
- * masked.
*/
#define UFFD_FEATURE_PAGEFAULT_FLAG_WP (1<<0)
#define UFFD_FEATURE_EVENT_FORK (1<<1)
@@ -206,7 +201,6 @@ struct uffdio_api {
#define UFFD_FEATURE_THREAD_ID (1<<8)
#define UFFD_FEATURE_MINOR_HUGETLBFS (1<<9)
#define UFFD_FEATURE_MINOR_SHMEM (1<<10)
-#define UFFD_FEATURE_EXACT_ADDRESS (1<<11)
__u64 features;
__u64 ioctls;
diff --git a/original/uapi/linux/v4l2-controls.h b/original/uapi/linux/v4l2-controls.h
index bb40129..c8e0f84 100644
--- a/original/uapi/linux/v4l2-controls.h
+++ b/original/uapi/linux/v4l2-controls.h
@@ -219,12 +219,6 @@ enum v4l2_colorfx {
*/
#define V4L2_CID_USER_ALLEGRO_BASE (V4L2_CID_USER_BASE + 0x1170)
-/*
- * The base for the isl7998x driver controls.
- * We reserve 16 controls for this driver.
- */
-#define V4L2_CID_USER_ISL7998X_BASE (V4L2_CID_USER_BASE + 0x1180)
-
/* MPEG-class control IDs */
/* The MPEG controls are applicable to all codec controls
* and the 'MPEG' part of the define is historical */
@@ -1569,8 +1563,6 @@ struct v4l2_h264_dpb_entry {
#define V4L2_H264_DECODE_PARAM_FLAG_IDR_PIC 0x01
#define V4L2_H264_DECODE_PARAM_FLAG_FIELD_PIC 0x02
#define V4L2_H264_DECODE_PARAM_FLAG_BOTTOM_FIELD 0x04
-#define V4L2_H264_DECODE_PARAM_FLAG_PFRAME 0x08
-#define V4L2_H264_DECODE_PARAM_FLAG_BFRAME 0x10
#define V4L2_CID_STATELESS_H264_DECODE_PARAMS (V4L2_CID_CODEC_STATELESS_BASE + 7)
/**
diff --git a/original/uapi/linux/version.h b/original/uapi/linux/version.h
index 9b52bb6..fb68148 100644
--- a/original/uapi/linux/version.h
+++ b/original/uapi/linux/version.h
@@ -1,5 +1,5 @@
-#define LINUX_VERSION_CODE 332288
+#define LINUX_VERSION_CODE 332032
#define KERNEL_VERSION(a,b,c) (((a) << 16) + ((b) << 8) + ((c) > 255 ? 255 : (c)))
#define LINUX_VERSION_MAJOR 5
-#define LINUX_VERSION_PATCHLEVEL 18
+#define LINUX_VERSION_PATCHLEVEL 17
#define LINUX_VERSION_SUBLEVEL 0
diff --git a/original/uapi/linux/vfio.h b/original/uapi/linux/vfio.h
index fea8606..ef33ea0 100644
--- a/original/uapi/linux/vfio.h
+++ b/original/uapi/linux/vfio.h
@@ -323,7 +323,7 @@ struct vfio_region_info_cap_type {
#define VFIO_REGION_TYPE_PCI_VENDOR_MASK (0xffff)
#define VFIO_REGION_TYPE_GFX (1)
#define VFIO_REGION_TYPE_CCW (2)
-#define VFIO_REGION_TYPE_MIGRATION_DEPRECATED (3)
+#define VFIO_REGION_TYPE_MIGRATION (3)
/* sub-types for VFIO_REGION_TYPE_PCI_* */
@@ -405,29 +405,225 @@ struct vfio_region_gfx_edid {
#define VFIO_REGION_SUBTYPE_CCW_CRW (3)
/* sub-types for VFIO_REGION_TYPE_MIGRATION */
-#define VFIO_REGION_SUBTYPE_MIGRATION_DEPRECATED (1)
+#define VFIO_REGION_SUBTYPE_MIGRATION (1)
+
+/*
+ * The structure vfio_device_migration_info is placed at the 0th offset of
+ * the VFIO_REGION_SUBTYPE_MIGRATION region to get and set VFIO device related
+ * migration information. Field accesses from this structure are only supported
+ * at their native width and alignment. Otherwise, the result is undefined and
+ * vendor drivers should return an error.
+ *
+ * device_state: (read/write)
+ * - The user application writes to this field to inform the vendor driver
+ * about the device state to be transitioned to.
+ * - The vendor driver should take the necessary actions to change the
+ * device state. After successful transition to a given state, the
+ * vendor driver should return success on write(device_state, state)
+ * system call. If the device state transition fails, the vendor driver
+ * should return an appropriate -errno for the fault condition.
+ * - On the user application side, if the device state transition fails,
+ * that is, if write(device_state, state) returns an error, read
+ * device_state again to determine the current state of the device from
+ * the vendor driver.
+ * - The vendor driver should return previous state of the device unless
+ * the vendor driver has encountered an internal error, in which case
+ * the vendor driver may report the device_state VFIO_DEVICE_STATE_ERROR.
+ * - The user application must use the device reset ioctl to recover the
+ * device from VFIO_DEVICE_STATE_ERROR state. If the device is
+ * indicated to be in a valid device state by reading device_state, the
+ * user application may attempt to transition the device to any valid
+ * state reachable from the current state or terminate itself.
+ *
+ * device_state consists of 3 bits:
+ * - If bit 0 is set, it indicates the _RUNNING state. If bit 0 is clear,
+ * it indicates the _STOP state. When the device state is changed to
+ * _STOP, driver should stop the device before write() returns.
+ * - If bit 1 is set, it indicates the _SAVING state, which means that the
+ * driver should start gathering device state information that will be
+ * provided to the VFIO user application to save the device's state.
+ * - If bit 2 is set, it indicates the _RESUMING state, which means that
+ * the driver should prepare to resume the device. Data provided through
+ * the migration region should be used to resume the device.
+ * Bits 3 - 31 are reserved for future use. To preserve them, the user
+ * application should perform a read-modify-write operation on this
+ * field when modifying the specified bits.
+ *
+ * +------- _RESUMING
+ * |+------ _SAVING
+ * ||+----- _RUNNING
+ * |||
+ * 000b => Device Stopped, not saving or resuming
+ * 001b => Device running, which is the default state
+ * 010b => Stop the device & save the device state, stop-and-copy state
+ * 011b => Device running and save the device state, pre-copy state
+ * 100b => Device stopped and the device state is resuming
+ * 101b => Invalid state
+ * 110b => Error state
+ * 111b => Invalid state
+ *
+ * State transitions:
+ *
+ * _RESUMING _RUNNING Pre-copy Stop-and-copy _STOP
+ * (100b) (001b) (011b) (010b) (000b)
+ * 0. Running or default state
+ * |
+ *
+ * 1. Normal Shutdown (optional)
+ * |------------------------------------->|
+ *
+ * 2. Save the state or suspend
+ * |------------------------->|---------->|
+ *
+ * 3. Save the state during live migration
+ * |----------->|------------>|---------->|
+ *
+ * 4. Resuming
+ * |<---------|
+ *
+ * 5. Resumed
+ * |--------->|
+ *
+ * 0. Default state of VFIO device is _RUNNING when the user application starts.
+ * 1. During normal shutdown of the user application, the user application may
+ * optionally change the VFIO device state from _RUNNING to _STOP. This
+ * transition is optional. The vendor driver must support this transition but
+ * must not require it.
+ * 2. When the user application saves state or suspends the application, the
+ * device state transitions from _RUNNING to stop-and-copy and then to _STOP.
+ * On state transition from _RUNNING to stop-and-copy, driver must stop the
+ * device, save the device state and send it to the application through the
+ * migration region. The sequence to be followed for such transition is given
+ * below.
+ * 3. In live migration of user application, the state transitions from _RUNNING
+ * to pre-copy, to stop-and-copy, and to _STOP.
+ * On state transition from _RUNNING to pre-copy, the driver should start
+ * gathering the device state while the application is still running and send
+ * the device state data to application through the migration region.
+ * On state transition from pre-copy to stop-and-copy, the driver must stop
+ * the device, save the device state and send it to the user application
+ * through the migration region.
+ * Vendor drivers must support the pre-copy state even for implementations
+ * where no data is provided to the user before the stop-and-copy state. The
+ * user must not be required to consume all migration data before the device
+ * transitions to a new state, including the stop-and-copy state.
+ * The sequence to be followed for above two transitions is given below.
+ * 4. To start the resuming phase, the device state should be transitioned from
+ * the _RUNNING to the _RESUMING state.
+ * In the _RESUMING state, the driver should use the device state data
+ * received through the migration region to resume the device.
+ * 5. After providing saved device data to the driver, the application should
+ * change the state from _RESUMING to _RUNNING.
+ *
+ * reserved:
+ * Reads on this field return zero and writes are ignored.
+ *
+ * pending_bytes: (read only)
+ * The number of pending bytes still to be migrated from the vendor driver.
+ *
+ * data_offset: (read only)
+ * The user application should read data_offset field from the migration
+ * region. The user application should read the device data from this
+ * offset within the migration region during the _SAVING state or write
+ * the device data during the _RESUMING state. See below for details of
+ * sequence to be followed.
+ *
+ * data_size: (read/write)
+ * The user application should read data_size to get the size in bytes of
+ * the data copied in the migration region during the _SAVING state and
+ * write the size in bytes of the data copied in the migration region
+ * during the _RESUMING state.
+ *
+ * The format of the migration region is as follows:
+ * ------------------------------------------------------------------
+ * |vfio_device_migration_info| data section |
+ * | | /////////////////////////////// |
+ * ------------------------------------------------------------------
+ * ^ ^
+ * offset 0-trapped part data_offset
+ *
+ * The structure vfio_device_migration_info is always followed by the data
+ * section in the region, so data_offset will always be nonzero. The offset
+ * from where the data is copied is decided by the kernel driver. The data
+ * section can be trapped, mmapped, or partitioned, depending on how the kernel
+ * driver defines the data section. The data section partition can be defined
+ * as mapped by the sparse mmap capability. If mmapped, data_offset must be
+ * page aligned, whereas initial section which contains the
+ * vfio_device_migration_info structure, might not end at the offset, which is
+ * page aligned. The user is not required to access through mmap regardless
+ * of the capabilities of the region mmap.
+ * The vendor driver should determine whether and how to partition the data
+ * section. The vendor driver should return data_offset accordingly.
+ *
+ * The sequence to be followed while in pre-copy state and stop-and-copy state
+ * is as follows:
+ * a. Read pending_bytes, indicating the start of a new iteration to get device
+ * data. Repeated read on pending_bytes at this stage should have no side
+ * effects.
+ * If pending_bytes == 0, the user application should not iterate to get data
+ * for that device.
+ * If pending_bytes > 0, perform the following steps.
+ * b. Read data_offset, indicating that the vendor driver should make data
+ * available through the data section. The vendor driver should return this
+ * read operation only after data is available from (region + data_offset)
+ * to (region + data_offset + data_size).
+ * c. Read data_size, which is the amount of data in bytes available through
+ * the migration region.
+ * Read on data_offset and data_size should return the offset and size of
+ * the current buffer if the user application reads data_offset and
+ * data_size more than once here.
+ * d. Read data_size bytes of data from (region + data_offset) from the
+ * migration region.
+ * e. Process the data.
+ * f. Read pending_bytes, which indicates that the data from the previous
+ * iteration has been read. If pending_bytes > 0, go to step b.
+ *
+ * The user application can transition from the _SAVING|_RUNNING
+ * (pre-copy state) to the _SAVING (stop-and-copy) state regardless of the
+ * number of pending bytes. The user application should iterate in _SAVING
+ * (stop-and-copy) until pending_bytes is 0.
+ *
+ * The sequence to be followed while _RESUMING device state is as follows:
+ * While data for this device is available, repeat the following steps:
+ * a. Read data_offset from where the user application should write data.
+ * b. Write migration data starting at the migration region + data_offset for
+ * the length determined by data_size from the migration source.
+ * c. Write data_size, which indicates to the vendor driver that data is
+ * written in the migration region. Vendor driver must return this write
+ * operations on consuming data. Vendor driver should apply the
+ * user-provided migration region data to the device resume state.
+ *
+ * If an error occurs during the above sequences, the vendor driver can return
+ * an error code for next read() or write() operation, which will terminate the
+ * loop. The user application should then take the next necessary action, for
+ * example, failing migration or terminating the user application.
+ *
+ * For the user application, data is opaque. The user application should write
+ * data in the same order as the data is received and the data should be of
+ * same transaction size at the source.
+ */
struct vfio_device_migration_info {
__u32 device_state; /* VFIO device state */
-#define VFIO_DEVICE_STATE_V1_STOP (0)
-#define VFIO_DEVICE_STATE_V1_RUNNING (1 << 0)
-#define VFIO_DEVICE_STATE_V1_SAVING (1 << 1)
-#define VFIO_DEVICE_STATE_V1_RESUMING (1 << 2)
-#define VFIO_DEVICE_STATE_MASK (VFIO_DEVICE_STATE_V1_RUNNING | \
- VFIO_DEVICE_STATE_V1_SAVING | \
- VFIO_DEVICE_STATE_V1_RESUMING)
+#define VFIO_DEVICE_STATE_STOP (0)
+#define VFIO_DEVICE_STATE_RUNNING (1 << 0)
+#define VFIO_DEVICE_STATE_SAVING (1 << 1)
+#define VFIO_DEVICE_STATE_RESUMING (1 << 2)
+#define VFIO_DEVICE_STATE_MASK (VFIO_DEVICE_STATE_RUNNING | \
+ VFIO_DEVICE_STATE_SAVING | \
+ VFIO_DEVICE_STATE_RESUMING)
#define VFIO_DEVICE_STATE_VALID(state) \
- (state & VFIO_DEVICE_STATE_V1_RESUMING ? \
- (state & VFIO_DEVICE_STATE_MASK) == VFIO_DEVICE_STATE_V1_RESUMING : 1)
+ (state & VFIO_DEVICE_STATE_RESUMING ? \
+ (state & VFIO_DEVICE_STATE_MASK) == VFIO_DEVICE_STATE_RESUMING : 1)
#define VFIO_DEVICE_STATE_IS_ERROR(state) \
- ((state & VFIO_DEVICE_STATE_MASK) == (VFIO_DEVICE_STATE_V1_SAVING | \
- VFIO_DEVICE_STATE_V1_RESUMING))
+ ((state & VFIO_DEVICE_STATE_MASK) == (VFIO_DEVICE_STATE_SAVING | \
+ VFIO_DEVICE_STATE_RESUMING))
#define VFIO_DEVICE_STATE_SET_ERROR(state) \
- ((state & ~VFIO_DEVICE_STATE_MASK) | VFIO_DEVICE_STATE_V1_SAVING | \
- VFIO_DEVICE_STATE_V1_RESUMING)
+ ((state & ~VFIO_DEVICE_STATE_MASK) | VFIO_DEVICE_SATE_SAVING | \
+ VFIO_DEVICE_STATE_RESUMING)
__u32 reserved;
__u64 pending_bytes;
@@ -806,186 +1002,6 @@ struct vfio_device_feature {
*/
#define VFIO_DEVICE_FEATURE_PCI_VF_TOKEN (0)
-/*
- * Indicates the device can support the migration API through
- * VFIO_DEVICE_FEATURE_MIG_DEVICE_STATE. If this GET succeeds, the RUNNING and
- * ERROR states are always supported. Support for additional states is
- * indicated via the flags field; at least VFIO_MIGRATION_STOP_COPY must be
- * set.
- *
- * VFIO_MIGRATION_STOP_COPY means that STOP, STOP_COPY and
- * RESUMING are supported.
- *
- * VFIO_MIGRATION_STOP_COPY | VFIO_MIGRATION_P2P means that RUNNING_P2P
- * is supported in addition to the STOP_COPY states.
- *
- * Other combinations of flags have behavior to be defined in the future.
- */
-struct vfio_device_feature_migration {
- __aligned_u64 flags;
-#define VFIO_MIGRATION_STOP_COPY (1 << 0)
-#define VFIO_MIGRATION_P2P (1 << 1)
-};
-#define VFIO_DEVICE_FEATURE_MIGRATION 1
-
-/*
- * Upon VFIO_DEVICE_FEATURE_SET, execute a migration state change on the VFIO
- * device. The new state is supplied in device_state, see enum
- * vfio_device_mig_state for details
- *
- * The kernel migration driver must fully transition the device to the new state
- * value before the operation returns to the user.
- *
- * The kernel migration driver must not generate asynchronous device state
- * transitions outside of manipulation by the user or the VFIO_DEVICE_RESET
- * ioctl as described above.
- *
- * If this function fails then current device_state may be the original
- * operating state or some other state along the combination transition path.
- * The user can then decide if it should execute a VFIO_DEVICE_RESET, attempt
- * to return to the original state, or attempt to return to some other state
- * such as RUNNING or STOP.
- *
- * If the new_state starts a new data transfer session then the FD associated
- * with that session is returned in data_fd. The user is responsible to close
- * this FD when it is finished. The user must consider the migration data stream
- * carried over the FD to be opaque and must preserve the byte order of the
- * stream. The user is not required to preserve buffer segmentation when writing
- * the data stream during the RESUMING operation.
- *
- * Upon VFIO_DEVICE_FEATURE_GET, get the current migration state of the VFIO
- * device, data_fd will be -1.
- */
-struct vfio_device_feature_mig_state {
- __u32 device_state; /* From enum vfio_device_mig_state */
- __s32 data_fd;
-};
-#define VFIO_DEVICE_FEATURE_MIG_DEVICE_STATE 2
-
-/*
- * The device migration Finite State Machine is described by the enum
- * vfio_device_mig_state. Some of the FSM arcs will create a migration data
- * transfer session by returning a FD, in this case the migration data will
- * flow over the FD using read() and write() as discussed below.
- *
- * There are 5 states to support VFIO_MIGRATION_STOP_COPY:
- * RUNNING - The device is running normally
- * STOP - The device does not change the internal or external state
- * STOP_COPY - The device internal state can be read out
- * RESUMING - The device is stopped and is loading a new internal state
- * ERROR - The device has failed and must be reset
- *
- * And 1 optional state to support VFIO_MIGRATION_P2P:
- * RUNNING_P2P - RUNNING, except the device cannot do peer to peer DMA
- *
- * The FSM takes actions on the arcs between FSM states. The driver implements
- * the following behavior for the FSM arcs:
- *
- * RUNNING_P2P -> STOP
- * STOP_COPY -> STOP
- * While in STOP the device must stop the operation of the device. The device
- * must not generate interrupts, DMA, or any other change to external state.
- * It must not change its internal state. When stopped the device and kernel
- * migration driver must accept and respond to interaction to support external
- * subsystems in the STOP state, for example PCI MSI-X and PCI config space.
- * Failure by the user to restrict device access while in STOP must not result
- * in error conditions outside the user context (ex. host system faults).
- *
- * The STOP_COPY arc will terminate a data transfer session.
- *
- * RESUMING -> STOP
- * Leaving RESUMING terminates a data transfer session and indicates the
- * device should complete processing of the data delivered by write(). The
- * kernel migration driver should complete the incorporation of data written
- * to the data transfer FD into the device internal state and perform
- * final validity and consistency checking of the new device state. If the
- * user provided data is found to be incomplete, inconsistent, or otherwise
- * invalid, the migration driver must fail the SET_STATE ioctl and
- * optionally go to the ERROR state as described below.
- *
- * While in STOP the device has the same behavior as other STOP states
- * described above.
- *
- * To abort a RESUMING session the device must be reset.
- *
- * RUNNING_P2P -> RUNNING
- * While in RUNNING the device is fully operational, the device may generate
- * interrupts, DMA, respond to MMIO, all vfio device regions are functional,
- * and the device may advance its internal state.
- *
- * RUNNING -> RUNNING_P2P
- * STOP -> RUNNING_P2P
- * While in RUNNING_P2P the device is partially running in the P2P quiescent
- * state defined below.
- *
- * STOP -> STOP_COPY
- * This arc begin the process of saving the device state and will return a
- * new data_fd.
- *
- * While in the STOP_COPY state the device has the same behavior as STOP
- * with the addition that the data transfers session continues to stream the
- * migration state. End of stream on the FD indicates the entire device
- * state has been transferred.
- *
- * The user should take steps to restrict access to vfio device regions while
- * the device is in STOP_COPY or risk corruption of the device migration data
- * stream.
- *
- * STOP -> RESUMING
- * Entering the RESUMING state starts a process of restoring the device state
- * and will return a new data_fd. The data stream fed into the data_fd should
- * be taken from the data transfer output of a single FD during saving from
- * a compatible device. The migration driver may alter/reset the internal
- * device state for this arc if required to prepare the device to receive the
- * migration data.
- *
- * any -> ERROR
- * ERROR cannot be specified as a device state, however any transition request
- * can be failed with an errno return and may then move the device_state into
- * ERROR. In this case the device was unable to execute the requested arc and
- * was also unable to restore the device to any valid device_state.
- * To recover from ERROR VFIO_DEVICE_RESET must be used to return the
- * device_state back to RUNNING.
- *
- * The optional peer to peer (P2P) quiescent state is intended to be a quiescent
- * state for the device for the purposes of managing multiple devices within a
- * user context where peer-to-peer DMA between devices may be active. The
- * RUNNING_P2P states must prevent the device from initiating
- * any new P2P DMA transactions. If the device can identify P2P transactions
- * then it can stop only P2P DMA, otherwise it must stop all DMA. The migration
- * driver must complete any such outstanding operations prior to completing the
- * FSM arc into a P2P state. For the purpose of specification the states
- * behave as though the device was fully running if not supported. Like while in
- * STOP or STOP_COPY the user must not touch the device, otherwise the state
- * can be exited.
- *
- * The remaining possible transitions are interpreted as combinations of the
- * above FSM arcs. As there are multiple paths through the FSM arcs the path
- * should be selected based on the following rules:
- * - Select the shortest path.
- * Refer to vfio_mig_get_next_state() for the result of the algorithm.
- *
- * The automatic transit through the FSM arcs that make up the combination
- * transition is invisible to the user. When working with combination arcs the
- * user may see any step along the path in the device_state if SET_STATE
- * fails. When handling these types of errors users should anticipate future
- * revisions of this protocol using new states and those states becoming
- * visible in this case.
- *
- * The optional states cannot be used with SET_STATE if the device does not
- * support them. The user can discover if these states are supported by using
- * VFIO_DEVICE_FEATURE_MIGRATION. By using combination transitions the user can
- * avoid knowing about these optional states if the kernel driver supports them.
- */
-enum vfio_device_mig_state {
- VFIO_DEVICE_STATE_ERROR = 0,
- VFIO_DEVICE_STATE_STOP = 1,
- VFIO_DEVICE_STATE_RUNNING = 2,
- VFIO_DEVICE_STATE_STOP_COPY = 3,
- VFIO_DEVICE_STATE_RESUMING = 4,
- VFIO_DEVICE_STATE_RUNNING_P2P = 5,
-};
-
/* -------- API for Type1 VFIO IOMMU -------- */
/**
diff --git a/original/uapi/linux/vhost.h b/original/uapi/linux/vhost.h
index 5d99e7c..c998860 100644
--- a/original/uapi/linux/vhost.h
+++ b/original/uapi/linux/vhost.h
@@ -150,11 +150,4 @@
/* Get the valid iova range */
#define VHOST_VDPA_GET_IOVA_RANGE _IOR(VHOST_VIRTIO, 0x78, \
struct vhost_vdpa_iova_range)
-
-/* Get the config size */
-#define VHOST_VDPA_GET_CONFIG_SIZE _IOR(VHOST_VIRTIO, 0x79, __u32)
-
-/* Get the count of all virtqueues */
-#define VHOST_VDPA_GET_VQS_COUNT _IOR(VHOST_VIRTIO, 0x80, __u32)
-
#endif
diff --git a/original/uapi/linux/videodev2.h b/original/uapi/linux/videodev2.h
index cbf2058..df8b9c4 100644
--- a/original/uapi/linux/videodev2.h
+++ b/original/uapi/linux/videodev2.h
@@ -70,7 +70,7 @@
* Common stuff for both V4L1 and V4L2
* Moved from videodev.h
*/
-#define VIDEO_MAX_FRAME 64
+#define VIDEO_MAX_FRAME 32
#define VIDEO_MAX_PLANES 8
/*
@@ -632,8 +632,6 @@ struct v4l2_pix_format {
/* Tiled YUV formats, non contiguous planes */
#define V4L2_PIX_FMT_NV12MT v4l2_fourcc('T', 'M', '1', '2') /* 12 Y/CbCr 4:2:0 64x32 tiles */
#define V4L2_PIX_FMT_NV12MT_16X16 v4l2_fourcc('V', 'M', '1', '2') /* 12 Y/CbCr 4:2:0 16x16 tiles */
-#define V4L2_PIX_FMT_NV12M_8L128 v4l2_fourcc('N', 'A', '1', '2') /* Y/CbCr 4:2:0 8x128 tiles */
-#define V4L2_PIX_FMT_NV12M_10BE_8L128 v4l2_fourcc_be('N', 'T', '1', '2') /* Y/CbCr 4:2:0 10-bit 8x128 tiles */
/* Bayer formats - see http://www.siliconimaging.com/RGB%20Bayer.htm */
#define V4L2_PIX_FMT_SBGGR8 v4l2_fourcc('B', 'A', '8', '1') /* 8 BGBG.. GRGR.. */
diff --git a/original/uapi/linux/virtio_config.h b/original/uapi/linux/virtio_config.h
index f0fb0ae..b5eda06 100644
--- a/original/uapi/linux/virtio_config.h
+++ b/original/uapi/linux/virtio_config.h
@@ -83,12 +83,6 @@
#define VIRTIO_F_RING_PACKED 34
/*
- * Inorder feature indicates that all buffers are used by the device
- * in the same order in which they have been made available.
- */
-#define VIRTIO_F_IN_ORDER 35
-
-/*
* This feature indicates that memory accesses by the driver and the
* device are ordered in a way described by the platform.
*/
diff --git a/original/uapi/linux/virtio_crypto.h b/original/uapi/linux/virtio_crypto.h
index 71a54a6..a03932f 100644
--- a/original/uapi/linux/virtio_crypto.h
+++ b/original/uapi/linux/virtio_crypto.h
@@ -37,7 +37,6 @@
#define VIRTIO_CRYPTO_SERVICE_HASH 1
#define VIRTIO_CRYPTO_SERVICE_MAC 2
#define VIRTIO_CRYPTO_SERVICE_AEAD 3
-#define VIRTIO_CRYPTO_SERVICE_AKCIPHER 4
#define VIRTIO_CRYPTO_OPCODE(service, op) (((service) << 8) | (op))
@@ -58,10 +57,6 @@ struct virtio_crypto_ctrl_header {
VIRTIO_CRYPTO_OPCODE(VIRTIO_CRYPTO_SERVICE_AEAD, 0x02)
#define VIRTIO_CRYPTO_AEAD_DESTROY_SESSION \
VIRTIO_CRYPTO_OPCODE(VIRTIO_CRYPTO_SERVICE_AEAD, 0x03)
-#define VIRTIO_CRYPTO_AKCIPHER_CREATE_SESSION \
- VIRTIO_CRYPTO_OPCODE(VIRTIO_CRYPTO_SERVICE_AKCIPHER, 0x04)
-#define VIRTIO_CRYPTO_AKCIPHER_DESTROY_SESSION \
- VIRTIO_CRYPTO_OPCODE(VIRTIO_CRYPTO_SERVICE_AKCIPHER, 0x05)
__le32 opcode;
__le32 algo;
__le32 flag;
@@ -185,58 +180,6 @@ struct virtio_crypto_aead_create_session_req {
__u8 padding[32];
};
-struct virtio_crypto_rsa_session_para {
-#define VIRTIO_CRYPTO_RSA_RAW_PADDING 0
-#define VIRTIO_CRYPTO_RSA_PKCS1_PADDING 1
- __le32 padding_algo;
-
-#define VIRTIO_CRYPTO_RSA_NO_HASH 0
-#define VIRTIO_CRYPTO_RSA_MD2 1
-#define VIRTIO_CRYPTO_RSA_MD3 2
-#define VIRTIO_CRYPTO_RSA_MD4 3
-#define VIRTIO_CRYPTO_RSA_MD5 4
-#define VIRTIO_CRYPTO_RSA_SHA1 5
-#define VIRTIO_CRYPTO_RSA_SHA256 6
-#define VIRTIO_CRYPTO_RSA_SHA384 7
-#define VIRTIO_CRYPTO_RSA_SHA512 8
-#define VIRTIO_CRYPTO_RSA_SHA224 9
- __le32 hash_algo;
-};
-
-struct virtio_crypto_ecdsa_session_para {
-#define VIRTIO_CRYPTO_CURVE_UNKNOWN 0
-#define VIRTIO_CRYPTO_CURVE_NIST_P192 1
-#define VIRTIO_CRYPTO_CURVE_NIST_P224 2
-#define VIRTIO_CRYPTO_CURVE_NIST_P256 3
-#define VIRTIO_CRYPTO_CURVE_NIST_P384 4
-#define VIRTIO_CRYPTO_CURVE_NIST_P521 5
- __le32 curve_id;
- __le32 padding;
-};
-
-struct virtio_crypto_akcipher_session_para {
-#define VIRTIO_CRYPTO_NO_AKCIPHER 0
-#define VIRTIO_CRYPTO_AKCIPHER_RSA 1
-#define VIRTIO_CRYPTO_AKCIPHER_DSA 2
-#define VIRTIO_CRYPTO_AKCIPHER_ECDSA 3
- __le32 algo;
-
-#define VIRTIO_CRYPTO_AKCIPHER_KEY_TYPE_PUBLIC 1
-#define VIRTIO_CRYPTO_AKCIPHER_KEY_TYPE_PRIVATE 2
- __le32 keytype;
- __le32 keylen;
-
- union {
- struct virtio_crypto_rsa_session_para rsa;
- struct virtio_crypto_ecdsa_session_para ecdsa;
- } u;
-};
-
-struct virtio_crypto_akcipher_create_session_req {
- struct virtio_crypto_akcipher_session_para para;
- __u8 padding[36];
-};
-
struct virtio_crypto_alg_chain_session_para {
#define VIRTIO_CRYPTO_SYM_ALG_CHAIN_ORDER_HASH_THEN_CIPHER 1
#define VIRTIO_CRYPTO_SYM_ALG_CHAIN_ORDER_CIPHER_THEN_HASH 2
@@ -304,8 +247,6 @@ struct virtio_crypto_op_ctrl_req {
mac_create_session;
struct virtio_crypto_aead_create_session_req
aead_create_session;
- struct virtio_crypto_akcipher_create_session_req
- akcipher_create_session;
struct virtio_crypto_destroy_session_req
destroy_session;
__u8 padding[56];
@@ -325,14 +266,6 @@ struct virtio_crypto_op_header {
VIRTIO_CRYPTO_OPCODE(VIRTIO_CRYPTO_SERVICE_AEAD, 0x00)
#define VIRTIO_CRYPTO_AEAD_DECRYPT \
VIRTIO_CRYPTO_OPCODE(VIRTIO_CRYPTO_SERVICE_AEAD, 0x01)
-#define VIRTIO_CRYPTO_AKCIPHER_ENCRYPT \
- VIRTIO_CRYPTO_OPCODE(VIRTIO_CRYPTO_SERVICE_AKCIPHER, 0x00)
-#define VIRTIO_CRYPTO_AKCIPHER_DECRYPT \
- VIRTIO_CRYPTO_OPCODE(VIRTIO_CRYPTO_SERVICE_AKCIPHER, 0x01)
-#define VIRTIO_CRYPTO_AKCIPHER_SIGN \
- VIRTIO_CRYPTO_OPCODE(VIRTIO_CRYPTO_SERVICE_AKCIPHER, 0x02)
-#define VIRTIO_CRYPTO_AKCIPHER_VERIFY \
- VIRTIO_CRYPTO_OPCODE(VIRTIO_CRYPTO_SERVICE_AKCIPHER, 0x03)
__le32 opcode;
/* algo should be service-specific algorithms */
__le32 algo;
@@ -457,16 +390,6 @@ struct virtio_crypto_aead_data_req {
__u8 padding[32];
};
-struct virtio_crypto_akcipher_para {
- __le32 src_data_len;
- __le32 dst_data_len;
-};
-
-struct virtio_crypto_akcipher_data_req {
- struct virtio_crypto_akcipher_para para;
- __u8 padding[40];
-};
-
/* The request of the data virtqueue's packet */
struct virtio_crypto_op_data_req {
struct virtio_crypto_op_header header;
@@ -476,7 +399,6 @@ struct virtio_crypto_op_data_req {
struct virtio_crypto_hash_data_req hash_req;
struct virtio_crypto_mac_data_req mac_req;
struct virtio_crypto_aead_data_req aead_req;
- struct virtio_crypto_akcipher_data_req akcipher_req;
__u8 padding[48];
} u;
};
@@ -486,8 +408,6 @@ struct virtio_crypto_op_data_req {
#define VIRTIO_CRYPTO_BADMSG 2
#define VIRTIO_CRYPTO_NOTSUPP 3
#define VIRTIO_CRYPTO_INVSESS 4 /* Invalid session id */
-#define VIRTIO_CRYPTO_NOSPC 5 /* no free session ID */
-#define VIRTIO_CRYPTO_KEY_REJECTED 6 /* Signature verification failed */
/* The accelerator hardware is ready */
#define VIRTIO_CRYPTO_S_HW_READY (1 << 0)
@@ -518,7 +438,7 @@ struct virtio_crypto_config {
__le32 max_cipher_key_len;
/* Maximum length of authenticated key */
__le32 max_auth_key_len;
- __le32 akcipher_algo;
+ __le32 reserve;
/* Maximum size of each crypto request's content */
__le64 max_size;
};
diff --git a/original/uapi/linux/virtio_ids.h b/original/uapi/linux/virtio_ids.h
index 7aa2eb7..80d76b7 100644
--- a/original/uapi/linux/virtio_ids.h
+++ b/original/uapi/linux/virtio_ids.h
@@ -73,12 +73,12 @@
* Virtio Transitional IDs
*/
-#define VIRTIO_TRANS_ID_NET 0x1000 /* transitional virtio net */
-#define VIRTIO_TRANS_ID_BLOCK 0x1001 /* transitional virtio block */
-#define VIRTIO_TRANS_ID_BALLOON 0x1002 /* transitional virtio balloon */
-#define VIRTIO_TRANS_ID_CONSOLE 0x1003 /* transitional virtio console */
-#define VIRTIO_TRANS_ID_SCSI 0x1004 /* transitional virtio SCSI */
-#define VIRTIO_TRANS_ID_RNG 0x1005 /* transitional virtio rng */
-#define VIRTIO_TRANS_ID_9P 0x1009 /* transitional virtio 9p console */
+#define VIRTIO_TRANS_ID_NET 1000 /* transitional virtio net */
+#define VIRTIO_TRANS_ID_BLOCK 1001 /* transitional virtio block */
+#define VIRTIO_TRANS_ID_BALLOON 1002 /* transitional virtio balloon */
+#define VIRTIO_TRANS_ID_CONSOLE 1003 /* transitional virtio console */
+#define VIRTIO_TRANS_ID_SCSI 1004 /* transitional virtio SCSI */
+#define VIRTIO_TRANS_ID_RNG 1005 /* transitional virtio rng */
+#define VIRTIO_TRANS_ID_9P 1009 /* transitional virtio 9p console */
#endif /* _LINUX_VIRTIO_IDS_H */
diff --git a/original/uapi/misc/fastrpc.h b/original/uapi/misc/fastrpc.h
index 5e29f2c..0a89f95 100644
--- a/original/uapi/misc/fastrpc.h
+++ b/original/uapi/misc/fastrpc.h
@@ -13,64 +13,12 @@
#define FASTRPC_IOCTL_MMAP _IOWR('R', 6, struct fastrpc_req_mmap)
#define FASTRPC_IOCTL_MUNMAP _IOWR('R', 7, struct fastrpc_req_munmap)
#define FASTRPC_IOCTL_INIT_ATTACH_SNS _IO('R', 8)
-#define FASTRPC_IOCTL_MEM_MAP _IOWR('R', 10, struct fastrpc_mem_map)
-#define FASTRPC_IOCTL_MEM_UNMAP _IOWR('R', 11, struct fastrpc_mem_unmap)
-#define FASTRPC_IOCTL_GET_DSP_INFO _IOWR('R', 13, struct fastrpc_ioctl_capability)
-
-/**
- * enum fastrpc_map_flags - control flags for mapping memory on DSP user process
- * @FASTRPC_MAP_STATIC: Map memory pages with RW- permission and CACHE WRITEBACK.
- * The driver is responsible for cache maintenance when passed
- * the buffer to FastRPC calls. Same virtual address will be
- * assigned for subsequent FastRPC calls.
- * @FASTRPC_MAP_RESERVED: Reserved
- * @FASTRPC_MAP_FD: Map memory pages with RW- permission and CACHE WRITEBACK.
- * Mapping tagged with a file descriptor. User is responsible for
- * CPU and DSP cache maintenance for the buffer. Get virtual address
- * of buffer on DSP using HAP_mmap_get() and HAP_mmap_put() APIs.
- * @FASTRPC_MAP_FD_DELAYED: Mapping delayed until user call HAP_mmap() and HAP_munmap()
- * functions on DSP. It is useful to map a buffer with cache modes
- * other than default modes. User is responsible for CPU and DSP
- * cache maintenance for the buffer.
- * @FASTRPC_MAP_FD_NOMAP: This flag is used to skip CPU mapping,
- * otherwise behaves similar to FASTRPC_MAP_FD_DELAYED flag.
- * @FASTRPC_MAP_MAX: max count for flags
- *
- */
-enum fastrpc_map_flags {
- FASTRPC_MAP_STATIC = 0,
- FASTRPC_MAP_RESERVED,
- FASTRPC_MAP_FD = 2,
- FASTRPC_MAP_FD_DELAYED,
- FASTRPC_MAP_FD_NOMAP = 16,
- FASTRPC_MAP_MAX,
-};
-
-enum fastrpc_proc_attr {
- /* Macro for Debug attr */
- FASTRPC_MODE_DEBUG = (1 << 0),
- /* Macro for Ptrace */
- FASTRPC_MODE_PTRACE = (1 << 1),
- /* Macro for CRC Check */
- FASTRPC_MODE_CRC = (1 << 2),
- /* Macro for Unsigned PD */
- FASTRPC_MODE_UNSIGNED_MODULE = (1 << 3),
- /* Macro for Adaptive QoS */
- FASTRPC_MODE_ADAPTIVE_QOS = (1 << 4),
- /* Macro for System Process */
- FASTRPC_MODE_SYSTEM_PROCESS = (1 << 5),
- /* Macro for Prvileged Process */
- FASTRPC_MODE_PRIVILEGED = (1 << 6),
-};
-
-/* Fastrpc attribute for memory protection of buffers */
-#define FASTRPC_ATTR_SECUREMAP (1)
struct fastrpc_invoke_args {
__u64 ptr;
__u64 length;
__s32 fd;
- __u32 attr;
+ __u32 reserved;
};
struct fastrpc_invoke {
@@ -101,36 +49,9 @@ struct fastrpc_req_mmap {
__u64 vaddrout; /* dsp virtual address */
};
-struct fastrpc_mem_map {
- __s32 version;
- __s32 fd; /* fd */
- __s32 offset; /* buffer offset */
- __u32 flags; /* flags defined in enum fastrpc_map_flags */
- __u64 vaddrin; /* buffer virtual address */
- __u64 length; /* buffer length */
- __u64 vaddrout; /* [out] remote virtual address */
- __s32 attrs; /* buffer attributes used for SMMU mapping */
- __s32 reserved[4];
-};
-
struct fastrpc_req_munmap {
__u64 vaddrout; /* address to unmap */
__u64 size; /* size */
};
-struct fastrpc_mem_unmap {
- __s32 vesion;
- __s32 fd; /* fd */
- __u64 vaddr; /* remote process (dsp) virtual address */
- __u64 length; /* buffer size */
- __s32 reserved[5];
-};
-
-struct fastrpc_ioctl_capability {
- __u32 domain;
- __u32 attribute_id;
- __u32 capability; /* dsp capability */
- __u32 reserved[4];
-};
-
#endif /* __QCOM_FASTRPC_H__ */
diff --git a/original/uapi/misc/habanalabs.h b/original/uapi/misc/habanalabs.h
index 1d6b4f0..371dfc4 100644
--- a/original/uapi/misc/habanalabs.h
+++ b/original/uapi/misc/habanalabs.h
@@ -1,6 +1,6 @@
/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note
*
- * Copyright 2016-2022 HabanaLabs, Ltd.
+ * Copyright 2016-2020 HabanaLabs, Ltd.
* All Rights Reserved.
*
*/
@@ -30,9 +30,6 @@
*/
#define GAUDI_FIRST_AVAILABLE_W_S_MONITOR 72
-/* Max number of elements in timestamps registration buffers */
-#define TS_MAX_ELEMENTS_NUM (1 << 20) /* 1MB */
-
/*
* Goya queue Numbering
*
@@ -407,8 +404,6 @@ enum hl_server_type {
* @cpucp_version: The CPUCP f/w version.
* @card_name: The card name as passed by the f/w.
* @dram_page_size: The DRAM physical page size.
- * @number_of_user_interrupts: The number of interrupts that are available to the userspace
- * application to use. Relevant for Gaudi2 and later.
*/
struct hl_info_hw_ip_info {
__u64 sram_base_address;
@@ -433,9 +428,6 @@ struct hl_info_hw_ip_info {
__u8 card_name[HL_INFO_CARD_NAME_MAX_LEN];
__u64 reserved2;
__u64 dram_page_size;
- __u32 reserved3;
- __u16 number_of_user_interrupts;
- __u16 pad2;
};
struct hl_info_dram_usage {
@@ -698,12 +690,10 @@ struct hl_cb_in {
__u64 cb_handle;
/* HL_CB_OP_* */
__u32 op;
-
/* Size of CB. Maximum size is HL_MAX_CB_SIZE. The minimum size that
* will be allocated, regardless of this parameter's value, is PAGE_SIZE
*/
__u32 cb_size;
-
/* Context ID - Currently not in use */
__u32 ctx_id;
/* HL_CB_FLAGS_* */
@@ -969,7 +959,6 @@ union hl_cs_args {
#define HL_WAIT_CS_FLAGS_INTERRUPT_MASK 0xFFF00000
#define HL_WAIT_CS_FLAGS_MULTI_CS 0x4
#define HL_WAIT_CS_FLAGS_INTERRUPT_KERNEL_CQ 0x10
-#define HL_WAIT_CS_FLAGS_REGISTER_INTERRUPT 0x20
#define HL_WAIT_MULTI_CS_LIST_MAX_LEN 32
@@ -1042,20 +1031,6 @@ struct hl_wait_cs_in {
* relevant only when HL_WAIT_CS_FLAGS_INTERRUPT_KERNEL_CQ is set
*/
__u64 cq_counters_offset;
-
- /*
- * Timestamp_handle timestamps buffer handle.
- * relevant only when HL_WAIT_CS_FLAGS_REGISTER_INTERRUPT is set
- */
- __u64 timestamp_handle;
-
- /*
- * Timestamp_offset is offset inside the timestamp buffer pointed by timestamp_handle above.
- * upon interrupt, if the cq reached the target value then driver will write
- * timestamp to this offset.
- * relevant only when HL_WAIT_CS_FLAGS_REGISTER_INTERRUPT is set
- */
- __u64 timestamp_offset;
};
#define HL_WAIT_CS_STATUS_COMPLETED 0
@@ -1102,119 +1077,100 @@ union hl_wait_cs_args {
*/
#define HL_MEM_OP_EXPORT_DMABUF_FD 5
-/* Opcode to create timestamps pool for user interrupts registration support
- * The memory will be allocated by the kernel driver, A timestamp buffer which the user
- * will get handle to it for mmap, and another internal buffer used by the
- * driver for registration management
- * The memory will be freed when the user closes the file descriptor(ctx close)
- */
-#define HL_MEM_OP_TS_ALLOC 6
-
/* Memory flags */
#define HL_MEM_CONTIGUOUS 0x1
#define HL_MEM_SHARED 0x2
#define HL_MEM_USERPTR 0x4
#define HL_MEM_FORCE_HINT 0x8
-/**
- * structure hl_mem_in - structure that handle input args for memory IOCTL
- * @union arg: union of structures to be used based on the input operation
- * @op: specify the requested memory operation (one of the HL_MEM_OP_* definitions).
- * @flags: flags for the memory operation (one of the HL_MEM_* definitions).
- * For the HL_MEM_OP_EXPORT_DMABUF_FD opcode, this field holds the DMA-BUF file/FD flags.
- * @ctx_id: context ID - currently not in use.
- * @num_of_elements: number of timestamp elements used only with HL_MEM_OP_TS_ALLOC opcode.
- */
struct hl_mem_in {
union {
- /**
- * structure for device memory allocation (used with the HL_MEM_OP_ALLOC op)
- * @mem_size: memory size to allocate
- * @page_size: page size to use on allocation. when the value is 0 the default page
- * size will be taken.
- */
+ /* HL_MEM_OP_ALLOC- allocate device memory */
struct {
+ /* Size to alloc */
__u64 mem_size;
- __u64 page_size;
} alloc;
- /**
- * structure for free-ing device memory (used with the HL_MEM_OP_FREE op)
- * @handle: handle returned from HL_MEM_OP_ALLOC
- */
+ /* HL_MEM_OP_FREE - free device memory */
struct {
+ /* Handle returned from HL_MEM_OP_ALLOC */
__u64 handle;
} free;
- /**
- * structure for mapping device memory (used with the HL_MEM_OP_MAP op)
- * @hint_addr: requested virtual address of mapped memory.
- * the driver will try to map the requested region to this hint
- * address, as long as the address is valid and not already mapped.
- * the user should check the returned address of the IOCTL to make
- * sure he got the hint address.
- * passing 0 here means that the driver will choose the address itself.
- * @handle: handle returned from HL_MEM_OP_ALLOC.
- */
+ /* HL_MEM_OP_MAP - map device memory */
struct {
+ /*
+ * Requested virtual address of mapped memory.
+ * The driver will try to map the requested region to
+ * this hint address, as long as the address is valid
+ * and not already mapped. The user should check the
+ * returned address of the IOCTL to make sure he got
+ * the hint address. Passing 0 here means that the
+ * driver will choose the address itself.
+ */
__u64 hint_addr;
+ /* Handle returned from HL_MEM_OP_ALLOC */
__u64 handle;
} map_device;
- /**
- * structure for mapping host memory (used with the HL_MEM_OP_MAP op)
- * @host_virt_addr: address of allocated host memory.
- * @hint_addr: requested virtual address of mapped memory.
- * the driver will try to map the requested region to this hint
- * address, as long as the address is valid and not already mapped.
- * the user should check the returned address of the IOCTL to make
- * sure he got the hint address.
- * passing 0 here means that the driver will choose the address itself.
- * @size: size of allocated host memory.
- */
+ /* HL_MEM_OP_MAP - map host memory */
struct {
+ /* Address of allocated host memory */
__u64 host_virt_addr;
+ /*
+ * Requested virtual address of mapped memory.
+ * The driver will try to map the requested region to
+ * this hint address, as long as the address is valid
+ * and not already mapped. The user should check the
+ * returned address of the IOCTL to make sure he got
+ * the hint address. Passing 0 here means that the
+ * driver will choose the address itself.
+ */
__u64 hint_addr;
+ /* Size of allocated host memory */
__u64 mem_size;
} map_host;
- /**
- * structure for mapping hw block (used with the HL_MEM_OP_MAP_BLOCK op)
- * @block_addr:HW block address to map, a handle and size will be returned
- * to the user and will be used to mmap the relevant block.
- * only addresses from configuration space are allowed.
- */
+ /* HL_MEM_OP_MAP_BLOCK - map a hw block */
struct {
+ /*
+ * HW block address to map, a handle and size will be
+ * returned to the user and will be used to mmap the
+ * relevant block. Only addresses from configuration
+ * space are allowed.
+ */
__u64 block_addr;
} map_block;
- /**
- * structure for unmapping host memory (used with the HL_MEM_OP_UNMAP op)
- * @device_virt_addr: virtual address returned from HL_MEM_OP_MAP
- */
+ /* HL_MEM_OP_UNMAP - unmap host memory */
struct {
+ /* Virtual address returned from HL_MEM_OP_MAP */
__u64 device_virt_addr;
} unmap;
- /**
- * structure for exporting DMABUF object (used with
- * the HL_MEM_OP_EXPORT_DMABUF_FD op)
- * @handle: handle returned from HL_MEM_OP_ALLOC.
- * in Gaudi, where we don't have MMU for the device memory, the
- * driver expects a physical address (instead of a handle) in the
- * device memory space.
- * @mem_size: size of memory allocation. Relevant only for GAUDI
- */
+ /* HL_MEM_OP_EXPORT_DMABUF_FD */
struct {
+ /* Handle returned from HL_MEM_OP_ALLOC. In Gaudi,
+ * where we don't have MMU for the device memory, the
+ * driver expects a physical address (instead of
+ * a handle) in the device memory space.
+ */
__u64 handle;
+ /* Size of memory allocation. Relevant only for GAUDI */
__u64 mem_size;
} export_dmabuf_fd;
};
+ /* HL_MEM_OP_* */
__u32 op;
+ /* HL_MEM_* flags.
+ * For the HL_MEM_OP_EXPORT_DMABUF_FD opcode, this field holds the
+ * DMA-BUF file/FD flags.
+ */
__u32 flags;
+ /* Context ID - Currently not in use */
__u32 ctx_id;
- __u32 num_of_elements;
+ __u32 pad;
};
struct hl_mem_out {
diff --git a/original/uapi/sound/sof/abi.h b/original/uapi/sound/sof/abi.h
index e052653..fe2cfae 100644
--- a/original/uapi/sound/sof/abi.h
+++ b/original/uapi/sound/sof/abi.h
@@ -26,8 +26,8 @@
/* SOF ABI version major, minor and patch numbers */
#define SOF_ABI_MAJOR 3
-#define SOF_ABI_MINOR 19
-#define SOF_ABI_PATCH 1
+#define SOF_ABI_MINOR 18
+#define SOF_ABI_PATCH 0
/* SOF ABI version number. Format within 32bit word is MMmmmppp */
#define SOF_ABI_MAJOR_SHIFT 24