Snap for 6439596 from 05215268d71368ebeab8238a512124cda35491a7 to qt-aml-tzdata-release

Change-Id: I877748b84aac37723e64f035737fde200bb38cd0
diff --git a/README.md b/README.md
index 0ea8a38..4f46af1 100644
--- a/README.md
+++ b/README.md
@@ -1,4 +1,5 @@
-# Android kernel headers
+Android kernel headers
+======================
 
 This project contains the original kernel headers that are used to generate
 Bionic's "cleaned-up" user-land headers.
@@ -7,20 +8,32 @@
 distributed as part of the platform itself.  The cleaned up headers do not
 contain copyrightable information and are distributed with bionic.
 
-## Regenerating the bionic headers
+Importing modified kernel headers files is done using scripts found in bionic.
 
 Note that if you're actually just trying to expose device-specific headers
-to build your device drivers, you shouldn't modify these headers or bionic.
-Instead use `TARGET_DEVICE_KERNEL_HEADERS` and friends as described in
+to build your device drivers, you shouldn't modify bionic. Instead
+use `TARGET_DEVICE_KERNEL_HEADERS` and friends described in
 [config.mk](https://android.googlesource.com/platform/build/+/master/core/config.mk#186).
 
-Otherwise see the
-[bionic/libc/kernel docs](https://android.googlesource.com/platform/bionic/+/master/libc/kernel/)
-for how to actually take an update.
+Regenerating the bionic headers
+-------------------------------
+The uapi directory contains the original kernel UAPI (userspace API) headers
+that are used to generate Bionic's "cleaned-up" user-land headers. The script
+`bionic/libc/kernel/tools/generate_uapi_headers.sh` automatically imports the
+headers from an android kernel repository.
 
+Running the script:
+```
+generate_uapi_headers.sh --download-kernel
+```
 
-## Manually modified headers
+In order to run the script, you must have properly initialized the build
+environment using the lunch command. The script will automatically retrieve
+an android kernel, generate all include files, and then copy the headers to
+this directory.
 
+Manually modified headers
+-------------------------
 The `modified/scsi` directory contains a set of manually updated headers.
 The scsi kernel headers were never properly made to into uapi versions,
 so this directory contains the unmodified scsi headers that are imported
diff --git a/modified/scsi/scsi.h b/modified/scsi/scsi.h
index 0ca0e12..5579082 100644
--- a/modified/scsi/scsi.h
+++ b/modified/scsi/scsi.h
@@ -283,4 +283,12 @@
 /* Used to obtain the PCI location of a device */
 #define SCSI_IOCTL_GET_PCI		0x5387
 
+#ifdef __KERNEL__
+/* Pull a u32 out of a SCSI message (using BE SCSI conventions) */
+static inline __u32 scsi_to_u32(__u8 *ptr)
+{
+	return (ptr[0]<<24) + (ptr[1]<<16) + (ptr[2]<<8) + ptr[3];
+}
+#endif /* __KERNEL__ */
+
 #endif /* _SCSI_SCSI_H */
diff --git a/original/scsi/scsi.h b/original/scsi/scsi.h
index 5339baa..eb7853c 100644
--- a/original/scsi/scsi.h
+++ b/original/scsi/scsi.h
@@ -274,4 +274,10 @@
 /* Used to obtain the PCI location of a device */
 #define SCSI_IOCTL_GET_PCI		0x5387
 
+/* Pull a u32 out of a SCSI message (using BE SCSI conventions) */
+static inline __u32 scsi_to_u32(__u8 *ptr)
+{
+	return (ptr[0]<<24) + (ptr[1]<<16) + (ptr[2]<<8) + ptr[3];
+}
+
 #endif /* _SCSI_SCSI_H */
diff --git a/original/uapi/asm-arm/asm/kvm.h b/original/uapi/asm-arm/asm/kvm.h
index a4217c1..4602464 100644
--- a/original/uapi/asm-arm/asm/kvm.h
+++ b/original/uapi/asm-arm/asm/kvm.h
@@ -214,18 +214,6 @@
 #define KVM_REG_ARM_FW_REG(r)		(KVM_REG_ARM | KVM_REG_SIZE_U64 | \
 					 KVM_REG_ARM_FW | ((r) & 0xffff))
 #define KVM_REG_ARM_PSCI_VERSION	KVM_REG_ARM_FW_REG(0)
-#define KVM_REG_ARM_SMCCC_ARCH_WORKAROUND_1	KVM_REG_ARM_FW_REG(1)
-	/* Higher values mean better protection. */
-#define KVM_REG_ARM_SMCCC_ARCH_WORKAROUND_1_NOT_AVAIL		0
-#define KVM_REG_ARM_SMCCC_ARCH_WORKAROUND_1_AVAIL		1
-#define KVM_REG_ARM_SMCCC_ARCH_WORKAROUND_1_NOT_REQUIRED	2
-#define KVM_REG_ARM_SMCCC_ARCH_WORKAROUND_2	KVM_REG_ARM_FW_REG(2)
-	/* Higher values mean better protection. */
-#define KVM_REG_ARM_SMCCC_ARCH_WORKAROUND_2_NOT_AVAIL		0
-#define KVM_REG_ARM_SMCCC_ARCH_WORKAROUND_2_UNKNOWN		1
-#define KVM_REG_ARM_SMCCC_ARCH_WORKAROUND_2_AVAIL		2
-#define KVM_REG_ARM_SMCCC_ARCH_WORKAROUND_2_NOT_REQUIRED	3
-#define KVM_REG_ARM_SMCCC_ARCH_WORKAROUND_2_ENABLED	(1U << 4)
 
 /* Device Control API: ARM VGIC */
 #define KVM_DEV_ARM_VGIC_GRP_ADDR	0
diff --git a/original/uapi/asm-arm/asm/kvm_para.h b/original/uapi/asm-arm/asm/kvm_para.h
index 14fab8f..baacc49 100644
--- a/original/uapi/asm-arm/asm/kvm_para.h
+++ b/original/uapi/asm-arm/asm/kvm_para.h
@@ -1 +1,2 @@
+/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
 #include <asm-generic/kvm_para.h>
diff --git a/original/uapi/asm-arm/asm/setup.h b/original/uapi/asm-arm/asm/setup.h
index 25ceda6..6b335a9 100644
--- a/original/uapi/asm-arm/asm/setup.h
+++ b/original/uapi/asm-arm/asm/setup.h
@@ -9,7 +9,7 @@
  * published by the Free Software Foundation.
  *
  *  Structure passed to kernel to tell it about the
- *  hardware it's running on.  See Documentation/arm/setup.rst
+ *  hardware it's running on.  See Documentation/arm/Setup
  *  for more info.
  */
 #ifndef _UAPI__ASMARM_SETUP_H
diff --git a/original/uapi/asm-arm/asm/unistd-common.h b/original/uapi/asm-arm/asm/unistd-common.h
index 555b51b..fdcf57b 100644
--- a/original/uapi/asm-arm/asm/unistd-common.h
+++ b/original/uapi/asm-arm/asm/unistd-common.h
@@ -356,39 +356,5 @@
 #define __NR_statx (__NR_SYSCALL_BASE + 397)
 #define __NR_rseq (__NR_SYSCALL_BASE + 398)
 #define __NR_io_pgetevents (__NR_SYSCALL_BASE + 399)
-#define __NR_migrate_pages (__NR_SYSCALL_BASE + 400)
-#define __NR_kexec_file_load (__NR_SYSCALL_BASE + 401)
-#define __NR_clock_gettime64 (__NR_SYSCALL_BASE + 403)
-#define __NR_clock_settime64 (__NR_SYSCALL_BASE + 404)
-#define __NR_clock_adjtime64 (__NR_SYSCALL_BASE + 405)
-#define __NR_clock_getres_time64 (__NR_SYSCALL_BASE + 406)
-#define __NR_clock_nanosleep_time64 (__NR_SYSCALL_BASE + 407)
-#define __NR_timer_gettime64 (__NR_SYSCALL_BASE + 408)
-#define __NR_timer_settime64 (__NR_SYSCALL_BASE + 409)
-#define __NR_timerfd_gettime64 (__NR_SYSCALL_BASE + 410)
-#define __NR_timerfd_settime64 (__NR_SYSCALL_BASE + 411)
-#define __NR_utimensat_time64 (__NR_SYSCALL_BASE + 412)
-#define __NR_pselect6_time64 (__NR_SYSCALL_BASE + 413)
-#define __NR_ppoll_time64 (__NR_SYSCALL_BASE + 414)
-#define __NR_io_pgetevents_time64 (__NR_SYSCALL_BASE + 416)
-#define __NR_recvmmsg_time64 (__NR_SYSCALL_BASE + 417)
-#define __NR_mq_timedsend_time64 (__NR_SYSCALL_BASE + 418)
-#define __NR_mq_timedreceive_time64 (__NR_SYSCALL_BASE + 419)
-#define __NR_semtimedop_time64 (__NR_SYSCALL_BASE + 420)
-#define __NR_rt_sigtimedwait_time64 (__NR_SYSCALL_BASE + 421)
-#define __NR_futex_time64 (__NR_SYSCALL_BASE + 422)
-#define __NR_sched_rr_get_interval_time64 (__NR_SYSCALL_BASE + 423)
-#define __NR_pidfd_send_signal (__NR_SYSCALL_BASE + 424)
-#define __NR_io_uring_setup (__NR_SYSCALL_BASE + 425)
-#define __NR_io_uring_enter (__NR_SYSCALL_BASE + 426)
-#define __NR_io_uring_register (__NR_SYSCALL_BASE + 427)
-#define __NR_open_tree (__NR_SYSCALL_BASE + 428)
-#define __NR_move_mount (__NR_SYSCALL_BASE + 429)
-#define __NR_fsopen (__NR_SYSCALL_BASE + 430)
-#define __NR_fsconfig (__NR_SYSCALL_BASE + 431)
-#define __NR_fsmount (__NR_SYSCALL_BASE + 432)
-#define __NR_fspick (__NR_SYSCALL_BASE + 433)
-#define __NR_pidfd_open (__NR_SYSCALL_BASE + 434)
-#define __NR_clone3 (__NR_SYSCALL_BASE + 435)
 
 #endif /* _UAPI_ASM_ARM_UNISTD_COMMON_H */
diff --git a/original/uapi/asm-arm64/asm/bpf_perf_event.h b/original/uapi/asm-arm64/asm/bpf_perf_event.h
index 5e1e648..b551b74 100644
--- a/original/uapi/asm-arm64/asm/bpf_perf_event.h
+++ b/original/uapi/asm-arm64/asm/bpf_perf_event.h
@@ -1,4 +1,4 @@
-/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
+/* SPDX-License-Identifier: GPL-2.0 */
 #ifndef _UAPI__ASM_BPF_PERF_EVENT_H__
 #define _UAPI__ASM_BPF_PERF_EVENT_H__
 
diff --git a/original/uapi/asm-arm64/asm/hwcap.h b/original/uapi/asm-arm64/asm/hwcap.h
index a1e7288..5f0750c 100644
--- a/original/uapi/asm-arm64/asm/hwcap.h
+++ b/original/uapi/asm-arm64/asm/hwcap.h
@@ -18,7 +18,7 @@
 #define _UAPI__ASM_HWCAP_H
 
 /*
- * HWCAP flags - for AT_HWCAP
+ * HWCAP flags - for elf_hwcap (in kernel) and AT_HWCAP
  */
 #define HWCAP_FP		(1 << 0)
 #define HWCAP_ASIMD		(1 << 1)
@@ -53,17 +53,4 @@
 #define HWCAP_PACA		(1 << 30)
 #define HWCAP_PACG		(1UL << 31)
 
-/*
- * HWCAP2 flags - for AT_HWCAP2
- */
-#define HWCAP2_DCPODP		(1 << 0)
-#define HWCAP2_SVE2		(1 << 1)
-#define HWCAP2_SVEAES		(1 << 2)
-#define HWCAP2_SVEPMULL		(1 << 3)
-#define HWCAP2_SVEBITPERM	(1 << 4)
-#define HWCAP2_SVESHA3		(1 << 5)
-#define HWCAP2_SVESM4		(1 << 6)
-#define HWCAP2_FLAGM2		(1 << 7)
-#define HWCAP2_FRINT		(1 << 8)
-
 #endif /* _UAPI__ASM_HWCAP_H */
diff --git a/original/uapi/asm-arm64/asm/kvm.h b/original/uapi/asm-arm64/asm/kvm.h
index 9a50771..97c3478 100644
--- a/original/uapi/asm-arm64/asm/kvm.h
+++ b/original/uapi/asm-arm64/asm/kvm.h
@@ -35,7 +35,6 @@
 #include <linux/psci.h>
 #include <linux/types.h>
 #include <asm/ptrace.h>
-#include <asm/sve_context.h>
 
 #define __KVM_HAVE_GUEST_DEBUG
 #define __KVM_HAVE_IRQ_LINE
@@ -103,9 +102,6 @@
 #define KVM_ARM_VCPU_EL1_32BIT		1 /* CPU running a 32bit VM */
 #define KVM_ARM_VCPU_PSCI_0_2		2 /* CPU uses PSCI v0.2 */
 #define KVM_ARM_VCPU_PMU_V3		3 /* Support guest PMUv3 */
-#define KVM_ARM_VCPU_SVE		4 /* enable SVE for this CPU */
-#define KVM_ARM_VCPU_PTRAUTH_ADDRESS	5 /* VCPU uses address authentication */
-#define KVM_ARM_VCPU_PTRAUTH_GENERIC	6 /* VCPU uses generic authentication */
 
 struct kvm_vcpu_init {
 	__u32 target;
@@ -229,62 +225,6 @@
 #define KVM_REG_ARM_FW_REG(r)		(KVM_REG_ARM64 | KVM_REG_SIZE_U64 | \
 					 KVM_REG_ARM_FW | ((r) & 0xffff))
 #define KVM_REG_ARM_PSCI_VERSION	KVM_REG_ARM_FW_REG(0)
-#define KVM_REG_ARM_SMCCC_ARCH_WORKAROUND_1	KVM_REG_ARM_FW_REG(1)
-#define KVM_REG_ARM_SMCCC_ARCH_WORKAROUND_1_NOT_AVAIL		0
-#define KVM_REG_ARM_SMCCC_ARCH_WORKAROUND_1_AVAIL		1
-#define KVM_REG_ARM_SMCCC_ARCH_WORKAROUND_1_NOT_REQUIRED	2
-#define KVM_REG_ARM_SMCCC_ARCH_WORKAROUND_2	KVM_REG_ARM_FW_REG(2)
-#define KVM_REG_ARM_SMCCC_ARCH_WORKAROUND_2_NOT_AVAIL		0
-#define KVM_REG_ARM_SMCCC_ARCH_WORKAROUND_2_UNKNOWN		1
-#define KVM_REG_ARM_SMCCC_ARCH_WORKAROUND_2_AVAIL		2
-#define KVM_REG_ARM_SMCCC_ARCH_WORKAROUND_2_NOT_REQUIRED	3
-#define KVM_REG_ARM_SMCCC_ARCH_WORKAROUND_2_ENABLED     	(1U << 4)
-
-/* SVE registers */
-#define KVM_REG_ARM64_SVE		(0x15 << KVM_REG_ARM_COPROC_SHIFT)
-
-/* Z- and P-regs occupy blocks at the following offsets within this range: */
-#define KVM_REG_ARM64_SVE_ZREG_BASE	0
-#define KVM_REG_ARM64_SVE_PREG_BASE	0x400
-#define KVM_REG_ARM64_SVE_FFR_BASE	0x600
-
-#define KVM_ARM64_SVE_NUM_ZREGS		__SVE_NUM_ZREGS
-#define KVM_ARM64_SVE_NUM_PREGS		__SVE_NUM_PREGS
-
-#define KVM_ARM64_SVE_MAX_SLICES	32
-
-#define KVM_REG_ARM64_SVE_ZREG(n, i)					\
-	(KVM_REG_ARM64 | KVM_REG_ARM64_SVE | KVM_REG_ARM64_SVE_ZREG_BASE | \
-	 KVM_REG_SIZE_U2048 |						\
-	 (((n) & (KVM_ARM64_SVE_NUM_ZREGS - 1)) << 5) |			\
-	 ((i) & (KVM_ARM64_SVE_MAX_SLICES - 1)))
-
-#define KVM_REG_ARM64_SVE_PREG(n, i)					\
-	(KVM_REG_ARM64 | KVM_REG_ARM64_SVE | KVM_REG_ARM64_SVE_PREG_BASE | \
-	 KVM_REG_SIZE_U256 |						\
-	 (((n) & (KVM_ARM64_SVE_NUM_PREGS - 1)) << 5) |			\
-	 ((i) & (KVM_ARM64_SVE_MAX_SLICES - 1)))
-
-#define KVM_REG_ARM64_SVE_FFR(i)					\
-	(KVM_REG_ARM64 | KVM_REG_ARM64_SVE | KVM_REG_ARM64_SVE_FFR_BASE | \
-	 KVM_REG_SIZE_U256 |						\
-	 ((i) & (KVM_ARM64_SVE_MAX_SLICES - 1)))
-
-/*
- * Register values for KVM_REG_ARM64_SVE_ZREG(), KVM_REG_ARM64_SVE_PREG() and
- * KVM_REG_ARM64_SVE_FFR() are represented in memory in an endianness-
- * invariant layout which differs from the layout used for the FPSIMD
- * V-registers on big-endian systems: see sigcontext.h for more explanation.
- */
-
-#define KVM_ARM64_SVE_VQ_MIN __SVE_VQ_MIN
-#define KVM_ARM64_SVE_VQ_MAX __SVE_VQ_MAX
-
-/* Vector lengths pseudo-register: */
-#define KVM_REG_ARM64_SVE_VLS		(KVM_REG_ARM64 | KVM_REG_ARM64_SVE | \
-					 KVM_REG_SIZE_U512 | 0xffff)
-#define KVM_ARM64_SVE_VLS_WORDS	\
-	((KVM_ARM64_SVE_VQ_MAX - KVM_ARM64_SVE_VQ_MIN) / 64 + 1)
 
 /* Device Control API: ARM VGIC */
 #define KVM_DEV_ARM_VGIC_GRP_ADDR	0
diff --git a/original/uapi/asm-arm64/asm/ptrace.h b/original/uapi/asm-arm64/asm/ptrace.h
index 7ed9294..28d77c9 100644
--- a/original/uapi/asm-arm64/asm/ptrace.h
+++ b/original/uapi/asm-arm64/asm/ptrace.h
@@ -62,12 +62,11 @@
 #define PSR_x		0x0000ff00	/* Extension		*/
 #define PSR_c		0x000000ff	/* Control		*/
 
-/* syscall emulation path in ptrace */
-#define PTRACE_SYSEMU		  31
-#define PTRACE_SYSEMU_SINGLESTEP  32
 
 #ifndef __ASSEMBLY__
 
+#include <linux/prctl.h>
+
 /*
  * User structures for general purpose, floating point and debug registers.
  */
@@ -114,10 +113,10 @@
 
 /*
  * Common SVE_PT_* flags:
- * These must be kept in sync with prctl interface in <linux/prctl.h>
+ * These must be kept in sync with prctl interface in <linux/ptrace.h>
  */
-#define SVE_PT_VL_INHERIT		((1 << 17) /* PR_SVE_VL_INHERIT */ >> 16)
-#define SVE_PT_VL_ONEXEC		((1 << 18) /* PR_SVE_SET_VL_ONEXEC */ >> 16)
+#define SVE_PT_VL_INHERIT		(PR_SVE_VL_INHERIT >> 16)
+#define SVE_PT_VL_ONEXEC		(PR_SVE_SET_VL_ONEXEC >> 16)
 
 
 /*
@@ -177,10 +176,6 @@
  *	FPCR	uint32_t			FPCR
  *
  * Additional data might be appended in the future.
- *
- * The Z-, P- and FFR registers are represented in memory in an endianness-
- * invariant layout which differs from the layout used for the FPSIMD
- * V-registers on big-endian systems: see sigcontext.h for more explanation.
  */
 
 #define SVE_PT_SVE_ZREG_SIZE(vq)	__SVE_ZREG_SIZE(vq)
@@ -238,19 +233,6 @@
 	__u64		insn_mask;
 };
 
-/* pointer authentication keys (NT_ARM_PACA_KEYS, NT_ARM_PACG_KEYS) */
-
-struct user_pac_address_keys {
-	__uint128_t	apiakey;
-	__uint128_t	apibkey;
-	__uint128_t	apdakey;
-	__uint128_t	apdbkey;
-};
-
-struct user_pac_generic_keys {
-	__uint128_t	apgakey;
-};
-
 #endif /* __ASSEMBLY__ */
 
 #endif /* _UAPI__ASM_PTRACE_H */
diff --git a/original/uapi/asm-arm64/asm/sigcontext.h b/original/uapi/asm-arm64/asm/sigcontext.h
index 8b0ebce..5f3c0ce 100644
--- a/original/uapi/asm-arm64/asm/sigcontext.h
+++ b/original/uapi/asm-arm64/asm/sigcontext.h
@@ -77,15 +77,6 @@
 	__uint128_t vregs[32];
 };
 
-/*
- * Note: similarly to all other integer fields, each V-register is stored in an
- * endianness-dependent format, with the byte at offset i from the start of the
- * in-memory representation of the register value containing
- *
- *    bits [(7 + 8 * i) : (8 * i)] of the register on little-endian hosts; or
- *    bits [(127 - 8 * i) : (120 - 8 * i)] on big-endian hosts.
- */
-
 /* ESR_EL1 context */
 #define ESR_MAGIC	0x45535201
 
@@ -146,7 +137,7 @@
  * vector length beyond its initial architectural limit of 2048 bits
  * (16 quadwords).
  *
- * See linux/Documentation/arm64/sve.rst for a description of the VL/VQ
+ * See linux/Documentation/arm64/sve.txt for a description of the VL/VQ
  * terminology.
  */
 #define SVE_VQ_BYTES		__SVE_VQ_BYTES	/* bytes per quadword */
@@ -213,11 +204,6 @@
  *	FFR	uint16_t[vq]			first-fault status register
  *
  * Additional data might be appended in the future.
- *
- * Unlike vregs[] in fpsimd_context, each SVE scalable register (Z-, P- or FFR)
- * is encoded in memory in an endianness-invariant format, with the byte at
- * offset i from the start of the in-memory representation containing bits
- * [(7 + 8 * i) : (8 * i)] of the register value.
  */
 
 #define SVE_SIG_ZREG_SIZE(vq)	__SVE_ZREG_SIZE(vq)
diff --git a/original/uapi/asm-arm64/asm/unistd.h b/original/uapi/asm-arm64/asm/unistd.h
index 4703d21..dae1584 100644
--- a/original/uapi/asm-arm64/asm/unistd.h
+++ b/original/uapi/asm-arm64/asm/unistd.h
@@ -17,7 +17,5 @@
 
 #define __ARCH_WANT_RENAMEAT
 #define __ARCH_WANT_NEW_STAT
-#define __ARCH_WANT_SET_GET_RLIMIT
-#define __ARCH_WANT_TIME32_SYSCALLS
 
 #include <asm-generic/unistd.h>
diff --git a/original/uapi/asm-generic/mman-common.h b/original/uapi/asm-generic/mman-common.h
index 63b1f50..e7ee328 100644
--- a/original/uapi/asm-generic/mman-common.h
+++ b/original/uapi/asm-generic/mman-common.h
@@ -15,22 +15,21 @@
 #define PROT_GROWSDOWN	0x01000000	/* mprotect flag: extend change to start of growsdown vma */
 #define PROT_GROWSUP	0x02000000	/* mprotect flag: extend change to end of growsup vma */
 
-/* 0x01 - 0x03 are defined in linux/mman.h */
+#define MAP_SHARED	0x01		/* Share changes */
+#define MAP_PRIVATE	0x02		/* Changes are private */
+#define MAP_SHARED_VALIDATE 0x03	/* share + validate extension flags */
 #define MAP_TYPE	0x0f		/* Mask for type of mapping */
 #define MAP_FIXED	0x10		/* Interpret addr exactly */
 #define MAP_ANONYMOUS	0x20		/* don't use a file */
+#ifdef CONFIG_MMAP_ALLOW_UNINITIALIZED
+# define MAP_UNINITIALIZED 0x4000000	/* For anonymous mmap, memory could be uninitialized */
+#else
+# define MAP_UNINITIALIZED 0x0		/* Don't support this flag */
+#endif
 
-/* 0x0100 - 0x4000 flags are defined in asm-generic/mman.h */
-#define MAP_POPULATE		0x008000	/* populate (prefault) pagetables */
-#define MAP_NONBLOCK		0x010000	/* do not block on IO */
-#define MAP_STACK		0x020000	/* give out an address that is best suited for process/thread stacks */
-#define MAP_HUGETLB		0x040000	/* create a huge page mapping */
-#define MAP_SYNC		0x080000 /* perform synchronous page faults for the mapping */
+/* 0x0100 - 0x80000 flags are defined in asm-generic/mman.h */
 #define MAP_FIXED_NOREPLACE	0x100000	/* MAP_FIXED which doesn't unmap underlying mapping */
 
-#define MAP_UNINITIALIZED 0x4000000	/* For anonymous mmap, memory could be
-					 * uninitialized */
-
 /*
  * Flags for mlock
  */
diff --git a/original/uapi/asm-generic/mman.h b/original/uapi/asm-generic/mman.h
index 57e8195..653687d 100644
--- a/original/uapi/asm-generic/mman.h
+++ b/original/uapi/asm-generic/mman.h
@@ -9,11 +9,13 @@
 #define MAP_EXECUTABLE	0x1000		/* mark it as an executable */
 #define MAP_LOCKED	0x2000		/* pages are locked */
 #define MAP_NORESERVE	0x4000		/* don't check for reservations */
+#define MAP_POPULATE	0x8000		/* populate (prefault) pagetables */
+#define MAP_NONBLOCK	0x10000		/* do not block on IO */
+#define MAP_STACK	0x20000		/* give out an address that is best suited for process/thread stacks */
+#define MAP_HUGETLB	0x40000		/* create a huge page mapping */
+#define MAP_SYNC	0x80000		/* perform synchronous page faults for the mapping */
 
-/*
- * Bits [26:31] are reserved, see asm-generic/hugetlb_encode.h
- * for MAP_HUGETLB usage
- */
+/* Bits [26:31] are reserved, see mman-common.h for MAP_HUGETLB usage */
 
 #define MCL_CURRENT	1		/* lock all current mappings */
 #define MCL_FUTURE	2		/* lock all future mappings */
diff --git a/original/uapi/asm-generic/socket.h b/original/uapi/asm-generic/socket.h
index 77f7c16..a12692e 100644
--- a/original/uapi/asm-generic/socket.h
+++ b/original/uapi/asm-generic/socket.h
@@ -2,7 +2,6 @@
 #ifndef __ASM_GENERIC_SOCKET_H
 #define __ASM_GENERIC_SOCKET_H
 
-#include <linux/posix_types.h>
 #include <asm/sockios.h>
 
 /* For setsockopt(2) */
@@ -30,8 +29,8 @@
 #define SO_PEERCRED	17
 #define SO_RCVLOWAT	18
 #define SO_SNDLOWAT	19
-#define SO_RCVTIMEO_OLD	20
-#define SO_SNDTIMEO_OLD	21
+#define SO_RCVTIMEO	20
+#define SO_SNDTIMEO	21
 #endif
 
 /* Security levels - as per NRL IPv6 - don't actually do anything */
@@ -47,14 +46,21 @@
 #define SO_GET_FILTER		SO_ATTACH_FILTER
 
 #define SO_PEERNAME		28
+#define SO_TIMESTAMP		29
+#define SCM_TIMESTAMP		SO_TIMESTAMP
 
 #define SO_ACCEPTCONN		30
 
 #define SO_PEERSEC		31
 #define SO_PASSSEC		34
+#define SO_TIMESTAMPNS		35
+#define SCM_TIMESTAMPNS		SO_TIMESTAMPNS
 
 #define SO_MARK			36
 
+#define SO_TIMESTAMPING		37
+#define SCM_TIMESTAMPING	SO_TIMESTAMPING
+
 #define SO_PROTOCOL		38
 #define SO_DOMAIN		39
 
@@ -104,44 +110,4 @@
 #define SO_TXTIME		61
 #define SCM_TXTIME		SO_TXTIME
 
-#define SO_BINDTOIFINDEX	62
-
-#define SO_TIMESTAMP_OLD        29
-#define SO_TIMESTAMPNS_OLD      35
-#define SO_TIMESTAMPING_OLD     37
-
-#define SO_TIMESTAMP_NEW        63
-#define SO_TIMESTAMPNS_NEW      64
-#define SO_TIMESTAMPING_NEW     65
-
-#define SO_RCVTIMEO_NEW         66
-#define SO_SNDTIMEO_NEW         67
-
-#define SO_DETACH_REUSEPORT_BPF 68
-
-#if !defined(__KERNEL__)
-
-#if __BITS_PER_LONG == 64 || (defined(__x86_64__) && defined(__ILP32__))
-/* on 64-bit and x32, avoid the ?: operator */
-#define SO_TIMESTAMP		SO_TIMESTAMP_OLD
-#define SO_TIMESTAMPNS		SO_TIMESTAMPNS_OLD
-#define SO_TIMESTAMPING		SO_TIMESTAMPING_OLD
-
-#define SO_RCVTIMEO		SO_RCVTIMEO_OLD
-#define SO_SNDTIMEO		SO_SNDTIMEO_OLD
-#else
-#define SO_TIMESTAMP (sizeof(time_t) == sizeof(__kernel_long_t) ? SO_TIMESTAMP_OLD : SO_TIMESTAMP_NEW)
-#define SO_TIMESTAMPNS (sizeof(time_t) == sizeof(__kernel_long_t) ? SO_TIMESTAMPNS_OLD : SO_TIMESTAMPNS_NEW)
-#define SO_TIMESTAMPING (sizeof(time_t) == sizeof(__kernel_long_t) ? SO_TIMESTAMPING_OLD : SO_TIMESTAMPING_NEW)
-
-#define SO_RCVTIMEO (sizeof(time_t) == sizeof(__kernel_long_t) ? SO_RCVTIMEO_OLD : SO_RCVTIMEO_NEW)
-#define SO_SNDTIMEO (sizeof(time_t) == sizeof(__kernel_long_t) ? SO_SNDTIMEO_OLD : SO_SNDTIMEO_NEW)
-#endif
-
-#define SCM_TIMESTAMP           SO_TIMESTAMP
-#define SCM_TIMESTAMPNS         SO_TIMESTAMPNS
-#define SCM_TIMESTAMPING        SO_TIMESTAMPING
-
-#endif
-
 #endif /* __ASM_GENERIC_SOCKET_H */
diff --git a/original/uapi/asm-generic/sockios.h b/original/uapi/asm-generic/sockios.h
index 44fa3ed..64f658c 100644
--- a/original/uapi/asm-generic/sockios.h
+++ b/original/uapi/asm-generic/sockios.h
@@ -8,7 +8,7 @@
 #define FIOGETOWN	0x8903
 #define SIOCGPGRP	0x8904
 #define SIOCATMARK	0x8905
-#define SIOCGSTAMP_OLD	0x8906		/* Get stamp (timeval) */
-#define SIOCGSTAMPNS_OLD 0x8907		/* Get stamp (timespec) */
+#define SIOCGSTAMP	0x8906		/* Get stamp (timeval) */
+#define SIOCGSTAMPNS	0x8907		/* Get stamp (timespec) */
 
 #endif /* __ASM_GENERIC_SOCKIOS_H */
diff --git a/original/uapi/asm-generic/unistd.h b/original/uapi/asm-generic/unistd.h
index 1fc8faa..d901272 100644
--- a/original/uapi/asm-generic/unistd.h
+++ b/original/uapi/asm-generic/unistd.h
@@ -38,10 +38,8 @@
 __SC_COMP(__NR_io_submit, sys_io_submit, compat_sys_io_submit)
 #define __NR_io_cancel 3
 __SYSCALL(__NR_io_cancel, sys_io_cancel)
-#if defined(__ARCH_WANT_TIME32_SYSCALLS) || __BITS_PER_LONG != 32
 #define __NR_io_getevents 4
-__SC_3264(__NR_io_getevents, sys_io_getevents_time32, sys_io_getevents)
-#endif
+__SC_COMP(__NR_io_getevents, sys_io_getevents, compat_sys_io_getevents)
 
 /* fs/xattr.c */
 #define __NR_setxattr 5
@@ -181,7 +179,7 @@
 #define __NR_fchown 55
 __SYSCALL(__NR_fchown, sys_fchown)
 #define __NR_openat 56
-__SYSCALL(__NR_openat, sys_openat)
+__SC_COMP(__NR_openat, sys_openat, compat_sys_openat)
 #define __NR_close 57
 __SYSCALL(__NR_close, sys_close)
 #define __NR_vhangup 58
@@ -224,12 +222,10 @@
 __SYSCALL(__NR3264_sendfile, sys_sendfile64)
 
 /* fs/select.c */
-#if defined(__ARCH_WANT_TIME32_SYSCALLS) || __BITS_PER_LONG != 32
 #define __NR_pselect6 72
-__SC_COMP_3264(__NR_pselect6, sys_pselect6_time32, sys_pselect6, compat_sys_pselect6_time32)
+__SC_COMP(__NR_pselect6, sys_pselect6, compat_sys_pselect6)
 #define __NR_ppoll 73
-__SC_COMP_3264(__NR_ppoll, sys_ppoll_time32, sys_ppoll, compat_sys_ppoll_time32)
-#endif
+__SC_COMP(__NR_ppoll, sys_ppoll, compat_sys_ppoll)
 
 /* fs/signalfd.c */
 #define __NR_signalfd4 74
@@ -273,20 +269,16 @@
 /* fs/timerfd.c */
 #define __NR_timerfd_create 85
 __SYSCALL(__NR_timerfd_create, sys_timerfd_create)
-#if defined(__ARCH_WANT_TIME32_SYSCALLS) || __BITS_PER_LONG != 32
 #define __NR_timerfd_settime 86
-__SC_3264(__NR_timerfd_settime, sys_timerfd_settime32, \
-	  sys_timerfd_settime)
+__SC_COMP(__NR_timerfd_settime, sys_timerfd_settime, \
+	  compat_sys_timerfd_settime)
 #define __NR_timerfd_gettime 87
-__SC_3264(__NR_timerfd_gettime, sys_timerfd_gettime32, \
-	  sys_timerfd_gettime)
-#endif
+__SC_COMP(__NR_timerfd_gettime, sys_timerfd_gettime, \
+	  compat_sys_timerfd_gettime)
 
 /* fs/utimes.c */
-#if defined(__ARCH_WANT_TIME32_SYSCALLS) || __BITS_PER_LONG != 32
 #define __NR_utimensat 88
-__SC_3264(__NR_utimensat, sys_utimensat_time32, sys_utimensat)
-#endif
+__SC_COMP(__NR_utimensat, sys_utimensat, compat_sys_utimensat)
 
 /* kernel/acct.c */
 #define __NR_acct 89
@@ -317,10 +309,8 @@
 __SYSCALL(__NR_unshare, sys_unshare)
 
 /* kernel/futex.c */
-#if defined(__ARCH_WANT_TIME32_SYSCALLS) || __BITS_PER_LONG != 32
 #define __NR_futex 98
-__SC_3264(__NR_futex, sys_futex_time32, sys_futex)
-#endif
+__SC_COMP(__NR_futex, sys_futex, compat_sys_futex)
 #define __NR_set_robust_list 99
 __SC_COMP(__NR_set_robust_list, sys_set_robust_list, \
 	  compat_sys_set_robust_list)
@@ -329,10 +319,8 @@
 	  compat_sys_get_robust_list)
 
 /* kernel/hrtimer.c */
-#if defined(__ARCH_WANT_TIME32_SYSCALLS) || __BITS_PER_LONG != 32
 #define __NR_nanosleep 101
-__SC_3264(__NR_nanosleep, sys_nanosleep_time32, sys_nanosleep)
-#endif
+__SC_COMP(__NR_nanosleep, sys_nanosleep, compat_sys_nanosleep)
 
 /* kernel/itimer.c */
 #define __NR_getitimer 102
@@ -353,29 +341,23 @@
 /* kernel/posix-timers.c */
 #define __NR_timer_create 107
 __SC_COMP(__NR_timer_create, sys_timer_create, compat_sys_timer_create)
-#if defined(__ARCH_WANT_TIME32_SYSCALLS) || __BITS_PER_LONG != 32
 #define __NR_timer_gettime 108
-__SC_3264(__NR_timer_gettime, sys_timer_gettime32, sys_timer_gettime)
-#endif
+__SC_COMP(__NR_timer_gettime, sys_timer_gettime, compat_sys_timer_gettime)
 #define __NR_timer_getoverrun 109
 __SYSCALL(__NR_timer_getoverrun, sys_timer_getoverrun)
-#if defined(__ARCH_WANT_TIME32_SYSCALLS) || __BITS_PER_LONG != 32
 #define __NR_timer_settime 110
-__SC_3264(__NR_timer_settime, sys_timer_settime32, sys_timer_settime)
-#endif
+__SC_COMP(__NR_timer_settime, sys_timer_settime, compat_sys_timer_settime)
 #define __NR_timer_delete 111
 __SYSCALL(__NR_timer_delete, sys_timer_delete)
-#if defined(__ARCH_WANT_TIME32_SYSCALLS) || __BITS_PER_LONG != 32
 #define __NR_clock_settime 112
-__SC_3264(__NR_clock_settime, sys_clock_settime32, sys_clock_settime)
+__SC_COMP(__NR_clock_settime, sys_clock_settime, compat_sys_clock_settime)
 #define __NR_clock_gettime 113
-__SC_3264(__NR_clock_gettime, sys_clock_gettime32, sys_clock_gettime)
+__SC_COMP(__NR_clock_gettime, sys_clock_gettime, compat_sys_clock_gettime)
 #define __NR_clock_getres 114
-__SC_3264(__NR_clock_getres, sys_clock_getres_time32, sys_clock_getres)
+__SC_COMP(__NR_clock_getres, sys_clock_getres, compat_sys_clock_getres)
 #define __NR_clock_nanosleep 115
-__SC_3264(__NR_clock_nanosleep, sys_clock_nanosleep_time32, \
-	  sys_clock_nanosleep)
-#endif
+__SC_COMP(__NR_clock_nanosleep, sys_clock_nanosleep, \
+	  compat_sys_clock_nanosleep)
 
 /* kernel/printk.c */
 #define __NR_syslog 116
@@ -406,11 +388,9 @@
 __SYSCALL(__NR_sched_get_priority_max, sys_sched_get_priority_max)
 #define __NR_sched_get_priority_min 126
 __SYSCALL(__NR_sched_get_priority_min, sys_sched_get_priority_min)
-#if defined(__ARCH_WANT_TIME32_SYSCALLS) || __BITS_PER_LONG != 32
 #define __NR_sched_rr_get_interval 127
-__SC_3264(__NR_sched_rr_get_interval, sys_sched_rr_get_interval_time32, \
-	  sys_sched_rr_get_interval)
-#endif
+__SC_COMP(__NR_sched_rr_get_interval, sys_sched_rr_get_interval, \
+	  compat_sys_sched_rr_get_interval)
 
 /* kernel/signal.c */
 #define __NR_restart_syscall 128
@@ -431,11 +411,9 @@
 __SC_COMP(__NR_rt_sigprocmask, sys_rt_sigprocmask, compat_sys_rt_sigprocmask)
 #define __NR_rt_sigpending 136
 __SC_COMP(__NR_rt_sigpending, sys_rt_sigpending, compat_sys_rt_sigpending)
-#if defined(__ARCH_WANT_TIME32_SYSCALLS) || __BITS_PER_LONG != 32
 #define __NR_rt_sigtimedwait 137
-__SC_COMP_3264(__NR_rt_sigtimedwait, sys_rt_sigtimedwait_time32, \
-	  sys_rt_sigtimedwait, compat_sys_rt_sigtimedwait_time32)
-#endif
+__SC_COMP(__NR_rt_sigtimedwait, sys_rt_sigtimedwait, \
+	  compat_sys_rt_sigtimedwait)
 #define __NR_rt_sigqueueinfo 138
 __SC_COMP(__NR_rt_sigqueueinfo, sys_rt_sigqueueinfo, \
 	  compat_sys_rt_sigqueueinfo)
@@ -489,15 +467,10 @@
 __SYSCALL(__NR_sethostname, sys_sethostname)
 #define __NR_setdomainname 162
 __SYSCALL(__NR_setdomainname, sys_setdomainname)
-
-#ifdef __ARCH_WANT_SET_GET_RLIMIT
-/* getrlimit and setrlimit are superseded with prlimit64 */
 #define __NR_getrlimit 163
 __SC_COMP(__NR_getrlimit, sys_getrlimit, compat_sys_getrlimit)
 #define __NR_setrlimit 164
 __SC_COMP(__NR_setrlimit, sys_setrlimit, compat_sys_setrlimit)
-#endif
-
 #define __NR_getrusage 165
 __SC_COMP(__NR_getrusage, sys_getrusage, compat_sys_getrusage)
 #define __NR_umask 166
@@ -508,14 +481,12 @@
 __SYSCALL(__NR_getcpu, sys_getcpu)
 
 /* kernel/time.c */
-#if defined(__ARCH_WANT_TIME32_SYSCALLS) || __BITS_PER_LONG != 32
 #define __NR_gettimeofday 169
 __SC_COMP(__NR_gettimeofday, sys_gettimeofday, compat_sys_gettimeofday)
 #define __NR_settimeofday 170
 __SC_COMP(__NR_settimeofday, sys_settimeofday, compat_sys_settimeofday)
 #define __NR_adjtimex 171
-__SC_3264(__NR_adjtimex, sys_adjtimex_time32, sys_adjtimex)
-#endif
+__SC_COMP(__NR_adjtimex, sys_adjtimex, compat_sys_adjtimex)
 
 /* kernel/timer.c */
 #define __NR_getpid 172
@@ -540,13 +511,11 @@
 __SC_COMP(__NR_mq_open, sys_mq_open, compat_sys_mq_open)
 #define __NR_mq_unlink 181
 __SYSCALL(__NR_mq_unlink, sys_mq_unlink)
-#if defined(__ARCH_WANT_TIME32_SYSCALLS) || __BITS_PER_LONG != 32
 #define __NR_mq_timedsend 182
-__SC_3264(__NR_mq_timedsend, sys_mq_timedsend_time32, sys_mq_timedsend)
+__SC_COMP(__NR_mq_timedsend, sys_mq_timedsend, compat_sys_mq_timedsend)
 #define __NR_mq_timedreceive 183
-__SC_3264(__NR_mq_timedreceive, sys_mq_timedreceive_time32, \
-	  sys_mq_timedreceive)
-#endif
+__SC_COMP(__NR_mq_timedreceive, sys_mq_timedreceive, \
+	  compat_sys_mq_timedreceive)
 #define __NR_mq_notify 184
 __SC_COMP(__NR_mq_notify, sys_mq_notify, compat_sys_mq_notify)
 #define __NR_mq_getsetattr 185
@@ -567,10 +536,8 @@
 __SYSCALL(__NR_semget, sys_semget)
 #define __NR_semctl 191
 __SC_COMP(__NR_semctl, sys_semctl, compat_sys_semctl)
-#if defined(__ARCH_WANT_TIME32_SYSCALLS) || __BITS_PER_LONG != 32
 #define __NR_semtimedop 192
-__SC_3264(__NR_semtimedop, sys_semtimedop_time32, sys_semtimedop)
-#endif
+__SC_COMP(__NR_semtimedop, sys_semtimedop, compat_sys_semtimedop)
 #define __NR_semop 193
 __SYSCALL(__NR_semop, sys_semop)
 
@@ -691,10 +658,8 @@
 __SYSCALL(__NR_perf_event_open, sys_perf_event_open)
 #define __NR_accept4 242
 __SYSCALL(__NR_accept4, sys_accept4)
-#if defined(__ARCH_WANT_TIME32_SYSCALLS) || __BITS_PER_LONG != 32
 #define __NR_recvmmsg 243
-__SC_COMP_3264(__NR_recvmmsg, sys_recvmmsg_time32, sys_recvmmsg, compat_sys_recvmmsg_time32)
-#endif
+__SC_COMP(__NR_recvmmsg, sys_recvmmsg, compat_sys_recvmmsg)
 
 /*
  * Architectures may provide up to 16 syscalls of their own
@@ -702,10 +667,8 @@
  */
 #define __NR_arch_specific_syscall 244
 
-#if defined(__ARCH_WANT_TIME32_SYSCALLS) || __BITS_PER_LONG != 32
 #define __NR_wait4 260
 __SC_COMP(__NR_wait4, sys_wait4, compat_sys_wait4)
-#endif
 #define __NR_prlimit64 261
 __SYSCALL(__NR_prlimit64, sys_prlimit64)
 #define __NR_fanotify_init 262
@@ -715,11 +678,10 @@
 #define __NR_name_to_handle_at         264
 __SYSCALL(__NR_name_to_handle_at, sys_name_to_handle_at)
 #define __NR_open_by_handle_at         265
-__SYSCALL(__NR_open_by_handle_at, sys_open_by_handle_at)
-#if defined(__ARCH_WANT_TIME32_SYSCALLS) || __BITS_PER_LONG != 32
+__SC_COMP(__NR_open_by_handle_at, sys_open_by_handle_at, \
+	  compat_sys_open_by_handle_at)
 #define __NR_clock_adjtime 266
-__SC_3264(__NR_clock_adjtime, sys_clock_adjtime32, sys_clock_adjtime)
-#endif
+__SC_COMP(__NR_clock_adjtime, sys_clock_adjtime, compat_sys_clock_adjtime)
 #define __NR_syncfs 267
 __SYSCALL(__NR_syncfs, sys_syncfs)
 #define __NR_setns 268
@@ -772,87 +734,15 @@
 __SYSCALL(__NR_pkey_free,     sys_pkey_free)
 #define __NR_statx 291
 __SYSCALL(__NR_statx,     sys_statx)
-#if defined(__ARCH_WANT_TIME32_SYSCALLS) || __BITS_PER_LONG != 32
 #define __NR_io_pgetevents 292
-__SC_COMP_3264(__NR_io_pgetevents, sys_io_pgetevents_time32, sys_io_pgetevents, compat_sys_io_pgetevents)
-#endif
+__SC_COMP(__NR_io_pgetevents, sys_io_pgetevents, compat_sys_io_pgetevents)
 #define __NR_rseq 293
 __SYSCALL(__NR_rseq, sys_rseq)
 #define __NR_kexec_file_load 294
 __SYSCALL(__NR_kexec_file_load,     sys_kexec_file_load)
-/* 295 through 402 are unassigned to sync up with generic numbers, don't use */
-#if __BITS_PER_LONG == 32
-#define __NR_clock_gettime64 403
-__SYSCALL(__NR_clock_gettime64, sys_clock_gettime)
-#define __NR_clock_settime64 404
-__SYSCALL(__NR_clock_settime64, sys_clock_settime)
-#define __NR_clock_adjtime64 405
-__SYSCALL(__NR_clock_adjtime64, sys_clock_adjtime)
-#define __NR_clock_getres_time64 406
-__SYSCALL(__NR_clock_getres_time64, sys_clock_getres)
-#define __NR_clock_nanosleep_time64 407
-__SYSCALL(__NR_clock_nanosleep_time64, sys_clock_nanosleep)
-#define __NR_timer_gettime64 408
-__SYSCALL(__NR_timer_gettime64, sys_timer_gettime)
-#define __NR_timer_settime64 409
-__SYSCALL(__NR_timer_settime64, sys_timer_settime)
-#define __NR_timerfd_gettime64 410
-__SYSCALL(__NR_timerfd_gettime64, sys_timerfd_gettime)
-#define __NR_timerfd_settime64 411
-__SYSCALL(__NR_timerfd_settime64, sys_timerfd_settime)
-#define __NR_utimensat_time64 412
-__SYSCALL(__NR_utimensat_time64, sys_utimensat)
-#define __NR_pselect6_time64 413
-__SC_COMP(__NR_pselect6_time64, sys_pselect6, compat_sys_pselect6_time64)
-#define __NR_ppoll_time64 414
-__SC_COMP(__NR_ppoll_time64, sys_ppoll, compat_sys_ppoll_time64)
-#define __NR_io_pgetevents_time64 416
-__SYSCALL(__NR_io_pgetevents_time64, sys_io_pgetevents)
-#define __NR_recvmmsg_time64 417
-__SC_COMP(__NR_recvmmsg_time64, sys_recvmmsg, compat_sys_recvmmsg_time64)
-#define __NR_mq_timedsend_time64 418
-__SYSCALL(__NR_mq_timedsend_time64, sys_mq_timedsend)
-#define __NR_mq_timedreceive_time64 419
-__SYSCALL(__NR_mq_timedreceive_time64, sys_mq_timedreceive)
-#define __NR_semtimedop_time64 420
-__SYSCALL(__NR_semtimedop_time64, sys_semtimedop)
-#define __NR_rt_sigtimedwait_time64 421
-__SC_COMP(__NR_rt_sigtimedwait_time64, sys_rt_sigtimedwait, compat_sys_rt_sigtimedwait_time64)
-#define __NR_futex_time64 422
-__SYSCALL(__NR_futex_time64, sys_futex)
-#define __NR_sched_rr_get_interval_time64 423
-__SYSCALL(__NR_sched_rr_get_interval_time64, sys_sched_rr_get_interval)
-#endif
-
-#define __NR_pidfd_send_signal 424
-__SYSCALL(__NR_pidfd_send_signal, sys_pidfd_send_signal)
-#define __NR_io_uring_setup 425
-__SYSCALL(__NR_io_uring_setup, sys_io_uring_setup)
-#define __NR_io_uring_enter 426
-__SYSCALL(__NR_io_uring_enter, sys_io_uring_enter)
-#define __NR_io_uring_register 427
-__SYSCALL(__NR_io_uring_register, sys_io_uring_register)
-#define __NR_open_tree 428
-__SYSCALL(__NR_open_tree, sys_open_tree)
-#define __NR_move_mount 429
-__SYSCALL(__NR_move_mount, sys_move_mount)
-#define __NR_fsopen 430
-__SYSCALL(__NR_fsopen, sys_fsopen)
-#define __NR_fsconfig 431
-__SYSCALL(__NR_fsconfig, sys_fsconfig)
-#define __NR_fsmount 432
-__SYSCALL(__NR_fsmount, sys_fsmount)
-#define __NR_fspick 433
-__SYSCALL(__NR_fspick, sys_fspick)
-#define __NR_pidfd_open 434
-__SYSCALL(__NR_pidfd_open, sys_pidfd_open)
-#ifdef __ARCH_WANT_SYS_CLONE3
-#define __NR_clone3 435
-__SYSCALL(__NR_clone3, sys_clone3)
-#endif
 
 #undef __NR_syscalls
-#define __NR_syscalls 436
+#define __NR_syscalls 295
 
 /*
  * 32 bit systems traditionally used different
diff --git a/original/uapi/asm-mips/asm/inst.h b/original/uapi/asm-mips/asm/inst.h
index eaa3a80..40fbb5d 100644
--- a/original/uapi/asm-mips/asm/inst.h
+++ b/original/uapi/asm-mips/asm/inst.h
@@ -55,9 +55,9 @@
 	spec3_unused_op, spec4_unused_op, slt_op, sltu_op,
 	dadd_op, daddu_op, dsub_op, dsubu_op,
 	tge_op, tgeu_op, tlt_op, tltu_op,
-	teq_op, seleqz_op, tne_op, selnez_op,
-	dsll_op, spec5_unused_op, dsrl_op, dsra_op,
-	dsll32_op, spec6_unused_op, dsrl32_op, dsra32_op
+	teq_op, spec5_unused_op, tne_op, spec6_unused_op,
+	dsll_op, spec7_unused_op, dsrl_op, dsra_op,
+	dsll32_op, spec8_unused_op, dsrl32_op, dsra32_op
 };
 
 /*
diff --git a/original/uapi/asm-mips/asm/mman.h b/original/uapi/asm-mips/asm/mman.h
index c2b4096..3035ca4 100644
--- a/original/uapi/asm-mips/asm/mman.h
+++ b/original/uapi/asm-mips/asm/mman.h
@@ -27,7 +27,9 @@
 /*
  * Flags for mmap
  */
-/* 0x01 - 0x03 are defined in linux/mman.h */
+#define MAP_SHARED	0x001		/* Share changes */
+#define MAP_PRIVATE	0x002		/* Changes are private */
+#define MAP_SHARED_VALIDATE 0x003	/* share + validate extension flags */
 #define MAP_TYPE	0x00f		/* Mask for type of mapping */
 #define MAP_FIXED	0x010		/* Interpret addr exactly */
 
diff --git a/original/uapi/asm-mips/asm/posix_types.h b/original/uapi/asm-mips/asm/posix_types.h
index f0ccb5b..6aa49c1 100644
--- a/original/uapi/asm-mips/asm/posix_types.h
+++ b/original/uapi/asm-mips/asm/posix_types.h
@@ -21,6 +21,13 @@
 typedef long		__kernel_daddr_t;
 #define __kernel_daddr_t __kernel_daddr_t
 
+#if (_MIPS_SZLONG == 32)
+typedef struct {
+	long	val[2];
+} __kernel_fsid_t;
+#define __kernel_fsid_t __kernel_fsid_t
+#endif
+
 #include <asm-generic/posix_types.h>
 
 #endif /* _ASM_POSIX_TYPES_H */
diff --git a/original/uapi/asm-mips/asm/socket.h b/original/uapi/asm-mips/asm/socket.h
index d0a9ed2..71370fb 100644
--- a/original/uapi/asm-mips/asm/socket.h
+++ b/original/uapi/asm-mips/asm/socket.h
@@ -10,7 +10,6 @@
 #ifndef _UAPI_ASM_SOCKET_H
 #define _UAPI_ASM_SOCKET_H
 
-#include <linux/posix_types.h>
 #include <asm/sockios.h>
 
 /*
@@ -39,8 +38,8 @@
 #define SO_RCVBUF	0x1002	/* Receive buffer. */
 #define SO_SNDLOWAT	0x1003	/* send low-water mark */
 #define SO_RCVLOWAT	0x1004	/* receive low-water mark */
-#define SO_SNDTIMEO_OLD	0x1005	/* send timeout */
-#define SO_RCVTIMEO_OLD	0x1006	/* receive timeout */
+#define SO_SNDTIMEO	0x1005	/* send timeout */
+#define SO_RCVTIMEO	0x1006	/* receive timeout */
 #define SO_ACCEPTCONN	0x1009
 #define SO_PROTOCOL	0x1028	/* protocol type */
 #define SO_DOMAIN	0x1029	/* domain/socket family */
@@ -66,14 +65,21 @@
 #define SO_GET_FILTER		SO_ATTACH_FILTER
 
 #define SO_PEERNAME		28
+#define SO_TIMESTAMP		29
+#define SCM_TIMESTAMP		SO_TIMESTAMP
 
 #define SO_PEERSEC		30
 #define SO_SNDBUFFORCE		31
 #define SO_RCVBUFFORCE		33
 #define SO_PASSSEC		34
+#define SO_TIMESTAMPNS		35
+#define SCM_TIMESTAMPNS		SO_TIMESTAMPNS
 
 #define SO_MARK			36
 
+#define SO_TIMESTAMPING		37
+#define SCM_TIMESTAMPING	SO_TIMESTAMPING
+
 #define SO_RXQ_OVFL		40
 
 #define SO_WIFI_STATUS		41
@@ -120,43 +126,4 @@
 #define SO_TXTIME		61
 #define SCM_TXTIME		SO_TXTIME
 
-#define SO_BINDTOIFINDEX	62
-
-#define SO_TIMESTAMP_OLD        29
-#define SO_TIMESTAMPNS_OLD      35
-#define SO_TIMESTAMPING_OLD     37
-
-#define SO_TIMESTAMP_NEW        63
-#define SO_TIMESTAMPNS_NEW      64
-#define SO_TIMESTAMPING_NEW     65
-
-#define SO_RCVTIMEO_NEW         66
-#define SO_SNDTIMEO_NEW         67
-
-#define SO_DETACH_REUSEPORT_BPF 68
-
-#if !defined(__KERNEL__)
-
-#if __BITS_PER_LONG == 64
-#define SO_TIMESTAMP		SO_TIMESTAMP_OLD
-#define SO_TIMESTAMPNS		SO_TIMESTAMPNS_OLD
-#define SO_TIMESTAMPING		SO_TIMESTAMPING_OLD
-
-#define SO_RCVTIMEO             SO_RCVTIMEO_OLD
-#define SO_SNDTIMEO             SO_SNDTIMEO_OLD
-#else
-#define SO_TIMESTAMP (sizeof(time_t) == sizeof(__kernel_long_t) ? SO_TIMESTAMP_OLD : SO_TIMESTAMP_NEW)
-#define SO_TIMESTAMPNS (sizeof(time_t) == sizeof(__kernel_long_t) ? SO_TIMESTAMPNS_OLD : SO_TIMESTAMPNS_NEW)
-#define SO_TIMESTAMPING (sizeof(time_t) == sizeof(__kernel_long_t) ? SO_TIMESTAMPING_OLD : SO_TIMESTAMPING_NEW)
-
-#define SO_RCVTIMEO (sizeof(time_t) == sizeof(__kernel_long_t) ? SO_RCVTIMEO_OLD : SO_RCVTIMEO_NEW)
-#define SO_SNDTIMEO (sizeof(time_t) == sizeof(__kernel_long_t) ? SO_SNDTIMEO_OLD : SO_SNDTIMEO_NEW)
-#endif
-
-#define SCM_TIMESTAMP           SO_TIMESTAMP
-#define SCM_TIMESTAMPNS         SO_TIMESTAMPNS
-#define SCM_TIMESTAMPING        SO_TIMESTAMPING
-
-#endif
-
 #endif /* _UAPI_ASM_SOCKET_H */
diff --git a/original/uapi/asm-mips/asm/sockios.h b/original/uapi/asm-mips/asm/sockios.h
index 66f6023..5b40a88 100644
--- a/original/uapi/asm-mips/asm/sockios.h
+++ b/original/uapi/asm-mips/asm/sockios.h
@@ -21,7 +21,7 @@
 #define SIOCSPGRP	_IOW('s', 8, pid_t)
 #define SIOCGPGRP	_IOR('s', 9, pid_t)
 
-#define SIOCGSTAMP_OLD	0x8906		/* Get stamp (timeval) */
-#define SIOCGSTAMPNS_OLD 0x8907		/* Get stamp (timespec) */
+#define SIOCGSTAMP	0x8906		/* Get stamp (timeval) */
+#define SIOCGSTAMPNS	0x8907		/* Get stamp (timespec) */
 
 #endif /* _ASM_SOCKIOS_H */
diff --git a/original/uapi/asm-mips/asm/unistd_n32.h b/original/uapi/asm-mips/asm/unistd_n32.h
index 5bcfdad..49f145f 100644
--- a/original/uapi/asm-mips/asm/unistd_n32.h
+++ b/original/uapi/asm-mips/asm/unistd_n32.h
@@ -333,40 +333,9 @@
 #define __NR_statx	(__NR_Linux + 330)
 #define __NR_rseq	(__NR_Linux + 331)
 #define __NR_io_pgetevents	(__NR_Linux + 332)
-#define __NR_clock_gettime64	(__NR_Linux + 403)
-#define __NR_clock_settime64	(__NR_Linux + 404)
-#define __NR_clock_adjtime64	(__NR_Linux + 405)
-#define __NR_clock_getres_time64	(__NR_Linux + 406)
-#define __NR_clock_nanosleep_time64	(__NR_Linux + 407)
-#define __NR_timer_gettime64	(__NR_Linux + 408)
-#define __NR_timer_settime64	(__NR_Linux + 409)
-#define __NR_timerfd_gettime64	(__NR_Linux + 410)
-#define __NR_timerfd_settime64	(__NR_Linux + 411)
-#define __NR_utimensat_time64	(__NR_Linux + 412)
-#define __NR_pselect6_time64	(__NR_Linux + 413)
-#define __NR_ppoll_time64	(__NR_Linux + 414)
-#define __NR_io_pgetevents_time64	(__NR_Linux + 416)
-#define __NR_recvmmsg_time64	(__NR_Linux + 417)
-#define __NR_mq_timedsend_time64	(__NR_Linux + 418)
-#define __NR_mq_timedreceive_time64	(__NR_Linux + 419)
-#define __NR_semtimedop_time64	(__NR_Linux + 420)
-#define __NR_rt_sigtimedwait_time64	(__NR_Linux + 421)
-#define __NR_futex_time64	(__NR_Linux + 422)
-#define __NR_sched_rr_get_interval_time64	(__NR_Linux + 423)
-#define __NR_pidfd_send_signal	(__NR_Linux + 424)
-#define __NR_io_uring_setup	(__NR_Linux + 425)
-#define __NR_io_uring_enter	(__NR_Linux + 426)
-#define __NR_io_uring_register	(__NR_Linux + 427)
-#define __NR_open_tree	(__NR_Linux + 428)
-#define __NR_move_mount	(__NR_Linux + 429)
-#define __NR_fsopen	(__NR_Linux + 430)
-#define __NR_fsconfig	(__NR_Linux + 431)
-#define __NR_fsmount	(__NR_Linux + 432)
-#define __NR_fspick	(__NR_Linux + 433)
-#define __NR_pidfd_open	(__NR_Linux + 434)
 
 #ifdef __KERNEL__
-#define __NR_syscalls	435
+#define __NR_syscalls	333
 #endif
 
 #endif /* _UAPI_ASM_MIPS_UNISTD_N32_H */
diff --git a/original/uapi/asm-mips/asm/unistd_n64.h b/original/uapi/asm-mips/asm/unistd_n64.h
index 2324aeb..23a5761 100644
--- a/original/uapi/asm-mips/asm/unistd_n64.h
+++ b/original/uapi/asm-mips/asm/unistd_n64.h
@@ -329,20 +329,9 @@
 #define __NR_statx	(__NR_Linux + 326)
 #define __NR_rseq	(__NR_Linux + 327)
 #define __NR_io_pgetevents	(__NR_Linux + 328)
-#define __NR_pidfd_send_signal	(__NR_Linux + 424)
-#define __NR_io_uring_setup	(__NR_Linux + 425)
-#define __NR_io_uring_enter	(__NR_Linux + 426)
-#define __NR_io_uring_register	(__NR_Linux + 427)
-#define __NR_open_tree	(__NR_Linux + 428)
-#define __NR_move_mount	(__NR_Linux + 429)
-#define __NR_fsopen	(__NR_Linux + 430)
-#define __NR_fsconfig	(__NR_Linux + 431)
-#define __NR_fsmount	(__NR_Linux + 432)
-#define __NR_fspick	(__NR_Linux + 433)
-#define __NR_pidfd_open	(__NR_Linux + 434)
 
 #ifdef __KERNEL__
-#define __NR_syscalls	435
+#define __NR_syscalls	329
 #endif
 
 #endif /* _UAPI_ASM_MIPS_UNISTD_N64_H */
diff --git a/original/uapi/asm-mips/asm/unistd_nr_n32.h b/original/uapi/asm-mips/asm/unistd_nr_n32.h
index 7836253..66a9753 100644
--- a/original/uapi/asm-mips/asm/unistd_nr_n32.h
+++ b/original/uapi/asm-mips/asm/unistd_nr_n32.h
@@ -2,6 +2,6 @@
 #define _UAPI_ASM_MIPS_UNISTD_NR_N32_H
 
 #define __NR_N32_Linux	6000
-#define __NR_N32_Linux_syscalls	435
+#define __NR_N32_Linux_syscalls	333
 
 #endif /* _UAPI_ASM_MIPS_UNISTD_NR_N32_H */
diff --git a/original/uapi/asm-mips/asm/unistd_nr_n64.h b/original/uapi/asm-mips/asm/unistd_nr_n64.h
index 0433dfe..c147c6f 100644
--- a/original/uapi/asm-mips/asm/unistd_nr_n64.h
+++ b/original/uapi/asm-mips/asm/unistd_nr_n64.h
@@ -2,6 +2,6 @@
 #define _UAPI_ASM_MIPS_UNISTD_NR_N64_H
 
 #define __NR_64_Linux	5000
-#define __NR_64_Linux_syscalls	435
+#define __NR_64_Linux_syscalls	329
 
 #endif /* _UAPI_ASM_MIPS_UNISTD_NR_N64_H */
diff --git a/original/uapi/asm-mips/asm/unistd_nr_o32.h b/original/uapi/asm-mips/asm/unistd_nr_o32.h
index 4bbe015..3e80718 100644
--- a/original/uapi/asm-mips/asm/unistd_nr_o32.h
+++ b/original/uapi/asm-mips/asm/unistd_nr_o32.h
@@ -2,6 +2,6 @@
 #define _UAPI_ASM_MIPS_UNISTD_NR_O32_H
 
 #define __NR_O32_Linux	4000
-#define __NR_O32_Linux_syscalls	435
+#define __NR_O32_Linux_syscalls	369
 
 #endif /* _UAPI_ASM_MIPS_UNISTD_NR_O32_H */
diff --git a/original/uapi/asm-mips/asm/unistd_o32.h b/original/uapi/asm-mips/asm/unistd_o32.h
index bf3589c..2a4e87e 100644
--- a/original/uapi/asm-mips/asm/unistd_o32.h
+++ b/original/uapi/asm-mips/asm/unistd_o32.h
@@ -369,50 +369,9 @@
 #define __NR_statx	(__NR_Linux + 366)
 #define __NR_rseq	(__NR_Linux + 367)
 #define __NR_io_pgetevents	(__NR_Linux + 368)
-#define __NR_semget	(__NR_Linux + 393)
-#define __NR_semctl	(__NR_Linux + 394)
-#define __NR_shmget	(__NR_Linux + 395)
-#define __NR_shmctl	(__NR_Linux + 396)
-#define __NR_shmat	(__NR_Linux + 397)
-#define __NR_shmdt	(__NR_Linux + 398)
-#define __NR_msgget	(__NR_Linux + 399)
-#define __NR_msgsnd	(__NR_Linux + 400)
-#define __NR_msgrcv	(__NR_Linux + 401)
-#define __NR_msgctl	(__NR_Linux + 402)
-#define __NR_clock_gettime64	(__NR_Linux + 403)
-#define __NR_clock_settime64	(__NR_Linux + 404)
-#define __NR_clock_adjtime64	(__NR_Linux + 405)
-#define __NR_clock_getres_time64	(__NR_Linux + 406)
-#define __NR_clock_nanosleep_time64	(__NR_Linux + 407)
-#define __NR_timer_gettime64	(__NR_Linux + 408)
-#define __NR_timer_settime64	(__NR_Linux + 409)
-#define __NR_timerfd_gettime64	(__NR_Linux + 410)
-#define __NR_timerfd_settime64	(__NR_Linux + 411)
-#define __NR_utimensat_time64	(__NR_Linux + 412)
-#define __NR_pselect6_time64	(__NR_Linux + 413)
-#define __NR_ppoll_time64	(__NR_Linux + 414)
-#define __NR_io_pgetevents_time64	(__NR_Linux + 416)
-#define __NR_recvmmsg_time64	(__NR_Linux + 417)
-#define __NR_mq_timedsend_time64	(__NR_Linux + 418)
-#define __NR_mq_timedreceive_time64	(__NR_Linux + 419)
-#define __NR_semtimedop_time64	(__NR_Linux + 420)
-#define __NR_rt_sigtimedwait_time64	(__NR_Linux + 421)
-#define __NR_futex_time64	(__NR_Linux + 422)
-#define __NR_sched_rr_get_interval_time64	(__NR_Linux + 423)
-#define __NR_pidfd_send_signal	(__NR_Linux + 424)
-#define __NR_io_uring_setup	(__NR_Linux + 425)
-#define __NR_io_uring_enter	(__NR_Linux + 426)
-#define __NR_io_uring_register	(__NR_Linux + 427)
-#define __NR_open_tree	(__NR_Linux + 428)
-#define __NR_move_mount	(__NR_Linux + 429)
-#define __NR_fsopen	(__NR_Linux + 430)
-#define __NR_fsconfig	(__NR_Linux + 431)
-#define __NR_fsmount	(__NR_Linux + 432)
-#define __NR_fspick	(__NR_Linux + 433)
-#define __NR_pidfd_open	(__NR_Linux + 434)
 
 #ifdef __KERNEL__
-#define __NR_syscalls	435
+#define __NR_syscalls	369
 #endif
 
 #endif /* _UAPI_ASM_MIPS_UNISTD_O32_H */
diff --git a/original/uapi/asm-x86/asm/bootparam.h b/original/uapi/asm-x86/asm/bootparam.h
index c895df5..60733f1 100644
--- a/original/uapi/asm-x86/asm/bootparam.h
+++ b/original/uapi/asm-x86/asm/bootparam.h
@@ -29,8 +29,6 @@
 #define XLF_EFI_HANDOVER_32		(1<<2)
 #define XLF_EFI_HANDOVER_64		(1<<3)
 #define XLF_EFI_KEXEC			(1<<4)
-#define XLF_5LEVEL			(1<<5)
-#define XLF_5LEVEL_ENABLED		(1<<6)
 
 #ifndef __ASSEMBLY__
 
diff --git a/original/uapi/asm-x86/asm/byteorder.h b/original/uapi/asm-x86/asm/byteorder.h
index 149143c..484e3cf 100644
--- a/original/uapi/asm-x86/asm/byteorder.h
+++ b/original/uapi/asm-x86/asm/byteorder.h
@@ -1,4 +1,4 @@
-/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
+/* SPDX-License-Identifier: GPL-2.0 */
 #ifndef _ASM_X86_BYTEORDER_H
 #define _ASM_X86_BYTEORDER_H
 
diff --git a/original/uapi/asm-x86/asm/hwcap2.h b/original/uapi/asm-x86/asm/hwcap2.h
index 8b2effe..6ebaae9 100644
--- a/original/uapi/asm-x86/asm/hwcap2.h
+++ b/original/uapi/asm-x86/asm/hwcap2.h
@@ -1,4 +1,4 @@
-/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
+/* SPDX-License-Identifier: GPL-2.0 */
 #ifndef _ASM_X86_HWCAP2_H
 #define _ASM_X86_HWCAP2_H
 
diff --git a/original/uapi/asm-x86/asm/kvm.h b/original/uapi/asm-x86/asm/kvm.h
index 503d3f4..dabfcf7 100644
--- a/original/uapi/asm-x86/asm/kvm.h
+++ b/original/uapi/asm-x86/asm/kvm.h
@@ -378,14 +378,9 @@
 	struct kvm_vcpu_events events;
 };
 
-#define KVM_X86_QUIRK_LINT0_REENABLED	   (1 << 0)
-#define KVM_X86_QUIRK_CD_NW_CLEARED	   (1 << 1)
-#define KVM_X86_QUIRK_LAPIC_MMIO_HOLE	   (1 << 2)
-#define KVM_X86_QUIRK_OUT_7E_INC_RIP	   (1 << 3)
-#define KVM_X86_QUIRK_MISC_ENABLE_NO_MWAIT (1 << 4)
-
-#define KVM_STATE_NESTED_FORMAT_VMX	0
-#define KVM_STATE_NESTED_FORMAT_SVM	1	/* unused */
+#define KVM_X86_QUIRK_LINT0_REENABLED	(1 << 0)
+#define KVM_X86_QUIRK_CD_NW_CLEARED	(1 << 1)
+#define KVM_X86_QUIRK_LAPIC_MMIO_HOLE	(1 << 2)
 
 #define KVM_STATE_NESTED_GUEST_MODE	0x00000001
 #define KVM_STATE_NESTED_RUN_PENDING	0x00000002
@@ -394,16 +389,9 @@
 #define KVM_STATE_NESTED_SMM_GUEST_MODE	0x00000001
 #define KVM_STATE_NESTED_SMM_VMXON	0x00000002
 
-#define KVM_STATE_NESTED_VMX_VMCS_SIZE	0x1000
-
-struct kvm_vmx_nested_state_data {
-	__u8 vmcs12[KVM_STATE_NESTED_VMX_VMCS_SIZE];
-	__u8 shadow_vmcs12[KVM_STATE_NESTED_VMX_VMCS_SIZE];
-};
-
-struct kvm_vmx_nested_state_hdr {
+struct kvm_vmx_nested_state {
 	__u64 vmxon_pa;
-	__u64 vmcs12_pa;
+	__u64 vmcs_pa;
 
 	struct {
 		__u16 flags;
@@ -412,38 +400,24 @@
 
 /* for KVM_CAP_NESTED_STATE */
 struct kvm_nested_state {
+	/* KVM_STATE_* flags */
 	__u16 flags;
+
+	/* 0 for VMX, 1 for SVM.  */
 	__u16 format;
+
+	/* 128 for SVM, 128 + VMCS size for VMX.  */
 	__u32 size;
 
 	union {
-		struct kvm_vmx_nested_state_hdr vmx;
+		/* VMXON, VMCS */
+		struct kvm_vmx_nested_state vmx;
 
 		/* Pad the header to 128 bytes.  */
 		__u8 pad[120];
-	} hdr;
+	};
 
-	/*
-	 * Define data region as 0 bytes to preserve backwards-compatability
-	 * to old definition of kvm_nested_state in order to avoid changing
-	 * KVM_{GET,PUT}_NESTED_STATE ioctl values.
-	 */
-	union {
-		struct kvm_vmx_nested_state_data vmx[0];
-	} data;
+	__u8 data[0];
 };
 
-/* for KVM_CAP_PMU_EVENT_FILTER */
-struct kvm_pmu_event_filter {
-	__u32 action;
-	__u32 nevents;
-	__u32 fixed_counter_bitmap;
-	__u32 flags;
-	__u32 pad[4];
-	__u64 events[0];
-};
-
-#define KVM_PMU_EVENT_ALLOW 0
-#define KVM_PMU_EVENT_DENY 1
-
 #endif /* _ASM_X86_KVM_H */
diff --git a/original/uapi/asm-x86/asm/kvm_para.h b/original/uapi/asm-x86/asm/kvm_para.h
index 2a8e0b6..19980ec 100644
--- a/original/uapi/asm-x86/asm/kvm_para.h
+++ b/original/uapi/asm-x86/asm/kvm_para.h
@@ -29,8 +29,6 @@
 #define KVM_FEATURE_PV_TLB_FLUSH	9
 #define KVM_FEATURE_ASYNC_PF_VMEXIT	10
 #define KVM_FEATURE_PV_SEND_IPI	11
-#define KVM_FEATURE_POLL_CONTROL	12
-#define KVM_FEATURE_PV_SCHED_YIELD	13
 
 #define KVM_HINTS_REALTIME      0
 
@@ -49,7 +47,6 @@
 #define MSR_KVM_ASYNC_PF_EN 0x4b564d02
 #define MSR_KVM_STEAL_TIME  0x4b564d03
 #define MSR_KVM_PV_EOI_EN      0x4b564d04
-#define MSR_KVM_POLL_CONTROL	0x4b564d05
 
 struct kvm_steal_time {
 	__u64 steal;
diff --git a/original/uapi/asm-x86/asm/perf_regs.h b/original/uapi/asm-x86/asm/perf_regs.h
index 7c9d2bb..f3329ca 100644
--- a/original/uapi/asm-x86/asm/perf_regs.h
+++ b/original/uapi/asm-x86/asm/perf_regs.h
@@ -27,32 +27,8 @@
 	PERF_REG_X86_R13,
 	PERF_REG_X86_R14,
 	PERF_REG_X86_R15,
-	/* These are the limits for the GPRs. */
+
 	PERF_REG_X86_32_MAX = PERF_REG_X86_GS + 1,
 	PERF_REG_X86_64_MAX = PERF_REG_X86_R15 + 1,
-
-	/* These all need two bits set because they are 128bit */
-	PERF_REG_X86_XMM0  = 32,
-	PERF_REG_X86_XMM1  = 34,
-	PERF_REG_X86_XMM2  = 36,
-	PERF_REG_X86_XMM3  = 38,
-	PERF_REG_X86_XMM4  = 40,
-	PERF_REG_X86_XMM5  = 42,
-	PERF_REG_X86_XMM6  = 44,
-	PERF_REG_X86_XMM7  = 46,
-	PERF_REG_X86_XMM8  = 48,
-	PERF_REG_X86_XMM9  = 50,
-	PERF_REG_X86_XMM10 = 52,
-	PERF_REG_X86_XMM11 = 54,
-	PERF_REG_X86_XMM12 = 56,
-	PERF_REG_X86_XMM13 = 58,
-	PERF_REG_X86_XMM14 = 60,
-	PERF_REG_X86_XMM15 = 62,
-
-	/* These include both GPRs and XMMX registers */
-	PERF_REG_X86_XMM_MAX = PERF_REG_X86_XMM15 + 2,
 };
-
-#define PERF_REG_EXTENDED_MASK	(~((1ULL << PERF_REG_X86_XMM0) - 1))
-
 #endif /* _ASM_X86_PERF_REGS_H */
diff --git a/original/uapi/asm-x86/asm/sigcontext32.h b/original/uapi/asm-x86/asm/sigcontext32.h
index 7114801..6b18e88 100644
--- a/original/uapi/asm-x86/asm/sigcontext32.h
+++ b/original/uapi/asm-x86/asm/sigcontext32.h
@@ -1,4 +1,4 @@
-/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
+/* SPDX-License-Identifier: GPL-2.0 */
 #ifndef _ASM_X86_SIGCONTEXT32_H
 #define _ASM_X86_SIGCONTEXT32_H
 
diff --git a/original/uapi/asm-x86/asm/types.h b/original/uapi/asm-x86/asm/types.h
index 9d5c11a..df55e1d 100644
--- a/original/uapi/asm-x86/asm/types.h
+++ b/original/uapi/asm-x86/asm/types.h
@@ -1,4 +1,4 @@
-/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
+/* SPDX-License-Identifier: GPL-2.0 */
 #ifndef _ASM_X86_TYPES_H
 #define _ASM_X86_TYPES_H
 
diff --git a/original/uapi/asm-x86/asm/unistd_32.h b/original/uapi/asm-x86/asm/unistd_32.h
index e8ebec1..c1b30a0 100644
--- a/original/uapi/asm-x86/asm/unistd_32.h
+++ b/original/uapi/asm-x86/asm/unistd_32.h
@@ -384,47 +384,5 @@
 #define __NR_arch_prctl 384
 #define __NR_io_pgetevents 385
 #define __NR_rseq 386
-#define __NR_semget 393
-#define __NR_semctl 394
-#define __NR_shmget 395
-#define __NR_shmctl 396
-#define __NR_shmat 397
-#define __NR_shmdt 398
-#define __NR_msgget 399
-#define __NR_msgsnd 400
-#define __NR_msgrcv 401
-#define __NR_msgctl 402
-#define __NR_clock_gettime64 403
-#define __NR_clock_settime64 404
-#define __NR_clock_adjtime64 405
-#define __NR_clock_getres_time64 406
-#define __NR_clock_nanosleep_time64 407
-#define __NR_timer_gettime64 408
-#define __NR_timer_settime64 409
-#define __NR_timerfd_gettime64 410
-#define __NR_timerfd_settime64 411
-#define __NR_utimensat_time64 412
-#define __NR_pselect6_time64 413
-#define __NR_ppoll_time64 414
-#define __NR_io_pgetevents_time64 416
-#define __NR_recvmmsg_time64 417
-#define __NR_mq_timedsend_time64 418
-#define __NR_mq_timedreceive_time64 419
-#define __NR_semtimedop_time64 420
-#define __NR_rt_sigtimedwait_time64 421
-#define __NR_futex_time64 422
-#define __NR_sched_rr_get_interval_time64 423
-#define __NR_pidfd_send_signal 424
-#define __NR_io_uring_setup 425
-#define __NR_io_uring_enter 426
-#define __NR_io_uring_register 427
-#define __NR_open_tree 428
-#define __NR_move_mount 429
-#define __NR_fsopen 430
-#define __NR_fsconfig 431
-#define __NR_fsmount 432
-#define __NR_fspick 433
-#define __NR_pidfd_open 434
-#define __NR_clone3 435
 
 #endif /* _ASM_X86_UNISTD_32_H */
diff --git a/original/uapi/asm-x86/asm/unistd_64.h b/original/uapi/asm-x86/asm/unistd_64.h
index a2f863d..c2e464c 100644
--- a/original/uapi/asm-x86/asm/unistd_64.h
+++ b/original/uapi/asm-x86/asm/unistd_64.h
@@ -336,17 +336,5 @@
 #define __NR_statx 332
 #define __NR_io_pgetevents 333
 #define __NR_rseq 334
-#define __NR_pidfd_send_signal 424
-#define __NR_io_uring_setup 425
-#define __NR_io_uring_enter 426
-#define __NR_io_uring_register 427
-#define __NR_open_tree 428
-#define __NR_move_mount 429
-#define __NR_fsopen 430
-#define __NR_fsconfig 431
-#define __NR_fsmount 432
-#define __NR_fspick 433
-#define __NR_pidfd_open 434
-#define __NR_clone3 435
 
 #endif /* _ASM_X86_UNISTD_64_H */
diff --git a/original/uapi/asm-x86/asm/unistd_x32.h b/original/uapi/asm-x86/asm/unistd_x32.h
index 4cdc67d..3722902 100644
--- a/original/uapi/asm-x86/asm/unistd_x32.h
+++ b/original/uapi/asm-x86/asm/unistd_x32.h
@@ -289,18 +289,6 @@
 #define __NR_statx (__X32_SYSCALL_BIT + 332)
 #define __NR_io_pgetevents (__X32_SYSCALL_BIT + 333)
 #define __NR_rseq (__X32_SYSCALL_BIT + 334)
-#define __NR_pidfd_send_signal (__X32_SYSCALL_BIT + 424)
-#define __NR_io_uring_setup (__X32_SYSCALL_BIT + 425)
-#define __NR_io_uring_enter (__X32_SYSCALL_BIT + 426)
-#define __NR_io_uring_register (__X32_SYSCALL_BIT + 427)
-#define __NR_open_tree (__X32_SYSCALL_BIT + 428)
-#define __NR_move_mount (__X32_SYSCALL_BIT + 429)
-#define __NR_fsopen (__X32_SYSCALL_BIT + 430)
-#define __NR_fsconfig (__X32_SYSCALL_BIT + 431)
-#define __NR_fsmount (__X32_SYSCALL_BIT + 432)
-#define __NR_fspick (__X32_SYSCALL_BIT + 433)
-#define __NR_pidfd_open (__X32_SYSCALL_BIT + 434)
-#define __NR_clone3 (__X32_SYSCALL_BIT + 435)
 #define __NR_rt_sigaction (__X32_SYSCALL_BIT + 512)
 #define __NR_rt_sigreturn (__X32_SYSCALL_BIT + 513)
 #define __NR_ioctl (__X32_SYSCALL_BIT + 514)
diff --git a/original/uapi/drm/amdgpu_drm.h b/original/uapi/drm/amdgpu_drm.h
index 11cc573..be84e43 100644
--- a/original/uapi/drm/amdgpu_drm.h
+++ b/original/uapi/drm/amdgpu_drm.h
@@ -210,19 +210,13 @@
 #define AMDGPU_CTX_QUERY2_FLAGS_VRAMLOST (1<<1)
 /* indicate some job from this context once cause gpu hang */
 #define AMDGPU_CTX_QUERY2_FLAGS_GUILTY   (1<<2)
-/* indicate some errors are detected by RAS */
-#define AMDGPU_CTX_QUERY2_FLAGS_RAS_CE   (1<<3)
-#define AMDGPU_CTX_QUERY2_FLAGS_RAS_UE   (1<<4)
 
 /* Context priority level */
 #define AMDGPU_CTX_PRIORITY_UNSET       -2048
 #define AMDGPU_CTX_PRIORITY_VERY_LOW    -1023
 #define AMDGPU_CTX_PRIORITY_LOW         -512
 #define AMDGPU_CTX_PRIORITY_NORMAL      0
-/*
- * When used in struct drm_amdgpu_ctx_in, a priority above NORMAL requires
- * CAP_SYS_NICE or DRM_MASTER
-*/
+/* Selecting a priority above NORMAL requires CAP_SYS_NICE or DRM_MASTER */
 #define AMDGPU_CTX_PRIORITY_HIGH        512
 #define AMDGPU_CTX_PRIORITY_VERY_HIGH   1023
 
@@ -232,7 +226,6 @@
 	/** For future use, no flags defined so far */
 	__u32	flags;
 	__u32	ctx_id;
-	/** AMDGPU_CTX_PRIORITY_* */
 	__s32	priority;
 };
 
@@ -279,15 +272,13 @@
 
 /* sched ioctl */
 #define AMDGPU_SCHED_OP_PROCESS_PRIORITY_OVERRIDE	1
-#define AMDGPU_SCHED_OP_CONTEXT_PRIORITY_OVERRIDE	2
 
 struct drm_amdgpu_sched_in {
 	/* AMDGPU_SCHED_OP_* */
 	__u32	op;
 	__u32	fd;
-	/** AMDGPU_CTX_PRIORITY_* */
 	__s32	priority;
-	__u32   ctx_id;
+	__u32	flags;
 };
 
 union drm_amdgpu_sched {
@@ -532,9 +523,6 @@
 #define AMDGPU_CHUNK_ID_SYNCOBJ_IN      0x04
 #define AMDGPU_CHUNK_ID_SYNCOBJ_OUT     0x05
 #define AMDGPU_CHUNK_ID_BO_HANDLES      0x06
-#define AMDGPU_CHUNK_ID_SCHEDULED_DEPENDENCIES	0x07
-#define AMDGPU_CHUNK_ID_SYNCOBJ_TIMELINE_WAIT    0x08
-#define AMDGPU_CHUNK_ID_SYNCOBJ_TIMELINE_SIGNAL  0x09
 
 struct drm_amdgpu_cs_chunk {
 	__u32		chunk_id;
@@ -577,11 +565,6 @@
  * caches (L2/vL1/sL1/I$). */
 #define AMDGPU_IB_FLAG_TC_WB_NOT_INVALIDATE (1 << 3)
 
-/* Set GDS_COMPUTE_MAX_WAVE_ID = DEFAULT before PACKET3_INDIRECT_BUFFER.
- * This will reset wave ID counters for the IB.
- */
-#define AMDGPU_IB_FLAG_RESET_GDS_MAX_WAVE_ID (1 << 4)
-
 struct drm_amdgpu_cs_chunk_ib {
 	__u32 _pad;
 	/** AMDGPU_IB_FLAG_* */
@@ -615,12 +598,6 @@
 	__u32 handle;
 };
 
-struct drm_amdgpu_cs_chunk_syncobj {
-       __u32 handle;
-       __u32 flags;
-       __u64 point;
-};
-
 #define AMDGPU_FENCE_TO_HANDLE_GET_SYNCOBJ	0
 #define AMDGPU_FENCE_TO_HANDLE_GET_SYNCOBJ_FD	1
 #define AMDGPU_FENCE_TO_HANDLE_GET_SYNC_FILE_FD	2
@@ -696,7 +673,6 @@
 	#define AMDGPU_INFO_FW_GFX_RLC_RESTORE_LIST_SRM_MEM 0x11
 	/* Subquery id: Query DMCU firmware version */
 	#define AMDGPU_INFO_FW_DMCU		0x12
-	#define AMDGPU_INFO_FW_TA		0x13
 /* number of bytes moved for TTM migration */
 #define AMDGPU_INFO_NUM_BYTES_MOVED		0x0f
 /* the used VRAM size */
@@ -750,37 +726,6 @@
 /* Number of VRAM page faults on CPU access. */
 #define AMDGPU_INFO_NUM_VRAM_CPU_PAGE_FAULTS	0x1E
 #define AMDGPU_INFO_VRAM_LOST_COUNTER		0x1F
-/* query ras mask of enabled features*/
-#define AMDGPU_INFO_RAS_ENABLED_FEATURES	0x20
-
-/* RAS MASK: UMC (VRAM) */
-#define AMDGPU_INFO_RAS_ENABLED_UMC			(1 << 0)
-/* RAS MASK: SDMA */
-#define AMDGPU_INFO_RAS_ENABLED_SDMA			(1 << 1)
-/* RAS MASK: GFX */
-#define AMDGPU_INFO_RAS_ENABLED_GFX			(1 << 2)
-/* RAS MASK: MMHUB */
-#define AMDGPU_INFO_RAS_ENABLED_MMHUB			(1 << 3)
-/* RAS MASK: ATHUB */
-#define AMDGPU_INFO_RAS_ENABLED_ATHUB			(1 << 4)
-/* RAS MASK: PCIE */
-#define AMDGPU_INFO_RAS_ENABLED_PCIE			(1 << 5)
-/* RAS MASK: HDP */
-#define AMDGPU_INFO_RAS_ENABLED_HDP			(1 << 6)
-/* RAS MASK: XGMI */
-#define AMDGPU_INFO_RAS_ENABLED_XGMI			(1 << 7)
-/* RAS MASK: DF */
-#define AMDGPU_INFO_RAS_ENABLED_DF			(1 << 8)
-/* RAS MASK: SMN */
-#define AMDGPU_INFO_RAS_ENABLED_SMN			(1 << 9)
-/* RAS MASK: SEM */
-#define AMDGPU_INFO_RAS_ENABLED_SEM			(1 << 10)
-/* RAS MASK: MP0 */
-#define AMDGPU_INFO_RAS_ENABLED_MP0			(1 << 11)
-/* RAS MASK: MP1 */
-#define AMDGPU_INFO_RAS_ENABLED_MP1			(1 << 12)
-/* RAS MASK: FUSE */
-#define AMDGPU_INFO_RAS_ENABLED_FUSE			(1 << 13)
 
 #define AMDGPU_INFO_MMR_SE_INDEX_SHIFT	0
 #define AMDGPU_INFO_MMR_SE_INDEX_MASK	0xff
@@ -917,7 +862,6 @@
 #define AMDGPU_VRAM_TYPE_HBM   6
 #define AMDGPU_VRAM_TYPE_DDR3  7
 #define AMDGPU_VRAM_TYPE_DDR4  8
-#define AMDGPU_VRAM_TYPE_GDDR6 9
 
 struct drm_amdgpu_info_device {
 	/** PCI Device ID */
@@ -997,8 +941,6 @@
 	__u64 high_va_offset;
 	/** The maximum high virtual address */
 	__u64 high_va_max;
-	/* gfx10 pa_sc_tile_steering_override */
-	__u32 pa_sc_tile_steering_override;
 };
 
 struct drm_amdgpu_info_hw_ip {
@@ -1052,7 +994,6 @@
 #define AMDGPU_FAMILY_CZ			135 /* Carrizo, Stoney */
 #define AMDGPU_FAMILY_AI			141 /* Vega10 */
 #define AMDGPU_FAMILY_RV			142 /* Raven */
-#define AMDGPU_FAMILY_NV			143 /* Navi10 */
 
 #if defined(__cplusplus)
 }
diff --git a/original/uapi/drm/drm.h b/original/uapi/drm/drm.h
index 8a5b2f8..300f336 100644
--- a/original/uapi/drm/drm.h
+++ b/original/uapi/drm/drm.h
@@ -50,7 +50,6 @@
 
 #else /* One of the BSDs */
 
-#include <stdint.h>
 #include <sys/ioccom.h>
 #include <sys/types.h>
 typedef int8_t   __s8;
@@ -650,7 +649,6 @@
 #define DRM_CAP_PAGE_FLIP_TARGET	0x11
 #define DRM_CAP_CRTC_IN_VBLANK_EVENT	0x12
 #define DRM_CAP_SYNCOBJ		0x13
-#define DRM_CAP_SYNCOBJ_TIMELINE	0x14
 
 /** DRM_IOCTL_GET_CAP ioctl argument type */
 struct drm_get_cap {
@@ -737,18 +735,8 @@
 	__u32 pad;
 };
 
-struct drm_syncobj_transfer {
-	__u32 src_handle;
-	__u32 dst_handle;
-	__u64 src_point;
-	__u64 dst_point;
-	__u32 flags;
-	__u32 pad;
-};
-
 #define DRM_SYNCOBJ_WAIT_FLAGS_WAIT_ALL (1 << 0)
 #define DRM_SYNCOBJ_WAIT_FLAGS_WAIT_FOR_SUBMIT (1 << 1)
-#define DRM_SYNCOBJ_WAIT_FLAGS_WAIT_AVAILABLE (1 << 2) /* wait for time point to become available */
 struct drm_syncobj_wait {
 	__u64 handles;
 	/* absolute timeout */
@@ -759,33 +747,12 @@
 	__u32 pad;
 };
 
-struct drm_syncobj_timeline_wait {
-	__u64 handles;
-	/* wait on specific timeline point for every handles*/
-	__u64 points;
-	/* absolute timeout */
-	__s64 timeout_nsec;
-	__u32 count_handles;
-	__u32 flags;
-	__u32 first_signaled; /* only valid when not waiting all */
-	__u32 pad;
-};
-
-
 struct drm_syncobj_array {
 	__u64 handles;
 	__u32 count_handles;
 	__u32 pad;
 };
 
-struct drm_syncobj_timeline_array {
-	__u64 handles;
-	__u64 points;
-	__u32 count_handles;
-	__u32 pad;
-};
-
-
 /* Query current scanout sequence number */
 struct drm_crtc_get_sequence {
 	__u32 crtc_id;		/* requested crtc_id */
@@ -942,11 +909,6 @@
 #define DRM_IOCTL_MODE_GET_LEASE	DRM_IOWR(0xC8, struct drm_mode_get_lease)
 #define DRM_IOCTL_MODE_REVOKE_LEASE	DRM_IOWR(0xC9, struct drm_mode_revoke_lease)
 
-#define DRM_IOCTL_SYNCOBJ_TIMELINE_WAIT	DRM_IOWR(0xCA, struct drm_syncobj_timeline_wait)
-#define DRM_IOCTL_SYNCOBJ_QUERY		DRM_IOWR(0xCB, struct drm_syncobj_timeline_array)
-#define DRM_IOCTL_SYNCOBJ_TRANSFER	DRM_IOWR(0xCC, struct drm_syncobj_transfer)
-#define DRM_IOCTL_SYNCOBJ_TIMELINE_SIGNAL	DRM_IOWR(0xCD, struct drm_syncobj_timeline_array)
-
 /**
  * Device specific ioctls should only be in their respective headers
  * The device specific ioctl range is from 0x40 to 0x9f.
diff --git a/original/uapi/drm/drm_fourcc.h b/original/uapi/drm/drm_fourcc.h
index 3feeaa3..0b44260 100644
--- a/original/uapi/drm/drm_fourcc.h
+++ b/original/uapi/drm/drm_fourcc.h
@@ -144,17 +144,6 @@
 #define DRM_FORMAT_RGBA1010102	fourcc_code('R', 'A', '3', '0') /* [31:0] R:G:B:A 10:10:10:2 little endian */
 #define DRM_FORMAT_BGRA1010102	fourcc_code('B', 'A', '3', '0') /* [31:0] B:G:R:A 10:10:10:2 little endian */
 
-/*
- * Floating point 64bpp RGB
- * IEEE 754-2008 binary16 half-precision float
- * [15:0] sign:exponent:mantissa 1:5:10
- */
-#define DRM_FORMAT_XRGB16161616F fourcc_code('X', 'R', '4', 'H') /* [63:0] x:R:G:B 16:16:16:16 little endian */
-#define DRM_FORMAT_XBGR16161616F fourcc_code('X', 'B', '4', 'H') /* [63:0] x:B:G:R 16:16:16:16 little endian */
-
-#define DRM_FORMAT_ARGB16161616F fourcc_code('A', 'R', '4', 'H') /* [63:0] A:R:G:B 16:16:16:16 little endian */
-#define DRM_FORMAT_ABGR16161616F fourcc_code('A', 'B', '4', 'H') /* [63:0] A:B:G:R 16:16:16:16 little endian */
-
 /* packed YCbCr */
 #define DRM_FORMAT_YUYV		fourcc_code('Y', 'U', 'Y', 'V') /* [31:0] Cr0:Y1:Cb0:Y0 8:8:8:8 little endian */
 #define DRM_FORMAT_YVYU		fourcc_code('Y', 'V', 'Y', 'U') /* [31:0] Cb0:Y1:Cr0:Y0 8:8:8:8 little endian */
@@ -162,29 +151,7 @@
 #define DRM_FORMAT_VYUY		fourcc_code('V', 'Y', 'U', 'Y') /* [31:0] Y1:Cb0:Y0:Cr0 8:8:8:8 little endian */
 
 #define DRM_FORMAT_AYUV		fourcc_code('A', 'Y', 'U', 'V') /* [31:0] A:Y:Cb:Cr 8:8:8:8 little endian */
-#define DRM_FORMAT_XYUV8888	fourcc_code('X', 'Y', 'U', 'V') /* [31:0] X:Y:Cb:Cr 8:8:8:8 little endian */
-#define DRM_FORMAT_VUY888	fourcc_code('V', 'U', '2', '4') /* [23:0] Cr:Cb:Y 8:8:8 little endian */
-#define DRM_FORMAT_VUY101010	fourcc_code('V', 'U', '3', '0') /* Y followed by U then V, 10:10:10. Non-linear modifier only */
-
-/*
- * packed Y2xx indicate for each component, xx valid data occupy msb
- * 16-xx padding occupy lsb
- */
-#define DRM_FORMAT_Y210         fourcc_code('Y', '2', '1', '0') /* [63:0] Cr0:0:Y1:0:Cb0:0:Y0:0 10:6:10:6:10:6:10:6 little endian per 2 Y pixels */
-#define DRM_FORMAT_Y212         fourcc_code('Y', '2', '1', '2') /* [63:0] Cr0:0:Y1:0:Cb0:0:Y0:0 12:4:12:4:12:4:12:4 little endian per 2 Y pixels */
-#define DRM_FORMAT_Y216         fourcc_code('Y', '2', '1', '6') /* [63:0] Cr0:Y1:Cb0:Y0 16:16:16:16 little endian per 2 Y pixels */
-
-/*
- * packed Y4xx indicate for each component, xx valid data occupy msb
- * 16-xx padding occupy lsb except Y410
- */
-#define DRM_FORMAT_Y410         fourcc_code('Y', '4', '1', '0') /* [31:0] A:Cr:Y:Cb 2:10:10:10 little endian */
-#define DRM_FORMAT_Y412         fourcc_code('Y', '4', '1', '2') /* [63:0] A:0:Cr:0:Y:0:Cb:0 12:4:12:4:12:4:12:4 little endian */
-#define DRM_FORMAT_Y416         fourcc_code('Y', '4', '1', '6') /* [63:0] A:Cr:Y:Cb 16:16:16:16 little endian */
-
-#define DRM_FORMAT_XVYU2101010	fourcc_code('X', 'V', '3', '0') /* [31:0] X:Cr:Y:Cb 2:10:10:10 little endian */
-#define DRM_FORMAT_XVYU12_16161616	fourcc_code('X', 'V', '3', '6') /* [63:0] X:0:Cr:0:Y:0:Cb:0 12:4:12:4:12:4:12:4 little endian */
-#define DRM_FORMAT_XVYU16161616	fourcc_code('X', 'V', '4', '8') /* [63:0] X:Cr:Y:Cb 16:16:16:16 little endian */
+#define DRM_FORMAT_XYUV8888		fourcc_code('X', 'Y', 'U', 'V') /* [31:0] X:Y:Cb:Cr 8:8:8:8 little endian */
 
 /*
  * packed YCbCr420 2x2 tiled formats
@@ -201,15 +168,6 @@
 #define DRM_FORMAT_X0L2		fourcc_code('X', '0', 'L', '2')
 
 /*
- * 1-plane YUV 4:2:0
- * In these formats, the component ordering is specified (Y, followed by U
- * then V), but the exact Linear layout is undefined.
- * These formats can only be used with a non-Linear modifier.
- */
-#define DRM_FORMAT_YUV420_8BIT	fourcc_code('Y', 'U', '0', '8')
-#define DRM_FORMAT_YUV420_10BIT	fourcc_code('Y', 'U', '1', '0')
-
-/*
  * 2 plane RGB + A
  * index 0 = RGB plane, same format as the corresponding non _A8 format has
  * index 1 = A plane, [7:0] A
@@ -238,34 +196,6 @@
 #define DRM_FORMAT_NV42		fourcc_code('N', 'V', '4', '2') /* non-subsampled Cb:Cr plane */
 
 /*
- * 2 plane YCbCr MSB aligned
- * index 0 = Y plane, [15:0] Y:x [10:6] little endian
- * index 1 = Cr:Cb plane, [31:0] Cr:x:Cb:x [10:6:10:6] little endian
- */
-#define DRM_FORMAT_P210		fourcc_code('P', '2', '1', '0') /* 2x1 subsampled Cr:Cb plane, 10 bit per channel */
-
-/*
- * 2 plane YCbCr MSB aligned
- * index 0 = Y plane, [15:0] Y:x [10:6] little endian
- * index 1 = Cr:Cb plane, [31:0] Cr:x:Cb:x [10:6:10:6] little endian
- */
-#define DRM_FORMAT_P010		fourcc_code('P', '0', '1', '0') /* 2x2 subsampled Cr:Cb plane 10 bits per channel */
-
-/*
- * 2 plane YCbCr MSB aligned
- * index 0 = Y plane, [15:0] Y:x [12:4] little endian
- * index 1 = Cr:Cb plane, [31:0] Cr:x:Cb:x [12:4:12:4] little endian
- */
-#define DRM_FORMAT_P012		fourcc_code('P', '0', '1', '2') /* 2x2 subsampled Cr:Cb plane 12 bits per channel */
-
-/*
- * 2 plane YCbCr MSB aligned
- * index 0 = Y plane, [15:0] Y little endian
- * index 1 = Cr:Cb plane, [31:0] Cr:Cb [16:16] little endian
- */
-#define DRM_FORMAT_P016		fourcc_code('P', '0', '1', '6') /* 2x2 subsampled Cr:Cb plane 16 bits per channel */
-
-/*
  * 3 plane YCbCr
  * index 0: Y plane, [7:0] Y
  * index 1: Cb plane, [7:0] Cb
@@ -308,8 +238,6 @@
 #define DRM_FORMAT_MOD_VENDOR_VIVANTE 0x06
 #define DRM_FORMAT_MOD_VENDOR_BROADCOM 0x07
 #define DRM_FORMAT_MOD_VENDOR_ARM     0x08
-#define DRM_FORMAT_MOD_VENDOR_ALLWINNER 0x09
-
 /* add more to the end as needed */
 
 #define DRM_FORMAT_RESERVED	      ((1ULL << 56) - 1)
@@ -644,9 +572,6 @@
  * AFBC has several features which may be supported and/or used, which are
  * represented using bits in the modifier. Not all combinations are valid,
  * and different devices or use-cases may support different combinations.
- *
- * Further information on the use of AFBC modifiers can be found in
- * Documentation/gpu/afbc.rst
  */
 #define DRM_FORMAT_MOD_ARM_AFBC(__afbc_mode)	fourcc_mod_code(ARM, __afbc_mode)
 
@@ -656,18 +581,10 @@
  * Indicates the superblock size(s) used for the AFBC buffer. The buffer
  * size (in pixels) must be aligned to a multiple of the superblock size.
  * Four lowest significant bits(LSBs) are reserved for block size.
- *
- * Where one superblock size is specified, it applies to all planes of the
- * buffer (e.g. 16x16, 32x8). When multiple superblock sizes are specified,
- * the first applies to the Luma plane and the second applies to the Chroma
- * plane(s). e.g. (32x8_64x4 means 32x8 Luma, with 64x4 Chroma).
- * Multiple superblock sizes are only valid for multi-plane YCbCr formats.
  */
 #define AFBC_FORMAT_MOD_BLOCK_SIZE_MASK      0xf
 #define AFBC_FORMAT_MOD_BLOCK_SIZE_16x16     (1ULL)
 #define AFBC_FORMAT_MOD_BLOCK_SIZE_32x8      (2ULL)
-#define AFBC_FORMAT_MOD_BLOCK_SIZE_64x4      (3ULL)
-#define AFBC_FORMAT_MOD_BLOCK_SIZE_32x8_64x4 (4ULL)
 
 /*
  * AFBC lossless colorspace transform
@@ -727,35 +644,6 @@
  */
 #define AFBC_FORMAT_MOD_SC      (1ULL <<  9)
 
-/*
- * AFBC double-buffer
- *
- * Indicates that the buffer is allocated in a layout safe for front-buffer
- * rendering.
- */
-#define AFBC_FORMAT_MOD_DB      (1ULL << 10)
-
-/*
- * AFBC buffer content hints
- *
- * Indicates that the buffer includes per-superblock content hints.
- */
-#define AFBC_FORMAT_MOD_BCH     (1ULL << 11)
-
-/*
- * Allwinner tiled modifier
- *
- * This tiling mode is implemented by the VPU found on all Allwinner platforms,
- * codenamed sunxi. It is associated with a YUV format that uses either 2 or 3
- * planes.
- *
- * With this tiling, the luminance samples are disposed in tiles representing
- * 32x32 pixels and the chrominance samples in tiles representing 32x64 pixels.
- * The pixel order in each tile is linear and the tiles are disposed linearly,
- * both in row-major order.
- */
-#define DRM_FORMAT_MOD_ALLWINNER_TILED fourcc_mod_code(ALLWINNER, 1)
-
 #if defined(__cplusplus)
 }
 #endif
diff --git a/original/uapi/drm/drm_mode.h b/original/uapi/drm/drm_mode.h
index 5ab331e..a439c2e 100644
--- a/original/uapi/drm/drm_mode.h
+++ b/original/uapi/drm/drm_mode.h
@@ -33,15 +33,7 @@
 extern "C" {
 #endif
 
-/**
- * DOC: overview
- *
- * DRM exposes many UAPI and structure definition to have a consistent
- * and standardized interface with user.
- * Userspace can refer to these structure definitions and UAPI formats
- * to communicate to driver
- */
-
+#define DRM_DISPLAY_INFO_LEN	32
 #define DRM_CONNECTOR_NAME_LEN	32
 #define DRM_DISPLAY_MODE_LEN	32
 #define DRM_PROP_NAME_LEN	32
@@ -630,8 +622,7 @@
 
 struct drm_color_lut {
 	/*
-	 * Values are mapped linearly to 0.0 - 1.0 range, with 0x0 == 0.0 and
-	 * 0xffff == 1.0.
+	 * Data is U0.16 fixed point format.
 	 */
 	__u16 red;
 	__u16 green;
@@ -639,92 +630,6 @@
 	__u16 reserved;
 };
 
-/**
- * struct hdr_metadata_infoframe - HDR Metadata Infoframe Data.
- *
- * HDR Metadata Infoframe as per CTA 861.G spec. This is expected
- * to match exactly with the spec.
- *
- * Userspace is expected to pass the metadata information as per
- * the format described in this structure.
- */
-struct hdr_metadata_infoframe {
-	/**
-	 * @eotf: Electro-Optical Transfer Function (EOTF)
-	 * used in the stream.
-	 */
-	__u8 eotf;
-	/**
-	 * @metadata_type: Static_Metadata_Descriptor_ID.
-	 */
-	__u8 metadata_type;
-	/**
-	 * @display_primaries: Color Primaries of the Data.
-	 * These are coded as unsigned 16-bit values in units of
-	 * 0.00002, where 0x0000 represents zero and 0xC350
-	 * represents 1.0000.
-	 * @display_primaries.x: X cordinate of color primary.
-	 * @display_primaries.y: Y cordinate of color primary.
-	 */
-	struct {
-		__u16 x, y;
-		} display_primaries[3];
-	/**
-	 * @white_point: White Point of Colorspace Data.
-	 * These are coded as unsigned 16-bit values in units of
-	 * 0.00002, where 0x0000 represents zero and 0xC350
-	 * represents 1.0000.
-	 * @white_point.x: X cordinate of whitepoint of color primary.
-	 * @white_point.y: Y cordinate of whitepoint of color primary.
-	 */
-	struct {
-		__u16 x, y;
-		} white_point;
-	/**
-	 * @max_display_mastering_luminance: Max Mastering Display Luminance.
-	 * This value is coded as an unsigned 16-bit value in units of 1 cd/m2,
-	 * where 0x0001 represents 1 cd/m2 and 0xFFFF represents 65535 cd/m2.
-	 */
-	__u16 max_display_mastering_luminance;
-	/**
-	 * @min_display_mastering_luminance: Min Mastering Display Luminance.
-	 * This value is coded as an unsigned 16-bit value in units of
-	 * 0.0001 cd/m2, where 0x0001 represents 0.0001 cd/m2 and 0xFFFF
-	 * represents 6.5535 cd/m2.
-	 */
-	__u16 min_display_mastering_luminance;
-	/**
-	 * @max_cll: Max Content Light Level.
-	 * This value is coded as an unsigned 16-bit value in units of 1 cd/m2,
-	 * where 0x0001 represents 1 cd/m2 and 0xFFFF represents 65535 cd/m2.
-	 */
-	__u16 max_cll;
-	/**
-	 * @max_fall: Max Frame Average Light Level.
-	 * This value is coded as an unsigned 16-bit value in units of 1 cd/m2,
-	 * where 0x0001 represents 1 cd/m2 and 0xFFFF represents 65535 cd/m2.
-	 */
-	__u16 max_fall;
-};
-
-/**
- * struct hdr_output_metadata - HDR output metadata
- *
- * Metadata Information to be passed from userspace
- */
-struct hdr_output_metadata {
-	/**
-	 * @metadata_type: Static_Metadata_Descriptor_ID.
-	 */
-	__u32 metadata_type;
-	/**
-	 * @hdmi_metadata_type1: HDR Metadata Infoframe.
-	 */
-	union {
-		struct hdr_metadata_infoframe hdmi_metadata_type1;
-	};
-};
-
 #define DRM_MODE_PAGE_FLIP_EVENT 0x01
 #define DRM_MODE_PAGE_FLIP_ASYNC 0x02
 #define DRM_MODE_PAGE_FLIP_TARGET_ABSOLUTE 0x4
@@ -898,10 +803,6 @@
 };
 
 /**
- * struct drm_mode_create_blob - Create New block property
- * @data: Pointer to data to copy.
- * @length: Length of data to copy.
- * @blob_id: new property ID.
  * Create a new 'blob' data property, copying length bytes from data pointer,
  * and returning new blob ID.
  */
@@ -915,8 +816,6 @@
 };
 
 /**
- * struct drm_mode_destroy_blob - Destroy user blob
- * @blob_id: blob_id to destroy
  * Destroy a user-created blob property.
  */
 struct drm_mode_destroy_blob {
@@ -924,12 +823,6 @@
 };
 
 /**
- * struct drm_mode_create_lease - Create lease
- * @object_ids: Pointer to array of object ids.
- * @object_count: Number of object ids.
- * @flags: flags for new FD.
- * @lessee_id: unique identifier for lessee.
- * @fd: file descriptor to new drm_master file.
  * Lease mode resources, creating another drm_master.
  */
 struct drm_mode_create_lease {
@@ -947,10 +840,6 @@
 };
 
 /**
- * struct drm_mode_list_lessees - List lessees
- * @count_lessees: Number of lessees.
- * @pad: pad.
- * @lessees_ptr: Pointer to lessess.
  * List lesses from a drm_master
  */
 struct drm_mode_list_lessees {
@@ -971,10 +860,6 @@
 };
 
 /**
- * struct drm_mode_get_lease - Get Lease
- * @count_objects: Number of leased objects.
- * @pad: pad.
- * @objects_ptr: Pointer to objects.
  * Get leased objects
  */
 struct drm_mode_get_lease {
@@ -995,8 +880,6 @@
 };
 
 /**
- * struct drm_mode_revoke_lease - Revoke lease
- * @lessee_id: Unique ID of lessee.
  * Revoke lease
  */
 struct drm_mode_revoke_lease {
diff --git a/original/uapi/drm/i915_drm.h b/original/uapi/drm/i915_drm.h
index 328d05e..298b2e1 100644
--- a/original/uapi/drm/i915_drm.h
+++ b/original/uapi/drm/i915_drm.h
@@ -63,28 +63,6 @@
 #define I915_RESET_UEVENT		"RESET"
 
 /*
- * i915_user_extension: Base class for defining a chain of extensions
- *
- * Many interfaces need to grow over time. In most cases we can simply
- * extend the struct and have userspace pass in more data. Another option,
- * as demonstrated by Vulkan's approach to providing extensions for forward
- * and backward compatibility, is to use a list of optional structs to
- * provide those extra details.
- *
- * The key advantage to using an extension chain is that it allows us to
- * redefine the interface more easily than an ever growing struct of
- * increasing complexity, and for large parts of that interface to be
- * entirely optional. The downside is more pointer chasing; chasing across
- * the __user boundary with pointers encapsulated inside u64.
- */
-struct i915_user_extension {
-	__u64 next_extension;
-	__u32 name;
-	__u32 flags; /* All undefined bits must be zero. */
-	__u32 rsvd[4]; /* Reserved for future use; must be zero. */
-};
-
-/*
  * MOCS indexes used for GPU surfaces, defining the cacheability of the
  * surface data and the coherency for this data wrt. CPU vs. GPU accesses.
  */
@@ -121,25 +99,9 @@
 	I915_ENGINE_CLASS_VIDEO		= 2,
 	I915_ENGINE_CLASS_VIDEO_ENHANCE	= 3,
 
-	/* should be kept compact */
-
 	I915_ENGINE_CLASS_INVALID	= -1
 };
 
-/*
- * There may be more than one engine fulfilling any role within the system.
- * Each engine of a class is given a unique instance number and therefore
- * any engine can be specified by its class:instance tuplet. APIs that allow
- * access to any engine in the system will use struct i915_engine_class_instance
- * for this identification.
- */
-struct i915_engine_class_instance {
-	__u16 engine_class; /* see enum drm_i915_gem_engine_class */
-	__u16 engine_instance;
-#define I915_ENGINE_CLASS_INVALID_NONE -1
-#define I915_ENGINE_CLASS_INVALID_VIRTUAL -2
-};
-
 /**
  * DOC: perf_events exposed by i915 through /sys/bus/event_sources/drivers/i915
  *
@@ -357,9 +319,6 @@
 #define DRM_I915_PERF_ADD_CONFIG	0x37
 #define DRM_I915_PERF_REMOVE_CONFIG	0x38
 #define DRM_I915_QUERY			0x39
-#define DRM_I915_GEM_VM_CREATE		0x3a
-#define DRM_I915_GEM_VM_DESTROY		0x3b
-/* Must be kept compact -- no holes */
 
 #define DRM_IOCTL_I915_INIT		DRM_IOW( DRM_COMMAND_BASE + DRM_I915_INIT, drm_i915_init_t)
 #define DRM_IOCTL_I915_FLUSH		DRM_IO ( DRM_COMMAND_BASE + DRM_I915_FLUSH)
@@ -408,7 +367,6 @@
 #define DRM_IOCTL_I915_GET_SPRITE_COLORKEY DRM_IOWR(DRM_COMMAND_BASE + DRM_I915_GET_SPRITE_COLORKEY, struct drm_intel_sprite_colorkey)
 #define DRM_IOCTL_I915_GEM_WAIT		DRM_IOWR(DRM_COMMAND_BASE + DRM_I915_GEM_WAIT, struct drm_i915_gem_wait)
 #define DRM_IOCTL_I915_GEM_CONTEXT_CREATE	DRM_IOWR (DRM_COMMAND_BASE + DRM_I915_GEM_CONTEXT_CREATE, struct drm_i915_gem_context_create)
-#define DRM_IOCTL_I915_GEM_CONTEXT_CREATE_EXT	DRM_IOWR (DRM_COMMAND_BASE + DRM_I915_GEM_CONTEXT_CREATE, struct drm_i915_gem_context_create_ext)
 #define DRM_IOCTL_I915_GEM_CONTEXT_DESTROY	DRM_IOW (DRM_COMMAND_BASE + DRM_I915_GEM_CONTEXT_DESTROY, struct drm_i915_gem_context_destroy)
 #define DRM_IOCTL_I915_REG_READ			DRM_IOWR (DRM_COMMAND_BASE + DRM_I915_REG_READ, struct drm_i915_reg_read)
 #define DRM_IOCTL_I915_GET_RESET_STATS		DRM_IOWR (DRM_COMMAND_BASE + DRM_I915_GET_RESET_STATS, struct drm_i915_reset_stats)
@@ -419,8 +377,6 @@
 #define DRM_IOCTL_I915_PERF_ADD_CONFIG	DRM_IOW(DRM_COMMAND_BASE + DRM_I915_PERF_ADD_CONFIG, struct drm_i915_perf_oa_config)
 #define DRM_IOCTL_I915_PERF_REMOVE_CONFIG	DRM_IOW(DRM_COMMAND_BASE + DRM_I915_PERF_REMOVE_CONFIG, __u64)
 #define DRM_IOCTL_I915_QUERY			DRM_IOWR(DRM_COMMAND_BASE + DRM_I915_QUERY, struct drm_i915_query)
-#define DRM_IOCTL_I915_GEM_VM_CREATE	DRM_IOWR(DRM_COMMAND_BASE + DRM_I915_GEM_VM_CREATE, struct drm_i915_gem_vm_control)
-#define DRM_IOCTL_I915_GEM_VM_DESTROY	DRM_IOW (DRM_COMMAND_BASE + DRM_I915_GEM_VM_DESTROY, struct drm_i915_gem_vm_control)
 
 /* Allow drivers to submit batchbuffers directly to hardware, relying
  * on the security mechanisms provided by hardware.
@@ -520,7 +476,6 @@
 #define   I915_SCHEDULER_CAP_ENABLED	(1ul << 0)
 #define   I915_SCHEDULER_CAP_PRIORITY	(1ul << 1)
 #define   I915_SCHEDULER_CAP_PREEMPTION	(1ul << 2)
-#define   I915_SCHEDULER_CAP_SEMAPHORES	(1ul << 3)
 
 #define I915_PARAM_HUC_STATUS		 42
 
@@ -604,14 +559,6 @@
  */
 #define I915_PARAM_MMAP_GTT_COHERENT	52
 
-/*
- * Query whether DRM_I915_GEM_EXECBUFFER2 supports coordination of parallel
- * execution through use of explicit fence support.
- * See I915_EXEC_FENCE_OUT and I915_EXEC_FENCE_SUBMIT.
- */
-#define I915_PARAM_HAS_EXEC_SUBMIT_FENCE 53
-/* Must be kept compact -- no holes and well documented */
-
 typedef struct drm_i915_getparam {
 	__s32 param;
 	/*
@@ -627,7 +574,6 @@
 #define I915_SETPARAM_TEX_LRU_LOG_GRANULARITY             2
 #define I915_SETPARAM_ALLOW_BATCHBUFFER                   3
 #define I915_SETPARAM_NUM_USED_FENCES                     4
-/* Must be kept compact -- no holes */
 
 typedef struct drm_i915_setparam {
 	int param;
@@ -1026,7 +972,7 @@
 	 * struct drm_i915_gem_exec_fence *fences.
 	 */
 	__u64 cliprects_ptr;
-#define I915_EXEC_RING_MASK              (0x3f)
+#define I915_EXEC_RING_MASK              (7<<0)
 #define I915_EXEC_DEFAULT                (0<<0)
 #define I915_EXEC_RENDER                 (1<<0)
 #define I915_EXEC_BSD                    (2<<0)
@@ -1132,16 +1078,7 @@
  */
 #define I915_EXEC_FENCE_ARRAY   (1<<19)
 
-/*
- * Setting I915_EXEC_FENCE_SUBMIT implies that lower_32_bits(rsvd2) represent
- * a sync_file fd to wait upon (in a nonblocking manner) prior to executing
- * the batch.
- *
- * Returns -EINVAL if the sync_file fd cannot be found.
- */
-#define I915_EXEC_FENCE_SUBMIT		(1 << 20)
-
-#define __I915_EXEC_UNKNOWN_FLAGS (-(I915_EXEC_FENCE_SUBMIT << 1))
+#define __I915_EXEC_UNKNOWN_FLAGS (-(I915_EXEC_FENCE_ARRAY<<1))
 
 #define I915_EXEC_CONTEXT_ID_MASK	(0xffffffff)
 #define i915_execbuffer2_set_context_id(eb2, context) \
@@ -1183,34 +1120,32 @@
 	 * as busy may become idle before the ioctl is completed.
 	 *
 	 * Furthermore, if the object is busy, which engine is busy is only
-	 * provided as a guide and only indirectly by reporting its class
-	 * (there may be more than one engine in each class). There are race
-	 * conditions which prevent the report of which engines are busy from
-	 * being always accurate.  However, the converse is not true. If the
-	 * object is idle, the result of the ioctl, that all engines are idle,
-	 * is accurate.
+	 * provided as a guide. There are race conditions which prevent the
+	 * report of which engines are busy from being always accurate.
+	 * However, the converse is not true. If the object is idle, the
+	 * result of the ioctl, that all engines are idle, is accurate.
 	 *
 	 * The returned dword is split into two fields to indicate both
-	 * the engine classess on which the object is being read, and the
-	 * engine class on which it is currently being written (if any).
+	 * the engines on which the object is being read, and the
+	 * engine on which it is currently being written (if any).
 	 *
 	 * The low word (bits 0:15) indicate if the object is being written
 	 * to by any engine (there can only be one, as the GEM implicit
 	 * synchronisation rules force writes to be serialised). Only the
-	 * engine class (offset by 1, I915_ENGINE_CLASS_RENDER is reported as
-	 * 1 not 0 etc) for the last write is reported.
+	 * engine for the last write is reported.
 	 *
-	 * The high word (bits 16:31) are a bitmask of which engines classes
-	 * are currently reading from the object. Multiple engines may be
+	 * The high word (bits 16:31) are a bitmask of which engines are
+	 * currently reading from the object. Multiple engines may be
 	 * reading from the object simultaneously.
 	 *
-	 * The value of each engine class is the same as specified in the
-	 * I915_CONTEXT_SET_ENGINES parameter and via perf, i.e.
-	 * I915_ENGINE_CLASS_RENDER, I915_ENGINE_CLASS_COPY, etc.
+	 * The value of each engine is the same as specified in the
+	 * EXECBUFFER2 ioctl, i.e. I915_EXEC_RENDER, I915_EXEC_BSD etc.
+	 * Note I915_EXEC_DEFAULT is a symbolic value and is mapped to
+	 * the I915_EXEC_RENDER engine for execution, and so it is never
 	 * reported as active itself. Some hardware may have parallel
 	 * execution engines, e.g. multiple media engines, which are
-	 * mapped to the same class identifier and so are not separately
-	 * reported for busyness.
+	 * mapped to the same identifier in the EXECBUFFER2 ioctl and
+	 * so are not separately reported for busyness.
 	 *
 	 * Caveat emptor:
 	 * Only the boolean result of this query is reliable; that is whether
@@ -1477,264 +1412,9 @@
 };
 
 struct drm_i915_gem_context_create {
-	__u32 ctx_id; /* output: id of new context*/
-	__u32 pad;
-};
-
-struct drm_i915_gem_context_create_ext {
-	__u32 ctx_id; /* output: id of new context*/
-	__u32 flags;
-#define I915_CONTEXT_CREATE_FLAGS_USE_EXTENSIONS	(1u << 0)
-#define I915_CONTEXT_CREATE_FLAGS_SINGLE_TIMELINE	(1u << 1)
-#define I915_CONTEXT_CREATE_FLAGS_UNKNOWN \
-	(-(I915_CONTEXT_CREATE_FLAGS_SINGLE_TIMELINE << 1))
-	__u64 extensions;
-};
-
-struct drm_i915_gem_context_param {
+	/*  output: id of new context*/
 	__u32 ctx_id;
-	__u32 size;
-	__u64 param;
-#define I915_CONTEXT_PARAM_BAN_PERIOD	0x1
-#define I915_CONTEXT_PARAM_NO_ZEROMAP	0x2
-#define I915_CONTEXT_PARAM_GTT_SIZE	0x3
-#define I915_CONTEXT_PARAM_NO_ERROR_CAPTURE	0x4
-#define I915_CONTEXT_PARAM_BANNABLE	0x5
-#define I915_CONTEXT_PARAM_PRIORITY	0x6
-#define   I915_CONTEXT_MAX_USER_PRIORITY	1023 /* inclusive */
-#define   I915_CONTEXT_DEFAULT_PRIORITY		0
-#define   I915_CONTEXT_MIN_USER_PRIORITY	-1023 /* inclusive */
-	/*
-	 * When using the following param, value should be a pointer to
-	 * drm_i915_gem_context_param_sseu.
-	 */
-#define I915_CONTEXT_PARAM_SSEU		0x7
-
-/*
- * Not all clients may want to attempt automatic recover of a context after
- * a hang (for example, some clients may only submit very small incremental
- * batches relying on known logical state of previous batches which will never
- * recover correctly and each attempt will hang), and so would prefer that
- * the context is forever banned instead.
- *
- * If set to false (0), after a reset, subsequent (and in flight) rendering
- * from this context is discarded, and the client will need to create a new
- * context to use instead.
- *
- * If set to true (1), the kernel will automatically attempt to recover the
- * context by skipping the hanging batch and executing the next batch starting
- * from the default context state (discarding the incomplete logical context
- * state lost due to the reset).
- *
- * On creation, all new contexts are marked as recoverable.
- */
-#define I915_CONTEXT_PARAM_RECOVERABLE	0x8
-
-	/*
-	 * The id of the associated virtual memory address space (ppGTT) of
-	 * this context. Can be retrieved and passed to another context
-	 * (on the same fd) for both to use the same ppGTT and so share
-	 * address layouts, and avoid reloading the page tables on context
-	 * switches between themselves.
-	 *
-	 * See DRM_I915_GEM_VM_CREATE and DRM_I915_GEM_VM_DESTROY.
-	 */
-#define I915_CONTEXT_PARAM_VM		0x9
-
-/*
- * I915_CONTEXT_PARAM_ENGINES:
- *
- * Bind this context to operate on this subset of available engines. Henceforth,
- * the I915_EXEC_RING selector for DRM_IOCTL_I915_GEM_EXECBUFFER2 operates as
- * an index into this array of engines; I915_EXEC_DEFAULT selecting engine[0]
- * and upwards. Slots 0...N are filled in using the specified (class, instance).
- * Use
- *	engine_class: I915_ENGINE_CLASS_INVALID,
- *	engine_instance: I915_ENGINE_CLASS_INVALID_NONE
- * to specify a gap in the array that can be filled in later, e.g. by a
- * virtual engine used for load balancing.
- *
- * Setting the number of engines bound to the context to 0, by passing a zero
- * sized argument, will revert back to default settings.
- *
- * See struct i915_context_param_engines.
- *
- * Extensions:
- *   i915_context_engines_load_balance (I915_CONTEXT_ENGINES_EXT_LOAD_BALANCE)
- *   i915_context_engines_bond (I915_CONTEXT_ENGINES_EXT_BOND)
- */
-#define I915_CONTEXT_PARAM_ENGINES	0xa
-/* Must be kept compact -- no holes and well documented */
-
-	__u64 value;
-};
-
-/**
- * Context SSEU programming
- *
- * It may be necessary for either functional or performance reason to configure
- * a context to run with a reduced number of SSEU (where SSEU stands for Slice/
- * Sub-slice/EU).
- *
- * This is done by configuring SSEU configuration using the below
- * @struct drm_i915_gem_context_param_sseu for every supported engine which
- * userspace intends to use.
- *
- * Not all GPUs or engines support this functionality in which case an error
- * code -ENODEV will be returned.
- *
- * Also, flexibility of possible SSEU configuration permutations varies between
- * GPU generations and software imposed limitations. Requesting such a
- * combination will return an error code of -EINVAL.
- *
- * NOTE: When perf/OA is active the context's SSEU configuration is ignored in
- * favour of a single global setting.
- */
-struct drm_i915_gem_context_param_sseu {
-	/*
-	 * Engine class & instance to be configured or queried.
-	 */
-	struct i915_engine_class_instance engine;
-
-	/*
-	 * Unknown flags must be cleared to zero.
-	 */
-	__u32 flags;
-#define I915_CONTEXT_SSEU_FLAG_ENGINE_INDEX (1u << 0)
-
-	/*
-	 * Mask of slices to enable for the context. Valid values are a subset
-	 * of the bitmask value returned for I915_PARAM_SLICE_MASK.
-	 */
-	__u64 slice_mask;
-
-	/*
-	 * Mask of subslices to enable for the context. Valid values are a
-	 * subset of the bitmask value return by I915_PARAM_SUBSLICE_MASK.
-	 */
-	__u64 subslice_mask;
-
-	/*
-	 * Minimum/Maximum number of EUs to enable per subslice for the
-	 * context. min_eus_per_subslice must be inferior or equal to
-	 * max_eus_per_subslice.
-	 */
-	__u16 min_eus_per_subslice;
-	__u16 max_eus_per_subslice;
-
-	/*
-	 * Unused for now. Must be cleared to zero.
-	 */
-	__u32 rsvd;
-};
-
-/*
- * i915_context_engines_load_balance:
- *
- * Enable load balancing across this set of engines.
- *
- * Into the I915_EXEC_DEFAULT slot [0], a virtual engine is created that when
- * used will proxy the execbuffer request onto one of the set of engines
- * in such a way as to distribute the load evenly across the set.
- *
- * The set of engines must be compatible (e.g. the same HW class) as they
- * will share the same logical GPU context and ring.
- *
- * To intermix rendering with the virtual engine and direct rendering onto
- * the backing engines (bypassing the load balancing proxy), the context must
- * be defined to use a single timeline for all engines.
- */
-struct i915_context_engines_load_balance {
-	struct i915_user_extension base;
-
-	__u16 engine_index;
-	__u16 num_siblings;
-	__u32 flags; /* all undefined flags must be zero */
-
-	__u64 mbz64; /* reserved for future use; must be zero */
-
-	struct i915_engine_class_instance engines[0];
-} __attribute__((packed));
-
-#define I915_DEFINE_CONTEXT_ENGINES_LOAD_BALANCE(name__, N__) struct { \
-	struct i915_user_extension base; \
-	__u16 engine_index; \
-	__u16 num_siblings; \
-	__u32 flags; \
-	__u64 mbz64; \
-	struct i915_engine_class_instance engines[N__]; \
-} __attribute__((packed)) name__
-
-/*
- * i915_context_engines_bond:
- *
- * Constructed bonded pairs for execution within a virtual engine.
- *
- * All engines are equal, but some are more equal than others. Given
- * the distribution of resources in the HW, it may be preferable to run
- * a request on a given subset of engines in parallel to a request on a
- * specific engine. We enable this selection of engines within a virtual
- * engine by specifying bonding pairs, for any given master engine we will
- * only execute on one of the corresponding siblings within the virtual engine.
- *
- * To execute a request in parallel on the master engine and a sibling requires
- * coordination with a I915_EXEC_FENCE_SUBMIT.
- */
-struct i915_context_engines_bond {
-	struct i915_user_extension base;
-
-	struct i915_engine_class_instance master;
-
-	__u16 virtual_index; /* index of virtual engine in ctx->engines[] */
-	__u16 num_bonds;
-
-	__u64 flags; /* all undefined flags must be zero */
-	__u64 mbz64[4]; /* reserved for future use; must be zero */
-
-	struct i915_engine_class_instance engines[0];
-} __attribute__((packed));
-
-#define I915_DEFINE_CONTEXT_ENGINES_BOND(name__, N__) struct { \
-	struct i915_user_extension base; \
-	struct i915_engine_class_instance master; \
-	__u16 virtual_index; \
-	__u16 num_bonds; \
-	__u64 flags; \
-	__u64 mbz64[4]; \
-	struct i915_engine_class_instance engines[N__]; \
-} __attribute__((packed)) name__
-
-struct i915_context_param_engines {
-	__u64 extensions; /* linked chain of extension blocks, 0 terminates */
-#define I915_CONTEXT_ENGINES_EXT_LOAD_BALANCE 0 /* see i915_context_engines_load_balance */
-#define I915_CONTEXT_ENGINES_EXT_BOND 1 /* see i915_context_engines_bond */
-	struct i915_engine_class_instance engines[0];
-} __attribute__((packed));
-
-#define I915_DEFINE_CONTEXT_PARAM_ENGINES(name__, N__) struct { \
-	__u64 extensions; \
-	struct i915_engine_class_instance engines[N__]; \
-} __attribute__((packed)) name__
-
-struct drm_i915_gem_context_create_ext_setparam {
-#define I915_CONTEXT_CREATE_EXT_SETPARAM 0
-	struct i915_user_extension base;
-	struct drm_i915_gem_context_param param;
-};
-
-struct drm_i915_gem_context_create_ext_clone {
-#define I915_CONTEXT_CREATE_EXT_CLONE 1
-	struct i915_user_extension base;
-	__u32 clone_id;
-	__u32 flags;
-#define I915_CONTEXT_CLONE_ENGINES	(1u << 0)
-#define I915_CONTEXT_CLONE_FLAGS	(1u << 1)
-#define I915_CONTEXT_CLONE_SCHEDATTR	(1u << 2)
-#define I915_CONTEXT_CLONE_SSEU		(1u << 3)
-#define I915_CONTEXT_CLONE_TIMELINE	(1u << 4)
-#define I915_CONTEXT_CLONE_VM		(1u << 5)
-#define I915_CONTEXT_CLONE_UNKNOWN -(I915_CONTEXT_CLONE_VM << 1)
-	__u64 rsvd;
+	__u32 pad;
 };
 
 struct drm_i915_gem_context_destroy {
@@ -1742,33 +1422,6 @@
 	__u32 pad;
 };
 
-/*
- * DRM_I915_GEM_VM_CREATE -
- *
- * Create a new virtual memory address space (ppGTT) for use within a context
- * on the same file. Extensions can be provided to configure exactly how the
- * address space is setup upon creation.
- *
- * The id of new VM (bound to the fd) for use with I915_CONTEXT_PARAM_VM is
- * returned in the outparam @id.
- *
- * No flags are defined, with all bits reserved and must be zero.
- *
- * An extension chain maybe provided, starting with @extensions, and terminated
- * by the @next_extension being 0. Currently, no extensions are defined.
- *
- * DRM_I915_GEM_VM_DESTROY -
- *
- * Destroys a previously created VM id, specified in @id.
- *
- * No extensions or flags are allowed currently, and so must be zero.
- */
-struct drm_i915_gem_vm_control {
-	__u64 extensions;
-	__u32 flags;
-	__u32 vm_id;
-};
-
 struct drm_i915_reg_read {
 	/*
 	 * Register offset.
@@ -1781,7 +1434,6 @@
 
 	__u64 val; /* Return value */
 };
-
 /* Known registers:
  *
  * Render engine timestamp - 0x2358 + 64bit - gen7+
@@ -1821,6 +1473,22 @@
 	__u32 handle;
 };
 
+struct drm_i915_gem_context_param {
+	__u32 ctx_id;
+	__u32 size;
+	__u64 param;
+#define I915_CONTEXT_PARAM_BAN_PERIOD	0x1
+#define I915_CONTEXT_PARAM_NO_ZEROMAP	0x2
+#define I915_CONTEXT_PARAM_GTT_SIZE	0x3
+#define I915_CONTEXT_PARAM_NO_ERROR_CAPTURE	0x4
+#define I915_CONTEXT_PARAM_BANNABLE	0x5
+#define I915_CONTEXT_PARAM_PRIORITY	0x6
+#define   I915_CONTEXT_MAX_USER_PRIORITY	1023 /* inclusive */
+#define   I915_CONTEXT_DEFAULT_PRIORITY		0
+#define   I915_CONTEXT_MIN_USER_PRIORITY	-1023 /* inclusive */
+	__u64 value;
+};
+
 enum drm_i915_oa_format {
 	I915_OA_FORMAT_A13 = 1,	    /* HSW only */
 	I915_OA_FORMAT_A29,	    /* HSW only */
@@ -1982,8 +1650,6 @@
 struct drm_i915_query_item {
 	__u64 query_id;
 #define DRM_I915_QUERY_TOPOLOGY_INFO    1
-#define DRM_I915_QUERY_ENGINE_INFO	2
-/* Must be kept compact -- no holes and well documented */
 
 	/*
 	 * When set to zero by userspace, this is filled with the size of the
@@ -2081,47 +1747,6 @@
 	__u8 data[];
 };
 
-/**
- * struct drm_i915_engine_info
- *
- * Describes one engine and it's capabilities as known to the driver.
- */
-struct drm_i915_engine_info {
-	/** Engine class and instance. */
-	struct i915_engine_class_instance engine;
-
-	/** Reserved field. */
-	__u32 rsvd0;
-
-	/** Engine flags. */
-	__u64 flags;
-
-	/** Capabilities of this engine. */
-	__u64 capabilities;
-#define I915_VIDEO_CLASS_CAPABILITY_HEVC		(1 << 0)
-#define I915_VIDEO_AND_ENHANCE_CLASS_CAPABILITY_SFC	(1 << 1)
-
-	/** Reserved fields. */
-	__u64 rsvd1[4];
-};
-
-/**
- * struct drm_i915_query_engine_info
- *
- * Engine info query enumerates all engines known to the driver by filling in
- * an array of struct drm_i915_engine_info structures.
- */
-struct drm_i915_query_engine_info {
-	/** Number of struct drm_i915_engine_info structs following. */
-	__u32 num_engines;
-
-	/** MBZ */
-	__u32 rsvd[3];
-
-	/** Marker for drm_i915_engine_info structures. */
-	struct drm_i915_engine_info engines[];
-};
-
 #if defined(__cplusplus)
 }
 #endif
diff --git a/original/uapi/drm/lima_drm.h b/original/uapi/drm/lima_drm.h
deleted file mode 100644
index 95a00fb..0000000
--- a/original/uapi/drm/lima_drm.h
+++ /dev/null
@@ -1,169 +0,0 @@
-/* SPDX-License-Identifier: (GPL-2.0 WITH Linux-syscall-note) OR MIT */
-/* Copyright 2017-2018 Qiang Yu <yuq825@gmail.com> */
-
-#ifndef __LIMA_DRM_H__
-#define __LIMA_DRM_H__
-
-#include "drm.h"
-
-#if defined(__cplusplus)
-extern "C" {
-#endif
-
-enum drm_lima_param_gpu_id {
-	DRM_LIMA_PARAM_GPU_ID_UNKNOWN,
-	DRM_LIMA_PARAM_GPU_ID_MALI400,
-	DRM_LIMA_PARAM_GPU_ID_MALI450,
-};
-
-enum drm_lima_param {
-	DRM_LIMA_PARAM_GPU_ID,
-	DRM_LIMA_PARAM_NUM_PP,
-	DRM_LIMA_PARAM_GP_VERSION,
-	DRM_LIMA_PARAM_PP_VERSION,
-};
-
-/**
- * get various information of the GPU
- */
-struct drm_lima_get_param {
-	__u32 param; /* in, value in enum drm_lima_param */
-	__u32 pad;   /* pad, must be zero */
-	__u64 value; /* out, parameter value */
-};
-
-/**
- * create a buffer for used by GPU
- */
-struct drm_lima_gem_create {
-	__u32 size;    /* in, buffer size */
-	__u32 flags;   /* in, currently no flags, must be zero */
-	__u32 handle;  /* out, GEM buffer handle */
-	__u32 pad;     /* pad, must be zero */
-};
-
-/**
- * get information of a buffer
- */
-struct drm_lima_gem_info {
-	__u32 handle;  /* in, GEM buffer handle */
-	__u32 va;      /* out, virtual address mapped into GPU MMU */
-	__u64 offset;  /* out, used to mmap this buffer to CPU */
-};
-
-#define LIMA_SUBMIT_BO_READ   0x01
-#define LIMA_SUBMIT_BO_WRITE  0x02
-
-/* buffer information used by one task */
-struct drm_lima_gem_submit_bo {
-	__u32 handle;  /* in, GEM buffer handle */
-	__u32 flags;   /* in, buffer read/write by GPU */
-};
-
-#define LIMA_GP_FRAME_REG_NUM 6
-
-/* frame used to setup GP for each task */
-struct drm_lima_gp_frame {
-	__u32 frame[LIMA_GP_FRAME_REG_NUM];
-};
-
-#define LIMA_PP_FRAME_REG_NUM 23
-#define LIMA_PP_WB_REG_NUM 12
-
-/* frame used to setup mali400 GPU PP for each task */
-struct drm_lima_m400_pp_frame {
-	__u32 frame[LIMA_PP_FRAME_REG_NUM];
-	__u32 num_pp;
-	__u32 wb[3 * LIMA_PP_WB_REG_NUM];
-	__u32 plbu_array_address[4];
-	__u32 fragment_stack_address[4];
-};
-
-/* frame used to setup mali450 GPU PP for each task */
-struct drm_lima_m450_pp_frame {
-	__u32 frame[LIMA_PP_FRAME_REG_NUM];
-	__u32 num_pp;
-	__u32 wb[3 * LIMA_PP_WB_REG_NUM];
-	__u32 use_dlbu;
-	__u32 _pad;
-	union {
-		__u32 plbu_array_address[8];
-		__u32 dlbu_regs[4];
-	};
-	__u32 fragment_stack_address[8];
-};
-
-#define LIMA_PIPE_GP  0x00
-#define LIMA_PIPE_PP  0x01
-
-#define LIMA_SUBMIT_FLAG_EXPLICIT_FENCE (1 << 0)
-
-/**
- * submit a task to GPU
- *
- * User can always merge multi sync_file and drm_syncobj
- * into one drm_syncobj as in_sync[0], but we reserve
- * in_sync[1] for another task's out_sync to avoid the
- * export/import/merge pass when explicit sync.
- */
-struct drm_lima_gem_submit {
-	__u32 ctx;         /* in, context handle task is submitted to */
-	__u32 pipe;        /* in, which pipe to use, GP/PP */
-	__u32 nr_bos;      /* in, array length of bos field */
-	__u32 frame_size;  /* in, size of frame field */
-	__u64 bos;         /* in, array of drm_lima_gem_submit_bo */
-	__u64 frame;       /* in, GP/PP frame */
-	__u32 flags;       /* in, submit flags */
-	__u32 out_sync;    /* in, drm_syncobj handle used to wait task finish after submission */
-	__u32 in_sync[2];  /* in, drm_syncobj handle used to wait before start this task */
-};
-
-#define LIMA_GEM_WAIT_READ   0x01
-#define LIMA_GEM_WAIT_WRITE  0x02
-
-/**
- * wait pending GPU task finish of a buffer
- */
-struct drm_lima_gem_wait {
-	__u32 handle;      /* in, GEM buffer handle */
-	__u32 op;          /* in, CPU want to read/write this buffer */
-	__s64 timeout_ns;  /* in, wait timeout in absulute time */
-};
-
-/**
- * create a context
- */
-struct drm_lima_ctx_create {
-	__u32 id;          /* out, context handle */
-	__u32 _pad;        /* pad, must be zero */
-};
-
-/**
- * free a context
- */
-struct drm_lima_ctx_free {
-	__u32 id;          /* in, context handle */
-	__u32 _pad;        /* pad, must be zero */
-};
-
-#define DRM_LIMA_GET_PARAM   0x00
-#define DRM_LIMA_GEM_CREATE  0x01
-#define DRM_LIMA_GEM_INFO    0x02
-#define DRM_LIMA_GEM_SUBMIT  0x03
-#define DRM_LIMA_GEM_WAIT    0x04
-#define DRM_LIMA_CTX_CREATE  0x05
-#define DRM_LIMA_CTX_FREE    0x06
-
-#define DRM_IOCTL_LIMA_GET_PARAM DRM_IOWR(DRM_COMMAND_BASE + DRM_LIMA_GET_PARAM, struct drm_lima_get_param)
-#define DRM_IOCTL_LIMA_GEM_CREATE DRM_IOWR(DRM_COMMAND_BASE + DRM_LIMA_GEM_CREATE, struct drm_lima_gem_create)
-#define DRM_IOCTL_LIMA_GEM_INFO DRM_IOWR(DRM_COMMAND_BASE + DRM_LIMA_GEM_INFO, struct drm_lima_gem_info)
-#define DRM_IOCTL_LIMA_GEM_SUBMIT DRM_IOW(DRM_COMMAND_BASE + DRM_LIMA_GEM_SUBMIT, struct drm_lima_gem_submit)
-#define DRM_IOCTL_LIMA_GEM_WAIT DRM_IOW(DRM_COMMAND_BASE + DRM_LIMA_GEM_WAIT, struct drm_lima_gem_wait)
-#define DRM_IOCTL_LIMA_CTX_CREATE DRM_IOR(DRM_COMMAND_BASE + DRM_LIMA_CTX_CREATE, struct drm_lima_ctx_create)
-#define DRM_IOCTL_LIMA_CTX_FREE DRM_IOW(DRM_COMMAND_BASE + DRM_LIMA_CTX_FREE, struct drm_lima_ctx_free)
-
-#if defined(__cplusplus)
-}
-#endif
-
-#endif /* __LIMA_DRM_H__ */
diff --git a/original/uapi/drm/msm_drm.h b/original/uapi/drm/msm_drm.h
index 0b85ed6..91a16b3 100644
--- a/original/uapi/drm/msm_drm.h
+++ b/original/uapi/drm/msm_drm.h
@@ -74,8 +74,6 @@
 #define MSM_PARAM_TIMESTAMP  0x05
 #define MSM_PARAM_GMEM_BASE  0x06
 #define MSM_PARAM_NR_RINGS   0x07
-#define MSM_PARAM_PP_PGTABLE 0x08  /* => 1 for per-process pagetables, else 0 */
-#define MSM_PARAM_FAULTS     0x09
 
 struct drm_msm_param {
 	__u32 pipe;           /* in, MSM_PIPE_x */
@@ -288,16 +286,6 @@
 	__u32 id;      /* out, identifier */
 };
 
-#define MSM_SUBMITQUEUE_PARAM_FAULTS   0
-
-struct drm_msm_submitqueue_query {
-	__u64 data;
-	__u32 id;
-	__u32 param;
-	__u32 len;
-	__u32 pad;
-};
-
 #define DRM_MSM_GET_PARAM              0x00
 /* placeholder:
 #define DRM_MSM_SET_PARAM              0x01
@@ -314,7 +302,6 @@
  */
 #define DRM_MSM_SUBMITQUEUE_NEW        0x0A
 #define DRM_MSM_SUBMITQUEUE_CLOSE      0x0B
-#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_GEM_NEW          DRM_IOWR(DRM_COMMAND_BASE + DRM_MSM_GEM_NEW, struct drm_msm_gem_new)
@@ -326,7 +313,6 @@
 #define DRM_IOCTL_MSM_GEM_MADVISE      DRM_IOWR(DRM_COMMAND_BASE + DRM_MSM_GEM_MADVISE, struct drm_msm_gem_madvise)
 #define DRM_IOCTL_MSM_SUBMITQUEUE_NEW    DRM_IOWR(DRM_COMMAND_BASE + DRM_MSM_SUBMITQUEUE_NEW, struct drm_msm_submitqueue)
 #define DRM_IOCTL_MSM_SUBMITQUEUE_CLOSE  DRM_IOW (DRM_COMMAND_BASE + DRM_MSM_SUBMITQUEUE_CLOSE, __u32)
-#define DRM_IOCTL_MSM_SUBMITQUEUE_QUERY  DRM_IOW (DRM_COMMAND_BASE + DRM_MSM_SUBMITQUEUE_QUERY, struct drm_msm_submitqueue_query)
 
 #if defined(__cplusplus)
 }
diff --git a/original/uapi/drm/nouveau_drm.h b/original/uapi/drm/nouveau_drm.h
index 9459a6e..259588a 100644
--- a/original/uapi/drm/nouveau_drm.h
+++ b/original/uapi/drm/nouveau_drm.h
@@ -133,63 +133,12 @@
 #define DRM_NOUVEAU_NOTIFIEROBJ_ALLOC  0x05 /* deprecated */
 #define DRM_NOUVEAU_GPUOBJ_FREE        0x06 /* deprecated */
 #define DRM_NOUVEAU_NVIF               0x07
-#define DRM_NOUVEAU_SVM_INIT           0x08
-#define DRM_NOUVEAU_SVM_BIND           0x09
 #define DRM_NOUVEAU_GEM_NEW            0x40
 #define DRM_NOUVEAU_GEM_PUSHBUF        0x41
 #define DRM_NOUVEAU_GEM_CPU_PREP       0x42
 #define DRM_NOUVEAU_GEM_CPU_FINI       0x43
 #define DRM_NOUVEAU_GEM_INFO           0x44
 
-struct drm_nouveau_svm_init {
-	__u64 unmanaged_addr;
-	__u64 unmanaged_size;
-};
-
-struct drm_nouveau_svm_bind {
-	__u64 header;
-	__u64 va_start;
-	__u64 va_end;
-	__u64 npages;
-	__u64 stride;
-	__u64 result;
-	__u64 reserved0;
-	__u64 reserved1;
-};
-
-#define NOUVEAU_SVM_BIND_COMMAND_SHIFT          0
-#define NOUVEAU_SVM_BIND_COMMAND_BITS           8
-#define NOUVEAU_SVM_BIND_COMMAND_MASK           ((1 << 8) - 1)
-#define NOUVEAU_SVM_BIND_PRIORITY_SHIFT         8
-#define NOUVEAU_SVM_BIND_PRIORITY_BITS          8
-#define NOUVEAU_SVM_BIND_PRIORITY_MASK          ((1 << 8) - 1)
-#define NOUVEAU_SVM_BIND_TARGET_SHIFT           16
-#define NOUVEAU_SVM_BIND_TARGET_BITS            32
-#define NOUVEAU_SVM_BIND_TARGET_MASK            0xffffffff
-
-/*
- * Below is use to validate ioctl argument, userspace can also use it to make
- * sure that no bit are set beyond known fields for a given kernel version.
- */
-#define NOUVEAU_SVM_BIND_VALID_BITS     48
-#define NOUVEAU_SVM_BIND_VALID_MASK     ((1ULL << NOUVEAU_SVM_BIND_VALID_BITS) - 1)
-
-
-/*
- * NOUVEAU_BIND_COMMAND__MIGRATE: synchronous migrate to target memory.
- * result: number of page successfuly migrate to the target memory.
- */
-#define NOUVEAU_SVM_BIND_COMMAND__MIGRATE               0
-
-/*
- * NOUVEAU_SVM_BIND_HEADER_TARGET__GPU_VRAM: target the GPU VRAM memory.
- */
-#define NOUVEAU_SVM_BIND_TARGET__GPU_VRAM               (1UL << 31)
-
-
-#define DRM_IOCTL_NOUVEAU_SVM_INIT           DRM_IOWR(DRM_COMMAND_BASE + DRM_NOUVEAU_SVM_INIT, struct drm_nouveau_svm_init)
-#define DRM_IOCTL_NOUVEAU_SVM_BIND           DRM_IOWR(DRM_COMMAND_BASE + DRM_NOUVEAU_SVM_BIND, struct drm_nouveau_svm_bind)
-
 #define DRM_IOCTL_NOUVEAU_GEM_NEW            DRM_IOWR(DRM_COMMAND_BASE + DRM_NOUVEAU_GEM_NEW, struct drm_nouveau_gem_new)
 #define DRM_IOCTL_NOUVEAU_GEM_PUSHBUF        DRM_IOWR(DRM_COMMAND_BASE + DRM_NOUVEAU_GEM_PUSHBUF, struct drm_nouveau_gem_pushbuf)
 #define DRM_IOCTL_NOUVEAU_GEM_CPU_PREP       DRM_IOW (DRM_COMMAND_BASE + DRM_NOUVEAU_GEM_CPU_PREP, struct drm_nouveau_gem_cpu_prep)
diff --git a/original/uapi/drm/panfrost_drm.h b/original/uapi/drm/panfrost_drm.h
deleted file mode 100644
index b5d3706..0000000
--- a/original/uapi/drm/panfrost_drm.h
+++ /dev/null
@@ -1,166 +0,0 @@
-/* SPDX-License-Identifier: MIT */
-/*
- * Copyright © 2014-2018 Broadcom
- * Copyright © 2019 Collabora ltd.
- */
-#ifndef _PANFROST_DRM_H_
-#define _PANFROST_DRM_H_
-
-#include "drm.h"
-
-#if defined(__cplusplus)
-extern "C" {
-#endif
-
-#define DRM_PANFROST_SUBMIT			0x00
-#define DRM_PANFROST_WAIT_BO			0x01
-#define DRM_PANFROST_CREATE_BO			0x02
-#define DRM_PANFROST_MMAP_BO			0x03
-#define DRM_PANFROST_GET_PARAM			0x04
-#define DRM_PANFROST_GET_BO_OFFSET		0x05
-#define DRM_PANFROST_PERFCNT_ENABLE		0x06
-#define DRM_PANFROST_PERFCNT_DUMP		0x07
-
-#define DRM_IOCTL_PANFROST_SUBMIT		DRM_IOW(DRM_COMMAND_BASE + DRM_PANFROST_SUBMIT, struct drm_panfrost_submit)
-#define DRM_IOCTL_PANFROST_WAIT_BO		DRM_IOW(DRM_COMMAND_BASE + DRM_PANFROST_WAIT_BO, struct drm_panfrost_wait_bo)
-#define DRM_IOCTL_PANFROST_CREATE_BO		DRM_IOWR(DRM_COMMAND_BASE + DRM_PANFROST_CREATE_BO, struct drm_panfrost_create_bo)
-#define DRM_IOCTL_PANFROST_MMAP_BO		DRM_IOWR(DRM_COMMAND_BASE + DRM_PANFROST_MMAP_BO, struct drm_panfrost_mmap_bo)
-#define DRM_IOCTL_PANFROST_GET_PARAM		DRM_IOWR(DRM_COMMAND_BASE + DRM_PANFROST_GET_PARAM, struct drm_panfrost_get_param)
-#define DRM_IOCTL_PANFROST_GET_BO_OFFSET	DRM_IOWR(DRM_COMMAND_BASE + DRM_PANFROST_GET_BO_OFFSET, struct drm_panfrost_get_bo_offset)
-
-/*
- * Unstable ioctl(s): only exposed when the unsafe unstable_ioctls module
- * param is set to true.
- * All these ioctl(s) are subject to deprecation, so please don't rely on
- * them for anything but debugging purpose.
- */
-#define DRM_IOCTL_PANFROST_PERFCNT_ENABLE	DRM_IOW(DRM_COMMAND_BASE + DRM_PANFROST_PERFCNT_ENABLE, struct drm_panfrost_perfcnt_enable)
-#define DRM_IOCTL_PANFROST_PERFCNT_DUMP		DRM_IOW(DRM_COMMAND_BASE + DRM_PANFROST_PERFCNT_DUMP, struct drm_panfrost_perfcnt_dump)
-
-#define PANFROST_JD_REQ_FS (1 << 0)
-/**
- * struct drm_panfrost_submit - ioctl argument for submitting commands to the 3D
- * engine.
- *
- * This asks the kernel to have the GPU execute a render command list.
- */
-struct drm_panfrost_submit {
-
-	/** Address to GPU mapping of job descriptor */
-	__u64 jc;
-
-	/** An optional array of sync objects to wait on before starting this job. */
-	__u64 in_syncs;
-
-	/** Number of sync objects to wait on before starting this job. */
-	__u32 in_sync_count;
-
-	/** An optional sync object to place the completion fence in. */
-	__u32 out_sync;
-
-	/** Pointer to a u32 array of the BOs that are referenced by the job. */
-	__u64 bo_handles;
-
-	/** Number of BO handles passed in (size is that times 4). */
-	__u32 bo_handle_count;
-
-	/** A combination of PANFROST_JD_REQ_* */
-	__u32 requirements;
-};
-
-/**
- * struct drm_panfrost_wait_bo - ioctl argument for waiting for
- * completion of the last DRM_PANFROST_SUBMIT on a BO.
- *
- * This is useful for cases where multiple processes might be
- * rendering to a BO and you want to wait for all rendering to be
- * completed.
- */
-struct drm_panfrost_wait_bo {
-	__u32 handle;
-	__u32 pad;
-	__s64 timeout_ns;	/* absolute */
-};
-
-/**
- * struct drm_panfrost_create_bo - ioctl argument for creating Panfrost BOs.
- *
- * 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;
-	__u32 flags;
-	/** Returned GEM handle for the BO. */
-	__u32 handle;
-	/* Pad, must be zero-filled. */
-	__u32 pad;
-	/**
-	 * Returned offset for the BO in the GPU address space.  This offset
-	 * is private to the DRM fd and is valid for the lifetime of the GEM
-	 * handle.
-	 *
-	 * This offset value will always be nonzero, since various HW
-	 * units treat 0 specially.
-	 */
-	__u64 offset;
-};
-
-/**
- * struct drm_panfrost_mmap_bo - ioctl argument for mapping Panfrost BOs.
- *
- * This doesn't actually perform an mmap.  Instead, it returns the
- * offset you need to use in an mmap on the DRM device node.  This
- * means that tools like valgrind end up knowing about the mapped
- * memory.
- *
- * There are currently no values for the flags argument, but it may be
- * used in a future extension.
- */
-struct drm_panfrost_mmap_bo {
-	/** Handle for the object being mapped. */
-	__u32 handle;
-	__u32 flags;
-	/** offset into the drm node to use for subsequent mmap call. */
-	__u64 offset;
-};
-
-enum drm_panfrost_param {
-	DRM_PANFROST_PARAM_GPU_PROD_ID,
-};
-
-struct drm_panfrost_get_param {
-	__u32 param;
-	__u32 pad;
-	__u64 value;
-};
-
-/**
- * Returns the offset for the BO in the GPU address space for this DRM fd.
- * This is the same value returned by drm_panfrost_create_bo, if that was called
- * from this DRM fd.
- */
-struct drm_panfrost_get_bo_offset {
-	__u32 handle;
-	__u32 pad;
-	__u64 offset;
-};
-
-struct drm_panfrost_perfcnt_enable {
-	__u32 enable;
-	/*
-	 * On bifrost we have 2 sets of counters, this parameter defines the
-	 * one to track.
-	 */
-	__u32 counterset;
-};
-
-struct drm_panfrost_perfcnt_dump {
-	__u64 buf_ptr;
-};
-
-#if defined(__cplusplus)
-}
-#endif
-
-#endif /* _PANFROST_DRM_H_ */
diff --git a/original/uapi/drm/v3d_drm.h b/original/uapi/drm/v3d_drm.h
index 58fbe48..35c7d81 100644
--- a/original/uapi/drm/v3d_drm.h
+++ b/original/uapi/drm/v3d_drm.h
@@ -37,7 +37,6 @@
 #define DRM_V3D_GET_PARAM                         0x04
 #define DRM_V3D_GET_BO_OFFSET                     0x05
 #define DRM_V3D_SUBMIT_TFU                        0x06
-#define DRM_V3D_SUBMIT_CSD                        0x07
 
 #define DRM_IOCTL_V3D_SUBMIT_CL           DRM_IOWR(DRM_COMMAND_BASE + DRM_V3D_SUBMIT_CL, struct drm_v3d_submit_cl)
 #define DRM_IOCTL_V3D_WAIT_BO             DRM_IOWR(DRM_COMMAND_BASE + DRM_V3D_WAIT_BO, struct drm_v3d_wait_bo)
@@ -46,7 +45,6 @@
 #define DRM_IOCTL_V3D_GET_PARAM           DRM_IOWR(DRM_COMMAND_BASE + DRM_V3D_GET_PARAM, struct drm_v3d_get_param)
 #define DRM_IOCTL_V3D_GET_BO_OFFSET       DRM_IOWR(DRM_COMMAND_BASE + DRM_V3D_GET_BO_OFFSET, struct drm_v3d_get_bo_offset)
 #define DRM_IOCTL_V3D_SUBMIT_TFU          DRM_IOW(DRM_COMMAND_BASE + DRM_V3D_SUBMIT_TFU, struct drm_v3d_submit_tfu)
-#define DRM_IOCTL_V3D_SUBMIT_CSD          DRM_IOW(DRM_COMMAND_BASE + DRM_V3D_SUBMIT_CSD, struct drm_v3d_submit_csd)
 
 /**
  * struct drm_v3d_submit_cl - ioctl argument for submitting commands to the 3D
@@ -54,14 +52,6 @@
  *
  * This asks the kernel to have the GPU execute an optional binner
  * command list, and a render command list.
- *
- * The L1T, slice, L2C, L2T, and GCA caches will be flushed before
- * each CL executes.  The VCD cache should be flushed (if necessary)
- * by the submitted CLs.  The TLB writes are guaranteed to have been
- * flushed by the time the render done IRQ happens, which is the
- * trigger for out_sync.  Any dirtying of cachelines by the job (only
- * possible using TMU writes) must be flushed by the caller using the
- * CL's cache flush commands.
  */
 struct drm_v3d_submit_cl {
 	/* Pointer to the binner command list.
@@ -192,7 +182,6 @@
 	DRM_V3D_PARAM_V3D_CORE0_IDENT1,
 	DRM_V3D_PARAM_V3D_CORE0_IDENT2,
 	DRM_V3D_PARAM_SUPPORTS_TFU,
-	DRM_V3D_PARAM_SUPPORTS_CSD,
 };
 
 struct drm_v3d_get_param {
@@ -233,31 +222,6 @@
 	__u32 out_sync;
 };
 
-/* Submits a compute shader for dispatch.  This job will block on any
- * previous compute shaders submitted on this fd, and any other
- * synchronization must be performed with in_sync/out_sync.
- */
-struct drm_v3d_submit_csd {
-	__u32 cfg[7];
-	__u32 coef[4];
-
-	/* Pointer to a u32 array of the BOs that are referenced by the job.
-	 */
-	__u64 bo_handles;
-
-	/* Number of BO handles passed in (size is that times 4). */
-	__u32 bo_handle_count;
-
-	/* sync object to block on before running the CSD job.  Each
-	 * CSD job will execute in the order submitted to its FD.
-	 * Synchronization against rendering/TFU jobs or CSD from
-	 * other fds requires using sync objects.
-	 */
-	__u32 in_sync;
-	/* Sync object to signal when the CSD job is done. */
-	__u32 out_sync;
-};
-
 #if defined(__cplusplus)
 }
 #endif
diff --git a/original/uapi/linux/adfs_fs.h b/original/uapi/linux/adfs_fs.h
index f1a7d67..151d93e 100644
--- a/original/uapi/linux/adfs_fs.h
+++ b/original/uapi/linux/adfs_fs.h
@@ -29,17 +29,17 @@
     __u8  log2sharesize:4;
     __u8  unused40:4;
     __u8  big_flag:1;
-    __u8  unused41:7;
+    __u8  unused41:1;
     __u8  nzones_high;
-    __u8  reserved43;
     __le32 format_version;
     __le32 root_size;
     __u8  unused52[60 - 52];
-} __attribute__((packed, aligned(4)));
+};
 
 #define ADFS_DISCRECORD		(0xc00)
 #define ADFS_DR_OFFSET		(0x1c0)
 #define ADFS_DR_SIZE		 60
 #define ADFS_DR_SIZE_BITS	(ADFS_DR_SIZE << 3)
 
+
 #endif /* _UAPI_ADFS_FS_H */
diff --git a/original/uapi/linux/aspeed-p2a-ctrl.h b/original/uapi/linux/aspeed-p2a-ctrl.h
deleted file mode 100644
index 0333555..0000000
--- a/original/uapi/linux/aspeed-p2a-ctrl.h
+++ /dev/null
@@ -1,62 +0,0 @@
-/* SPDX-License-Identifier: GPL-2.0+ WITH Linux-syscall-note */
-/*
- * Copyright 2019 Google Inc
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation; either version
- * 2 of the License, or (at your option) any later version.
- *
- * Provides a simple driver to control the ASPEED P2A interface which allows
- * the host to read and write to various regions of the BMC's memory.
- */
-
-#ifndef _UAPI_LINUX_ASPEED_P2A_CTRL_H
-#define _UAPI_LINUX_ASPEED_P2A_CTRL_H
-
-#include <linux/ioctl.h>
-#include <linux/types.h>
-
-#define ASPEED_P2A_CTRL_READ_ONLY 0
-#define ASPEED_P2A_CTRL_READWRITE 1
-
-/*
- * This driver provides a mechanism for enabling or disabling the read-write
- * property of specific windows into the ASPEED BMC's memory.
- *
- * A user can map a region of the BMC's memory as read-only or read-write, with
- * the caveat that once any region is mapped, all regions are unlocked for
- * reading.
- */
-
-/*
- * Unlock a region of BMC physical memory for access from the host.
- *
- * Also used to read back the optional memory-region configuration for the
- * driver.
- */
-struct aspeed_p2a_ctrl_mapping {
-	__u64 addr;
-	__u32 length;
-	__u32 flags;
-};
-
-#define __ASPEED_P2A_CTRL_IOCTL_MAGIC 0xb3
-
-/*
- * This IOCTL is meant to configure a region or regions of memory given a
- * starting address and length to be readable by the host, or
- * readable-writeable.
- */
-#define ASPEED_P2A_CTRL_IOCTL_SET_WINDOW _IOW(__ASPEED_P2A_CTRL_IOCTL_MAGIC, \
-		0x00, struct aspeed_p2a_ctrl_mapping)
-
-/*
- * This IOCTL is meant to read back to the user the base address and length of
- * the memory-region specified to the driver for use with mmap.
- */
-#define ASPEED_P2A_CTRL_IOCTL_GET_MEMORY_CONFIG \
-	_IOWR(__ASPEED_P2A_CTRL_IOCTL_MAGIC, \
-		0x01, struct aspeed_p2a_ctrl_mapping)
-
-#endif /* _UAPI_LINUX_ASPEED_P2A_CTRL_H */
diff --git a/original/uapi/linux/audit.h b/original/uapi/linux/audit.h
index c89c649..f28acd9 100644
--- a/original/uapi/linux/audit.h
+++ b/original/uapi/linux/audit.h
@@ -114,8 +114,6 @@
 #define AUDIT_REPLACE		1329	/* Replace auditd if this packet unanswerd */
 #define AUDIT_KERN_MODULE	1330	/* Kernel Module events */
 #define AUDIT_FANOTIFY		1331	/* Fanotify access decision */
-#define AUDIT_TIME_INJOFFSET	1332	/* Timekeeping offset injected */
-#define AUDIT_TIME_ADJNTPVAL	1333	/* NTP value adjustment */
 
 #define AUDIT_AVC		1400	/* SE Linux avc denial or grant */
 #define AUDIT_SELINUX_ERR	1401	/* Internal SE Linux Errors */
@@ -281,7 +279,6 @@
 #define AUDIT_OBJ_GID	110
 #define AUDIT_FIELD_COMPARE	111
 #define AUDIT_EXE	112
-#define AUDIT_SADDR_FAM	113
 
 #define AUDIT_ARG0      200
 #define AUDIT_ARG1      (AUDIT_ARG0+1)
@@ -378,19 +375,11 @@
 
 #define AUDIT_ARCH_AARCH64	(EM_AARCH64|__AUDIT_ARCH_64BIT|__AUDIT_ARCH_LE)
 #define AUDIT_ARCH_ALPHA	(EM_ALPHA|__AUDIT_ARCH_64BIT|__AUDIT_ARCH_LE)
-#define AUDIT_ARCH_ARCOMPACT	(EM_ARCOMPACT|__AUDIT_ARCH_LE)
-#define AUDIT_ARCH_ARCOMPACTBE	(EM_ARCOMPACT)
-#define AUDIT_ARCH_ARCV2	(EM_ARCV2|__AUDIT_ARCH_LE)
-#define AUDIT_ARCH_ARCV2BE	(EM_ARCV2)
 #define AUDIT_ARCH_ARM		(EM_ARM|__AUDIT_ARCH_LE)
 #define AUDIT_ARCH_ARMEB	(EM_ARM)
-#define AUDIT_ARCH_C6X		(EM_TI_C6000|__AUDIT_ARCH_LE)
-#define AUDIT_ARCH_C6XBE	(EM_TI_C6000)
 #define AUDIT_ARCH_CRIS		(EM_CRIS|__AUDIT_ARCH_LE)
 #define AUDIT_ARCH_CSKY		(EM_CSKY|__AUDIT_ARCH_LE)
 #define AUDIT_ARCH_FRV		(EM_FRV)
-#define AUDIT_ARCH_H8300	(EM_H8_300)
-#define AUDIT_ARCH_HEXAGON	(EM_HEXAGON)
 #define AUDIT_ARCH_I386		(EM_386|__AUDIT_ARCH_LE)
 #define AUDIT_ARCH_IA64		(EM_IA_64|__AUDIT_ARCH_64BIT|__AUDIT_ARCH_LE)
 #define AUDIT_ARCH_M32R		(EM_M32R)
@@ -404,9 +393,6 @@
 #define AUDIT_ARCH_MIPSEL64	(EM_MIPS|__AUDIT_ARCH_64BIT|__AUDIT_ARCH_LE)
 #define AUDIT_ARCH_MIPSEL64N32	(EM_MIPS|__AUDIT_ARCH_64BIT|__AUDIT_ARCH_LE|\
 				 __AUDIT_ARCH_CONVENTION_MIPS64_N32)
-#define AUDIT_ARCH_NDS32	(EM_NDS32|__AUDIT_ARCH_LE)
-#define AUDIT_ARCH_NDS32BE	(EM_NDS32)
-#define AUDIT_ARCH_NIOS2	(EM_ALTERA_NIOS2|__AUDIT_ARCH_LE)
 #define AUDIT_ARCH_OPENRISC	(EM_OPENRISC)
 #define AUDIT_ARCH_PARISC	(EM_PARISC)
 #define AUDIT_ARCH_PARISC64	(EM_PARISC|__AUDIT_ARCH_64BIT)
@@ -427,7 +413,6 @@
 #define AUDIT_ARCH_TILEGX	(EM_TILEGX|__AUDIT_ARCH_64BIT|__AUDIT_ARCH_LE)
 #define AUDIT_ARCH_TILEGX32	(EM_TILEGX|__AUDIT_ARCH_LE)
 #define AUDIT_ARCH_TILEPRO	(EM_TILEPRO|__AUDIT_ARCH_LE)
-#define AUDIT_ARCH_UNICORE	(EM_UNICORE|__AUDIT_ARCH_LE)
 #define AUDIT_ARCH_X86_64	(EM_X86_64|__AUDIT_ARCH_64BIT|__AUDIT_ARCH_LE)
 #define AUDIT_ARCH_XTENSA	(EM_XTENSA)
 
diff --git a/original/uapi/linux/auto_fs.h b/original/uapi/linux/auto_fs.h
index 1f7925a..0821196 100644
--- a/original/uapi/linux/auto_fs.h
+++ b/original/uapi/linux/auto_fs.h
@@ -23,7 +23,7 @@
 #define AUTOFS_MIN_PROTO_VERSION	3
 #define AUTOFS_MAX_PROTO_VERSION	5
 
-#define AUTOFS_PROTO_SUBVERSION		5
+#define AUTOFS_PROTO_SUBVERSION		4
 
 /*
  * The wait_queue_token (autofs_wqt_t) is part of a structure which is passed
diff --git a/original/uapi/linux/batadv_packet.h b/original/uapi/linux/batadv_packet.h
index 2a15f01..894d8d2 100644
--- a/original/uapi/linux/batadv_packet.h
+++ b/original/uapi/linux/batadv_packet.h
@@ -1,7 +1,19 @@
 /* SPDX-License-Identifier: (GPL-2.0 WITH Linux-syscall-note) */
-/* Copyright (C) 2007-2019  B.A.T.M.A.N. contributors:
+/* Copyright (C) 2007-2018  B.A.T.M.A.N. contributors:
  *
  * Marek Lindner, Simon Wunderlich
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of version 2 of the GNU General Public
+ * License as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, see <http://www.gnu.org/licenses/>.
  */
 
 #ifndef _UAPI_LINUX_BATADV_PACKET_H_
@@ -107,20 +119,12 @@
  * @BATADV_MCAST_WANT_ALL_UNSNOOPABLES: we want all packets destined for
  *  224.0.0.0/24 or ff02::1
  * @BATADV_MCAST_WANT_ALL_IPV4: we want all IPv4 multicast packets
- *  (both link-local and routable ones)
  * @BATADV_MCAST_WANT_ALL_IPV6: we want all IPv6 multicast packets
- *  (both link-local and routable ones)
- * @BATADV_MCAST_WANT_NO_RTR4: we have no IPv4 multicast router and therefore
- * only need routable IPv4 multicast packets we signed up for explicitly
- * @BATADV_MCAST_WANT_NO_RTR6: we have no IPv6 multicast router and therefore
- * only need routable IPv6 multicast packets we signed up for explicitly
  */
 enum batadv_mcast_flags {
 	BATADV_MCAST_WANT_ALL_UNSNOOPABLES	= 1UL << 0,
 	BATADV_MCAST_WANT_ALL_IPV4		= 1UL << 1,
 	BATADV_MCAST_WANT_ALL_IPV6		= 1UL << 2,
-	BATADV_MCAST_WANT_NO_RTR4		= 1UL << 3,
-	BATADV_MCAST_WANT_NO_RTR6		= 1UL << 4,
 };
 
 /* tt data subtypes */
@@ -225,7 +229,7 @@
  * @packet_type: batman-adv packet type, part of the general header
  * @version: batman-adv protocol version, part of the general header
  * @ttl: time to live for this packet, part of the general header
- * @flags: reserved for routing relevant flags - currently always 0
+ * @flags: reseved for routing relevant flags - currently always 0
  * @seqno: sequence number
  * @orig: originator mac address
  * @tvlv_len: length of the appended tvlv buffer (in bytes)
diff --git a/original/uapi/linux/batman_adv.h b/original/uapi/linux/batman_adv.h
index 67f4636..324a0e1 100644
--- a/original/uapi/linux/batman_adv.h
+++ b/original/uapi/linux/batman_adv.h
@@ -1,7 +1,25 @@
 /* SPDX-License-Identifier: MIT */
-/* Copyright (C) 2016-2019  B.A.T.M.A.N. contributors:
+/* Copyright (C) 2016-2018  B.A.T.M.A.N. contributors:
  *
  * Matthias Schiffer
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a
+ * copy of this software and associated documentation files (the "Software"),
+ * to deal in the Software without restriction, including without limitation
+ * the rights to use, copy, modify, merge, publish, distribute, sublicense,
+ * and/or sell copies of the Software, and to permit persons to whom the
+ * Software is furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in
+ * all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+ * DEALINGS IN THE SOFTWARE.
  */
 
 #ifndef _UAPI_LINUX_BATMAN_ADV_H_
@@ -9,7 +27,6 @@
 
 #define BATADV_NL_NAME "batadv"
 
-#define BATADV_NL_MCAST_GROUP_CONFIG	"config"
 #define BATADV_NL_MCAST_GROUP_TPMETER	"tpmeter"
 
 /**
@@ -122,20 +139,6 @@
 };
 
 /**
- * enum batadv_gw_modes - gateway mode of node
- */
-enum batadv_gw_modes {
-	/** @BATADV_GW_MODE_OFF: gw mode disabled */
-	BATADV_GW_MODE_OFF,
-
-	/** @BATADV_GW_MODE_CLIENT: send DHCP requests to gw servers */
-	BATADV_GW_MODE_CLIENT,
-
-	/** @BATADV_GW_MODE_SERVER: announce itself as gatway server */
-	BATADV_GW_MODE_SERVER,
-};
-
-/**
  * enum batadv_nl_attrs - batman-adv netlink attributes
  */
 enum batadv_nl_attrs {
@@ -341,145 +344,6 @@
 	 */
 	BATADV_ATTR_MCAST_FLAGS_PRIV,
 
-	/**
-	 * @BATADV_ATTR_VLANID: VLAN id on top of soft interface
-	 */
-	BATADV_ATTR_VLANID,
-
-	/**
-	 * @BATADV_ATTR_AGGREGATED_OGMS_ENABLED: whether the batman protocol
-	 *  messages of the mesh interface shall be aggregated or not.
-	 */
-	BATADV_ATTR_AGGREGATED_OGMS_ENABLED,
-
-	/**
-	 * @BATADV_ATTR_AP_ISOLATION_ENABLED: whether the data traffic going
-	 *  from a wireless client to another wireless client will be silently
-	 *  dropped.
-	 */
-	BATADV_ATTR_AP_ISOLATION_ENABLED,
-
-	/**
-	 * @BATADV_ATTR_ISOLATION_MARK: the isolation mark which is used to
-	 *  classify clients as "isolated" by the Extended Isolation feature.
-	 */
-	BATADV_ATTR_ISOLATION_MARK,
-
-	/**
-	 * @BATADV_ATTR_ISOLATION_MASK: the isolation (bit)mask which is used to
-	 *  classify clients as "isolated" by the Extended Isolation feature.
-	 */
-	BATADV_ATTR_ISOLATION_MASK,
-
-	/**
-	 * @BATADV_ATTR_BONDING_ENABLED: whether the data traffic going through
-	 *  the mesh will be sent using multiple interfaces at the same time.
-	 */
-	BATADV_ATTR_BONDING_ENABLED,
-
-	/**
-	 * @BATADV_ATTR_BRIDGE_LOOP_AVOIDANCE_ENABLED: whether the bridge loop
-	 *  avoidance feature is enabled. This feature detects and avoids loops
-	 *  between the mesh and devices bridged with the soft interface
-	 */
-	BATADV_ATTR_BRIDGE_LOOP_AVOIDANCE_ENABLED,
-
-	/**
-	 * @BATADV_ATTR_DISTRIBUTED_ARP_TABLE_ENABLED: whether the distributed
-	 *  arp table feature is enabled. This feature uses a distributed hash
-	 *  table to answer ARP requests without flooding the request through
-	 *  the whole mesh.
-	 */
-	BATADV_ATTR_DISTRIBUTED_ARP_TABLE_ENABLED,
-
-	/**
-	 * @BATADV_ATTR_FRAGMENTATION_ENABLED: whether the data traffic going
-	 *  through the mesh will be fragmented or silently discarded if the
-	 *  packet size exceeds the outgoing interface MTU.
-	 */
-	BATADV_ATTR_FRAGMENTATION_ENABLED,
-
-	/**
-	 * @BATADV_ATTR_GW_BANDWIDTH_DOWN: defines the download bandwidth which
-	 *  is propagated by this node if %BATADV_ATTR_GW_BANDWIDTH_MODE was set
-	 *  to 'server'.
-	 */
-	BATADV_ATTR_GW_BANDWIDTH_DOWN,
-
-	/**
-	 * @BATADV_ATTR_GW_BANDWIDTH_UP: defines the upload bandwidth which
-	 *  is propagated by this node if %BATADV_ATTR_GW_BANDWIDTH_MODE was set
-	 *  to 'server'.
-	 */
-	BATADV_ATTR_GW_BANDWIDTH_UP,
-
-	/**
-	 * @BATADV_ATTR_GW_MODE: defines the state of the gateway features.
-	 * Possible values are specified in enum batadv_gw_modes
-	 */
-	BATADV_ATTR_GW_MODE,
-
-	/**
-	 * @BATADV_ATTR_GW_SEL_CLASS: defines the selection criteria this node
-	 *  will use to choose a gateway if gw_mode was set to 'client'.
-	 */
-	BATADV_ATTR_GW_SEL_CLASS,
-
-	/**
-	 * @BATADV_ATTR_HOP_PENALTY: defines the penalty which will be applied
-	 *  to an originator message's tq-field on every hop.
-	 */
-	BATADV_ATTR_HOP_PENALTY,
-
-	/**
-	 * @BATADV_ATTR_LOG_LEVEL: bitmask with to define which debug messages
-	 *  should be send to the debug log/trace ring buffer
-	 */
-	BATADV_ATTR_LOG_LEVEL,
-
-	/**
-	 * @BATADV_ATTR_MULTICAST_FORCEFLOOD_ENABLED: whether multicast
-	 *  optimizations should be replaced by simple broadcast-like flooding
-	 *  of multicast packets. If set to non-zero then all nodes in the mesh
-	 *  are going to use classic flooding for any multicast packet with no
-	 *  optimizations.
-	 */
-	BATADV_ATTR_MULTICAST_FORCEFLOOD_ENABLED,
-
-	/**
-	 * @BATADV_ATTR_NETWORK_CODING_ENABLED: whether Network Coding (using
-	 *  some magic to send fewer wifi packets but still the same content) is
-	 *  enabled or not.
-	 */
-	BATADV_ATTR_NETWORK_CODING_ENABLED,
-
-	/**
-	 * @BATADV_ATTR_ORIG_INTERVAL: defines the interval in milliseconds in
-	 *  which batman sends its protocol messages.
-	 */
-	BATADV_ATTR_ORIG_INTERVAL,
-
-	/**
-	 * @BATADV_ATTR_ELP_INTERVAL: defines the interval in milliseconds in
-	 *  which batman emits probing packets for neighbor sensing (ELP).
-	 */
-	BATADV_ATTR_ELP_INTERVAL,
-
-	/**
-	 * @BATADV_ATTR_THROUGHPUT_OVERRIDE: defines the throughput value to be
-	 *  used by B.A.T.M.A.N. V when estimating the link throughput using
-	 *  this interface. If the value is set to 0 then batman-adv will try to
-	 *  estimate the throughput by itself.
-	 */
-	BATADV_ATTR_THROUGHPUT_OVERRIDE,
-
-	/**
-	 * @BATADV_ATTR_MULTICAST_FANOUT: defines the maximum number of packet
-	 * copies that may be generated for a multicast-to-unicast conversion.
-	 * Once this limit is exceeded distribution will fall back to broadcast.
-	 */
-	BATADV_ATTR_MULTICAST_FANOUT,
-
 	/* add attributes above here, update the policy in netlink.c */
 
 	/**
@@ -508,14 +372,10 @@
 	BATADV_CMD_UNSPEC,
 
 	/**
-	 * @BATADV_CMD_GET_MESH: Get attributes from softif/mesh
+	 * @BATADV_CMD_GET_MESH_INFO: Query basic information about batman-adv
+	 * device
 	 */
-	BATADV_CMD_GET_MESH,
-
-	/**
-	 * @BATADV_CMD_GET_MESH_INFO: Alias for @BATADV_CMD_GET_MESH
-	 */
-	BATADV_CMD_GET_MESH_INFO = BATADV_CMD_GET_MESH,
+	BATADV_CMD_GET_MESH_INFO,
 
 	/**
 	 * @BATADV_CMD_TP_METER: Start a tp meter session
@@ -533,15 +393,9 @@
 	BATADV_CMD_GET_ROUTING_ALGOS,
 
 	/**
-	 * @BATADV_CMD_GET_HARDIF: Get attributes from a hardif of the
-	 *  current softif
+	 * @BATADV_CMD_GET_HARDIFS: Query list of hard interfaces
 	 */
-	BATADV_CMD_GET_HARDIF,
-
-	/**
-	 * @BATADV_CMD_GET_HARDIFS: Alias for @BATADV_CMD_GET_HARDIF
-	 */
-	BATADV_CMD_GET_HARDIFS = BATADV_CMD_GET_HARDIF,
+	BATADV_CMD_GET_HARDIFS,
 
 	/**
 	 * @BATADV_CMD_GET_TRANSTABLE_LOCAL: Query list of local translations
@@ -589,29 +443,6 @@
 	 */
 	BATADV_CMD_GET_MCAST_FLAGS,
 
-	/**
-	 * @BATADV_CMD_SET_MESH: Set attributes for softif/mesh
-	 */
-	BATADV_CMD_SET_MESH,
-
-	/**
-	 * @BATADV_CMD_SET_HARDIF: Set attributes for hardif of the
-	 *  current softif
-	 */
-	BATADV_CMD_SET_HARDIF,
-
-	/**
-	 * @BATADV_CMD_GET_VLAN: Get attributes from a VLAN of the
-	 *  current softif
-	 */
-	BATADV_CMD_GET_VLAN,
-
-	/**
-	 * @BATADV_CMD_SET_VLAN: Set attributes for VLAN of the
-	 *  current softif
-	 */
-	BATADV_CMD_SET_VLAN,
-
 	/* add new commands above here */
 
 	/**
diff --git a/original/uapi/linux/binfmts.h b/original/uapi/linux/binfmts.h
index 689025d..4abad03 100644
--- a/original/uapi/linux/binfmts.h
+++ b/original/uapi/linux/binfmts.h
@@ -16,6 +16,6 @@
 #define MAX_ARG_STRINGS 0x7FFFFFFF
 
 /* sizeof(linux_binprm->buf) */
-#define BINPRM_BUF_SIZE 256
+#define BINPRM_BUF_SIZE 128
 
 #endif /* _UAPI_LINUX_BINFMTS_H */
diff --git a/original/uapi/linux/bpf.h b/original/uapi/linux/bpf.h
index a5aa7d3..91c4388 100644
--- a/original/uapi/linux/bpf.h
+++ b/original/uapi/linux/bpf.h
@@ -14,7 +14,6 @@
 /* Extended instruction set based on top of classic BPF */
 
 /* instruction classes */
-#define BPF_JMP32	0x06	/* jmp mode in word width */
 #define BPF_ALU64	0x07	/* alu mode in double word width */
 
 /* ld/ldx fields */
@@ -105,7 +104,6 @@
 	BPF_BTF_GET_FD_BY_ID,
 	BPF_TASK_FD_QUERY,
 	BPF_MAP_LOOKUP_AND_DELETE_ELEM,
-	BPF_MAP_FREEZE,
 };
 
 enum bpf_map_type {
@@ -133,7 +131,6 @@
 	BPF_MAP_TYPE_PERCPU_CGROUP_STORAGE,
 	BPF_MAP_TYPE_QUEUE,
 	BPF_MAP_TYPE_STACK,
-	BPF_MAP_TYPE_SK_STORAGE,
 };
 
 /* Note that tracing related programs such as
@@ -168,9 +165,6 @@
 	BPF_PROG_TYPE_LIRC_MODE2,
 	BPF_PROG_TYPE_SK_REUSEPORT,
 	BPF_PROG_TYPE_FLOW_DISSECTOR,
-	BPF_PROG_TYPE_CGROUP_SYSCTL,
-	BPF_PROG_TYPE_RAW_TRACEPOINT_WRITABLE,
-	BPF_PROG_TYPE_CGROUP_SOCKOPT,
 };
 
 enum bpf_attach_type {
@@ -192,11 +186,6 @@
 	BPF_CGROUP_UDP6_SENDMSG,
 	BPF_LIRC_MODE2,
 	BPF_FLOW_DISSECTOR,
-	BPF_CGROUP_SYSCTL,
-	BPF_CGROUP_UDP4_RECVMSG,
-	BPF_CGROUP_UDP6_RECVMSG,
-	BPF_CGROUP_GETSOCKOPT,
-	BPF_CGROUP_SETSOCKOPT,
 	__MAX_BPF_ATTACH_TYPE
 };
 
@@ -265,37 +254,8 @@
  */
 #define BPF_F_ANY_ALIGNMENT	(1U << 1)
 
-/* BPF_F_TEST_RND_HI32 is used in BPF_PROG_LOAD command for testing purpose.
- * Verifier does sub-register def/use analysis and identifies instructions whose
- * def only matters for low 32-bit, high 32-bit is never referenced later
- * through implicit zero extension. Therefore verifier notifies JIT back-ends
- * that it is safe to ignore clearing high 32-bit for these instructions. This
- * saves some back-ends a lot of code-gen. However such optimization is not
- * necessary on some arches, for example x86_64, arm64 etc, whose JIT back-ends
- * hence hasn't used verifier's analysis result. But, we really want to have a
- * way to be able to verify the correctness of the described optimization on
- * x86_64 on which testsuites are frequently exercised.
- *
- * So, this flag is introduced. Once it is set, verifier will randomize high
- * 32-bit for those instructions who has been identified as safe to ignore them.
- * Then, if verifier is not doing correct analysis, such randomization will
- * regress tests to expose bugs.
- */
-#define BPF_F_TEST_RND_HI32	(1U << 2)
-
-/* When BPF ldimm64's insn[0].src_reg != 0 then this can have
- * two extensions:
- *
- * insn[0].src_reg:  BPF_PSEUDO_MAP_FD   BPF_PSEUDO_MAP_VALUE
- * insn[0].imm:      map fd              map fd
- * insn[1].imm:      0                   offset into value
- * insn[0].off:      0                   0
- * insn[1].off:      0                   0
- * ldimm64 rewrite:  address of map      address of map[0]+offset
- * verifier type:    CONST_PTR_TO_MAP    PTR_TO_MAP_VALUE
- */
+/* when bpf_ldimm64->src_reg == BPF_PSEUDO_MAP_FD, bpf_ldimm64->imm == fd */
 #define BPF_PSEUDO_MAP_FD	1
-#define BPF_PSEUDO_MAP_VALUE	2
 
 /* when bpf_call->src_reg == BPF_PSEUDO_CALL, bpf_call->imm == pc-relative
  * offset to another bpf function
@@ -306,7 +266,6 @@
 #define BPF_ANY		0 /* create new element or update existing */
 #define BPF_NOEXIST	1 /* create new element if it didn't exist */
 #define BPF_EXIST	2 /* update existing element */
-#define BPF_F_LOCK	4 /* spin_lock-ed map_lookup/map_update */
 
 /* flags for BPF_MAP_CREATE command */
 #define BPF_F_NO_PREALLOC	(1U << 0)
@@ -322,7 +281,7 @@
 
 #define BPF_OBJ_NAME_LEN 16U
 
-/* Flags for accessing BPF object from syscall side. */
+/* Flags for accessing BPF object */
 #define BPF_F_RDONLY		(1U << 3)
 #define BPF_F_WRONLY		(1U << 4)
 
@@ -332,10 +291,6 @@
 /* Zero-initialize hash function seed. This should only be used for testing. */
 #define BPF_F_ZERO_SEED		(1U << 6)
 
-/* Flags for accessing BPF object from program side. */
-#define BPF_F_RDONLY_PROG	(1U << 7)
-#define BPF_F_WRONLY_PROG	(1U << 8)
-
 /* flags for BPF_PROG_QUERY */
 #define BPF_F_QUERY_EFFECTIVE	(1U << 0)
 
@@ -439,13 +394,6 @@
 		__aligned_u64	data_out;
 		__u32		repeat;
 		__u32		duration;
-		__u32		ctx_size_in;	/* input: len of ctx_in */
-		__u32		ctx_size_out;	/* input/output: len of ctx_out
-						 *   returns ENOSPC if ctx_out
-						 *   is too small.
-						 */
-		__aligned_u64	ctx_in;
-		__aligned_u64	ctx_out;
 	} test;
 
 	struct { /* anonymous struct used by BPF_*_GET_*_ID */
@@ -552,6 +500,16 @@
  * 	Return
  * 		0 on success, or a negative error in case of failure.
  *
+ * int bpf_map_push_elem(struct bpf_map *map, const void *value, u64 flags)
+ * 	Description
+ * 		Push an element *value* in *map*. *flags* is one of:
+ *
+ * 		**BPF_EXIST**
+ * 		If the queue/stack is full, the oldest element is removed to
+ * 		make room for this.
+ * 	Return
+ * 		0 on success, or a negative error in case of failure.
+ *
  * int bpf_probe_read(void *dst, u32 size, const void *src)
  * 	Description
  * 		For tracing programs, safely attempt to read *size* bytes from
@@ -652,7 +610,7 @@
  * 		**BPF_F_INVALIDATE_HASH** (set *skb*\ **->hash**, *skb*\
  * 		**->swhash** and *skb*\ **->l4hash** to 0).
  *
- * 		A call to this helper is susceptible to change the underlying
+ * 		A call to this helper is susceptible to change the underlaying
  * 		packet buffer. Therefore, at load time, all checks on pointers
  * 		previously done by the verifier are invalidated and must be
  * 		performed again, if the helper is used in combination with
@@ -677,7 +635,7 @@
  * 		flexibility and can handle sizes larger than 2 or 4 for the
  * 		checksum to update.
  *
- * 		A call to this helper is susceptible to change the underlying
+ * 		A call to this helper is susceptible to change the underlaying
  * 		packet buffer. Therefore, at load time, all checks on pointers
  * 		previously done by the verifier are invalidated and must be
  * 		performed again, if the helper is used in combination with
@@ -709,7 +667,7 @@
  * 		flexibility and can handle sizes larger than 2 or 4 for the
  * 		checksum to update.
  *
- * 		A call to this helper is susceptible to change the underlying
+ * 		A call to this helper is susceptible to change the underlaying
  * 		packet buffer. Therefore, at load time, all checks on pointers
  * 		previously done by the verifier are invalidated and must be
  * 		performed again, if the helper is used in combination with
@@ -764,7 +722,7 @@
  * 		efficient, but it is handled through an action code where the
  * 		redirection happens only after the eBPF program has returned.
  *
- * 		A call to this helper is susceptible to change the underlying
+ * 		A call to this helper is susceptible to change the underlaying
  * 		packet buffer. Therefore, at load time, all checks on pointers
  * 		previously done by the verifier are invalidated and must be
  * 		performed again, if the helper is used in combination with
@@ -806,7 +764,7 @@
  * 		based on a user-provided identifier for all traffic coming from
  * 		the tasks belonging to the related cgroup. See also the related
  * 		kernel documentation, available from the Linux sources in file
- * 		*Documentation/admin-guide/cgroup-v1/net_cls.rst*.
+ * 		*Documentation/cgroup-v1/net_cls.txt*.
  *
  * 		The Linux kernel has two versions for cgroups: there are
  * 		cgroups v1 and cgroups v2. Both are available to users, who can
@@ -829,7 +787,7 @@
  * 		**ETH_P_8021Q** and **ETH_P_8021AD**, it is considered to
  * 		be **ETH_P_8021Q**.
  *
- * 		A call to this helper is susceptible to change the underlying
+ * 		A call to this helper is susceptible to change the underlaying
  * 		packet buffer. Therefore, at load time, all checks on pointers
  * 		previously done by the verifier are invalidated and must be
  * 		performed again, if the helper is used in combination with
@@ -841,7 +799,7 @@
  * 	Description
  * 		Pop a VLAN header from the packet associated to *skb*.
  *
- * 		A call to this helper is susceptible to change the underlying
+ * 		A call to this helper is susceptible to change the underlaying
  * 		packet buffer. Therefore, at load time, all checks on pointers
  * 		previously done by the verifier are invalidated and must be
  * 		performed again, if the helper is used in combination with
@@ -1191,7 +1149,7 @@
  * 		All values for *flags* are reserved for future usage, and must
  * 		be left at zero.
  *
- * 		A call to this helper is susceptible to change the underlying
+ * 		A call to this helper is susceptible to change the underlaying
  * 		packet buffer. Therefore, at load time, all checks on pointers
  * 		previously done by the verifier are invalidated and must be
  * 		performed again, if the helper is used in combination with
@@ -1304,7 +1262,7 @@
  * 		implicitly linearizes, unclones and drops offloads from the
  * 		*skb*.
  *
- * 		A call to this helper is susceptible to change the underlying
+ * 		A call to this helper is susceptible to change the underlaying
  * 		packet buffer. Therefore, at load time, all checks on pointers
  * 		previously done by the verifier are invalidated and must be
  * 		performed again, if the helper is used in combination with
@@ -1340,7 +1298,7 @@
  * 		**bpf_skb_pull_data()** to effectively unclone the *skb* from
  * 		the very beginning in case it is indeed cloned.
  *
- * 		A call to this helper is susceptible to change the underlying
+ * 		A call to this helper is susceptible to change the underlaying
  * 		packet buffer. Therefore, at load time, all checks on pointers
  * 		previously done by the verifier are invalidated and must be
  * 		performed again, if the helper is used in combination with
@@ -1392,7 +1350,7 @@
  * 		All values for *flags* are reserved for future usage, and must
  * 		be left at zero.
  *
- * 		A call to this helper is susceptible to change the underlying
+ * 		A call to this helper is susceptible to change the underlaying
  * 		packet buffer. Therefore, at load time, all checks on pointers
  * 		previously done by the verifier are invalidated and must be
  * 		performed again, if the helper is used in combination with
@@ -1407,7 +1365,7 @@
  * 		can be used to prepare the packet for pushing or popping
  * 		headers.
  *
- * 		A call to this helper is susceptible to change the underlying
+ * 		A call to this helper is susceptible to change the underlaying
  * 		packet buffer. Therefore, at load time, all checks on pointers
  * 		previously done by the verifier are invalidated and must be
  * 		performed again, if the helper is used in combination with
@@ -1466,8 +1424,8 @@
  * 		If no cookie has been set yet, generate a new cookie. Once
  * 		generated, the socket cookie remains stable for the life of the
  * 		socket. This helper can be useful for monitoring per socket
- * 		networking traffic statistics as it provides a global socket
- * 		identifier that can be assumed unique.
+ * 		networking traffic statistics as it provides a unique socket
+ * 		identifier per namespace.
  * 	Return
  * 		A 8-byte long non-decreasing number on success, or 0 if the
  * 		socket field is missing inside *skb*.
@@ -1475,14 +1433,14 @@
  * u64 bpf_get_socket_cookie(struct bpf_sock_addr *ctx)
  * 	Description
  * 		Equivalent to bpf_get_socket_cookie() helper that accepts
- * 		*skb*, but gets socket from **struct bpf_sock_addr** context.
+ * 		*skb*, but gets socket from **struct bpf_sock_addr** contex.
  * 	Return
  * 		A 8-byte long non-decreasing number.
  *
  * u64 bpf_get_socket_cookie(struct bpf_sock_ops *ctx)
  * 	Description
  * 		Equivalent to bpf_get_socket_cookie() helper that accepts
- * 		*skb*, but gets socket from **struct bpf_sock_ops** context.
+ * 		*skb*, but gets socket from **struct bpf_sock_ops** contex.
  * 	Return
  * 		A 8-byte long non-decreasing number.
  *
@@ -1528,33 +1486,15 @@
  * 		Grow or shrink the room for data in the packet associated to
  * 		*skb* by *len_diff*, and according to the selected *mode*.
  *
- *		There are two supported modes at this time:
- *
- *		* **BPF_ADJ_ROOM_MAC**: Adjust room at the mac layer
- *		  (room space is added or removed below the layer 2 header).
+ * 		There is a single supported mode at this time:
  *
  * 		* **BPF_ADJ_ROOM_NET**: Adjust room at the network layer
  * 		  (room space is added or removed below the layer 3 header).
  *
- *		The following flags are supported at this time:
+ * 		All values for *flags* are reserved for future usage, and must
+ * 		be left at zero.
  *
- *		* **BPF_F_ADJ_ROOM_FIXED_GSO**: Do not adjust gso_size.
- *		  Adjusting mss in this way is not allowed for datagrams.
- *
- *		* **BPF_F_ADJ_ROOM_ENCAP_L3_IPV4**,
- *		  **BPF_F_ADJ_ROOM_ENCAP_L3_IPV6**:
- *		  Any new space is reserved to hold a tunnel header.
- *		  Configure skb offsets and other fields accordingly.
- *
- *		* **BPF_F_ADJ_ROOM_ENCAP_L4_GRE**,
- *		  **BPF_F_ADJ_ROOM_ENCAP_L4_UDP**:
- *		  Use with ENCAP_L3 flags to further specify the tunnel type.
- *
- *		* **BPF_F_ADJ_ROOM_ENCAP_L2**\ (*len*):
- *		  Use with ENCAP_L3/L4 flags to further specify the tunnel
- *		  type; *len* is the length of the inner MAC header.
- *
- * 		A call to this helper is susceptible to change the underlying
+ * 		A call to this helper is susceptible to change the underlaying
  * 		packet buffer. Therefore, at load time, all checks on pointers
  * 		previously done by the verifier are invalidated and must be
  * 		performed again, if the helper is used in combination with
@@ -1571,11 +1511,8 @@
  * 		but this is only implemented for native XDP (with driver
  * 		support) as of this writing).
  *
- * 		The lower two bits of *flags* are used as the return code if
- * 		the map lookup fails. This is so that the return value can be
- * 		one of the XDP program return codes up to XDP_TX, as chosen by
- * 		the caller. Any higher bits in the *flags* argument must be
- * 		unset.
+ * 		All values for *flags* are reserved for future usage, and must
+ * 		be left at zero.
  *
  * 		When used to redirect packets to net devices, this helper
  * 		provides a high performance increase over **bpf_redirect**\ ().
@@ -1636,7 +1573,7 @@
  * 		more flexibility as the user is free to store whatever meta
  * 		data they need.
  *
- * 		A call to this helper is susceptible to change the underlying
+ * 		A call to this helper is susceptible to change the underlaying
  * 		packet buffer. Therefore, at load time, all checks on pointers
  * 		previously done by the verifier are invalidated and must be
  * 		performed again, if the helper is used in combination with
@@ -1765,19 +1702,11 @@
  * 		error if an eBPF program tries to set a callback that is not
  * 		supported in the current kernel.
  *
- * 		*argval* is a flag array which can combine these flags:
+ * 		The supported callback values that *argval* can combine are:
  *
  * 		* **BPF_SOCK_OPS_RTO_CB_FLAG** (retransmission time out)
  * 		* **BPF_SOCK_OPS_RETRANS_CB_FLAG** (retransmission)
  * 		* **BPF_SOCK_OPS_STATE_CB_FLAG** (TCP state change)
- * 		* **BPF_SOCK_OPS_RTT_CB_FLAG** (every RTT)
- *
- * 		Therefore, this function can be used to clear a callback flag by
- * 		setting the appropriate bit to zero. e.g. to disable the RTO
- * 		callback:
- *
- * 		**bpf_sock_ops_cb_flags_set(bpf_sock,**
- * 			**bpf_sock->bpf_sock_ops_cb_flags & ~BPF_SOCK_OPS_RTO_CB_FLAG)**
  *
  * 		Here are some examples of where one could call such eBPF
  * 		program:
@@ -1879,7 +1808,7 @@
  * 		copied if necessary (i.e. if data was not linear and if start
  * 		and end pointers do not point to the same chunk).
  *
- * 		A call to this helper is susceptible to change the underlying
+ * 		A call to this helper is susceptible to change the underlaying
  * 		packet buffer. Therefore, at load time, all checks on pointers
  * 		previously done by the verifier are invalidated and must be
  * 		performed again, if the helper is used in combination with
@@ -1913,7 +1842,7 @@
  * 		only possible to shrink the packet as of this writing,
  * 		therefore *delta* must be a negative integer.
  *
- * 		A call to this helper is susceptible to change the underlying
+ * 		A call to this helper is susceptible to change the underlaying
  * 		packet buffer. Therefore, at load time, all checks on pointers
  * 		previously done by the verifier are invalidated and must be
  * 		performed again, if the helper is used in combination with
@@ -2085,21 +2014,8 @@
  *			Only works if *skb* contains an IPv6 packet. Insert a
  *			Segment Routing Header (**struct ipv6_sr_hdr**) inside
  *			the IPv6 header.
- *		**BPF_LWT_ENCAP_IP**
- *			IP encapsulation (GRE/GUE/IPIP/etc). The outer header
- *			must be IPv4 or IPv6, followed by zero or more
- *			additional headers, up to **LWT_BPF_MAX_HEADROOM**
- *			total bytes in all prepended headers. Please note that
- *			if **skb_is_gso**\ (*skb*) is true, no more than two
- *			headers can be prepended, and the inner header, if
- *			present, should be either GRE or UDP/GUE.
  *
- *		**BPF_LWT_ENCAP_SEG6**\ \* types can be called by BPF programs
- *		of type **BPF_PROG_TYPE_LWT_IN**; **BPF_LWT_ENCAP_IP** type can
- *		be called by bpf programs of types **BPF_PROG_TYPE_LWT_IN** and
- *		**BPF_PROG_TYPE_LWT_XMIT**.
- *
- * 		A call to this helper is susceptible to change the underlying
+ * 		A call to this helper is susceptible to change the underlaying
  * 		packet buffer. Therefore, at load time, all checks on pointers
  * 		previously done by the verifier are invalidated and must be
  * 		performed again, if the helper is used in combination with
@@ -2114,7 +2030,7 @@
  *		inside the outermost IPv6 Segment Routing Header can be
  *		modified through this helper.
  *
- * 		A call to this helper is susceptible to change the underlying
+ * 		A call to this helper is susceptible to change the underlaying
  * 		packet buffer. Therefore, at load time, all checks on pointers
  * 		previously done by the verifier are invalidated and must be
  * 		performed again, if the helper is used in combination with
@@ -2130,7 +2046,7 @@
  *		after the segments are accepted. *delta* can be as well
  *		positive (growing) as negative (shrinking).
  *
- * 		A call to this helper is susceptible to change the underlying
+ * 		A call to this helper is susceptible to change the underlaying
  * 		packet buffer. Therefore, at load time, all checks on pointers
  * 		previously done by the verifier are invalidated and must be
  * 		performed again, if the helper is used in combination with
@@ -2153,13 +2069,13 @@
  *			Type of *param*: **int**.
  *		**SEG6_LOCAL_ACTION_END_B6**
  *			End.B6 action: Endpoint bound to an SRv6 policy.
- *			Type of *param*: **struct ipv6_sr_hdr**.
+ *			Type of param: **struct ipv6_sr_hdr**.
  *		**SEG6_LOCAL_ACTION_END_B6_ENCAP**
  *			End.B6.Encap action: Endpoint bound to an SRv6
  *			encapsulation policy.
- *			Type of *param*: **struct ipv6_sr_hdr**.
+ *			Type of param: **struct ipv6_sr_hdr**.
  *
- * 		A call to this helper is susceptible to change the underlying
+ * 		A call to this helper is susceptible to change the underlaying
  * 		packet buffer. Therefore, at load time, all checks on pointers
  * 		previously done by the verifier are invalidated and must be
  * 		performed again, if the helper is used in combination with
@@ -2167,25 +2083,6 @@
  *	Return
  * 		0 on success, or a negative error in case of failure.
  *
- * int bpf_rc_repeat(void *ctx)
- *	Description
- *		This helper is used in programs implementing IR decoding, to
- *		report a successfully decoded repeat key message. This delays
- *		the generation of a key up event for previously generated
- *		key down event.
- *
- *		Some IR protocols like NEC have a special IR message for
- *		repeating last button, for when a button is held down.
- *
- *		The *ctx* should point to the lirc sample as passed into
- *		the program.
- *
- *		This helper is only available is the kernel was compiled with
- *		the **CONFIG_BPF_LIRC_MODE2** configuration option set to
- *		"**y**".
- *	Return
- *		0
- *
  * int bpf_rc_keydown(void *ctx, u32 protocol, u64 scancode, u32 toggle)
  *	Description
  *		This helper is used in programs implementing IR decoding, to
@@ -2212,7 +2109,26 @@
  *	Return
  *		0
  *
- * u64 bpf_skb_cgroup_id(struct sk_buff *skb)
+ * int bpf_rc_repeat(void *ctx)
+ *	Description
+ *		This helper is used in programs implementing IR decoding, to
+ *		report a successfully decoded repeat key message. This delays
+ *		the generation of a key up event for previously generated
+ *		key down event.
+ *
+ *		Some IR protocols like NEC have a special IR message for
+ *		repeating last button, for when a button is held down.
+ *
+ *		The *ctx* should point to the lirc sample as passed into
+ *		the program.
+ *
+ *		This helper is only available is the kernel was compiled with
+ *		the **CONFIG_BPF_LIRC_MODE2** configuration option set to
+ *		"**y**".
+ *	Return
+ *		0
+ *
+ * uint64_t bpf_skb_cgroup_id(struct sk_buff *skb)
  * 	Description
  * 		Return the cgroup v2 id of the socket associated with the *skb*.
  * 		This is roughly similar to the **bpf_get_cgroup_classid**\ ()
@@ -2228,12 +2144,30 @@
  * 	Return
  * 		The id is returned or 0 in case the id could not be retrieved.
  *
+ * u64 bpf_skb_ancestor_cgroup_id(struct sk_buff *skb, int ancestor_level)
+ *	Description
+ *		Return id of cgroup v2 that is ancestor of cgroup associated
+ *		with the *skb* at the *ancestor_level*.  The root cgroup is at
+ *		*ancestor_level* zero and each step down the hierarchy
+ *		increments the level. If *ancestor_level* == level of cgroup
+ *		associated with *skb*, then return value will be same as that
+ *		of **bpf_skb_cgroup_id**\ ().
+ *
+ *		The helper is useful to implement policies based on cgroups
+ *		that are upper in hierarchy than immediate cgroup associated
+ *		with *skb*.
+ *
+ *		The format of returned id and helper limitations are same as in
+ *		**bpf_skb_cgroup_id**\ ().
+ *	Return
+ *		The id is returned or 0 in case the id could not be retrieved.
+ *
  * u64 bpf_get_current_cgroup_id(void)
  * 	Return
  * 		A 64-bit integer containing the current cgroup id based
  * 		on the cgroup within which the current task is running.
  *
- * void *bpf_get_local_storage(void *map, u64 flags)
+ * void* get_local_storage(void *map, u64 flags)
  *	Description
  *		Get the pointer to the local storage area.
  *		The type and the size of the local storage is defined
@@ -2260,24 +2194,6 @@
  *	Return
  *		0 on success, or a negative error in case of failure.
  *
- * u64 bpf_skb_ancestor_cgroup_id(struct sk_buff *skb, int ancestor_level)
- *	Description
- *		Return id of cgroup v2 that is ancestor of cgroup associated
- *		with the *skb* at the *ancestor_level*.  The root cgroup is at
- *		*ancestor_level* zero and each step down the hierarchy
- *		increments the level. If *ancestor_level* == level of cgroup
- *		associated with *skb*, then return value will be same as that
- *		of **bpf_skb_cgroup_id**\ ().
- *
- *		The helper is useful to implement policies based on cgroups
- *		that are upper in hierarchy than immediate cgroup associated
- *		with *skb*.
- *
- *		The format of returned id and helper limitations are same as in
- *		**bpf_skb_cgroup_id**\ ().
- *	Return
- *		The id is returned or 0 in case the id could not be retrieved.
- *
  * struct bpf_sock *bpf_sk_lookup_tcp(void *ctx, struct bpf_sock_tuple *tuple, u32 tuple_size, u64 netns, u64 flags)
  *	Description
  *		Look for TCP socket matching *tuple*, optionally in a child
@@ -2312,8 +2228,7 @@
  *	Return
  *		Pointer to **struct bpf_sock**, or **NULL** in case of failure.
  *		For sockets with reuseport option, the **struct bpf_sock**
- *		result is from *reuse*\ **->socks**\ [] using the hash of the
- *		tuple.
+ *		result is from **reuse->socks**\ [] using the hash of the tuple.
  *
  * struct bpf_sock *bpf_sk_lookup_udp(void *ctx, struct bpf_sock_tuple *tuple, u32 tuple_size, u64 netns, u64 flags)
  *	Description
@@ -2349,8 +2264,7 @@
  *	Return
  *		Pointer to **struct bpf_sock**, or **NULL** in case of failure.
  *		For sockets with reuseport option, the **struct bpf_sock**
- *		result is from *reuse*\ **->socks**\ [] using the hash of the
- *		tuple.
+ *		result is from **reuse->socks**\ [] using the hash of the tuple.
  *
  * int bpf_sk_release(struct bpf_sock *sock)
  *	Description
@@ -2360,16 +2274,6 @@
  *	Return
  *		0 on success, or a negative error in case of failure.
  *
- * int bpf_map_push_elem(struct bpf_map *map, const void *value, u64 flags)
- * 	Description
- * 		Push an element *value* in *map*. *flags* is one of:
- *
- * 		**BPF_EXIST**
- * 			If the queue/stack is full, the oldest element is
- * 			removed to make room for this.
- * 	Return
- * 		0 on success, or a negative error in case of failure.
- *
  * int bpf_map_pop_elem(struct bpf_map *map, void *value)
  * 	Description
  * 		Pop an element from *map*.
@@ -2423,296 +2327,6 @@
  *		"**y**".
  *	Return
  *		0
- *
- * int bpf_spin_lock(struct bpf_spin_lock *lock)
- *	Description
- *		Acquire a spinlock represented by the pointer *lock*, which is
- *		stored as part of a value of a map. Taking the lock allows to
- *		safely update the rest of the fields in that value. The
- *		spinlock can (and must) later be released with a call to
- *		**bpf_spin_unlock**\ (\ *lock*\ ).
- *
- *		Spinlocks in BPF programs come with a number of restrictions
- *		and constraints:
- *
- *		* **bpf_spin_lock** objects are only allowed inside maps of
- *		  types **BPF_MAP_TYPE_HASH** and **BPF_MAP_TYPE_ARRAY** (this
- *		  list could be extended in the future).
- *		* BTF description of the map is mandatory.
- *		* The BPF program can take ONE lock at a time, since taking two
- *		  or more could cause dead locks.
- *		* Only one **struct bpf_spin_lock** is allowed per map element.
- *		* When the lock is taken, calls (either BPF to BPF or helpers)
- *		  are not allowed.
- *		* The **BPF_LD_ABS** and **BPF_LD_IND** instructions are not
- *		  allowed inside a spinlock-ed region.
- *		* The BPF program MUST call **bpf_spin_unlock**\ () to release
- *		  the lock, on all execution paths, before it returns.
- *		* The BPF program can access **struct bpf_spin_lock** only via
- *		  the **bpf_spin_lock**\ () and **bpf_spin_unlock**\ ()
- *		  helpers. Loading or storing data into the **struct
- *		  bpf_spin_lock** *lock*\ **;** field of a map is not allowed.
- *		* To use the **bpf_spin_lock**\ () helper, the BTF description
- *		  of the map value must be a struct and have **struct
- *		  bpf_spin_lock** *anyname*\ **;** field at the top level.
- *		  Nested lock inside another struct is not allowed.
- *		* The **struct bpf_spin_lock** *lock* field in a map value must
- *		  be aligned on a multiple of 4 bytes in that value.
- *		* Syscall with command **BPF_MAP_LOOKUP_ELEM** does not copy
- *		  the **bpf_spin_lock** field to user space.
- *		* Syscall with command **BPF_MAP_UPDATE_ELEM**, or update from
- *		  a BPF program, do not update the **bpf_spin_lock** field.
- *		* **bpf_spin_lock** cannot be on the stack or inside a
- *		  networking packet (it can only be inside of a map values).
- *		* **bpf_spin_lock** is available to root only.
- *		* Tracing programs and socket filter programs cannot use
- *		  **bpf_spin_lock**\ () due to insufficient preemption checks
- *		  (but this may change in the future).
- *		* **bpf_spin_lock** is not allowed in inner maps of map-in-map.
- *	Return
- *		0
- *
- * int bpf_spin_unlock(struct bpf_spin_lock *lock)
- *	Description
- *		Release the *lock* previously locked by a call to
- *		**bpf_spin_lock**\ (\ *lock*\ ).
- *	Return
- *		0
- *
- * struct bpf_sock *bpf_sk_fullsock(struct bpf_sock *sk)
- *	Description
- *		This helper gets a **struct bpf_sock** pointer such
- *		that all the fields in this **bpf_sock** can be accessed.
- *	Return
- *		A **struct bpf_sock** pointer on success, or **NULL** in
- *		case of failure.
- *
- * struct bpf_tcp_sock *bpf_tcp_sock(struct bpf_sock *sk)
- *	Description
- *		This helper gets a **struct bpf_tcp_sock** pointer from a
- *		**struct bpf_sock** pointer.
- *	Return
- *		A **struct bpf_tcp_sock** pointer on success, or **NULL** in
- *		case of failure.
- *
- * int bpf_skb_ecn_set_ce(struct sk_buf *skb)
- *	Description
- *		Set ECN (Explicit Congestion Notification) field of IP header
- *		to **CE** (Congestion Encountered) if current value is **ECT**
- *		(ECN Capable Transport). Otherwise, do nothing. Works with IPv6
- *		and IPv4.
- *	Return
- *		1 if the **CE** flag is set (either by the current helper call
- *		or because it was already present), 0 if it is not set.
- *
- * struct bpf_sock *bpf_get_listener_sock(struct bpf_sock *sk)
- *	Description
- *		Return a **struct bpf_sock** pointer in **TCP_LISTEN** state.
- *		**bpf_sk_release**\ () is unnecessary and not allowed.
- *	Return
- *		A **struct bpf_sock** pointer on success, or **NULL** in
- *		case of failure.
- *
- * struct bpf_sock *bpf_skc_lookup_tcp(void *ctx, struct bpf_sock_tuple *tuple, u32 tuple_size, u64 netns, u64 flags)
- *	Description
- *		Look for TCP socket matching *tuple*, optionally in a child
- *		network namespace *netns*. The return value must be checked,
- *		and if non-**NULL**, released via **bpf_sk_release**\ ().
- *
- *		This function is identical to **bpf_sk_lookup_tcp**\ (), except
- *		that it also returns timewait or request sockets. Use
- *		**bpf_sk_fullsock**\ () or **bpf_tcp_sock**\ () to access the
- *		full structure.
- *
- *		This helper is available only if the kernel was compiled with
- *		**CONFIG_NET** configuration option.
- *	Return
- *		Pointer to **struct bpf_sock**, or **NULL** in case of failure.
- *		For sockets with reuseport option, the **struct bpf_sock**
- *		result is from *reuse*\ **->socks**\ [] using the hash of the
- *		tuple.
- *
- * int bpf_tcp_check_syncookie(struct bpf_sock *sk, void *iph, u32 iph_len, struct tcphdr *th, u32 th_len)
- * 	Description
- * 		Check whether *iph* and *th* contain a valid SYN cookie ACK for
- * 		the listening socket in *sk*.
- *
- * 		*iph* points to the start of the IPv4 or IPv6 header, while
- * 		*iph_len* contains **sizeof**\ (**struct iphdr**) or
- * 		**sizeof**\ (**struct ip6hdr**).
- *
- * 		*th* points to the start of the TCP header, while *th_len*
- * 		contains **sizeof**\ (**struct tcphdr**).
- *
- * 	Return
- * 		0 if *iph* and *th* are a valid SYN cookie ACK, or a negative
- * 		error otherwise.
- *
- * int bpf_sysctl_get_name(struct bpf_sysctl *ctx, char *buf, size_t buf_len, u64 flags)
- *	Description
- *		Get name of sysctl in /proc/sys/ and copy it into provided by
- *		program buffer *buf* of size *buf_len*.
- *
- *		The buffer is always NUL terminated, unless it's zero-sized.
- *
- *		If *flags* is zero, full name (e.g. "net/ipv4/tcp_mem") is
- *		copied. Use **BPF_F_SYSCTL_BASE_NAME** flag to copy base name
- *		only (e.g. "tcp_mem").
- *	Return
- *		Number of character copied (not including the trailing NUL).
- *
- *		**-E2BIG** if the buffer wasn't big enough (*buf* will contain
- *		truncated name in this case).
- *
- * int bpf_sysctl_get_current_value(struct bpf_sysctl *ctx, char *buf, size_t buf_len)
- *	Description
- *		Get current value of sysctl as it is presented in /proc/sys
- *		(incl. newline, etc), and copy it as a string into provided
- *		by program buffer *buf* of size *buf_len*.
- *
- *		The whole value is copied, no matter what file position user
- *		space issued e.g. sys_read at.
- *
- *		The buffer is always NUL terminated, unless it's zero-sized.
- *	Return
- *		Number of character copied (not including the trailing NUL).
- *
- *		**-E2BIG** if the buffer wasn't big enough (*buf* will contain
- *		truncated name in this case).
- *
- *		**-EINVAL** if current value was unavailable, e.g. because
- *		sysctl is uninitialized and read returns -EIO for it.
- *
- * int bpf_sysctl_get_new_value(struct bpf_sysctl *ctx, char *buf, size_t buf_len)
- *	Description
- *		Get new value being written by user space to sysctl (before
- *		the actual write happens) and copy it as a string into
- *		provided by program buffer *buf* of size *buf_len*.
- *
- *		User space may write new value at file position > 0.
- *
- *		The buffer is always NUL terminated, unless it's zero-sized.
- *	Return
- *		Number of character copied (not including the trailing NUL).
- *
- *		**-E2BIG** if the buffer wasn't big enough (*buf* will contain
- *		truncated name in this case).
- *
- *		**-EINVAL** if sysctl is being read.
- *
- * int bpf_sysctl_set_new_value(struct bpf_sysctl *ctx, const char *buf, size_t buf_len)
- *	Description
- *		Override new value being written by user space to sysctl with
- *		value provided by program in buffer *buf* of size *buf_len*.
- *
- *		*buf* should contain a string in same form as provided by user
- *		space on sysctl write.
- *
- *		User space may write new value at file position > 0. To override
- *		the whole sysctl value file position should be set to zero.
- *	Return
- *		0 on success.
- *
- *		**-E2BIG** if the *buf_len* is too big.
- *
- *		**-EINVAL** if sysctl is being read.
- *
- * int bpf_strtol(const char *buf, size_t buf_len, u64 flags, long *res)
- *	Description
- *		Convert the initial part of the string from buffer *buf* of
- *		size *buf_len* to a long integer according to the given base
- *		and save the result in *res*.
- *
- *		The string may begin with an arbitrary amount of white space
- *		(as determined by **isspace**\ (3)) followed by a single
- *		optional '**-**' sign.
- *
- *		Five least significant bits of *flags* encode base, other bits
- *		are currently unused.
- *
- *		Base must be either 8, 10, 16 or 0 to detect it automatically
- *		similar to user space **strtol**\ (3).
- *	Return
- *		Number of characters consumed on success. Must be positive but
- *		no more than *buf_len*.
- *
- *		**-EINVAL** if no valid digits were found or unsupported base
- *		was provided.
- *
- *		**-ERANGE** if resulting value was out of range.
- *
- * int bpf_strtoul(const char *buf, size_t buf_len, u64 flags, unsigned long *res)
- *	Description
- *		Convert the initial part of the string from buffer *buf* of
- *		size *buf_len* to an unsigned long integer according to the
- *		given base and save the result in *res*.
- *
- *		The string may begin with an arbitrary amount of white space
- *		(as determined by **isspace**\ (3)).
- *
- *		Five least significant bits of *flags* encode base, other bits
- *		are currently unused.
- *
- *		Base must be either 8, 10, 16 or 0 to detect it automatically
- *		similar to user space **strtoul**\ (3).
- *	Return
- *		Number of characters consumed on success. Must be positive but
- *		no more than *buf_len*.
- *
- *		**-EINVAL** if no valid digits were found or unsupported base
- *		was provided.
- *
- *		**-ERANGE** if resulting value was out of range.
- *
- * void *bpf_sk_storage_get(struct bpf_map *map, struct bpf_sock *sk, void *value, u64 flags)
- *	Description
- *		Get a bpf-local-storage from a *sk*.
- *
- *		Logically, it could be thought of getting the value from
- *		a *map* with *sk* as the **key**.  From this
- *		perspective,  the usage is not much different from
- *		**bpf_map_lookup_elem**\ (*map*, **&**\ *sk*) except this
- *		helper enforces the key must be a full socket and the map must
- *		be a **BPF_MAP_TYPE_SK_STORAGE** also.
- *
- *		Underneath, the value is stored locally at *sk* instead of
- *		the *map*.  The *map* is used as the bpf-local-storage
- *		"type". The bpf-local-storage "type" (i.e. the *map*) is
- *		searched against all bpf-local-storages residing at *sk*.
- *
- *		An optional *flags* (**BPF_SK_STORAGE_GET_F_CREATE**) can be
- *		used such that a new bpf-local-storage will be
- *		created if one does not exist.  *value* can be used
- *		together with **BPF_SK_STORAGE_GET_F_CREATE** to specify
- *		the initial value of a bpf-local-storage.  If *value* is
- *		**NULL**, the new bpf-local-storage will be zero initialized.
- *	Return
- *		A bpf-local-storage pointer is returned on success.
- *
- *		**NULL** if not found or there was an error in adding
- *		a new bpf-local-storage.
- *
- * int bpf_sk_storage_delete(struct bpf_map *map, struct bpf_sock *sk)
- *	Description
- *		Delete a bpf-local-storage from a *sk*.
- *	Return
- *		0 on success.
- *
- *		**-ENOENT** if the bpf-local-storage cannot be found.
- *
- * int bpf_send_signal(u32 sig)
- *	Description
- *		Send signal *sig* to the current task.
- *	Return
- *		0 on success or successfully queued.
- *
- *		**-EBUSY** if work queue under nmi is full.
- *
- *		**-EINVAL** if *sig* is invalid.
- *
- *		**-EPERM** if no permission to send the *sig*.
- *
- *		**-EAGAIN** if bpf program can try again.
  */
 #define __BPF_FUNC_MAPPER(FN)		\
 	FN(unspec),			\
@@ -2807,24 +2421,7 @@
 	FN(map_peek_elem),		\
 	FN(msg_push_data),		\
 	FN(msg_pop_data),		\
-	FN(rc_pointer_rel),		\
-	FN(spin_lock),			\
-	FN(spin_unlock),		\
-	FN(sk_fullsock),		\
-	FN(tcp_sock),			\
-	FN(skb_ecn_set_ce),		\
-	FN(get_listener_sock),		\
-	FN(skc_lookup_tcp),		\
-	FN(tcp_check_syncookie),	\
-	FN(sysctl_get_name),		\
-	FN(sysctl_get_current_value),	\
-	FN(sysctl_get_new_value),	\
-	FN(sysctl_set_new_value),	\
-	FN(strtol),			\
-	FN(strtoul),			\
-	FN(sk_storage_get),		\
-	FN(sk_storage_delete),		\
-	FN(send_signal),
+	FN(rc_pointer_rel),
 
 /* integer value in 'imm' field of BPF_CALL instruction selects which helper
  * function eBPF program intends to call
@@ -2883,30 +2480,9 @@
 /* Current network namespace */
 #define BPF_F_CURRENT_NETNS		(-1L)
 
-/* BPF_FUNC_skb_adjust_room flags. */
-#define BPF_F_ADJ_ROOM_FIXED_GSO	(1ULL << 0)
-
-#define BPF_ADJ_ROOM_ENCAP_L2_MASK	0xff
-#define BPF_ADJ_ROOM_ENCAP_L2_SHIFT	56
-
-#define BPF_F_ADJ_ROOM_ENCAP_L3_IPV4	(1ULL << 1)
-#define BPF_F_ADJ_ROOM_ENCAP_L3_IPV6	(1ULL << 2)
-#define BPF_F_ADJ_ROOM_ENCAP_L4_GRE	(1ULL << 3)
-#define BPF_F_ADJ_ROOM_ENCAP_L4_UDP	(1ULL << 4)
-#define BPF_F_ADJ_ROOM_ENCAP_L2(len)	(((__u64)len & \
-					  BPF_ADJ_ROOM_ENCAP_L2_MASK) \
-					 << BPF_ADJ_ROOM_ENCAP_L2_SHIFT)
-
-/* BPF_FUNC_sysctl_get_name flags. */
-#define BPF_F_SYSCTL_BASE_NAME		(1ULL << 0)
-
-/* BPF_FUNC_sk_storage_get flags */
-#define BPF_SK_STORAGE_GET_F_CREATE	(1ULL << 0)
-
 /* Mode for BPF_FUNC_skb_adjust_room helper. */
 enum bpf_adj_room_mode {
 	BPF_ADJ_ROOM_NET,
-	BPF_ADJ_ROOM_MAC,
 };
 
 /* Mode for BPF_FUNC_skb_load_bytes_relative helper. */
@@ -2918,8 +2494,7 @@
 /* Encapsulation type for BPF_FUNC_lwt_push_encap helper. */
 enum bpf_lwt_encap_mode {
 	BPF_LWT_ENCAP_SEG6,
-	BPF_LWT_ENCAP_SEG6_INLINE,
-	BPF_LWT_ENCAP_IP,
+	BPF_LWT_ENCAP_SEG6_INLINE
 };
 
 #define __bpf_md_ptr(type, name)	\
@@ -2965,8 +2540,6 @@
 	__bpf_md_ptr(struct bpf_flow_keys *, flow_keys);
 	__u64 tstamp;
 	__u32 wire_len;
-	__u32 gso_segs;
-	__bpf_md_ptr(struct bpf_sock *, sk);
 };
 
 struct bpf_tunnel_key {
@@ -3008,15 +2581,7 @@
 	BPF_DROP = 2,
 	/* 3-6 reserved */
 	BPF_REDIRECT = 7,
-	/* >127 are reserved for prog type specific return codes.
-	 *
-	 * BPF_LWT_REROUTE: used by BPF_PROG_TYPE_LWT_IN and
-	 *    BPF_PROG_TYPE_LWT_XMIT to indicate that skb had been
-	 *    changed and should be routed based on its new L3 header.
-	 *    (This is an L3 redirect, as opposed to L2 redirect
-	 *    represented by BPF_REDIRECT above).
-	 */
-	BPF_LWT_REROUTE = 128,
+	/* >127 are reserved for prog type specific return codes */
 };
 
 struct bpf_sock {
@@ -3026,59 +2591,15 @@
 	__u32 protocol;
 	__u32 mark;
 	__u32 priority;
-	/* IP address also allows 1 and 2 bytes access */
-	__u32 src_ip4;
-	__u32 src_ip6[4];
-	__u32 src_port;		/* host byte order */
-	__u32 dst_port;		/* network byte order */
-	__u32 dst_ip4;
-	__u32 dst_ip6[4];
-	__u32 state;
-};
-
-struct bpf_tcp_sock {
-	__u32 snd_cwnd;		/* Sending congestion window		*/
-	__u32 srtt_us;		/* smoothed round trip time << 3 in usecs */
-	__u32 rtt_min;
-	__u32 snd_ssthresh;	/* Slow start size threshold		*/
-	__u32 rcv_nxt;		/* What we want to receive next		*/
-	__u32 snd_nxt;		/* Next sequence we send		*/
-	__u32 snd_una;		/* First byte we want an ack for	*/
-	__u32 mss_cache;	/* Cached effective mss, not including SACKS */
-	__u32 ecn_flags;	/* ECN status bits.			*/
-	__u32 rate_delivered;	/* saved rate sample: packets delivered */
-	__u32 rate_interval_us;	/* saved rate sample: time elapsed */
-	__u32 packets_out;	/* Packets which are "in flight"	*/
-	__u32 retrans_out;	/* Retransmitted packets out		*/
-	__u32 total_retrans;	/* Total retransmits for entire connection */
-	__u32 segs_in;		/* RFC4898 tcpEStatsPerfSegsIn
-				 * total number of segments in.
+	__u32 src_ip4;		/* Allows 1,2,4-byte read.
+				 * Stored in network byte order.
 				 */
-	__u32 data_segs_in;	/* RFC4898 tcpEStatsPerfDataSegsIn
-				 * total number of data segments in.
+	__u32 src_ip6[4];	/* Allows 1,2,4-byte read.
+				 * Stored in network byte order.
 				 */
-	__u32 segs_out;		/* RFC4898 tcpEStatsPerfSegsOut
-				 * The total number of segments sent.
+	__u32 src_port;		/* Allows 4-byte read.
+				 * Stored in host byte order
 				 */
-	__u32 data_segs_out;	/* RFC4898 tcpEStatsPerfDataSegsOut
-				 * total number of data segments sent.
-				 */
-	__u32 lost_out;		/* Lost packets			*/
-	__u32 sacked_out;	/* SACK'd packets			*/
-	__u64 bytes_received;	/* RFC4898 tcpEStatsAppHCThruOctetsReceived
-				 * sum(delta(rcv_nxt)), or how many bytes
-				 * were acked.
-				 */
-	__u64 bytes_acked;	/* RFC4898 tcpEStatsAppHCThruOctetsAcked
-				 * sum(delta(snd_una)), or how many bytes
-				 * were acked.
-				 */
-	__u32 dsack_dups;	/* RFC4898 tcpEStatsStackDSACKDups
-				 * total number of DSACK blocks received
-				 */
-	__u32 delivered;	/* Total data packets delivered incl. rexmits */
-	__u32 delivered_ce;	/* Like the above but only ECE marked packets */
-	__u32 icsk_retransmits;	/* Number of unrecovered [RTO] timeouts */
 };
 
 struct bpf_sock_tuple {
@@ -3098,10 +2619,6 @@
 	};
 };
 
-struct bpf_xdp_sock {
-	__u32 queue_id;
-};
-
 #define XDP_PACKET_HEADROOM 256
 
 /* User return codes for XDP prog type.
@@ -3193,7 +2710,6 @@
 	char name[BPF_OBJ_NAME_LEN];
 	__u32 ifindex;
 	__u32 gpl_compatible:1;
-	__u32 :31; /* alignment pad */
 	__u64 netns_dev;
 	__u64 netns_ino;
 	__u32 nr_jited_ksyms;
@@ -3212,8 +2728,6 @@
 	__u32 jited_line_info_rec_size;
 	__u32 nr_prog_tags;
 	__aligned_u64 prog_tags;
-	__u64 run_time_ns;
-	__u64 run_cnt;
 } __attribute__((aligned(8)));
 
 struct bpf_map_info {
@@ -3248,7 +2762,7 @@
 	__u32 user_ip4;		/* Allows 1,2,4-byte read and 4-byte write.
 				 * Stored in network byte order.
 				 */
-	__u32 user_ip6[4];	/* Allows 1,2,4,8-byte read and 4,8-byte write.
+	__u32 user_ip6[4];	/* Allows 1,2,4-byte read an 4-byte write.
 				 * Stored in network byte order.
 				 */
 	__u32 user_port;	/* Allows 4-byte read and write.
@@ -3257,13 +2771,12 @@
 	__u32 family;		/* Allows 4-byte read, but no write */
 	__u32 type;		/* Allows 4-byte read, but no write */
 	__u32 protocol;		/* Allows 4-byte read, but no write */
-	__u32 msg_src_ip4;	/* Allows 1,2,4-byte read and 4-byte write.
+	__u32 msg_src_ip4;	/* Allows 1,2,4-byte read an 4-byte write.
 				 * Stored in network byte order.
 				 */
-	__u32 msg_src_ip6[4];	/* Allows 1,2,4,8-byte read and 4,8-byte write.
+	__u32 msg_src_ip6[4];	/* Allows 1,2,4-byte read an 4-byte write.
 				 * Stored in network byte order.
 				 */
-	__bpf_md_ptr(struct bpf_sock *, sk);
 };
 
 /* User bpf_sock_ops struct to access socket values and specify request ops
@@ -3315,15 +2828,13 @@
 	__u32 sk_txhash;
 	__u64 bytes_received;
 	__u64 bytes_acked;
-	__bpf_md_ptr(struct bpf_sock *, sk);
 };
 
 /* Definitions for bpf_sock_ops_cb_flags */
 #define BPF_SOCK_OPS_RTO_CB_FLAG	(1<<0)
 #define BPF_SOCK_OPS_RETRANS_CB_FLAG	(1<<1)
 #define BPF_SOCK_OPS_STATE_CB_FLAG	(1<<2)
-#define BPF_SOCK_OPS_RTT_CB_FLAG	(1<<3)
-#define BPF_SOCK_OPS_ALL_CB_FLAGS       0xF		/* Mask of all currently
+#define BPF_SOCK_OPS_ALL_CB_FLAGS       0x7		/* Mask of all currently
 							 * supported cb flags
 							 */
 
@@ -3378,8 +2889,6 @@
 	BPF_SOCK_OPS_TCP_LISTEN_CB,	/* Called on listen(2), right after
 					 * socket transition to LISTEN state.
 					 */
-	BPF_SOCK_OPS_RTT_CB,		/* Called on every RTT.
-					 */
 };
 
 /* List of TCP states. There is a build check in net/ipv4/tcp.c to detect
@@ -3434,8 +2943,8 @@
 /* DIRECT:  Skip the FIB rules and go to FIB table associated with device
  * OUTPUT:  Do lookup from egress perspective; default is ingress
  */
-#define BPF_FIB_LOOKUP_DIRECT  (1U << 0)
-#define BPF_FIB_LOOKUP_OUTPUT  (1U << 1)
+#define BPF_FIB_LOOKUP_DIRECT  BIT(0)
+#define BPF_FIB_LOOKUP_OUTPUT  BIT(1)
 
 enum {
 	BPF_FIB_LKUP_RET_SUCCESS,      /* lookup successful */
@@ -3545,28 +3054,4 @@
 	__u32	line_col;
 };
 
-struct bpf_spin_lock {
-	__u32	val;
-};
-
-struct bpf_sysctl {
-	__u32	write;		/* Sysctl is being read (= 0) or written (= 1).
-				 * Allows 1,2,4-byte read, but no write.
-				 */
-	__u32	file_pos;	/* Sysctl file position to read from, write to.
-				 * Allows 1,2,4-byte read an 4-byte write.
-				 */
-};
-
-struct bpf_sockopt {
-	__bpf_md_ptr(struct bpf_sock *, sk);
-	__bpf_md_ptr(void *, optval);
-	__bpf_md_ptr(void *, optval_end);
-
-	__s32	level;
-	__s32	optname;
-	__s32	optlen;
-	__s32	retval;
-};
-
 #endif /* _UAPI__LINUX_BPF_H__ */
diff --git a/original/uapi/linux/bpfilter.h b/original/uapi/linux/bpfilter.h
index cbc1f58..2ec3cc9 100644
--- a/original/uapi/linux/bpfilter.h
+++ b/original/uapi/linux/bpfilter.h
@@ -1,4 +1,4 @@
-/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
+/* SPDX-License-Identifier: GPL-2.0 */
 #ifndef _UAPI_LINUX_BPFILTER_H
 #define _UAPI_LINUX_BPFILTER_H
 
diff --git a/original/uapi/linux/btf.h b/original/uapi/linux/btf.h
index 63ae4a3..7b7475e 100644
--- a/original/uapi/linux/btf.h
+++ b/original/uapi/linux/btf.h
@@ -39,11 +39,11 @@
 	 *             struct, union and fwd
 	 */
 	__u32 info;
-	/* "size" is used by INT, ENUM, STRUCT, UNION and DATASEC.
+	/* "size" is used by INT, ENUM, STRUCT and UNION.
 	 * "size" tells the size of the type it is describing.
 	 *
 	 * "type" is used by PTR, TYPEDEF, VOLATILE, CONST, RESTRICT,
-	 * FUNC, FUNC_PROTO and VAR.
+	 * FUNC and FUNC_PROTO.
 	 * "type" is a type_id referring to another type.
 	 */
 	union {
@@ -70,10 +70,8 @@
 #define BTF_KIND_RESTRICT	11	/* Restrict	*/
 #define BTF_KIND_FUNC		12	/* Function	*/
 #define BTF_KIND_FUNC_PROTO	13	/* Function Proto	*/
-#define BTF_KIND_VAR		14	/* Variable	*/
-#define BTF_KIND_DATASEC	15	/* Section	*/
-#define BTF_KIND_MAX		BTF_KIND_DATASEC
-#define NR_BTF_KINDS		(BTF_KIND_MAX + 1)
+#define BTF_KIND_MAX		13
+#define NR_BTF_KINDS		14
 
 /* For some specific BTF_KIND, "struct btf_type" is immediately
  * followed by extra data.
@@ -83,7 +81,7 @@
  * is the 32 bits arrangement:
  */
 #define BTF_INT_ENCODING(VAL)	(((VAL) & 0x0f000000) >> 24)
-#define BTF_INT_OFFSET(VAL)	(((VAL) & 0x00ff0000) >> 16)
+#define BTF_INT_OFFSET(VAL)	(((VAL  & 0x00ff0000)) >> 16)
 #define BTF_INT_BITS(VAL)	((VAL)  & 0x000000ff)
 
 /* Attributes stored in the BTF_INT_ENCODING */
@@ -140,26 +138,4 @@
 	__u32	type;
 };
 
-enum {
-	BTF_VAR_STATIC = 0,
-	BTF_VAR_GLOBAL_ALLOCATED,
-};
-
-/* BTF_KIND_VAR is followed by a single "struct btf_var" to describe
- * additional information related to the variable such as its linkage.
- */
-struct btf_var {
-	__u32	linkage;
-};
-
-/* BTF_KIND_DATASEC is followed by multiple "struct btf_var_secinfo"
- * to describe all BTF_KIND_VAR types it contains along with it's
- * in-section offset as well as size.
- */
-struct btf_var_secinfo {
-	__u32	type;
-	__u32	offset;
-	__u32	size;
-};
-
 #endif /* _UAPI__LINUX_BTF_H__ */
diff --git a/original/uapi/linux/btrfs.h b/original/uapi/linux/btrfs.h
index c195896..e0763bc 100644
--- a/original/uapi/linux/btrfs.h
+++ b/original/uapi/linux/btrfs.h
@@ -837,8 +837,6 @@
 				   struct btrfs_ioctl_vol_args)
 #define BTRFS_IOC_SCAN_DEV _IOW(BTRFS_IOCTL_MAGIC, 4, \
 				   struct btrfs_ioctl_vol_args)
-#define BTRFS_IOC_FORGET_DEV _IOW(BTRFS_IOCTL_MAGIC, 5, \
-				   struct btrfs_ioctl_vol_args)
 /* trans start and trans end are dangerous, and only for
  * use by applications that know how to avoid the
  * resulting deadlocks
diff --git a/original/uapi/linux/btrfs_tree.h b/original/uapi/linux/btrfs_tree.h
index 34d5b34..e974f4b 100644
--- a/original/uapi/linux/btrfs_tree.h
+++ b/original/uapi/linux/btrfs_tree.h
@@ -307,8 +307,6 @@
  *
  * Used by:
  * struct btrfs_dir_item.type
- *
- * Values 0..7 must match common file type values in fs_types.h.
  */
 #define BTRFS_FT_UNKNOWN	0
 #define BTRFS_FT_REG_FILE	1
@@ -866,8 +864,6 @@
 #define BTRFS_BLOCK_GROUP_RAID56_MASK	(BTRFS_BLOCK_GROUP_RAID5 |   \
 					 BTRFS_BLOCK_GROUP_RAID6)
 
-#define BTRFS_BLOCK_GROUP_RAID1_MASK	(BTRFS_BLOCK_GROUP_RAID1)
-
 /*
  * We need a bit for restriper to be able to tell when chunks of type
  * SINGLE are available.  This "extended" profile format is used in
diff --git a/original/uapi/linux/cec.h b/original/uapi/linux/cec.h
index 5704fa0..3094af6 100644
--- a/original/uapi/linux/cec.h
+++ b/original/uapi/linux/cec.h
@@ -144,7 +144,6 @@
 
 /* cec_msg flags field */
 #define CEC_MSG_FL_REPLY_TO_FOLLOWERS	(1 << 0)
-#define CEC_MSG_FL_RAW			(1 << 1)
 
 /* cec_msg tx/rx_status field */
 #define CEC_TX_STATUS_OK		(1 << 0)
diff --git a/original/uapi/linux/coda.h b/original/uapi/linux/coda.h
index aa34c2d..695fade 100644
--- a/original/uapi/linux/coda.h
+++ b/original/uapi/linux/coda.h
@@ -86,6 +86,10 @@
 
 #define inline
 
+struct timespec {
+        long       ts_sec;
+        long       ts_nsec;
+};
 #else  /* DJGPP but not KERNEL */
 #include <sys/time.h>
 typedef unsigned long long u_quad_t;
@@ -106,6 +110,13 @@
 #define cdev_t dev_t
 #endif
 
+#ifdef __CYGWIN32__
+struct timespec {
+        time_t  tv_sec;         /* seconds */
+        long    tv_nsec;        /* nanoseconds */
+};
+#endif
+
 #ifndef __BIT_TYPES_DEFINED__
 #define __BIT_TYPES_DEFINED__
 typedef signed char	      int8_t;
@@ -200,11 +211,6 @@
  */
 enum coda_vtype	{ C_VNON, C_VREG, C_VDIR, C_VBLK, C_VCHR, C_VLNK, C_VSOCK, C_VFIFO, C_VBAD };
 
-struct coda_timespec {
-	int64_t		tv_sec;		/* seconds */
-	long		tv_nsec;	/* nanoseconds */
-};
-
 struct coda_vattr {
 	long     	va_type;	/* vnode type (for create) */
 	u_short		va_mode;	/* files access mode and type */
@@ -214,9 +220,9 @@
 	long		va_fileid;	/* file id */
 	u_quad_t	va_size;	/* file size in bytes */
 	long		va_blocksize;	/* blocksize preferred for i/o */
-	struct coda_timespec va_atime;	/* time of last access */
-	struct coda_timespec va_mtime;	/* time of last modification */
-	struct coda_timespec va_ctime;	/* time file changed */
+	struct timespec	va_atime;	/* time of last access */
+	struct timespec	va_mtime;	/* time of last modification */
+	struct timespec	va_ctime;	/* time file changed */
 	u_long		va_gen;		/* generation number of file */
 	u_long		va_flags;	/* flags defined for file */
 	cdev_t	        va_rdev;	/* device special file represents */
@@ -271,8 +277,7 @@
 #define CODA_STATFS	 34
 #define CODA_STORE	 35
 #define CODA_RELEASE	 36
-#define CODA_ACCESS_INTENT 37
-#define CODA_NCALLS 38
+#define CODA_NCALLS 37
 
 #define DOWNCALL(opcode) (opcode >= CODA_REPLACE && opcode <= CODA_PURGEFID)
 
@@ -282,12 +287,7 @@
 
 #define CIOC_KERNEL_VERSION _IOWR('c', 10, size_t)
 
-//      CODA_KERNEL_VERSION 0 /* don't care about kernel version number */
-//      CODA_KERNEL_VERSION 1 /* The old venus 4.6 compatible interface */
-//      CODA_KERNEL_VERSION 2 /* venus_lookup gets an extra parameter */
-//      CODA_KERNEL_VERSION 3 /* 128-bit file identifiers */
-//      CODA_KERNEL_VERSION 4 /* 64-bit timespec */
-#define CODA_KERNEL_VERSION 5 /* access intent support */
+#define CODA_KERNEL_VERSION 3 /* 128-bit file identifiers */
 
 /*
  *        Venus <-> Coda  RPC arguments
@@ -295,8 +295,8 @@
 struct coda_in_hdr {
     u_int32_t opcode;
     u_int32_t unique;	    /* Keep multiple outstanding msgs distinct */
-    __kernel_pid_t pid;
-    __kernel_pid_t pgid;
+    pid_t pid;
+    pid_t pgid;
     vuid_t uid;
 };
 
@@ -642,25 +642,6 @@
     struct coda_statfs stat;
 };
 
-#define CODA_ACCESS_TYPE_READ		1
-#define CODA_ACCESS_TYPE_WRITE		2
-#define CODA_ACCESS_TYPE_MMAP		3
-#define CODA_ACCESS_TYPE_READ_FINISH	4
-#define CODA_ACCESS_TYPE_WRITE_FINISH	5
-
-/* coda_access_intent: NO_OUT */
-struct coda_access_intent_in {
-	struct coda_in_hdr ih;
-	struct CodaFid VFid;
-	int count;
-	int pos;
-	int type;
-};
-
-struct coda_access_intent_out {
-	struct coda_out_hdr out;
-};
-
 /* 
  * Occasionally, we don't cache the fid returned by CODA_LOOKUP. 
  * For instance, if the fid is inconsistent. 
@@ -692,7 +673,6 @@
     struct coda_open_by_fd_in coda_open_by_fd;
     struct coda_open_by_path_in coda_open_by_path;
     struct coda_statfs_in coda_statfs;
-    struct coda_access_intent_in coda_access_intent;
 };
 
 union outputArgs {
diff --git a/original/uapi/linux/coda_psdev.h b/original/uapi/linux/coda_psdev.h
new file mode 100644
index 0000000..aa6623e
--- /dev/null
+++ b/original/uapi/linux/coda_psdev.h
@@ -0,0 +1,28 @@
+/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
+#ifndef _UAPI__CODA_PSDEV_H
+#define _UAPI__CODA_PSDEV_H
+
+#include <linux/magic.h>
+
+#define CODA_PSDEV_MAJOR 67
+#define MAX_CODADEVS  5	   /* how many do we allow */
+
+
+/* messages between coda filesystem in kernel and Venus */
+struct upc_req {
+	struct list_head    uc_chain;
+	caddr_t	            uc_data;
+	u_short	            uc_flags;
+	u_short             uc_inSize;  /* Size is at most 5000 bytes */
+	u_short	            uc_outSize;
+	u_short	            uc_opcode;  /* copied from data to save lookup */
+	int		    uc_unique;
+	wait_queue_head_t   uc_sleep;   /* process' wait queue */
+};
+
+#define CODA_REQ_ASYNC  0x1
+#define CODA_REQ_READ   0x2
+#define CODA_REQ_WRITE  0x4
+#define CODA_REQ_ABORT  0x8
+
+#endif /* _UAPI__CODA_PSDEV_H */
diff --git a/original/uapi/linux/devlink.h b/original/uapi/linux/devlink.h
index ffc9932..6e52d36 100644
--- a/original/uapi/linux/devlink.h
+++ b/original/uapi/linux/devlink.h
@@ -89,24 +89,6 @@
 	DEVLINK_CMD_REGION_DEL,
 	DEVLINK_CMD_REGION_READ,
 
-	DEVLINK_CMD_PORT_PARAM_GET,	/* can dump */
-	DEVLINK_CMD_PORT_PARAM_SET,
-	DEVLINK_CMD_PORT_PARAM_NEW,
-	DEVLINK_CMD_PORT_PARAM_DEL,
-
-	DEVLINK_CMD_INFO_GET,		/* can dump */
-
-	DEVLINK_CMD_HEALTH_REPORTER_GET,
-	DEVLINK_CMD_HEALTH_REPORTER_SET,
-	DEVLINK_CMD_HEALTH_REPORTER_RECOVER,
-	DEVLINK_CMD_HEALTH_REPORTER_DIAGNOSE,
-	DEVLINK_CMD_HEALTH_REPORTER_DUMP_GET,
-	DEVLINK_CMD_HEALTH_REPORTER_DUMP_CLEAR,
-
-	DEVLINK_CMD_FLASH_UPDATE,
-	DEVLINK_CMD_FLASH_UPDATE_END,		/* notification only */
-	DEVLINK_CMD_FLASH_UPDATE_STATUS,	/* notification only */
-
 	/* add new commands above here */
 	__DEVLINK_CMD_MAX,
 	DEVLINK_CMD_MAX = __DEVLINK_CMD_MAX - 1
@@ -169,14 +151,6 @@
 	DEVLINK_PORT_FLAVOUR_DSA, /* Distributed switch architecture
 				   * interconnect port.
 				   */
-	DEVLINK_PORT_FLAVOUR_PCI_PF, /* Represents eswitch port for
-				      * the PCI PF. It is an internal
-				      * port that faces the PCI PF.
-				      */
-	DEVLINK_PORT_FLAVOUR_PCI_VF, /* Represents eswitch port
-				      * for the PCI VF. It is an internal
-				      * port that faces the PCI VF.
-				      */
 };
 
 enum devlink_param_cmode {
@@ -311,43 +285,6 @@
 	DEVLINK_ATTR_REGION_CHUNK_ADDR,         /* u64 */
 	DEVLINK_ATTR_REGION_CHUNK_LEN,          /* u64 */
 
-	DEVLINK_ATTR_INFO_DRIVER_NAME,		/* string */
-	DEVLINK_ATTR_INFO_SERIAL_NUMBER,	/* string */
-	DEVLINK_ATTR_INFO_VERSION_FIXED,	/* nested */
-	DEVLINK_ATTR_INFO_VERSION_RUNNING,	/* nested */
-	DEVLINK_ATTR_INFO_VERSION_STORED,	/* nested */
-	DEVLINK_ATTR_INFO_VERSION_NAME,		/* string */
-	DEVLINK_ATTR_INFO_VERSION_VALUE,	/* string */
-
-	DEVLINK_ATTR_SB_POOL_CELL_SIZE,		/* u32 */
-
-	DEVLINK_ATTR_FMSG,			/* nested */
-	DEVLINK_ATTR_FMSG_OBJ_NEST_START,	/* flag */
-	DEVLINK_ATTR_FMSG_PAIR_NEST_START,	/* flag */
-	DEVLINK_ATTR_FMSG_ARR_NEST_START,	/* flag */
-	DEVLINK_ATTR_FMSG_NEST_END,		/* flag */
-	DEVLINK_ATTR_FMSG_OBJ_NAME,		/* string */
-	DEVLINK_ATTR_FMSG_OBJ_VALUE_TYPE,	/* u8 */
-	DEVLINK_ATTR_FMSG_OBJ_VALUE_DATA,	/* dynamic */
-
-	DEVLINK_ATTR_HEALTH_REPORTER,			/* nested */
-	DEVLINK_ATTR_HEALTH_REPORTER_NAME,		/* string */
-	DEVLINK_ATTR_HEALTH_REPORTER_STATE,		/* u8 */
-	DEVLINK_ATTR_HEALTH_REPORTER_ERR_COUNT,		/* u64 */
-	DEVLINK_ATTR_HEALTH_REPORTER_RECOVER_COUNT,	/* u64 */
-	DEVLINK_ATTR_HEALTH_REPORTER_DUMP_TS,		/* u64 */
-	DEVLINK_ATTR_HEALTH_REPORTER_GRACEFUL_PERIOD,	/* u64 */
-	DEVLINK_ATTR_HEALTH_REPORTER_AUTO_RECOVER,	/* u8 */
-
-	DEVLINK_ATTR_FLASH_UPDATE_FILE_NAME,	/* string */
-	DEVLINK_ATTR_FLASH_UPDATE_COMPONENT,	/* string */
-	DEVLINK_ATTR_FLASH_UPDATE_STATUS_MSG,	/* string */
-	DEVLINK_ATTR_FLASH_UPDATE_STATUS_DONE,	/* u64 */
-	DEVLINK_ATTR_FLASH_UPDATE_STATUS_TOTAL,	/* u64 */
-
-	DEVLINK_ATTR_PORT_PCI_PF_NUMBER,	/* u16 */
-	DEVLINK_ATTR_PORT_PCI_VF_NUMBER,	/* u16 */
-
 	/* add new attributes above here, update the policy in devlink.c */
 
 	__DEVLINK_ATTR_MAX,
diff --git a/original/uapi/linux/dm-ioctl.h b/original/uapi/linux/dm-ioctl.h
index f396a82..d1e4951 100644
--- a/original/uapi/linux/dm-ioctl.h
+++ b/original/uapi/linux/dm-ioctl.h
@@ -270,9 +270,9 @@
 #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	40
+#define DM_VERSION_MINOR	39
 #define DM_VERSION_PATCHLEVEL	0
-#define DM_VERSION_EXTRA	"-ioctl (2019-01-18)"
+#define DM_VERSION_EXTRA	"-ioctl (2018-04-03)"
 
 /* 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 dbc7092..d75df52 100644
--- a/original/uapi/linux/dma-buf.h
+++ b/original/uapi/linux/dma-buf.h
@@ -35,10 +35,7 @@
 #define DMA_BUF_SYNC_VALID_FLAGS_MASK \
 	(DMA_BUF_SYNC_RW | DMA_BUF_SYNC_END)
 
-#define DMA_BUF_NAME_LEN	32
-
 #define DMA_BUF_BASE		'b'
 #define DMA_BUF_IOCTL_SYNC	_IOW(DMA_BUF_BASE, 0, struct dma_buf_sync)
-#define DMA_BUF_SET_NAME	_IOW(DMA_BUF_BASE, 1, const char *)
 
 #endif
diff --git a/original/uapi/linux/dvb/audio.h b/original/uapi/linux/dvb/audio.h
index 2f869da..afeae06 100644
--- a/original/uapi/linux/dvb/audio.h
+++ b/original/uapi/linux/dvb/audio.h
@@ -1,8 +1,6 @@
 /* SPDX-License-Identifier: LGPL-2.1+ WITH Linux-syscall-note */
 /*
- * audio.h - DEPRECATED MPEG-TS audio decoder API
- *
- * NOTE: should not be used on future drivers
+ * audio.h
  *
  * Copyright (C) 2000 Ralph  Metzler <ralph@convergence.de>
  *                  & Marcus Metzler <marcus@convergence.de>
@@ -54,7 +52,7 @@
 typedef struct audio_mixer {
 	unsigned int volume_left;
 	unsigned int volume_right;
-  /* what else do we need? bass, pass-through, ... */
+  // what else do we need? bass, pass-through, ...
 } audio_mixer_t;
 
 
diff --git a/original/uapi/linux/dvb/osd.h b/original/uapi/linux/dvb/osd.h
index 858997c..e163508 100644
--- a/original/uapi/linux/dvb/osd.h
+++ b/original/uapi/linux/dvb/osd.h
@@ -1,8 +1,6 @@
 /* SPDX-License-Identifier: LGPL-2.1+ WITH Linux-syscall-note */
 /*
- * osd.h - DEPRECATED On Screen Display API
- *
- * NOTE: should not be used on future drivers
+ * osd.h
  *
  * Copyright (C) 2001 Ralph  Metzler <ralph@convergence.de>
  *                  & Marcus Metzler <marcus@convergence.de>
@@ -30,108 +28,74 @@
 #include <linux/compiler.h>
 
 typedef enum {
-	/* All functions return -2 on "not open" */
-	OSD_Close = 1,	/* () */
-	/*
-	 * Disables OSD and releases the buffers
-	 * returns 0 on success
-	 */
-	OSD_Open,	/* (x0,y0,x1,y1,BitPerPixel[2/4/8](color&0x0F),mix[0..15](color&0xF0)) */
-	/*
-	 * Opens OSD with this size and bit depth
-	 * returns 0 on success, -1 on DRAM allocation error, -2 on "already open"
-	 */
-	OSD_Show,	/* () */
-	/*
-	 * enables OSD mode
-	 * returns 0 on success
-	 */
-	OSD_Hide,	/* () */
-	/*
-	 * disables OSD mode
-	 * returns 0 on success
-	 */
-	OSD_Clear,	/* () */
-	/*
-	 * Sets all pixel to color 0
-	 * returns 0 on success
-	 */
-	OSD_Fill,	/* (color) */
-	/*
-	 * Sets all pixel to color <col>
-	 * returns 0 on success
-	 */
-	OSD_SetColor,	/* (color,R{x0},G{y0},B{x1},opacity{y1}) */
-	/*
-	 * set palette entry <num> to <r,g,b>, <mix> and <trans> apply
-	 * R,G,B: 0..255
-	 * R=Red, G=Green, B=Blue
-	 * opacity=0:      pixel opacity 0% (only video pixel shows)
-	 * opacity=1..254: pixel opacity as specified in header
-	 * opacity=255:    pixel opacity 100% (only OSD pixel shows)
-	 * returns 0 on success, -1 on error
-	 */
-	OSD_SetPalette,	/* (firstcolor{color},lastcolor{x0},data) */
-	/*
-	 * Set a number of entries in the palette
-	 * sets the entries "firstcolor" through "lastcolor" from the array "data"
-	 * data has 4 byte for each color:
-	 * R,G,B, and a opacity value: 0->transparent, 1..254->mix, 255->pixel
-	 */
-	OSD_SetTrans,	/* (transparency{color}) */
-	/*
-	 * Sets transparency of mixed pixel (0..15)
-	 * returns 0 on success
-	 */
-	OSD_SetPixel,	/* (x0,y0,color) */
-	/*
-	 * sets pixel <x>,<y> to color number <col>
-	 * returns 0 on success, -1 on error
-	 */
-	OSD_GetPixel,	/* (x0,y0) */
-	/* returns color number of pixel <x>,<y>,  or -1 */
-	OSD_SetRow,	/* (x0,y0,x1,data) */
-	/*
-	 * fills pixels x0,y through  x1,y with the content of data[]
-	 * returns 0 on success, -1 on clipping all pixel (no pixel drawn)
-	 */
-	OSD_SetBlock,	/* (x0,y0,x1,y1,increment{color},data) */
-	/*
-	 * fills pixels x0,y0 through  x1,y1 with the content of data[]
-	 * inc contains the width of one line in the data block,
-	 * inc<=0 uses blockwidth as linewidth
-	 * returns 0 on success, -1 on clipping all pixel
-	 */
-	OSD_FillRow,	/* (x0,y0,x1,color) */
-	/*
-	 * fills pixels x0,y through  x1,y with the color <col>
-	 * returns 0 on success, -1 on clipping all pixel
-	 */
-	OSD_FillBlock,	/* (x0,y0,x1,y1,color) */
-	/*
-	 * fills pixels x0,y0 through  x1,y1 with the color <col>
-	 * returns 0 on success, -1 on clipping all pixel
-	 */
-	OSD_Line,	/* (x0,y0,x1,y1,color) */
-	/*
-	 * draw a line from x0,y0 to x1,y1 with the color <col>
-	 * returns 0 on success
-	 */
-	OSD_Query,	/* (x0,y0,x1,y1,xasp{color}}), yasp=11 */
-	/*
-	 * fills parameters with the picture dimensions and the pixel aspect ratio
-	 * returns 0 on success
-	 */
-	OSD_Test,       /* () */
-	/*
-	 * draws a test picture. for debugging purposes only
-	 * returns 0 on success
-	 * TODO: remove "test" in final version
-	 */
-	OSD_Text,	/* (x0,y0,size,color,text) */
-	OSD_SetWindow,	/* (x0) set window with number 0<x0<8 as current */
-	OSD_MoveWindow,	/* move current window to (x0, y0) */
-	OSD_OpenRaw,	/* Open other types of OSD windows */
+  // All functions return -2 on "not open"
+  OSD_Close=1,    // ()
+  // Disables OSD and releases the buffers
+  // returns 0 on success
+  OSD_Open,       // (x0,y0,x1,y1,BitPerPixel[2/4/8](color&0x0F),mix[0..15](color&0xF0))
+  // Opens OSD with this size and bit depth
+  // returns 0 on success, -1 on DRAM allocation error, -2 on "already open"
+  OSD_Show,       // ()
+  // enables OSD mode
+  // returns 0 on success
+  OSD_Hide,       // ()
+  // disables OSD mode
+  // returns 0 on success
+  OSD_Clear,      // ()
+  // Sets all pixel to color 0
+  // returns 0 on success
+  OSD_Fill,       // (color)
+  // Sets all pixel to color <col>
+  // returns 0 on success
+  OSD_SetColor,   // (color,R{x0},G{y0},B{x1},opacity{y1})
+  // set palette entry <num> to <r,g,b>, <mix> and <trans> apply
+  // R,G,B: 0..255
+  // R=Red, G=Green, B=Blue
+  // opacity=0:      pixel opacity 0% (only video pixel shows)
+  // opacity=1..254: pixel opacity as specified in header
+  // opacity=255:    pixel opacity 100% (only OSD pixel shows)
+  // returns 0 on success, -1 on error
+  OSD_SetPalette, // (firstcolor{color},lastcolor{x0},data)
+  // Set a number of entries in the palette
+  // sets the entries "firstcolor" through "lastcolor" from the array "data"
+  // data has 4 byte for each color:
+  // R,G,B, and a opacity value: 0->transparent, 1..254->mix, 255->pixel
+  OSD_SetTrans,   // (transparency{color})
+  // Sets transparency of mixed pixel (0..15)
+  // returns 0 on success
+  OSD_SetPixel,   // (x0,y0,color)
+  // sets pixel <x>,<y> to color number <col>
+  // returns 0 on success, -1 on error
+  OSD_GetPixel,   // (x0,y0)
+  // returns color number of pixel <x>,<y>,  or -1
+  OSD_SetRow,     // (x0,y0,x1,data)
+  // fills pixels x0,y through  x1,y with the content of data[]
+  // returns 0 on success, -1 on clipping all pixel (no pixel drawn)
+  OSD_SetBlock,   // (x0,y0,x1,y1,increment{color},data)
+  // fills pixels x0,y0 through  x1,y1 with the content of data[]
+  // inc contains the width of one line in the data block,
+  // inc<=0 uses blockwidth as linewidth
+  // returns 0 on success, -1 on clipping all pixel
+  OSD_FillRow,    // (x0,y0,x1,color)
+  // fills pixels x0,y through  x1,y with the color <col>
+  // returns 0 on success, -1 on clipping all pixel
+  OSD_FillBlock,  // (x0,y0,x1,y1,color)
+  // fills pixels x0,y0 through  x1,y1 with the color <col>
+  // returns 0 on success, -1 on clipping all pixel
+  OSD_Line,       // (x0,y0,x1,y1,color)
+  // draw a line from x0,y0 to x1,y1 with the color <col>
+  // returns 0 on success
+  OSD_Query,      // (x0,y0,x1,y1,xasp{color}}), yasp=11
+  // fills parameters with the picture dimensions and the pixel aspect ratio
+  // returns 0 on success
+  OSD_Test,       // ()
+  // draws a test picture. for debugging purposes only
+  // returns 0 on success
+// TODO: remove "test" in final version
+  OSD_Text,       // (x0,y0,size,color,text)
+  OSD_SetWindow, //  (x0) set window with number 0<x0<8 as current
+  OSD_MoveWindow, //  move current window to (x0, y0)
+  OSD_OpenRaw,	// Open other types of OSD windows
 } OSD_Command;
 
 typedef struct osd_cmd_s {
diff --git a/original/uapi/linux/dvb/video.h b/original/uapi/linux/dvb/video.h
index 179f1ec..43ba8b0 100644
--- a/original/uapi/linux/dvb/video.h
+++ b/original/uapi/linux/dvb/video.h
@@ -1,8 +1,6 @@
 /* SPDX-License-Identifier: LGPL-2.1+ WITH Linux-syscall-note */
 /*
- * video.h - DEPRECATED MPEG-TS video decoder API
- *
- * NOTE: should not be used on future drivers
+ * video.h
  *
  * Copyright (C) 2000 Marcus Metzler <marcus@convergence.de>
  *                  & Ralph  Metzler <ralph@convergence.de>
diff --git a/original/uapi/linux/elf-em.h b/original/uapi/linux/elf-em.h
index f47e853..0c3000f 100644
--- a/original/uapi/linux/elf-em.h
+++ b/original/uapi/linux/elf-em.h
@@ -34,20 +34,14 @@
 #define EM_M32R		88	/* Renesas M32R */
 #define EM_MN10300	89	/* Panasonic/MEI MN10300, AM33 */
 #define EM_OPENRISC     92     /* OpenRISC 32-bit embedded processor */
-#define EM_ARCOMPACT	93	/* ARCompact processor */
 #define EM_XTENSA	94	/* Tensilica Xtensa Architecture */
 #define EM_BLACKFIN     106     /* ADI Blackfin Processor */
-#define EM_UNICORE	110	/* UniCore-32 */
 #define EM_ALTERA_NIOS2	113	/* Altera Nios II soft-core processor */
 #define EM_TI_C6000	140	/* TI C6X DSPs */
-#define EM_HEXAGON	164	/* QUALCOMM Hexagon */
-#define EM_NDS32	167	/* Andes Technology compact code size
-				   embedded RISC processor family */
 #define EM_AARCH64	183	/* ARM 64 bit */
 #define EM_TILEPRO	188	/* Tilera TILEPro */
 #define EM_MICROBLAZE	189	/* Xilinx MicroBlaze */
 #define EM_TILEGX	191	/* Tilera TILE-Gx */
-#define EM_ARCV2	195	/* ARCv2 Cores */
 #define EM_RISCV	243	/* RISC-V */
 #define EM_BPF		247	/* Linux BPF - in-kernel virtual machine */
 #define EM_CSKY		252	/* C-SKY */
diff --git a/original/uapi/linux/elf.h b/original/uapi/linux/elf.h
index 34c02e4..e4d6ddd 100644
--- a/original/uapi/linux/elf.h
+++ b/original/uapi/linux/elf.h
@@ -421,8 +421,6 @@
 #define NT_ARM_SYSTEM_CALL	0x404	/* ARM system call number */
 #define NT_ARM_SVE	0x405		/* ARM Scalable Vector Extension registers */
 #define NT_ARM_PAC_MASK		0x406	/* ARM pointer authentication code masks */
-#define NT_ARM_PACA_KEYS	0x407	/* ARM pointer authentication address keys */
-#define NT_ARM_PACG_KEYS	0x408	/* ARM pointer authentication generic key */
 #define NT_ARC_V2	0x600		/* ARCv2 accumulator/extra registers */
 #define NT_VMCOREDD	0x700		/* Vmcore Device Dump Note */
 #define NT_MIPS_DSP	0x800		/* MIPS DSP ASE registers */
diff --git a/original/uapi/linux/errqueue.h b/original/uapi/linux/errqueue.h
index 28491da..c015120 100644
--- a/original/uapi/linux/errqueue.h
+++ b/original/uapi/linux/errqueue.h
@@ -3,7 +3,6 @@
 #define _UAPI_LINUX_ERRQUEUE_H
 
 #include <linux/types.h>
-#include <linux/time_types.h>
 
 struct sock_extended_err {
 	__u32	ee_errno;	
@@ -42,10 +41,6 @@
 	struct timespec ts[3];
 };
 
-struct scm_timestamping64 {
-	struct __kernel_timespec ts[3];
-};
-
 /* The type of scm_timestamping, passed in sock_extended_err ee_info.
  * This defines the type of ts[0]. For SCM_TSTAMP_SND only, if ts[0]
  * is zero, then this is a hardware timestamp and recorded in ts[2].
diff --git a/original/uapi/linux/ethtool.h b/original/uapi/linux/ethtool.h
index dd06302..17be76a 100644
--- a/original/uapi/linux/ethtool.h
+++ b/original/uapi/linux/ethtool.h
@@ -252,17 +252,9 @@
 #define DOWNSHIFT_DEV_DEFAULT_COUNT	0xff
 #define DOWNSHIFT_DEV_DISABLE		0
 
-/* Time in msecs after which link is reported as down
- * 0 = lowest time supported by the PHY
- * 0xff = off, link down detection according to standard
- */
-#define ETHTOOL_PHY_FAST_LINK_DOWN_ON	0
-#define ETHTOOL_PHY_FAST_LINK_DOWN_OFF	0xff
-
 enum phy_tunable_id {
 	ETHTOOL_PHY_ID_UNSPEC,
 	ETHTOOL_PHY_DOWNSHIFT,
-	ETHTOOL_PHY_FAST_LINK_DOWN,
 	/*
 	 * Add your fresh new phy tunable attribute above and remember to update
 	 * phy_tunable_strings[] in net/core/ethtool.c
@@ -1440,13 +1432,6 @@
 	ETHTOOL_LINK_MODE_56000baseSR4_Full_BIT	= 29,
 	ETHTOOL_LINK_MODE_56000baseLR4_Full_BIT	= 30,
 	ETHTOOL_LINK_MODE_25000baseCR_Full_BIT	= 31,
-
-	/* Last allowed bit for __ETHTOOL_LINK_MODE_LEGACY_MASK is bit
-	 * 31. Please do NOT define any SUPPORTED_* or ADVERTISED_*
-	 * macro for bits > 31. The only way to use indices > 31 is to
-	 * use the new ETHTOOL_GLINKSETTINGS/ETHTOOL_SLINKSETTINGS API.
-	 */
-
 	ETHTOOL_LINK_MODE_25000baseKR_Full_BIT	= 32,
 	ETHTOOL_LINK_MODE_25000baseSR_Full_BIT	= 33,
 	ETHTOOL_LINK_MODE_50000baseCR2_Full_BIT	= 34,
@@ -1468,26 +1453,15 @@
 	ETHTOOL_LINK_MODE_FEC_NONE_BIT	= 49,
 	ETHTOOL_LINK_MODE_FEC_RS_BIT	= 50,
 	ETHTOOL_LINK_MODE_FEC_BASER_BIT	= 51,
-	ETHTOOL_LINK_MODE_50000baseKR_Full_BIT		 = 52,
-	ETHTOOL_LINK_MODE_50000baseSR_Full_BIT		 = 53,
-	ETHTOOL_LINK_MODE_50000baseCR_Full_BIT		 = 54,
-	ETHTOOL_LINK_MODE_50000baseLR_ER_FR_Full_BIT	 = 55,
-	ETHTOOL_LINK_MODE_50000baseDR_Full_BIT		 = 56,
-	ETHTOOL_LINK_MODE_100000baseKR2_Full_BIT	 = 57,
-	ETHTOOL_LINK_MODE_100000baseSR2_Full_BIT	 = 58,
-	ETHTOOL_LINK_MODE_100000baseCR2_Full_BIT	 = 59,
-	ETHTOOL_LINK_MODE_100000baseLR2_ER2_FR2_Full_BIT = 60,
-	ETHTOOL_LINK_MODE_100000baseDR2_Full_BIT	 = 61,
-	ETHTOOL_LINK_MODE_200000baseKR4_Full_BIT	 = 62,
-	ETHTOOL_LINK_MODE_200000baseSR4_Full_BIT	 = 63,
-	ETHTOOL_LINK_MODE_200000baseLR4_ER4_FR4_Full_BIT = 64,
-	ETHTOOL_LINK_MODE_200000baseDR4_Full_BIT	 = 65,
-	ETHTOOL_LINK_MODE_200000baseCR4_Full_BIT	 = 66,
-	ETHTOOL_LINK_MODE_100baseT1_Full_BIT		 = 67,
-	ETHTOOL_LINK_MODE_1000baseT1_Full_BIT		 = 68,
 
-	/* must be last entry */
-	__ETHTOOL_LINK_MODE_MASK_NBITS
+	/* Last allowed bit for __ETHTOOL_LINK_MODE_LEGACY_MASK is bit
+	 * 31. Please do NOT define any SUPPORTED_* or ADVERTISED_*
+	 * macro for bits > 31. The only way to use indices > 31 is to
+	 * use the new ETHTOOL_GLINKSETTINGS/ETHTOOL_SLINKSETTINGS API.
+	 */
+
+	__ETHTOOL_LINK_MODE_LAST
+	  = ETHTOOL_LINK_MODE_FEC_BASER_BIT,
 };
 
 #define __ETHTOOL_LINK_MODE_LEGACY_MASK(base_name)	\
@@ -1595,13 +1569,12 @@
 #define SPEED_50000		50000
 #define SPEED_56000		56000
 #define SPEED_100000		100000
-#define SPEED_200000		200000
 
 #define SPEED_UNKNOWN		-1
 
 static inline int ethtool_validate_speed(__u32 speed)
 {
-	return speed <= INT_MAX || speed == (__u32)SPEED_UNKNOWN;
+	return speed <= INT_MAX || speed == SPEED_UNKNOWN;
 }
 
 /* Duplex, half or full. */
@@ -1714,9 +1687,6 @@
 #define ETH_MODULE_SFF_8436		0x4
 #define ETH_MODULE_SFF_8436_LEN		256
 
-#define ETH_MODULE_SFF_8636_MAX_LEN     640
-#define ETH_MODULE_SFF_8436_MAX_LEN     640
-
 /* Reset flags */
 /* The reset() operation must clear the flags for the components which
  * were actually reset.  On successful return, the flags indicate the
diff --git a/original/uapi/linux/fanotify.h b/original/uapi/linux/fanotify.h
index b9effa6..909c98f 100644
--- a/original/uapi/linux/fanotify.h
+++ b/original/uapi/linux/fanotify.h
@@ -7,16 +7,9 @@
 /* the following events that user-space can register for */
 #define FAN_ACCESS		0x00000001	/* File was accessed */
 #define FAN_MODIFY		0x00000002	/* File was modified */
-#define FAN_ATTRIB		0x00000004	/* Metadata changed */
 #define FAN_CLOSE_WRITE		0x00000008	/* Writtable file closed */
 #define FAN_CLOSE_NOWRITE	0x00000010	/* Unwrittable file closed */
 #define FAN_OPEN		0x00000020	/* File was opened */
-#define FAN_MOVED_FROM		0x00000040	/* File was moved from X */
-#define FAN_MOVED_TO		0x00000080	/* File was moved to Y */
-#define FAN_CREATE		0x00000100	/* Subfile was created */
-#define FAN_DELETE		0x00000200	/* Subfile was deleted */
-#define FAN_DELETE_SELF		0x00000400	/* Self was deleted */
-#define FAN_MOVE_SELF		0x00000800	/* Self was moved */
 #define FAN_OPEN_EXEC		0x00001000	/* File was opened for exec */
 
 #define FAN_Q_OVERFLOW		0x00004000	/* Event queued overflowed */
@@ -31,7 +24,6 @@
 
 /* helper events */
 #define FAN_CLOSE		(FAN_CLOSE_WRITE | FAN_CLOSE_NOWRITE) /* close */
-#define FAN_MOVE		(FAN_MOVED_FROM | FAN_MOVED_TO) /* moves */
 
 /* flags used for fanotify_init() */
 #define FAN_CLOEXEC		0x00000001
@@ -52,7 +44,6 @@
 
 /* Flags to determine fanotify event format */
 #define FAN_REPORT_TID		0x00000100	/* event->pid is thread id */
-#define FAN_REPORT_FID		0x00000200	/* Report unique file id */
 
 /* Deprecated - do not use this in programs and do not add new flags here! */
 #define FAN_ALL_INIT_FLAGS	(FAN_CLOEXEC | FAN_NONBLOCK | \
@@ -115,26 +106,6 @@
 	__s32 pid;
 };
 
-#define FAN_EVENT_INFO_TYPE_FID		1
-
-/* Variable length info record following event metadata */
-struct fanotify_event_info_header {
-	__u8 info_type;
-	__u8 pad;
-	__u16 len;
-};
-
-/* Unique file identifier info record */
-struct fanotify_event_info_fid {
-	struct fanotify_event_info_header hdr;
-	__kernel_fsid_t fsid;
-	/*
-	 * Following is an opaque struct file_handle that can be passed as
-	 * an argument to open_by_handle_at(2).
-	 */
-	unsigned char handle[0];
-};
-
 struct fanotify_response {
 	__s32 fd;
 	__u32 response;
diff --git a/original/uapi/linux/fcntl.h b/original/uapi/linux/fcntl.h
index 1d33835..6448cdd 100644
--- a/original/uapi/linux/fcntl.h
+++ b/original/uapi/linux/fcntl.h
@@ -41,7 +41,6 @@
 #define F_SEAL_SHRINK	0x0002	/* prevent file from shrinking */
 #define F_SEAL_GROW	0x0004	/* prevent file from growing */
 #define F_SEAL_WRITE	0x0008	/* prevent writes */
-#define F_SEAL_FUTURE_WRITE	0x0010  /* prevent future writes while mapped */
 /* (1U << 31) is reserved for signed error codes */
 
 /*
@@ -91,7 +90,5 @@
 #define AT_STATX_FORCE_SYNC	0x2000	/* - Force the attributes to be sync'd with the server */
 #define AT_STATX_DONT_SYNC	0x4000	/* - Don't sync attributes with the server */
 
-#define AT_RECURSIVE		0x8000	/* Apply to the entire subtree */
-
 
 #endif /* _UAPI_LINUX_FCNTL_H */
diff --git a/original/uapi/linux/flat.h b/original/uapi/linux/flat.h
new file mode 100644
index 0000000..27e595e
--- /dev/null
+++ b/original/uapi/linux/flat.h
@@ -0,0 +1,59 @@
+/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
+/*
+ * Copyright (C) 2002-2003  David McCullough <davidm@snapgear.com>
+ * Copyright (C) 1998       Kenneth Albanowski <kjahds@kjahds.com>
+ *                          The Silver Hammer Group, Ltd.
+ *
+ * This file provides the definitions and structures needed to
+ * support uClinux flat-format executables.
+ */
+
+#ifndef _UAPI_LINUX_FLAT_H
+#define _UAPI_LINUX_FLAT_H
+
+
+#define	FLAT_VERSION			0x00000004L
+
+#ifdef CONFIG_BINFMT_SHARED_FLAT
+#define	MAX_SHARED_LIBS			(4)
+#else
+#define	MAX_SHARED_LIBS			(1)
+#endif
+
+/*
+ * To make everything easier to port and manage cross platform
+ * development,  all fields are in network byte order.
+ */
+
+struct flat_hdr {
+	char magic[4];
+	unsigned long rev;          /* version (as above) */
+	unsigned long entry;        /* Offset of first executable instruction
+	                               with text segment from beginning of file */
+	unsigned long data_start;   /* Offset of data segment from beginning of
+	                               file */
+	unsigned long data_end;     /* Offset of end of data segment
+	                               from beginning of file */
+	unsigned long bss_end;      /* Offset of end of bss segment from beginning
+	                               of file */
+
+	/* (It is assumed that data_end through bss_end forms the bss segment.) */
+
+	unsigned long stack_size;   /* Size of stack, in bytes */
+	unsigned long reloc_start;  /* Offset of relocation records from
+	                               beginning of file */
+	unsigned long reloc_count;  /* Number of relocation records */
+	unsigned long flags;       
+	unsigned long build_date;   /* When the program/library was built */
+	unsigned long filler[5];    /* Reservered, set to zero */
+};
+
+#define FLAT_FLAG_RAM    0x0001 /* load program entirely into RAM */
+#define FLAT_FLAG_GOTPIC 0x0002 /* program is PIC with GOT */
+#define FLAT_FLAG_GZIP   0x0004 /* all but the header is compressed */
+#define FLAT_FLAG_GZDATA 0x0008 /* only data/relocs are compressed (for XIP) */
+#define FLAT_FLAG_KTRACE 0x0010 /* output useful kernel trace for debugging */
+
+
+
+#endif /* _UAPI_LINUX_FLAT_H */
diff --git a/original/uapi/linux/fou.h b/original/uapi/linux/fou.h
index 87c2c9f..f2ea833 100644
--- a/original/uapi/linux/fou.h
+++ b/original/uapi/linux/fou.h
@@ -16,12 +16,6 @@
 	FOU_ATTR_IPPROTO,			/* u8 */
 	FOU_ATTR_TYPE,				/* u8 */
 	FOU_ATTR_REMCSUM_NOPARTIAL,		/* flag */
-	FOU_ATTR_LOCAL_V4,			/* u32 */
-	FOU_ATTR_LOCAL_V6,			/* in6_addr */
-	FOU_ATTR_PEER_V4,			/* u32 */
-	FOU_ATTR_PEER_V6,			/* in6_addr */
-	FOU_ATTR_PEER_PORT,			/* u16 */
-	FOU_ATTR_IFINDEX,			/* s32 */
 
 	__FOU_ATTR_MAX,
 };
diff --git a/original/uapi/linux/fs.h b/original/uapi/linux/fs.h
index 59c71fa..121e82c 100644
--- a/original/uapi/linux/fs.h
+++ b/original/uapi/linux/fs.h
@@ -320,9 +320,6 @@
 #define SYNC_FILE_RANGE_WAIT_BEFORE	1
 #define SYNC_FILE_RANGE_WRITE		2
 #define SYNC_FILE_RANGE_WAIT_AFTER	4
-#define SYNC_FILE_RANGE_WRITE_AND_WAIT	(SYNC_FILE_RANGE_WRITE | \
-					 SYNC_FILE_RANGE_WAIT_BEFORE | \
-					 SYNC_FILE_RANGE_WAIT_AFTER)
 
 /*
  * Flags for preadv2/pwritev2:
diff --git a/original/uapi/linux/fuse.h b/original/uapi/linux/fuse.h
index 2971d29..b4967d4 100644
--- a/original/uapi/linux/fuse.h
+++ b/original/uapi/linux/fuse.h
@@ -44,7 +44,6 @@
  *  - add lock_owner field to fuse_setattr_in, fuse_read_in and fuse_write_in
  *  - add blksize field to fuse_attr
  *  - add file flags field to fuse_read_in and fuse_write_in
- *  - Add ATIME_NOW and MTIME_NOW flags to fuse_setattr_in
  *
  * 7.10
  *  - add nonseekable open flag
@@ -55,7 +54,7 @@
  *  - add POLL message and NOTIFY_POLL notification
  *
  * 7.12
- *  - add umask flag to input argument of create, mknod and mkdir
+ *  - add umask flag to input argument of open, mknod and mkdir
  *  - add notification messages for invalidation of inodes and
  *    directory entries
  *
@@ -123,16 +122,6 @@
  *  - add FOPEN_CACHE_DIR
  *  - add FUSE_MAX_PAGES, add max_pages to init_out
  *  - add FUSE_CACHE_SYMLINKS
- *
- *  7.29
- *  - add FUSE_NO_OPENDIR_SUPPORT flag
- *
- *  7.30
- *  - add FUSE_EXPLICIT_INVAL_DATA
- *  - add FUSE_IOCTL_COMPAT_X32
- *
- *  7.31
- *  - add FUSE_WRITE_KILL_PRIV flag
  */
 
 #ifndef _LINUX_FUSE_H
@@ -168,7 +157,7 @@
 #define FUSE_KERNEL_VERSION 7
 
 /** Minor version number of this interface */
-#define FUSE_KERNEL_MINOR_VERSION 31
+#define FUSE_KERNEL_MINOR_VERSION 28
 
 /** The node ID of the root inode */
 #define FUSE_ROOT_ID 1
@@ -237,13 +226,11 @@
  * FOPEN_KEEP_CACHE: don't invalidate the data cache on open
  * FOPEN_NONSEEKABLE: the file is not seekable
  * FOPEN_CACHE_DIR: allow caching this directory
- * FOPEN_STREAM: the file is stream-like (no file position at all)
  */
 #define FOPEN_DIRECT_IO		(1 << 0)
 #define FOPEN_KEEP_CACHE	(1 << 1)
 #define FOPEN_NONSEEKABLE	(1 << 2)
 #define FOPEN_CACHE_DIR		(1 << 3)
-#define FOPEN_STREAM		(1 << 4)
 
 /**
  * INIT request/reply flags
@@ -272,8 +259,6 @@
  * FUSE_ABORT_ERROR: reading the device after abort returns ECONNABORTED
  * FUSE_MAX_PAGES: init_out.max_pages contains the max number of req pages
  * FUSE_CACHE_SYMLINKS: cache READLINK responses
- * FUSE_NO_OPENDIR_SUPPORT: kernel supports zero-message opendir
- * FUSE_EXPLICIT_INVAL_DATA: only invalidate cached pages on explicit request
  */
 #define FUSE_ASYNC_READ		(1 << 0)
 #define FUSE_POSIX_LOCKS	(1 << 1)
@@ -299,8 +284,6 @@
 #define FUSE_ABORT_ERROR	(1 << 21)
 #define FUSE_MAX_PAGES		(1 << 22)
 #define FUSE_CACHE_SYMLINKS	(1 << 23)
-#define FUSE_NO_OPENDIR_SUPPORT (1 << 24)
-#define FUSE_EXPLICIT_INVAL_DATA (1 << 25)
 
 /**
  * CUSE INIT request/reply flags
@@ -330,11 +313,9 @@
  *
  * FUSE_WRITE_CACHE: delayed write from page cache, file handle is guessed
  * FUSE_WRITE_LOCKOWNER: lock_owner field is valid
- * FUSE_WRITE_KILL_PRIV: kill suid and sgid bits
  */
 #define FUSE_WRITE_CACHE	(1 << 0)
 #define FUSE_WRITE_LOCKOWNER	(1 << 1)
-#define FUSE_WRITE_KILL_PRIV	(1 << 2)
 
 /**
  * Read flags
@@ -349,7 +330,6 @@
  * FUSE_IOCTL_RETRY: retry with new iovecs
  * FUSE_IOCTL_32BIT: 32bit ioctl
  * FUSE_IOCTL_DIR: is a directory
- * FUSE_IOCTL_COMPAT_X32: x32 compat ioctl on 64bit machine (64bit time_t)
  *
  * FUSE_IOCTL_MAX_IOV: maximum of in_iovecs + out_iovecs
  */
@@ -358,7 +338,6 @@
 #define FUSE_IOCTL_RETRY	(1 << 2)
 #define FUSE_IOCTL_32BIT	(1 << 3)
 #define FUSE_IOCTL_DIR		(1 << 4)
-#define FUSE_IOCTL_COMPAT_X32	(1 << 5)
 
 #define FUSE_IOCTL_MAX_IOV	256
 
@@ -369,13 +348,6 @@
  */
 #define FUSE_POLL_SCHEDULE_NOTIFY (1 << 0)
 
-/**
- * Fsync flags
- *
- * FUSE_FSYNC_FDATASYNC: Sync data only, not metadata
- */
-#define FUSE_FSYNC_FDATASYNC	(1 << 0)
-
 enum fuse_opcode {
 	FUSE_LOOKUP		= 1,
 	FUSE_FORGET		= 2,  /* no reply */
diff --git a/original/uapi/linux/icmpv6.h b/original/uapi/linux/icmpv6.h
index 2622b5a..caf8dc0 100644
--- a/original/uapi/linux/icmpv6.h
+++ b/original/uapi/linux/icmpv6.h
@@ -90,8 +90,6 @@
 #define ICMPV6_TIME_EXCEED		3
 #define ICMPV6_PARAMPROB		4
 
-#define ICMPV6_ERRMSG_MAX       127
-
 #define ICMPV6_INFOMSG_MASK		0x80
 
 #define ICMPV6_ECHO_REQUEST		128
@@ -110,10 +108,6 @@
 #define ICMPV6_MOBILE_PREFIX_SOL	146
 #define ICMPV6_MOBILE_PREFIX_ADV	147
 
-#define ICMPV6_MRDISC_ADV		151
-
-#define ICMPV6_MSG_MAX          255
-
 /*
  *	Codes for Destination Unreachable
  */
diff --git a/original/uapi/linux/if_bonding.h b/original/uapi/linux/if_bonding.h
index 790585f..61a1bf6 100644
--- a/original/uapi/linux/if_bonding.h
+++ b/original/uapi/linux/if_bonding.h
@@ -117,30 +117,6 @@
 	__u8 partner_system[ETH_ALEN];
 };
 
-/* Embedded inside LINK_XSTATS_TYPE_BOND */
-enum {
-	BOND_XSTATS_UNSPEC,
-	BOND_XSTATS_3AD,
-	__BOND_XSTATS_MAX
-};
-#define BOND_XSTATS_MAX (__BOND_XSTATS_MAX - 1)
-
-/* Embedded inside BOND_XSTATS_3AD */
-enum {
-	BOND_3AD_STAT_LACPDU_RX,
-	BOND_3AD_STAT_LACPDU_TX,
-	BOND_3AD_STAT_LACPDU_UNKNOWN_RX,
-	BOND_3AD_STAT_LACPDU_ILLEGAL_RX,
-	BOND_3AD_STAT_MARKER_RX,
-	BOND_3AD_STAT_MARKER_TX,
-	BOND_3AD_STAT_MARKER_RESP_RX,
-	BOND_3AD_STAT_MARKER_RESP_TX,
-	BOND_3AD_STAT_MARKER_UNKNOWN_RX,
-	BOND_3AD_STAT_PAD,
-	__BOND_3AD_STAT_MAX
-};
-#define BOND_3AD_STAT_MAX (__BOND_3AD_STAT_MAX - 1)
-
 #endif /* _LINUX_IF_BONDING_H */
 
 /*
diff --git a/original/uapi/linux/if_ether.h b/original/uapi/linux/if_ether.h
index f6ceb2e..3a45b4a 100644
--- a/original/uapi/linux/if_ether.h
+++ b/original/uapi/linux/if_ether.h
@@ -91,7 +91,6 @@
 #define ETH_P_802_EX1	0x88B5		/* 802.1 Local Experimental 1.  */
 #define ETH_P_PREAUTH	0x88C7		/* 802.11 Preauthentication */
 #define ETH_P_TIPC	0x88CA		/* TIPC 			*/
-#define ETH_P_LLDP	0x88CC		/* Link Layer Discovery Protocol */
 #define ETH_P_MACSEC	0x88E5		/* 802.1ae MACsec */
 #define ETH_P_8021AH	0x88E7          /* 802.1ah Backbone Service Tag */
 #define ETH_P_MVRP	0x88F5          /* 802.1Q MVRP                  */
@@ -110,7 +109,6 @@
 #define ETH_P_QINQ2	0x9200		/* deprecated QinQ VLAN [ NOT AN OFFICIALLY REGISTERED ID ] */
 #define ETH_P_QINQ3	0x9300		/* deprecated QinQ VLAN [ NOT AN OFFICIALLY REGISTERED ID ] */
 #define ETH_P_EDSA	0xDADA		/* Ethertype DSA [ NOT AN OFFICIALLY REGISTERED ID ] */
-#define ETH_P_DSA_8021Q	0xDADB		/* Fake VLAN Header for DSA [ NOT AN OFFICIALLY REGISTERED ID ] */
 #define ETH_P_IFE	0xED3E		/* ForCES inter-FE LFB type */
 #define ETH_P_AF_IUCV   0xFBFB		/* IBM af_iucv [ NOT AN OFFICIALLY REGISTERED ID ] */
 
diff --git a/original/uapi/linux/if_link.h b/original/uapi/linux/if_link.h
index 4a8c02c..d653382 100644
--- a/original/uapi/linux/if_link.h
+++ b/original/uapi/linux/if_link.h
@@ -636,7 +636,6 @@
 	IFLA_BOND_AD_USER_PORT_KEY,
 	IFLA_BOND_AD_ACTOR_SYSTEM,
 	IFLA_BOND_TLB_DYNAMIC_LB,
-	IFLA_BOND_PEER_NOTIF_DELAY,
 	__IFLA_BOND_MAX,
 };
 
@@ -695,7 +694,6 @@
 	IFLA_VF_IB_NODE_GUID,	/* VF Infiniband node GUID */
 	IFLA_VF_IB_PORT_GUID,	/* VF Infiniband port GUID */
 	IFLA_VF_VLAN_LIST,	/* nested list of vlans, option for QinQ */
-	IFLA_VF_BROADCAST,	/* VF broadcast */
 	__IFLA_VF_MAX,
 };
 
@@ -706,10 +704,6 @@
 	__u8 mac[32]; /* MAX_ADDR_LEN */
 };
 
-struct ifla_vf_broadcast {
-	__u8 broadcast[32];
-};
-
 struct ifla_vf_vlan {
 	__u32 vf;
 	__u32 vlan; /* 0 - 4095, 0 disables VLAN filter */
@@ -931,7 +925,6 @@
 enum {
 	LINK_XSTATS_TYPE_UNSPEC,
 	LINK_XSTATS_TYPE_BRIDGE,
-	LINK_XSTATS_TYPE_BOND,
 	__LINK_XSTATS_TYPE_MAX
 };
 #define LINK_XSTATS_TYPE_MAX (__LINK_XSTATS_TYPE_MAX - 1)
diff --git a/original/uapi/linux/if_packet.h b/original/uapi/linux/if_packet.h
index 3d884d6..467b654 100644
--- a/original/uapi/linux/if_packet.h
+++ b/original/uapi/linux/if_packet.h
@@ -123,7 +123,7 @@
 /* Rx and Tx ring - header status */
 #define TP_STATUS_TS_SOFTWARE		(1 << 29)
 #define TP_STATUS_TS_SYS_HARDWARE	(1 << 30) /* deprecated, never set */
-#define TP_STATUS_TS_RAW_HARDWARE	(1U << 31)
+#define TP_STATUS_TS_RAW_HARDWARE	(1 << 31)
 
 /* Rx ring - feature request bits */
 #define TP_FT_REQ_FILL_RXHASH	0x1
diff --git a/original/uapi/linux/if_tun.h b/original/uapi/linux/if_tun.h
index 454ae31..23a6753 100644
--- a/original/uapi/linux/if_tun.h
+++ b/original/uapi/linux/if_tun.h
@@ -60,7 +60,6 @@
 #define TUNSETSTEERINGEBPF _IOR('T', 224, int)
 #define TUNSETFILTEREBPF _IOR('T', 225, int)
 #define TUNSETCARRIER _IOW('T', 226, int)
-#define TUNGETDEVNETNS _IO('T', 227)
 
 /* TUNSETIFF ifr flags */
 #define IFF_TUN		0x0001
diff --git a/original/uapi/linux/if_vlan.h b/original/uapi/linux/if_vlan.h
index 90a2c89..7a0e8bd 100644
--- a/original/uapi/linux/if_vlan.h
+++ b/original/uapi/linux/if_vlan.h
@@ -32,11 +32,10 @@
 };
 
 enum vlan_flags {
-	VLAN_FLAG_REORDER_HDR		= 0x1,
-	VLAN_FLAG_GVRP			= 0x2,
-	VLAN_FLAG_LOOSE_BINDING		= 0x4,
-	VLAN_FLAG_MVRP			= 0x8,
-	VLAN_FLAG_BRIDGE_BINDING	= 0x10,
+	VLAN_FLAG_REORDER_HDR	= 0x1,
+	VLAN_FLAG_GVRP		= 0x2,
+	VLAN_FLAG_LOOSE_BINDING	= 0x4,
+	VLAN_FLAG_MVRP		= 0x8,
 };
 
 enum vlan_name_types {
diff --git a/original/uapi/linux/if_xdp.h b/original/uapi/linux/if_xdp.h
index faaa5ca..caed8b1 100644
--- a/original/uapi/linux/if_xdp.h
+++ b/original/uapi/linux/if_xdp.h
@@ -46,7 +46,6 @@
 #define XDP_UMEM_FILL_RING		5
 #define XDP_UMEM_COMPLETION_RING	6
 #define XDP_STATISTICS			7
-#define XDP_OPTIONS			8
 
 struct xdp_umem_reg {
 	__u64 addr; /* Start of packet data area */
@@ -61,13 +60,6 @@
 	__u64 tx_invalid_descs; /* Dropped due to invalid descriptor */
 };
 
-struct xdp_options {
-	__u32 flags;
-};
-
-/* Flags for the flags field of struct xdp_options */
-#define XDP_OPTIONS_ZEROCOPY (1 << 0)
-
 /* Pgoff for mmaping the rings */
 #define XDP_PGOFF_RX_RING			  0
 #define XDP_PGOFF_TX_RING		 0x80000000
diff --git a/original/uapi/linux/igmp.h b/original/uapi/linux/igmp.h
index 90c28bc..7e44ac0 100644
--- a/original/uapi/linux/igmp.h
+++ b/original/uapi/linux/igmp.h
@@ -93,7 +93,6 @@
 #define IGMP_MTRACE_RESP		0x1e
 #define IGMP_MTRACE			0x1f
 
-#define IGMP_MRDISC_ADV			0x30	/* From RFC4286 */
 
 /*
  *	Use the BSD names for these for compatibility
diff --git a/original/uapi/linux/iio/types.h b/original/uapi/linux/iio/types.h
index fdd81af..92baabc 100644
--- a/original/uapi/linux/iio/types.h
+++ b/original/uapi/linux/iio/types.h
@@ -46,7 +46,6 @@
 	IIO_GRAVITY,
 	IIO_POSITIONRELATIVE,
 	IIO_PHASE,
-	IIO_MASSCONCENTRATION,
 };
 
 enum iio_modifier {
@@ -88,12 +87,6 @@
 	IIO_MOD_VOC,
 	IIO_MOD_LIGHT_UV,
 	IIO_MOD_LIGHT_DUV,
-	IIO_MOD_PM1,
-	IIO_MOD_PM2P5,
-	IIO_MOD_PM4,
-	IIO_MOD_PM10,
-	IIO_MOD_ETHANOL,
-	IIO_MOD_H2,
 };
 
 enum iio_event_type {
diff --git a/original/uapi/linux/in.h b/original/uapi/linux/in.h
index e7ad9d3..a55cb8b 100644
--- a/original/uapi/linux/in.h
+++ b/original/uapi/linux/in.h
@@ -292,11 +292,10 @@
 #define	IN_LOOPBACK(a)		((((long int) (a)) & 0xff000000) == 0x7f000000)
 
 /* Defines for Multicast INADDR */
-#define INADDR_UNSPEC_GROUP		0xe0000000U	/* 224.0.0.0   */
-#define INADDR_ALLHOSTS_GROUP		0xe0000001U	/* 224.0.0.1   */
-#define INADDR_ALLRTRS_GROUP		0xe0000002U	/* 224.0.0.2 */
-#define INADDR_ALLSNOOPERS_GROUP	0xe000006aU	/* 224.0.0.106 */
-#define INADDR_MAX_LOCAL_GROUP		0xe00000ffU	/* 224.0.0.255 */
+#define INADDR_UNSPEC_GROUP   	0xe0000000U	/* 224.0.0.0   */
+#define INADDR_ALLHOSTS_GROUP 	0xe0000001U	/* 224.0.0.1   */
+#define INADDR_ALLRTRS_GROUP    0xe0000002U	/* 224.0.0.2 */
+#define INADDR_MAX_LOCAL_GROUP  0xe00000ffU	/* 224.0.0.255 */
 #endif
 
 /* <asm/byteorder.h> contains the htonl type stuff.. */
diff --git a/original/uapi/linux/in6.h b/original/uapi/linux/in6.h
index 9f2273a..71d82fe 100644
--- a/original/uapi/linux/in6.h
+++ b/original/uapi/linux/in6.h
@@ -178,7 +178,6 @@
 #define IPV6_JOIN_ANYCAST	27
 #define IPV6_LEAVE_ANYCAST	28
 #define IPV6_MULTICAST_ALL	29
-#define IPV6_ROUTER_ALERT_ISOLATE	30
 
 /* IPV6_MTU_DISCOVER values */
 #define IPV6_PMTUDISC_DONT		0
diff --git a/original/uapi/linux/input-event-codes.h b/original/uapi/linux/input-event-codes.h
index 85387c7..7f14d4a 100644
--- a/original/uapi/linux/input-event-codes.h
+++ b/original/uapi/linux/input-event-codes.h
@@ -439,12 +439,10 @@
 #define KEY_TITLE		0x171
 #define KEY_SUBTITLE		0x172
 #define KEY_ANGLE		0x173
-#define KEY_FULL_SCREEN		0x174	/* AC View Toggle */
-#define KEY_ZOOM		KEY_FULL_SCREEN
+#define KEY_ZOOM		0x174
 #define KEY_MODE		0x175
 #define KEY_KEYBOARD		0x176
-#define KEY_ASPECT_RATIO	0x177	/* HUTRR37: Aspect */
-#define KEY_SCREEN		KEY_ASPECT_RATIO
+#define KEY_SCREEN		0x177
 #define KEY_PC			0x178	/* Media Select Computer */
 #define KEY_TV			0x179	/* Media Select TV */
 #define KEY_TV2			0x17a	/* Media Select Cable */
@@ -606,7 +604,6 @@
 #define KEY_SCREENSAVER		0x245	/* AL Screen Saver */
 #define KEY_VOICECOMMAND		0x246	/* Listening Voice Command */
 #define KEY_ASSISTANT		0x247	/* AL Context-aware desktop assistant */
-#define KEY_KBD_LAYOUT_NEXT	0x248	/* AC Next Keyboard Layout Select */
 
 #define KEY_BRIGHTNESS_MIN		0x250	/* Set Brightness to Minimum */
 #define KEY_BRIGHTNESS_MAX		0x251	/* Set Brightness to Maximum */
diff --git a/original/uapi/linux/io_uring.h b/original/uapi/linux/io_uring.h
deleted file mode 100644
index 1e1652f..0000000
--- a/original/uapi/linux/io_uring.h
+++ /dev/null
@@ -1,146 +0,0 @@
-/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
-/*
- * Header file for the io_uring interface.
- *
- * Copyright (C) 2019 Jens Axboe
- * Copyright (C) 2019 Christoph Hellwig
- */
-#ifndef LINUX_IO_URING_H
-#define LINUX_IO_URING_H
-
-#include <linux/fs.h>
-#include <linux/types.h>
-
-/*
- * IO submission data structure (Submission Queue Entry)
- */
-struct io_uring_sqe {
-	__u8	opcode;		/* type of operation for this sqe */
-	__u8	flags;		/* IOSQE_ flags */
-	__u16	ioprio;		/* ioprio for the request */
-	__s32	fd;		/* file descriptor to do IO on */
-	__u64	off;		/* offset into file */
-	__u64	addr;		/* pointer to buffer or iovecs */
-	__u32	len;		/* buffer size or number of iovecs */
-	union {
-		__kernel_rwf_t	rw_flags;
-		__u32		fsync_flags;
-		__u16		poll_events;
-		__u32		sync_range_flags;
-		__u32		msg_flags;
-	};
-	__u64	user_data;	/* data to be passed back at completion time */
-	union {
-		__u16	buf_index;	/* index into fixed buffers, if used */
-		__u64	__pad2[3];
-	};
-};
-
-/*
- * sqe->flags
- */
-#define IOSQE_FIXED_FILE	(1U << 0)	/* use fixed fileset */
-#define IOSQE_IO_DRAIN		(1U << 1)	/* issue after inflight IO */
-#define IOSQE_IO_LINK		(1U << 2)	/* links next sqe */
-
-/*
- * io_uring_setup() flags
- */
-#define IORING_SETUP_IOPOLL	(1U << 0)	/* io_context is polled */
-#define IORING_SETUP_SQPOLL	(1U << 1)	/* SQ poll thread */
-#define IORING_SETUP_SQ_AFF	(1U << 2)	/* sq_thread_cpu is valid */
-
-#define IORING_OP_NOP		0
-#define IORING_OP_READV		1
-#define IORING_OP_WRITEV	2
-#define IORING_OP_FSYNC		3
-#define IORING_OP_READ_FIXED	4
-#define IORING_OP_WRITE_FIXED	5
-#define IORING_OP_POLL_ADD	6
-#define IORING_OP_POLL_REMOVE	7
-#define IORING_OP_SYNC_FILE_RANGE	8
-#define IORING_OP_SENDMSG	9
-#define IORING_OP_RECVMSG	10
-
-/*
- * sqe->fsync_flags
- */
-#define IORING_FSYNC_DATASYNC	(1U << 0)
-
-/*
- * IO completion data structure (Completion Queue Entry)
- */
-struct io_uring_cqe {
-	__u64	user_data;	/* sqe->data submission passed back */
-	__s32	res;		/* result code for this event */
-	__u32	flags;
-};
-
-/*
- * Magic offsets for the application to mmap the data it needs
- */
-#define IORING_OFF_SQ_RING		0ULL
-#define IORING_OFF_CQ_RING		0x8000000ULL
-#define IORING_OFF_SQES			0x10000000ULL
-
-/*
- * Filled with the offset for mmap(2)
- */
-struct io_sqring_offsets {
-	__u32 head;
-	__u32 tail;
-	__u32 ring_mask;
-	__u32 ring_entries;
-	__u32 flags;
-	__u32 dropped;
-	__u32 array;
-	__u32 resv1;
-	__u64 resv2;
-};
-
-/*
- * sq_ring->flags
- */
-#define IORING_SQ_NEED_WAKEUP	(1U << 0) /* needs io_uring_enter wakeup */
-
-struct io_cqring_offsets {
-	__u32 head;
-	__u32 tail;
-	__u32 ring_mask;
-	__u32 ring_entries;
-	__u32 overflow;
-	__u32 cqes;
-	__u64 resv[2];
-};
-
-/*
- * io_uring_enter(2) flags
- */
-#define IORING_ENTER_GETEVENTS	(1U << 0)
-#define IORING_ENTER_SQ_WAKEUP	(1U << 1)
-
-/*
- * Passed in for io_uring_setup(2). Copied back with updated info on success
- */
-struct io_uring_params {
-	__u32 sq_entries;
-	__u32 cq_entries;
-	__u32 flags;
-	__u32 sq_thread_cpu;
-	__u32 sq_thread_idle;
-	__u32 resv[5];
-	struct io_sqring_offsets sq_off;
-	struct io_cqring_offsets cq_off;
-};
-
-/*
- * io_uring_register(2) opcodes and arguments
- */
-#define IORING_REGISTER_BUFFERS		0
-#define IORING_UNREGISTER_BUFFERS	1
-#define IORING_REGISTER_FILES		2
-#define IORING_UNREGISTER_FILES		3
-#define IORING_REGISTER_EVENTFD		4
-#define IORING_UNREGISTER_EVENTFD	5
-
-#endif
diff --git a/original/uapi/linux/iommu.h b/original/uapi/linux/iommu.h
deleted file mode 100644
index fc00c5d..0000000
--- a/original/uapi/linux/iommu.h
+++ /dev/null
@@ -1,155 +0,0 @@
-/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
-/*
- * IOMMU user API definitions
- */
-
-#ifndef _UAPI_IOMMU_H
-#define _UAPI_IOMMU_H
-
-#include <linux/types.h>
-
-#define IOMMU_FAULT_PERM_READ	(1 << 0) /* read */
-#define IOMMU_FAULT_PERM_WRITE	(1 << 1) /* write */
-#define IOMMU_FAULT_PERM_EXEC	(1 << 2) /* exec */
-#define IOMMU_FAULT_PERM_PRIV	(1 << 3) /* privileged */
-
-/* Generic fault types, can be expanded IRQ remapping fault */
-enum iommu_fault_type {
-	IOMMU_FAULT_DMA_UNRECOV = 1,	/* unrecoverable fault */
-	IOMMU_FAULT_PAGE_REQ,		/* page request fault */
-};
-
-enum iommu_fault_reason {
-	IOMMU_FAULT_REASON_UNKNOWN = 0,
-
-	/* Could not access the PASID table (fetch caused external abort) */
-	IOMMU_FAULT_REASON_PASID_FETCH,
-
-	/* PASID entry is invalid or has configuration errors */
-	IOMMU_FAULT_REASON_BAD_PASID_ENTRY,
-
-	/*
-	 * PASID is out of range (e.g. exceeds the maximum PASID
-	 * supported by the IOMMU) or disabled.
-	 */
-	IOMMU_FAULT_REASON_PASID_INVALID,
-
-	/*
-	 * An external abort occurred fetching (or updating) a translation
-	 * table descriptor
-	 */
-	IOMMU_FAULT_REASON_WALK_EABT,
-
-	/*
-	 * Could not access the page table entry (Bad address),
-	 * actual translation fault
-	 */
-	IOMMU_FAULT_REASON_PTE_FETCH,
-
-	/* Protection flag check failed */
-	IOMMU_FAULT_REASON_PERMISSION,
-
-	/* access flag check failed */
-	IOMMU_FAULT_REASON_ACCESS,
-
-	/* Output address of a translation stage caused Address Size fault */
-	IOMMU_FAULT_REASON_OOR_ADDRESS,
-};
-
-/**
- * struct iommu_fault_unrecoverable - Unrecoverable fault data
- * @reason: reason of the fault, from &enum iommu_fault_reason
- * @flags: parameters of this fault (IOMMU_FAULT_UNRECOV_* values)
- * @pasid: Process Address Space ID
- * @perm: requested permission access using by the incoming transaction
- *        (IOMMU_FAULT_PERM_* values)
- * @addr: offending page address
- * @fetch_addr: address that caused a fetch abort, if any
- */
-struct iommu_fault_unrecoverable {
-	__u32	reason;
-#define IOMMU_FAULT_UNRECOV_PASID_VALID		(1 << 0)
-#define IOMMU_FAULT_UNRECOV_ADDR_VALID		(1 << 1)
-#define IOMMU_FAULT_UNRECOV_FETCH_ADDR_VALID	(1 << 2)
-	__u32	flags;
-	__u32	pasid;
-	__u32	perm;
-	__u64	addr;
-	__u64	fetch_addr;
-};
-
-/**
- * struct iommu_fault_page_request - Page Request data
- * @flags: encodes whether the corresponding fields are valid and whether this
- *         is the last page in group (IOMMU_FAULT_PAGE_REQUEST_* values)
- * @pasid: Process Address Space ID
- * @grpid: Page Request Group Index
- * @perm: requested page permissions (IOMMU_FAULT_PERM_* values)
- * @addr: page address
- * @private_data: device-specific private information
- */
-struct iommu_fault_page_request {
-#define IOMMU_FAULT_PAGE_REQUEST_PASID_VALID	(1 << 0)
-#define IOMMU_FAULT_PAGE_REQUEST_LAST_PAGE	(1 << 1)
-#define IOMMU_FAULT_PAGE_REQUEST_PRIV_DATA	(1 << 2)
-	__u32	flags;
-	__u32	pasid;
-	__u32	grpid;
-	__u32	perm;
-	__u64	addr;
-	__u64	private_data[2];
-};
-
-/**
- * struct iommu_fault - Generic fault data
- * @type: fault type from &enum iommu_fault_type
- * @padding: reserved for future use (should be zero)
- * @event: fault event, when @type is %IOMMU_FAULT_DMA_UNRECOV
- * @prm: Page Request message, when @type is %IOMMU_FAULT_PAGE_REQ
- * @padding2: sets the fault size to allow for future extensions
- */
-struct iommu_fault {
-	__u32	type;
-	__u32	padding;
-	union {
-		struct iommu_fault_unrecoverable event;
-		struct iommu_fault_page_request prm;
-		__u8 padding2[56];
-	};
-};
-
-/**
- * enum iommu_page_response_code - Return status of fault handlers
- * @IOMMU_PAGE_RESP_SUCCESS: Fault has been handled and the page tables
- *	populated, retry the access. This is "Success" in PCI PRI.
- * @IOMMU_PAGE_RESP_FAILURE: General error. Drop all subsequent faults from
- *	this device if possible. This is "Response Failure" in PCI PRI.
- * @IOMMU_PAGE_RESP_INVALID: Could not handle this fault, don't retry the
- *	access. This is "Invalid Request" in PCI PRI.
- */
-enum iommu_page_response_code {
-	IOMMU_PAGE_RESP_SUCCESS = 0,
-	IOMMU_PAGE_RESP_INVALID,
-	IOMMU_PAGE_RESP_FAILURE,
-};
-
-/**
- * struct iommu_page_response - Generic page response information
- * @version: API version of this structure
- * @flags: encodes whether the corresponding fields are valid
- *         (IOMMU_FAULT_PAGE_RESPONSE_* values)
- * @pasid: Process Address Space ID
- * @grpid: Page Request Group Index
- * @code: response code from &enum iommu_page_response_code
- */
-struct iommu_page_response {
-#define IOMMU_PAGE_RESP_VERSION_1	1
-	__u32	version;
-#define IOMMU_PAGE_RESP_PASID_VALID	(1 << 0)
-	__u32	flags;
-	__u32	pasid;
-	__u32	grpid;
-	__u32	code;
-};
-
-#endif /* _UAPI_IOMMU_H */
diff --git a/original/uapi/linux/ip_vs.h b/original/uapi/linux/ip_vs.h
index 4102ddc..1c916b2 100644
--- a/original/uapi/linux/ip_vs.h
+++ b/original/uapi/linux/ip_vs.h
@@ -124,19 +124,6 @@
 
 #define IP_VS_PEDATA_MAXLEN     255
 
-/* Tunnel types */
-enum {
-	IP_VS_CONN_F_TUNNEL_TYPE_IPIP = 0,	/* IPIP */
-	IP_VS_CONN_F_TUNNEL_TYPE_GUE,		/* GUE */
-	IP_VS_CONN_F_TUNNEL_TYPE_GRE,		/* GRE */
-	IP_VS_CONN_F_TUNNEL_TYPE_MAX,
-};
-
-/* Tunnel encapsulation flags */
-#define IP_VS_TUNNEL_ENCAP_FLAG_NOCSUM		(0)
-#define IP_VS_TUNNEL_ENCAP_FLAG_CSUM		(1 << 0)
-#define IP_VS_TUNNEL_ENCAP_FLAG_REMCSUM		(1 << 1)
-
 /*
  *	The struct ip_vs_service_user and struct ip_vs_dest_user are
  *	used to set IPVS rules through setsockopt.
@@ -405,12 +392,6 @@
 
 	IPVS_DEST_ATTR_STATS64,		/* nested attribute for dest stats */
 
-	IPVS_DEST_ATTR_TUN_TYPE,	/* tunnel type */
-
-	IPVS_DEST_ATTR_TUN_PORT,	/* tunnel port */
-
-	IPVS_DEST_ATTR_TUN_FLAGS,	/* tunnel flags */
-
 	__IPVS_DEST_ATTR_MAX,
 };
 
diff --git a/original/uapi/linux/ipmi_bmc.h b/original/uapi/linux/ipmi_bmc.h
index 782a03e..1670f09 100644
--- a/original/uapi/linux/ipmi_bmc.h
+++ b/original/uapi/linux/ipmi_bmc.h
@@ -1,4 +1,4 @@
-/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
+/* SPDX-License-Identifier: GPL-2.0 */
 /*
  * Copyright (c) 2015-2018, Intel Corporation.
  */
diff --git a/original/uapi/linux/isdn.h b/original/uapi/linux/isdn.h
new file mode 100644
index 0000000..f371fd5
--- /dev/null
+++ b/original/uapi/linux/isdn.h
@@ -0,0 +1,144 @@
+/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
+/* $Id: isdn.h,v 1.125.2.3 2004/02/10 01:07:14 keil Exp $
+ *
+ * Main header for the Linux ISDN subsystem (linklevel).
+ *
+ * Copyright 1994,95,96 by Fritz Elfert (fritz@isdn4linux.de)
+ * Copyright 1995,96    by Thinking Objects Software GmbH Wuerzburg
+ * Copyright 1995,96    by Michael Hipp (Michael.Hipp@student.uni-tuebingen.de)
+ * 
+ * This software may be used and distributed according to the terms
+ * of the GNU General Public License, incorporated herein by reference.
+ *
+ */
+
+#ifndef _UAPI__ISDN_H__
+#define _UAPI__ISDN_H__
+
+#include <linux/ioctl.h>
+#include <linux/tty.h>
+
+#define ISDN_MAX_DRIVERS    32
+#define ISDN_MAX_CHANNELS   64
+
+/* New ioctl-codes */
+#define IIOCNETAIF  _IO('I',1)
+#define IIOCNETDIF  _IO('I',2)
+#define IIOCNETSCF  _IO('I',3)
+#define IIOCNETGCF  _IO('I',4)
+#define IIOCNETANM  _IO('I',5)
+#define IIOCNETDNM  _IO('I',6)
+#define IIOCNETGNM  _IO('I',7)
+#define IIOCGETSET  _IO('I',8) /* no longer supported */
+#define IIOCSETSET  _IO('I',9) /* no longer supported */
+#define IIOCSETVER  _IO('I',10)
+#define IIOCNETHUP  _IO('I',11)
+#define IIOCSETGST  _IO('I',12)
+#define IIOCSETBRJ  _IO('I',13)
+#define IIOCSIGPRF  _IO('I',14)
+#define IIOCGETPRF  _IO('I',15)
+#define IIOCSETPRF  _IO('I',16)
+#define IIOCGETMAP  _IO('I',17)
+#define IIOCSETMAP  _IO('I',18)
+#define IIOCNETASL  _IO('I',19)
+#define IIOCNETDIL  _IO('I',20)
+#define IIOCGETCPS  _IO('I',21)
+#define IIOCGETDVR  _IO('I',22)
+#define IIOCNETLCR  _IO('I',23) /* dwabc ioctl for LCR from isdnlog */
+#define IIOCNETDWRSET  _IO('I',24) /* dwabc ioctl to reset abc-values to default on a net-interface */
+
+#define IIOCNETALN  _IO('I',32)
+#define IIOCNETDLN  _IO('I',33)
+
+#define IIOCNETGPN  _IO('I',34)
+
+#define IIOCDBGVAR  _IO('I',127)
+
+#define IIOCDRVCTL  _IO('I',128)
+
+/* cisco hdlck device private ioctls */
+#define SIOCGKEEPPERIOD	(SIOCDEVPRIVATE + 0)
+#define SIOCSKEEPPERIOD	(SIOCDEVPRIVATE + 1)
+#define SIOCGDEBSERINT	(SIOCDEVPRIVATE + 2)
+#define SIOCSDEBSERINT	(SIOCDEVPRIVATE + 3)
+
+/* Packet encapsulations for net-interfaces */
+#define ISDN_NET_ENCAP_ETHER      0
+#define ISDN_NET_ENCAP_RAWIP      1
+#define ISDN_NET_ENCAP_IPTYP      2
+#define ISDN_NET_ENCAP_CISCOHDLC  3 /* Without SLARP and keepalive */
+#define ISDN_NET_ENCAP_SYNCPPP    4
+#define ISDN_NET_ENCAP_UIHDLC     5
+#define ISDN_NET_ENCAP_CISCOHDLCK 6 /* With SLARP and keepalive    */
+#define ISDN_NET_ENCAP_X25IFACE   7 /* Documentation/networking/x25-iface.txt */
+#define ISDN_NET_ENCAP_MAX_ENCAP  ISDN_NET_ENCAP_X25IFACE
+
+/* Facility which currently uses an ISDN-channel */
+#define ISDN_USAGE_NONE       0
+#define ISDN_USAGE_RAW        1
+#define ISDN_USAGE_MODEM      2
+#define ISDN_USAGE_NET        3
+#define ISDN_USAGE_VOICE      4
+#define ISDN_USAGE_FAX        5
+#define ISDN_USAGE_MASK       7 /* Mask to get plain usage */
+#define ISDN_USAGE_DISABLED  32 /* This bit is set, if channel is disabled */
+#define ISDN_USAGE_EXCLUSIVE 64 /* This bit is set, if channel is exclusive */
+#define ISDN_USAGE_OUTGOING 128 /* This bit is set, if channel is outgoing  */
+
+#define ISDN_MODEM_NUMREG    24        /* Number of Modem-Registers        */
+#define ISDN_LMSNLEN         255 /* Length of tty's Listen-MSN string */
+#define ISDN_CMSGLEN	     50	 /* Length of CONNECT-Message to add for Modem */
+
+#define ISDN_MSNLEN          32
+#define NET_DV 0x06  /* Data version for isdn_net_ioctl_cfg   */
+#define TTY_DV 0x06  /* Data version for iprofd etc.          */
+
+#define INF_DV 0x01  /* Data version for /dev/isdninfo        */
+
+typedef struct {
+  char drvid[25];
+  unsigned long arg;
+} isdn_ioctl_struct;
+
+typedef struct {
+  char name[10];
+  char phone[ISDN_MSNLEN];
+  int  outgoing;
+} isdn_net_ioctl_phone;
+
+typedef struct {
+  char name[10];     /* Name of interface                     */
+  char master[10];   /* Name of Master for Bundling           */
+  char slave[10];    /* Name of Slave for Bundling            */
+  char eaz[256];     /* EAZ/MSN                               */
+  char drvid[25];    /* DriverId for Bindings                 */
+  int  onhtime;      /* Hangup-Timeout                        */
+  int  charge;       /* Charge-Units                          */
+  int  l2_proto;     /* Layer-2 protocol                      */
+  int  l3_proto;     /* Layer-3 protocol                      */
+  int  p_encap;      /* Encapsulation                         */
+  int  exclusive;    /* Channel, if bound exclusive           */
+  int  dialmax;      /* Dial Retry-Counter                    */
+  int  slavedelay;   /* Delay until slave starts up           */
+  int  cbdelay;      /* Delay before Callback                 */
+  int  chargehup;    /* Flag: Charge-Hangup                   */
+  int  ihup;         /* Flag: Hangup-Timeout on incoming line */
+  int  secure;       /* Flag: Secure                          */
+  int  callback;     /* Flag: Callback                        */
+  int  cbhup;        /* Flag: Reject Call before Callback     */
+  int  pppbind;      /* ippp device for bindings              */
+  int  chargeint;    /* Use fixed charge interval length      */
+  int  triggercps;   /* BogoCPS needed for triggering slave   */
+  int  dialtimeout;  /* Dial-Timeout                          */
+  int  dialwait;     /* Time to wait after failed dial        */
+  int  dialmode;     /* Flag: off / on / auto                 */
+} isdn_net_ioctl_cfg;
+
+#define ISDN_NET_DIALMODE_MASK  0xC0    /* bits for status                */
+#define ISDN_NET_DM_OFF	        0x00    /* this interface is stopped      */
+#define ISDN_NET_DM_MANUAL	0x40    /* this interface is on (manual)  */
+#define ISDN_NET_DM_AUTO	0x80    /* this interface is autodial     */
+#define ISDN_NET_DIALMODE(x) ((&(x))->flags & ISDN_NET_DIALMODE_MASK)
+
+
+#endif /* _UAPI__ISDN_H__ */
diff --git a/original/uapi/linux/isdn/capicmd.h b/original/uapi/linux/isdn/capicmd.h
index 5ec88e7..4941628 100644
--- a/original/uapi/linux/isdn/capicmd.h
+++ b/original/uapi/linux/isdn/capicmd.h
@@ -16,7 +16,6 @@
 #define CAPI_MSG_BASELEN		8
 #define CAPI_DATA_B3_REQ_LEN		(CAPI_MSG_BASELEN+4+4+2+2+2)
 #define CAPI_DATA_B3_RESP_LEN		(CAPI_MSG_BASELEN+4+2)
-#define CAPI_DISCONNECT_B3_RESP_LEN	(CAPI_MSG_BASELEN+4)
 
 /*----- CAPI commands -----*/
 #define CAPI_ALERT		    0x01
diff --git a/original/uapi/linux/isdn_divertif.h b/original/uapi/linux/isdn_divertif.h
new file mode 100644
index 0000000..0a17bb1
--- /dev/null
+++ b/original/uapi/linux/isdn_divertif.h
@@ -0,0 +1,31 @@
+/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
+/* $Id: isdn_divertif.h,v 1.4.6.1 2001/09/23 22:25:05 kai Exp $
+ *
+ * Header for the diversion supplementary interface for i4l.
+ *
+ * Author    Werner Cornelius (werner@titro.de)
+ * Copyright by Werner Cornelius (werner@titro.de)
+ *
+ * This software may be used and distributed according to the terms
+ * of the GNU General Public License, incorporated herein by reference.
+ *
+ */
+
+#ifndef _UAPI_LINUX_ISDN_DIVERTIF_H
+#define _UAPI_LINUX_ISDN_DIVERTIF_H
+
+/***********************************************************/
+/* magic value is also used to control version information */
+/***********************************************************/
+#define DIVERT_IF_MAGIC 0x25873401
+#define DIVERT_CMD_REG  0x00  /* register command */
+#define DIVERT_CMD_REL  0x01  /* release command */
+#define DIVERT_NO_ERR   0x00  /* return value no error */
+#define DIVERT_CMD_ERR  0x01  /* invalid cmd */
+#define DIVERT_VER_ERR  0x02  /* magic/version invalid */
+#define DIVERT_REG_ERR  0x03  /* module already registered */
+#define DIVERT_REL_ERR  0x04  /* module not registered */
+#define DIVERT_REG_NAME isdn_register_divert
+
+
+#endif /* _UAPI_LINUX_ISDN_DIVERTIF_H */
diff --git a/original/uapi/linux/isdn_ppp.h b/original/uapi/linux/isdn_ppp.h
new file mode 100644
index 0000000..0bdc4ef
--- /dev/null
+++ b/original/uapi/linux/isdn_ppp.h
@@ -0,0 +1,68 @@
+/* SPDX-License-Identifier: GPL-1.0+ WITH Linux-syscall-note */
+/* Linux ISDN subsystem, sync PPP, interface to ipppd
+ *
+ * Copyright 1994-1999  by Fritz Elfert (fritz@isdn4linux.de)
+ * Copyright 1995,96    Thinking Objects Software GmbH Wuerzburg
+ * Copyright 1995,96    by Michael Hipp (Michael.Hipp@student.uni-tuebingen.de)
+ * Copyright 2000-2002  by Kai Germaschewski (kai@germaschewski.name)
+ *
+ * This software may be used and distributed according to the terms
+ * of the GNU General Public License, incorporated herein by reference.
+ *
+ */
+
+#ifndef _UAPI_LINUX_ISDN_PPP_H
+#define _UAPI_LINUX_ISDN_PPP_H
+
+#define CALLTYPE_INCOMING 0x1
+#define CALLTYPE_OUTGOING 0x2
+#define CALLTYPE_CALLBACK 0x4
+
+#define IPPP_VERSION    "2.2.0"
+
+struct pppcallinfo
+{
+  int calltype;
+  unsigned char local_num[64];
+  unsigned char remote_num[64];
+  int charge_units;
+};
+
+#define PPPIOCGCALLINFO _IOWR('t',128,struct pppcallinfo)
+#define PPPIOCBUNDLE   _IOW('t',129,int)
+#define PPPIOCGMPFLAGS _IOR('t',130,int)
+#define PPPIOCSMPFLAGS _IOW('t',131,int)
+#define PPPIOCSMPMTU   _IOW('t',132,int)
+#define PPPIOCSMPMRU   _IOW('t',133,int)
+#define PPPIOCGCOMPRESSORS _IOR('t',134,unsigned long [8])
+#define PPPIOCSCOMPRESSOR _IOW('t',135,int)
+#define PPPIOCGIFNAME      _IOR('t',136, char [IFNAMSIZ] )
+
+
+#define SC_MP_PROT       0x00000200
+#define SC_REJ_MP_PROT   0x00000400
+#define SC_OUT_SHORT_SEQ 0x00000800
+#define SC_IN_SHORT_SEQ  0x00004000
+
+#define SC_DECOMP_ON		0x01
+#define SC_COMP_ON		0x02
+#define SC_DECOMP_DISCARD	0x04
+#define SC_COMP_DISCARD		0x08
+#define SC_LINK_DECOMP_ON	0x10
+#define SC_LINK_COMP_ON		0x20
+#define SC_LINK_DECOMP_DISCARD	0x40
+#define SC_LINK_COMP_DISCARD	0x80
+
+#define ISDN_PPP_COMP_MAX_OPTIONS 16
+
+#define IPPP_COMP_FLAG_XMIT 0x1
+#define IPPP_COMP_FLAG_LINK 0x2
+
+struct isdn_ppp_comp_data {
+  int num;
+  unsigned char options[ISDN_PPP_COMP_MAX_OPTIONS];
+  int optlen;
+  int flags;
+};
+
+#endif /* _UAPI_LINUX_ISDN_PPP_H */
diff --git a/original/uapi/linux/isdnif.h b/original/uapi/linux/isdnif.h
new file mode 100644
index 0000000..611a691
--- /dev/null
+++ b/original/uapi/linux/isdnif.h
@@ -0,0 +1,57 @@
+/* SPDX-License-Identifier: GPL-1.0+ WITH Linux-syscall-note */
+/* $Id: isdnif.h,v 1.43.2.2 2004/01/12 23:08:35 keil Exp $
+ *
+ * Linux ISDN subsystem
+ * Definition of the interface between the subsystem and its low-level drivers.
+ *
+ * Copyright 1994,95,96 by Fritz Elfert (fritz@isdn4linux.de)
+ * Copyright 1995,96    Thinking Objects Software GmbH Wuerzburg
+ * 
+ * This software may be used and distributed according to the terms
+ * of the GNU General Public License, incorporated herein by reference.
+ *
+ */
+
+#ifndef _UAPI__ISDNIF_H__
+#define _UAPI__ISDNIF_H__
+
+
+/*
+ * Values for general protocol-selection
+ */
+#define ISDN_PTYPE_UNKNOWN   0   /* Protocol undefined   */
+#define ISDN_PTYPE_1TR6      1   /* german 1TR6-protocol */
+#define ISDN_PTYPE_EURO      2   /* EDSS1-protocol       */
+#define ISDN_PTYPE_LEASED    3   /* for leased lines     */
+#define ISDN_PTYPE_NI1       4   /* US NI-1 protocol     */
+#define ISDN_PTYPE_MAX       7   /* Max. 8 Protocols     */
+
+/*
+ * Values for Layer-2-protocol-selection
+ */
+#define ISDN_PROTO_L2_X75I   0   /* X75/LAPB with I-Frames            */
+#define ISDN_PROTO_L2_X75UI  1   /* X75/LAPB with UI-Frames           */
+#define ISDN_PROTO_L2_X75BUI 2   /* X75/LAPB with UI-Frames           */
+#define ISDN_PROTO_L2_HDLC   3   /* HDLC                              */
+#define ISDN_PROTO_L2_TRANS  4   /* Transparent (Voice)               */
+#define ISDN_PROTO_L2_X25DTE 5   /* X25/LAPB DTE mode                 */
+#define ISDN_PROTO_L2_X25DCE 6   /* X25/LAPB DCE mode                 */
+#define ISDN_PROTO_L2_V11096 7   /* V.110 bitrate adaption 9600 Baud  */
+#define ISDN_PROTO_L2_V11019 8   /* V.110 bitrate adaption 19200 Baud */
+#define ISDN_PROTO_L2_V11038 9   /* V.110 bitrate adaption 38400 Baud */
+#define ISDN_PROTO_L2_MODEM  10  /* Analog Modem on Board */
+#define ISDN_PROTO_L2_FAX    11  /* Fax Group 2/3         */
+#define ISDN_PROTO_L2_HDLC_56K 12   /* HDLC 56k                          */
+#define ISDN_PROTO_L2_MAX    15  /* Max. 16 Protocols                 */
+
+/*
+ * Values for Layer-3-protocol-selection
+ */
+#define ISDN_PROTO_L3_TRANS	0	/* Transparent */
+#define ISDN_PROTO_L3_TRANSDSP	1	/* Transparent with DSP */
+#define ISDN_PROTO_L3_FCLASS2	2	/* Fax Group 2/3 CLASS 2 */
+#define ISDN_PROTO_L3_FCLASS1	3	/* Fax Group 2/3 CLASS 1 */
+#define ISDN_PROTO_L3_MAX	7	/* Max. 8 Protocols */
+
+
+#endif /* _UAPI__ISDNIF_H__ */
diff --git a/original/uapi/linux/isst_if.h b/original/uapi/linux/isst_if.h
deleted file mode 100644
index 0a52b7b..0000000
--- a/original/uapi/linux/isst_if.h
+++ /dev/null
@@ -1,172 +0,0 @@
-/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
-/*
- * Intel Speed Select Interface: OS to hardware Interface
- * Copyright (c) 2019, Intel Corporation.
- * All rights reserved.
- *
- * Author: Srinivas Pandruvada <srinivas.pandruvada@linux.intel.com>
- */
-
-#ifndef __ISST_IF_H
-#define __ISST_IF_H
-
-#include <linux/types.h>
-
-/**
- * struct isst_if_platform_info - Define platform information
- * @api_version:	Version of the firmware document, which this driver
- *			can communicate
- * @driver_version:	Driver version, which will help user to send right
- *			commands. Even if the firmware is capable, driver may
- *			not be ready
- * @max_cmds_per_ioctl:	Returns the maximum number of commands driver will
- *			accept in a single ioctl
- * @mbox_supported:	Support of mail box interface
- * @mmio_supported:	Support of mmio interface for core-power feature
- *
- * Used to return output of IOCTL ISST_IF_GET_PLATFORM_INFO. This
- * information can be used by the user space, to get the driver, firmware
- * support and also number of commands to send in a single IOCTL request.
- */
-struct isst_if_platform_info {
-	__u16 api_version;
-	__u16 driver_version;
-	__u16 max_cmds_per_ioctl;
-	__u8 mbox_supported;
-	__u8 mmio_supported;
-};
-
-/**
- * struct isst_if_cpu_map - CPU mapping between logical and physical CPU
- * @logical_cpu:	Linux logical CPU number
- * @physical_cpu:	PUNIT CPU number
- *
- * Used to convert from Linux logical CPU to PUNIT CPU numbering scheme.
- * The PUNIT CPU number is different than APIC ID based CPU numbering.
- */
-struct isst_if_cpu_map {
-	__u32 logical_cpu;
-	__u32 physical_cpu;
-};
-
-/**
- * struct isst_if_cpu_maps - structure for CPU map IOCTL
- * @cmd_count:	Number of CPU mapping command in cpu_map[]
- * @cpu_map[]:	Holds one or more CPU map data structure
- *
- * This structure used with ioctl ISST_IF_GET_PHY_ID to send
- * one or more CPU mapping commands. Here IOCTL return value indicates
- * number of commands sent or error number if no commands have been sent.
- */
-struct isst_if_cpu_maps {
-	__u32 cmd_count;
-	struct isst_if_cpu_map cpu_map[1];
-};
-
-/**
- * struct isst_if_io_reg - Read write PUNIT IO register
- * @read_write:		Value 0: Read, 1: Write
- * @logical_cpu:	Logical CPU number to get target PCI device.
- * @reg:		PUNIT register offset
- * @value:		For write operation value to write and for
- *			for read placeholder read value
- *
- * Structure to specify read/write data to PUNIT registers.
- */
-struct isst_if_io_reg {
-	__u32 read_write; /* Read:0, Write:1 */
-	__u32 logical_cpu;
-	__u32 reg;
-	__u32 value;
-};
-
-/**
- * struct isst_if_io_regs - structure for IO register commands
- * @cmd_count:	Number of io reg commands in io_reg[]
- * @io_reg[]:	Holds one or more io_reg command structure
- *
- * This structure used with ioctl ISST_IF_IO_CMD to send
- * one or more read/write commands to PUNIT. Here IOCTL return value
- * indicates number of requests sent or error number if no requests have
- * been sent.
- */
-struct isst_if_io_regs {
-	__u32 req_count;
-	struct isst_if_io_reg io_reg[1];
-};
-
-/**
- * struct isst_if_mbox_cmd - Structure to define mail box command
- * @logical_cpu:	Logical CPU number to get target PCI device
- * @parameter:		Mailbox parameter value
- * @req_data:		Request data for the mailbox
- * @resp_data:		Response data for mailbox command response
- * @command:		Mailbox command value
- * @sub_command:	Mailbox sub command value
- * @reserved:		Unused, set to 0
- *
- * Structure to specify mailbox command to be sent to PUNIT.
- */
-struct isst_if_mbox_cmd {
-	__u32 logical_cpu;
-	__u32 parameter;
-	__u32 req_data;
-	__u32 resp_data;
-	__u16 command;
-	__u16 sub_command;
-	__u32 reserved;
-};
-
-/**
- * struct isst_if_mbox_cmds - structure for mailbox commands
- * @cmd_count:	Number of mailbox commands in mbox_cmd[]
- * @mbox_cmd[]:	Holds one or more mbox commands
- *
- * This structure used with ioctl ISST_IF_MBOX_COMMAND to send
- * one or more mailbox commands to PUNIT. Here IOCTL return value
- * indicates number of commands sent or error number if no commands have
- * been sent.
- */
-struct isst_if_mbox_cmds {
-	__u32 cmd_count;
-	struct isst_if_mbox_cmd mbox_cmd[1];
-};
-
-/**
- * struct isst_if_msr_cmd - Structure to define msr command
- * @read_write:		Value 0: Read, 1: Write
- * @logical_cpu:	Logical CPU number
- * @msr:		MSR number
- * @data:		For write operation, data to write, for read
- *			place holder
- *
- * Structure to specify MSR command related to PUNIT.
- */
-struct isst_if_msr_cmd {
-	__u32 read_write; /* Read:0, Write:1 */
-	__u32 logical_cpu;
-	__u64 msr;
-	__u64 data;
-};
-
-/**
- * struct isst_if_msr_cmds - structure for msr commands
- * @cmd_count:	Number of mailbox commands in msr_cmd[]
- * @msr_cmd[]:	Holds one or more msr commands
- *
- * This structure used with ioctl ISST_IF_MSR_COMMAND to send
- * one or more MSR commands. IOCTL return value indicates number of
- * commands sent or error number if no commands have been sent.
- */
-struct isst_if_msr_cmds {
-	__u32 cmd_count;
-	struct isst_if_msr_cmd msr_cmd[1];
-};
-
-#define ISST_IF_MAGIC			0xFE
-#define ISST_IF_GET_PLATFORM_INFO	_IOR(ISST_IF_MAGIC, 0, struct isst_if_platform_info *)
-#define ISST_IF_GET_PHY_ID		_IOWR(ISST_IF_MAGIC, 1, struct isst_if_cpu_map *)
-#define ISST_IF_IO_CMD		_IOW(ISST_IF_MAGIC, 2, struct isst_if_io_regs *)
-#define ISST_IF_MBOX_COMMAND	_IOWR(ISST_IF_MAGIC, 3, struct isst_if_mbox_cmds *)
-#define ISST_IF_MSR_COMMAND	_IOWR(ISST_IF_MAGIC, 4, struct isst_if_msr_cmds *)
-#endif
diff --git a/original/uapi/linux/jffs2.h b/original/uapi/linux/jffs2.h
index 784ba0b..a18b719 100644
--- a/original/uapi/linux/jffs2.h
+++ b/original/uapi/linux/jffs2.h
@@ -77,6 +77,11 @@
 
 #define JFFS2_ACL_VERSION		0x0001
 
+// Maybe later...
+//#define JFFS2_NODETYPE_CHECKPOINT (JFFS2_FEATURE_RWCOMPAT_DELETE | JFFS2_NODE_ACCURATE | 3)
+//#define JFFS2_NODETYPE_OPTIONS (JFFS2_FEATURE_RWCOMPAT_COPY | JFFS2_NODE_ACCURATE | 4)
+
+
 #define JFFS2_INO_FLAG_PREREAD	  1	/* Do read_inode() for this one at
 					   mount time, don't wait for it to
 					   happen later */
diff --git a/original/uapi/linux/kernel-page-flags.h b/original/uapi/linux/kernel-page-flags.h
index 6f2f272..21b9113 100644
--- a/original/uapi/linux/kernel-page-flags.h
+++ b/original/uapi/linux/kernel-page-flags.h
@@ -32,7 +32,7 @@
 
 #define KPF_KSM			21
 #define KPF_THP			22
-#define KPF_OFFLINE		23
+#define KPF_BALLOON		23
 #define KPF_ZERO_PAGE		24
 #define KPF_IDLE		25
 #define KPF_PGTABLE		26
diff --git a/original/uapi/linux/keyctl.h b/original/uapi/linux/keyctl.h
index ed3d589..f45ee0f 100644
--- a/original/uapi/linux/keyctl.h
+++ b/original/uapi/linux/keyctl.h
@@ -67,8 +67,6 @@
 #define KEYCTL_PKEY_SIGN		27	/* Create a public key signature */
 #define KEYCTL_PKEY_VERIFY		28	/* Verify a public key signature */
 #define KEYCTL_RESTRICT_KEYRING		29	/* Restrict keys allowed to link to a keyring */
-#define KEYCTL_MOVE			30	/* Move keys between keyrings */
-#define KEYCTL_CAPABILITIES		31	/* Find capabilities of keyrings subsystem */
 
 /* keyctl structures */
 struct keyctl_dh_params {
@@ -114,21 +112,4 @@
 	__u32		__spare[7];
 };
 
-#define KEYCTL_MOVE_EXCL	0x00000001 /* Do not displace from the to-keyring */
-
-/*
- * Capabilities flags.  The capabilities list is an array of 8-bit integers;
- * each integer can carry up to 8 flags.
- */
-#define KEYCTL_CAPS0_CAPABILITIES	0x01 /* KEYCTL_CAPABILITIES supported */
-#define KEYCTL_CAPS0_PERSISTENT_KEYRINGS 0x02 /* Persistent keyrings enabled */
-#define KEYCTL_CAPS0_DIFFIE_HELLMAN	0x04 /* Diffie-Hellman computation enabled */
-#define KEYCTL_CAPS0_PUBLIC_KEY		0x08 /* Public key ops enabled */
-#define KEYCTL_CAPS0_BIG_KEY		0x10 /* big_key-type enabled */
-#define KEYCTL_CAPS0_INVALIDATE		0x20 /* KEYCTL_INVALIDATE supported */
-#define KEYCTL_CAPS0_RESTRICT_KEYRING	0x40 /* KEYCTL_RESTRICT_KEYRING supported */
-#define KEYCTL_CAPS0_MOVE		0x80 /* KEYCTL_MOVE supported */
-#define KEYCTL_CAPS1_NS_KEYRING_NAME	0x01 /* Keyring names are per-user_namespace */
-#define KEYCTL_CAPS1_NS_KEY_TAG		0x02 /* Key indexing can include a namespace tag */
-
 #endif /*  _LINUX_KEYCTL_H */
diff --git a/original/uapi/linux/kfd_ioctl.h b/original/uapi/linux/kfd_ioctl.h
index 20917c5..e622fd1 100644
--- a/original/uapi/linux/kfd_ioctl.h
+++ b/original/uapi/linux/kfd_ioctl.h
@@ -35,10 +35,9 @@
 };
 
 /* For kfd_ioctl_create_queue_args.queue_type. */
-#define KFD_IOC_QUEUE_TYPE_COMPUTE		0x0
-#define KFD_IOC_QUEUE_TYPE_SDMA			0x1
-#define KFD_IOC_QUEUE_TYPE_COMPUTE_AQL		0x2
-#define KFD_IOC_QUEUE_TYPE_SDMA_XGMI		0x3
+#define KFD_IOC_QUEUE_TYPE_COMPUTE	0
+#define KFD_IOC_QUEUE_TYPE_SDMA		1
+#define KFD_IOC_QUEUE_TYPE_COMPUTE_AQL	2
 
 #define KFD_MAX_QUEUE_PERCENTAGE	100
 #define KFD_MAX_QUEUE_PRIORITY		15
@@ -212,11 +211,6 @@
 #define KFD_HW_EXCEPTION_GPU_HANG	0
 #define KFD_HW_EXCEPTION_ECC		1
 
-/* For kfd_hsa_memory_exception_data.ErrorType */
-#define KFD_MEM_ERR_NO_RAS		0
-#define KFD_MEM_ERR_SRAM_ECC		1
-#define KFD_MEM_ERR_POISON_CONSUMED	2
-#define KFD_MEM_ERR_GPU_HANG		3
 
 struct kfd_ioctl_create_event_args {
 	__u64 event_page_offset;	/* from KFD */
@@ -256,12 +250,7 @@
 	struct kfd_memory_exception_failure failure;
 	__u64 va;
 	__u32 gpu_id;
-	__u32 ErrorType; /* 0 = no RAS error,
-			  * 1 = ECC_SRAM,
-			  * 2 = Link_SYNFLOOD (poison),
-			  * 3 = GPU hang (not attributable to a specific cause),
-			  * other values reserved
-			  */
+	__u32 pad;
 };
 
 /* hw exception data */
@@ -339,7 +328,6 @@
 #define KFD_IOC_ALLOC_MEM_FLAGS_GTT		(1 << 1)
 #define KFD_IOC_ALLOC_MEM_FLAGS_USERPTR		(1 << 2)
 #define KFD_IOC_ALLOC_MEM_FLAGS_DOORBELL	(1 << 3)
-#define KFD_IOC_ALLOC_MEM_FLAGS_MMIO_REMAP	(1 << 4)
 /* Allocation flags: attributes/access options */
 #define KFD_IOC_ALLOC_MEM_FLAGS_WRITABLE	(1 << 31)
 #define KFD_IOC_ALLOC_MEM_FLAGS_EXECUTABLE	(1 << 30)
@@ -428,13 +416,6 @@
 	__u32 dmabuf_fd;	/* to KFD */
 };
 
-/* Register offset inside the remapped mmio page
- */
-enum kfd_mmio_remap {
-	KFD_MMIO_REMAP_HDP_MEM_FLUSH_CNTL = 0,
-	KFD_MMIO_REMAP_HDP_REG_FLUSH_CNTL = 4,
-};
-
 #define AMDKFD_IOCTL_BASE 'K'
 #define AMDKFD_IO(nr)			_IO(AMDKFD_IOCTL_BASE, nr)
 #define AMDKFD_IOR(nr, type)		_IOR(AMDKFD_IOCTL_BASE, nr, type)
diff --git a/original/uapi/linux/kvm.h b/original/uapi/linux/kvm.h
index 5e3f12d..6d4ea4b 100644
--- a/original/uapi/linux/kvm.h
+++ b/original/uapi/linux/kvm.h
@@ -116,7 +116,7 @@
 	 * ACPI gsi notion of irq.
 	 * For IA-64 (APIC model) IOAPIC0: irq 0-23; IOAPIC1: irq 24-47..
 	 * For X86 (standard AT mode) PIC0/1: irq 0-15. IOAPIC0: 0-23..
-	 * For ARM: See Documentation/virt/kvm/api.txt
+	 * For ARM: See Documentation/virtual/kvm/api.txt
 	 */
 	union {
 		__u32 irq;
@@ -696,11 +696,9 @@
 #define KVM_X86_DISABLE_EXITS_MWAIT          (1 << 0)
 #define KVM_X86_DISABLE_EXITS_HLT            (1 << 1)
 #define KVM_X86_DISABLE_EXITS_PAUSE          (1 << 2)
-#define KVM_X86_DISABLE_EXITS_CSTATE         (1 << 3)
 #define KVM_X86_DISABLE_VALID_EXITS          (KVM_X86_DISABLE_EXITS_MWAIT | \
                                               KVM_X86_DISABLE_EXITS_HLT | \
-                                              KVM_X86_DISABLE_EXITS_PAUSE | \
-                                              KVM_X86_DISABLE_EXITS_CSTATE)
+                                              KVM_X86_DISABLE_EXITS_PAUSE)
 
 /* for KVM_ENABLE_CAP */
 struct kvm_enable_cap {
@@ -988,14 +986,8 @@
 #define KVM_CAP_HYPERV_ENLIGHTENED_VMCS 163
 #define KVM_CAP_EXCEPTION_PAYLOAD 164
 #define KVM_CAP_ARM_VM_IPA_SIZE 165
-#define KVM_CAP_MANUAL_DIRTY_LOG_PROTECT 166 /* Obsolete */
+#define KVM_CAP_MANUAL_DIRTY_LOG_PROTECT 166
 #define KVM_CAP_HYPERV_CPUID 167
-#define KVM_CAP_MANUAL_DIRTY_LOG_PROTECT2 168
-#define KVM_CAP_PPC_IRQ_XIVE 169
-#define KVM_CAP_ARM_SVE 170
-#define KVM_CAP_ARM_PTRAUTH_ADDRESS 171
-#define KVM_CAP_ARM_PTRAUTH_GENERIC 172
-#define KVM_CAP_PMU_EVENT_FILTER 173
 
 #ifdef KVM_CAP_IRQ_ROUTING
 
@@ -1086,7 +1078,7 @@
  *
  * KVM_IRQFD_FLAG_RESAMPLE indicates resamplefd is valid and specifies
  * the irqfd to operate in resampling mode for level triggered interrupt
- * emulation.  See Documentation/virt/kvm/api.txt.
+ * emulation.  See Documentation/virtual/kvm/api.txt.
  */
 #define KVM_IRQFD_FLAG_RESAMPLE (1 << 1)
 
@@ -1153,7 +1145,6 @@
 #define KVM_REG_SIZE_U256	0x0050000000000000ULL
 #define KVM_REG_SIZE_U512	0x0060000000000000ULL
 #define KVM_REG_SIZE_U1024	0x0070000000000000ULL
-#define KVM_REG_SIZE_U2048	0x0080000000000000ULL
 
 struct kvm_reg_list {
 	__u64 n; /* number of regs */
@@ -1220,8 +1211,6 @@
 #define KVM_DEV_TYPE_ARM_VGIC_V3	KVM_DEV_TYPE_ARM_VGIC_V3
 	KVM_DEV_TYPE_ARM_VGIC_ITS,
 #define KVM_DEV_TYPE_ARM_VGIC_ITS	KVM_DEV_TYPE_ARM_VGIC_ITS
-	KVM_DEV_TYPE_XIVE,
-#define KVM_DEV_TYPE_XIVE		KVM_DEV_TYPE_XIVE
 	KVM_DEV_TYPE_MAX,
 };
 
@@ -1330,8 +1319,6 @@
 #define KVM_PPC_GET_RMMU_INFO	  _IOW(KVMIO,  0xb0, struct kvm_ppc_rmmu_info)
 /* Available with KVM_CAP_PPC_GET_CPU_CHAR */
 #define KVM_PPC_GET_CPU_CHAR	  _IOR(KVMIO,  0xb1, struct kvm_ppc_cpu_char)
-/* Available with KVM_CAP_PMU_EVENT_FILTER */
-#define KVM_SET_PMU_EVENT_FILTER  _IOW(KVMIO,  0xb2, struct kvm_pmu_event_filter)
 
 /* ioctl for vm fd */
 #define KVM_CREATE_DEVICE	  _IOWR(KVMIO,  0xe0, struct kvm_create_device)
@@ -1447,15 +1434,12 @@
 #define KVM_GET_NESTED_STATE         _IOWR(KVMIO, 0xbe, struct kvm_nested_state)
 #define KVM_SET_NESTED_STATE         _IOW(KVMIO,  0xbf, struct kvm_nested_state)
 
-/* Available with KVM_CAP_MANUAL_DIRTY_LOG_PROTECT_2 */
+/* Available with KVM_CAP_MANUAL_DIRTY_LOG_PROTECT */
 #define KVM_CLEAR_DIRTY_LOG          _IOWR(KVMIO, 0xc0, struct kvm_clear_dirty_log)
 
 /* Available with KVM_CAP_HYPERV_CPUID */
 #define KVM_GET_SUPPORTED_HV_CPUID _IOWR(KVMIO, 0xc1, struct kvm_cpuid2)
 
-/* Available with KVM_CAP_ARM_SVE */
-#define KVM_ARM_VCPU_FINALIZE	  _IOW(KVMIO,  0xc2, int)
-
 /* Secure Encrypted Virtualization command */
 enum sev_cmd_id {
 	/* Guest initialization commands */
diff --git a/original/uapi/linux/kvm_para.h b/original/uapi/linux/kvm_para.h
index 8b86609..6c0ce49 100644
--- a/original/uapi/linux/kvm_para.h
+++ b/original/uapi/linux/kvm_para.h
@@ -28,7 +28,6 @@
 #define KVM_HC_MIPS_CONSOLE_OUTPUT	8
 #define KVM_HC_CLOCK_PAIRING		9
 #define KVM_HC_SEND_IPI		10
-#define KVM_HC_SCHED_YIELD		11
 
 /*
  * hypercalls use architecture specific
diff --git a/original/uapi/linux/limits.h b/original/uapi/linux/limits.h
index 6bcbe30..c3547f0 100644
--- a/original/uapi/linux/limits.h
+++ b/original/uapi/linux/limits.h
@@ -1,6 +1,6 @@
 /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
-#ifndef _UAPI_LINUX_LIMITS_H
-#define _UAPI_LINUX_LIMITS_H
+#ifndef _LINUX_LIMITS_H
+#define _LINUX_LIMITS_H
 
 #define NR_OPEN	        1024
 
diff --git a/original/uapi/linux/lirc.h b/original/uapi/linux/lirc.h
index f99d9dc..6b31958 100644
--- a/original/uapi/linux/lirc.h
+++ b/original/uapi/linux/lirc.h
@@ -192,10 +192,6 @@
  * @RC_PROTO_XMP: XMP protocol
  * @RC_PROTO_CEC: CEC protocol
  * @RC_PROTO_IMON: iMon Pad protocol
- * @RC_PROTO_RCMM12: RC-MM protocol 12 bits
- * @RC_PROTO_RCMM24: RC-MM protocol 24 bits
- * @RC_PROTO_RCMM32: RC-MM protocol 32 bits
- * @RC_PROTO_XBOX_DVD: Xbox DVD Movie Playback Kit protocol
  */
 enum rc_proto {
 	RC_PROTO_UNKNOWN	= 0,
@@ -222,10 +218,6 @@
 	RC_PROTO_XMP		= 21,
 	RC_PROTO_CEC		= 22,
 	RC_PROTO_IMON		= 23,
-	RC_PROTO_RCMM12		= 24,
-	RC_PROTO_RCMM24		= 25,
-	RC_PROTO_RCMM32		= 26,
-	RC_PROTO_XBOX_DVD	= 27,
 };
 
 #endif
diff --git a/original/uapi/linux/magic.h b/original/uapi/linux/magic.h
index 1274c69..f8c0004 100644
--- a/original/uapi/linux/magic.h
+++ b/original/uapi/linux/magic.h
@@ -91,7 +91,5 @@
 #define UDF_SUPER_MAGIC		0x15013346
 #define BALLOON_KVM_MAGIC	0x13661366
 #define ZSMALLOC_MAGIC		0x58295829
-#define DMA_BUF_MAGIC		0x444d4142	/* "DMAB" */
-#define Z3FOLD_MAGIC		0x33
 
 #endif /* __LINUX_MAGIC_H__ */
diff --git a/original/uapi/linux/mdio.h b/original/uapi/linux/mdio.h
index 0a55206..d435b00 100644
--- a/original/uapi/linux/mdio.h
+++ b/original/uapi/linux/mdio.h
@@ -45,7 +45,6 @@
 #define MDIO_AN_ADVERTISE	16	/* AN advertising (base page) */
 #define MDIO_AN_LPA		19	/* AN LP abilities (base page) */
 #define MDIO_PCS_EEE_ABLE	20	/* EEE Capability register */
-#define MDIO_PMA_NG_EXTABLE	21	/* 2.5G/5G PMA/PMD extended ability */
 #define MDIO_PCS_EEE_WK_ERR	22	/* EEE wake error counter */
 #define MDIO_PHYXS_LNSTAT	24	/* PHY XGXS lane state */
 #define MDIO_AN_EEE_ADV		60	/* EEE advertisement */
@@ -93,10 +92,6 @@
 #define MDIO_CTRL1_SPEED10G		(MDIO_CTRL1_SPEEDSELEXT | 0x00)
 /* 10PASS-TS/2BASE-TL */
 #define MDIO_CTRL1_SPEED10P2B		(MDIO_CTRL1_SPEEDSELEXT | 0x04)
-/* 2.5 Gb/s */
-#define MDIO_CTRL1_SPEED2_5G		(MDIO_CTRL1_SPEEDSELEXT | 0x18)
-/* 5 Gb/s */
-#define MDIO_CTRL1_SPEED5G		(MDIO_CTRL1_SPEEDSELEXT | 0x1c)
 
 /* Status register 1. */
 #define MDIO_STAT1_LPOWERABLE		0x0002	/* Low-power ability */
@@ -120,7 +115,6 @@
 
 /* Device present registers. */
 #define MDIO_DEVS_PRESENT(devad)	(1 << (devad))
-#define MDIO_DEVS_C22PRESENT		MDIO_DEVS_PRESENT(0)
 #define MDIO_DEVS_PMAPMD		MDIO_DEVS_PRESENT(MDIO_MMD_PMAPMD)
 #define MDIO_DEVS_WIS			MDIO_DEVS_PRESENT(MDIO_MMD_WIS)
 #define MDIO_DEVS_PCS			MDIO_DEVS_PRESENT(MDIO_MMD_PCS)
@@ -129,8 +123,6 @@
 #define MDIO_DEVS_TC			MDIO_DEVS_PRESENT(MDIO_MMD_TC)
 #define MDIO_DEVS_AN			MDIO_DEVS_PRESENT(MDIO_MMD_AN)
 #define MDIO_DEVS_C22EXT		MDIO_DEVS_PRESENT(MDIO_MMD_C22EXT)
-#define MDIO_DEVS_VEND1			MDIO_DEVS_PRESENT(MDIO_MMD_VEND1)
-#define MDIO_DEVS_VEND2			MDIO_DEVS_PRESENT(MDIO_MMD_VEND2)
 
 /* Control register 2. */
 #define MDIO_PMA_CTRL2_TYPE		0x000f	/* PMA/PMD type selection */
@@ -150,8 +142,6 @@
 #define MDIO_PMA_CTRL2_1000BKX		0x000d	/* 1000BASE-KX type */
 #define MDIO_PMA_CTRL2_100BTX		0x000e	/* 100BASE-TX type */
 #define MDIO_PMA_CTRL2_10BT		0x000f	/* 10BASE-T type */
-#define MDIO_PMA_CTRL2_2_5GBT		0x0030  /* 2.5GBaseT type */
-#define MDIO_PMA_CTRL2_5GBT		0x0031  /* 5GBaseT type */
 #define MDIO_PCS_CTRL2_TYPE		0x0003	/* PCS type selection */
 #define MDIO_PCS_CTRL2_10GBR		0x0000	/* 10GBASE-R type */
 #define MDIO_PCS_CTRL2_10GBX		0x0001	/* 10GBASE-X type */
@@ -205,7 +195,6 @@
 #define MDIO_PMA_EXTABLE_1000BKX	0x0040	/* 1000BASE-KX ability */
 #define MDIO_PMA_EXTABLE_100BTX		0x0080	/* 100BASE-TX ability */
 #define MDIO_PMA_EXTABLE_10BT		0x0100	/* 10BASE-T ability */
-#define MDIO_PMA_EXTABLE_NBT		0x4000  /* 2.5/5GBASE-T ability */
 
 /* PHY XGXS lane state register. */
 #define MDIO_PHYXS_LNSTAT_SYNC0		0x0001
@@ -242,13 +231,9 @@
 #define MDIO_PCS_10GBRT_STAT2_BER	0x3f00
 
 /* AN 10GBASE-T control register. */
-#define MDIO_AN_10GBT_CTRL_ADV2_5G	0x0080	/* Advertise 2.5GBASE-T */
-#define MDIO_AN_10GBT_CTRL_ADV5G	0x0100	/* Advertise 5GBASE-T */
 #define MDIO_AN_10GBT_CTRL_ADV10G	0x1000	/* Advertise 10GBASE-T */
 
 /* AN 10GBASE-T status register. */
-#define MDIO_AN_10GBT_STAT_LP2_5G	0x0020  /* LP is 2.5GBT capable */
-#define MDIO_AN_10GBT_STAT_LP5G		0x0040  /* LP is 5GBT capable */
 #define MDIO_AN_10GBT_STAT_LPTRR	0x0200	/* LP training reset req. */
 #define MDIO_AN_10GBT_STAT_LPLTABLE	0x0400	/* LP loop timing ability */
 #define MDIO_AN_10GBT_STAT_LP10G	0x0800	/* LP is 10GBT capable */
@@ -277,10 +262,6 @@
 #define MDIO_EEE_10GKX4		0x0020	/* 10G KX4 EEE cap */
 #define MDIO_EEE_10GKR		0x0040	/* 10G KR EEE cap */
 
-/* 2.5G/5G Extended abilities register. */
-#define MDIO_PMA_NG_EXTABLE_2_5GBT	0x0001	/* 2.5GBASET ability */
-#define MDIO_PMA_NG_EXTABLE_5GBT	0x0002	/* 5GBASET ability */
-
 /* LASI RX_ALARM control/status registers. */
 #define MDIO_PMA_LASI_RX_PHYXSLFLT	0x0001	/* PHY XS RX local fault */
 #define MDIO_PMA_LASI_RX_PCSLFLT	0x0008	/* PCS RX local fault */
diff --git a/original/uapi/linux/media-bus-format.h b/original/uapi/linux/media-bus-format.h
index 2a6b253..d6a5a3b 100644
--- a/original/uapi/linux/media-bus-format.h
+++ b/original/uapi/linux/media-bus-format.h
@@ -34,7 +34,7 @@
 
 #define MEDIA_BUS_FMT_FIXED			0x0001
 
-/* RGB - next is	0x101c */
+/* RGB - next is	0x101b */
 #define MEDIA_BUS_FMT_RGB444_1X12		0x1016
 #define MEDIA_BUS_FMT_RGB444_2X8_PADHI_BE	0x1001
 #define MEDIA_BUS_FMT_RGB444_2X8_PADHI_LE	0x1002
@@ -50,7 +50,6 @@
 #define MEDIA_BUS_FMT_RGB666_1X24_CPADHI	0x1015
 #define MEDIA_BUS_FMT_RGB666_1X7X3_SPWG		0x1010
 #define MEDIA_BUS_FMT_BGR888_1X24		0x1013
-#define MEDIA_BUS_FMT_BGR888_3X8		0x101b
 #define MEDIA_BUS_FMT_GBR888_1X24		0x1014
 #define MEDIA_BUS_FMT_RGB888_1X24		0x100a
 #define MEDIA_BUS_FMT_RGB888_2X12_BE		0x100b
diff --git a/original/uapi/linux/media.h b/original/uapi/linux/media.h
index 383ac7b..e5d0c5c 100644
--- a/original/uapi/linux/media.h
+++ b/original/uapi/linux/media.h
@@ -146,7 +146,7 @@
 #define MEDIA_ENT_FL_CONNECTOR			(1 << 1)
 
 /* OR with the entity id value to find the next entity */
-#define MEDIA_ENT_ID_FLAG_NEXT			(1U << 31)
+#define MEDIA_ENT_ID_FLAG_NEXT			(1 << 31)
 
 struct media_entity_desc {
 	__u32 id;
@@ -262,11 +262,6 @@
 #define MEDIA_INTF_T_V4L_SWRADIO		(MEDIA_INTF_T_V4L_BASE + 4)
 #define MEDIA_INTF_T_V4L_TOUCH			(MEDIA_INTF_T_V4L_BASE + 5)
 
-#define MEDIA_INTF_T_ALSA_BASE			0x00000300
-#define MEDIA_INTF_T_ALSA_PCM_CAPTURE		(MEDIA_INTF_T_ALSA_BASE)
-#define MEDIA_INTF_T_ALSA_PCM_PLAYBACK		(MEDIA_INTF_T_ALSA_BASE + 1)
-#define MEDIA_INTF_T_ALSA_CONTROL		(MEDIA_INTF_T_ALSA_BASE + 2)
-
 #if defined(__KERNEL__)
 
 /*
@@ -418,19 +413,19 @@
 #define MEDIA_ENT_F_DTV_DECODER			MEDIA_ENT_F_DV_DECODER
 
 /*
- * There is still no full ALSA support in the media controller. These
+ * There is still no ALSA support in the media controller. These
  * defines should not have been added and we leave them here only
  * in case some application tries to use these defines.
- *
- * The ALSA defines that are in use have been moved into __KERNEL__
- * scope. As support gets added to these interface types, they should
- * be moved into __KERNEL__ scope with the code that uses them.
  */
-#define MEDIA_INTF_T_ALSA_COMPRESS             (MEDIA_INTF_T_ALSA_BASE + 3)
-#define MEDIA_INTF_T_ALSA_RAWMIDI              (MEDIA_INTF_T_ALSA_BASE + 4)
-#define MEDIA_INTF_T_ALSA_HWDEP                (MEDIA_INTF_T_ALSA_BASE + 5)
-#define MEDIA_INTF_T_ALSA_SEQUENCER            (MEDIA_INTF_T_ALSA_BASE + 6)
-#define MEDIA_INTF_T_ALSA_TIMER                (MEDIA_INTF_T_ALSA_BASE + 7)
+#define MEDIA_INTF_T_ALSA_BASE			0x00000300
+#define MEDIA_INTF_T_ALSA_PCM_CAPTURE		(MEDIA_INTF_T_ALSA_BASE)
+#define MEDIA_INTF_T_ALSA_PCM_PLAYBACK		(MEDIA_INTF_T_ALSA_BASE + 1)
+#define MEDIA_INTF_T_ALSA_CONTROL		(MEDIA_INTF_T_ALSA_BASE + 2)
+#define MEDIA_INTF_T_ALSA_COMPRESS		(MEDIA_INTF_T_ALSA_BASE + 3)
+#define MEDIA_INTF_T_ALSA_RAWMIDI		(MEDIA_INTF_T_ALSA_BASE + 4)
+#define MEDIA_INTF_T_ALSA_HWDEP			(MEDIA_INTF_T_ALSA_BASE + 5)
+#define MEDIA_INTF_T_ALSA_SEQUENCER		(MEDIA_INTF_T_ALSA_BASE + 6)
+#define MEDIA_INTF_T_ALSA_TIMER			(MEDIA_INTF_T_ALSA_BASE + 7)
 
 /* Obsolete symbol for media_version, no longer used in the kernel */
 #define MEDIA_API_VERSION			((0 << 16) | (1 << 8) | 0)
diff --git a/original/uapi/linux/mei.h b/original/uapi/linux/mei.h
index c6aec86..0f681cb 100644
--- a/original/uapi/linux/mei.h
+++ b/original/uapi/linux/mei.h
@@ -1,9 +1,70 @@
 /* SPDX-License-Identifier: ((GPL-2.0 WITH Linux-syscall-note) OR BSD-3-Clause) */
-/*
- * Copyright(c) 2003-2015 Intel Corporation. All rights reserved.
+/******************************************************************************
  * Intel Management Engine Interface (Intel MEI) Linux driver
  * Intel MEI Interface Header
- */
+ *
+ * This file is provided under a dual BSD/GPLv2 license.  When using or
+ * redistributing this file, you may do so under either license.
+ *
+ * GPL LICENSE SUMMARY
+ *
+ * Copyright(c) 2003 - 2012 Intel Corporation. All rights reserved.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of version 2 of the GNU General Public License as
+ * published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110,
+ * USA
+ *
+ * The full GNU General Public License is included in this distribution
+ * in the file called LICENSE.GPL.
+ *
+ * Contact Information:
+ *	Intel Corporation.
+ *	linux-mei@linux.intel.com
+ *	http://www.intel.com
+ *
+ * BSD LICENSE
+ *
+ * Copyright(c) 2003 - 2012 Intel Corporation. All rights reserved.
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ *  * Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ *  * Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in
+ *    the documentation and/or other materials provided with the
+ *    distribution.
+ *  * Neither the name Intel Corporation nor the names of its
+ *    contributors may be used to endorse or promote products derived
+ *    from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+ * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+ * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ *****************************************************************************/
+
 #ifndef _LINUX_MEI_H
 #define _LINUX_MEI_H
 
diff --git a/original/uapi/linux/mii.h b/original/uapi/linux/mii.h
index 51b48e4..a506216 100644
--- a/original/uapi/linux/mii.h
+++ b/original/uapi/linux/mii.h
@@ -121,8 +121,6 @@
 #define EXPANSION_MFAULTS	0x0010	/* Multiple faults detected    */
 #define EXPANSION_RESV		0xffe0	/* Unused...                   */
 
-#define ESTATUS_1000_XFULL	0x8000	/* Can do 1000BaseX Full       */
-#define ESTATUS_1000_XHALF	0x4000	/* Can do 1000BaseX Half       */
 #define ESTATUS_1000_TFULL	0x2000	/* Can do 1000BT Full          */
 #define ESTATUS_1000_THALF	0x1000	/* Can do 1000BT Half          */
 
diff --git a/original/uapi/linux/mman.h b/original/uapi/linux/mman.h
index fc1a64c..d0f515d 100644
--- a/original/uapi/linux/mman.h
+++ b/original/uapi/linux/mman.h
@@ -12,10 +12,6 @@
 #define OVERCOMMIT_ALWAYS		1
 #define OVERCOMMIT_NEVER		2
 
-#define MAP_SHARED	0x01		/* Share changes */
-#define MAP_PRIVATE	0x02		/* Changes are private */
-#define MAP_SHARED_VALIDATE 0x03	/* share + validate extension flags */
-
 /*
  * Huge page size encoding when MAP_HUGETLB is specified, and a huge page
  * size other than the default is desired.  See hugetlb_encode.h.
diff --git a/original/uapi/linux/mount.h b/original/uapi/linux/mount.h
index 96a0240..3f9ec42 100644
--- a/original/uapi/linux/mount.h
+++ b/original/uapi/linux/mount.h
@@ -55,66 +55,4 @@
 #define MS_MGC_VAL 0xC0ED0000
 #define MS_MGC_MSK 0xffff0000
 
-/*
- * open_tree() flags.
- */
-#define OPEN_TREE_CLONE		1		/* Clone the target tree and attach the clone */
-#define OPEN_TREE_CLOEXEC	O_CLOEXEC	/* Close the file on execve() */
-
-/*
- * move_mount() flags.
- */
-#define MOVE_MOUNT_F_SYMLINKS		0x00000001 /* Follow symlinks on from path */
-#define MOVE_MOUNT_F_AUTOMOUNTS		0x00000002 /* Follow automounts on from path */
-#define MOVE_MOUNT_F_EMPTY_PATH		0x00000004 /* Empty from path permitted */
-#define MOVE_MOUNT_T_SYMLINKS		0x00000010 /* Follow symlinks on to path */
-#define MOVE_MOUNT_T_AUTOMOUNTS		0x00000020 /* Follow automounts on to path */
-#define MOVE_MOUNT_T_EMPTY_PATH		0x00000040 /* Empty to path permitted */
-#define MOVE_MOUNT__MASK		0x00000077
-
-/*
- * fsopen() flags.
- */
-#define FSOPEN_CLOEXEC		0x00000001
-
-/*
- * fspick() flags.
- */
-#define FSPICK_CLOEXEC		0x00000001
-#define FSPICK_SYMLINK_NOFOLLOW	0x00000002
-#define FSPICK_NO_AUTOMOUNT	0x00000004
-#define FSPICK_EMPTY_PATH	0x00000008
-
-/*
- * The type of fsconfig() call made.
- */
-enum fsconfig_command {
-	FSCONFIG_SET_FLAG	= 0,	/* Set parameter, supplying no value */
-	FSCONFIG_SET_STRING	= 1,	/* Set parameter, supplying a string value */
-	FSCONFIG_SET_BINARY	= 2,	/* Set parameter, supplying a binary blob value */
-	FSCONFIG_SET_PATH	= 3,	/* Set parameter, supplying an object by path */
-	FSCONFIG_SET_PATH_EMPTY	= 4,	/* Set parameter, supplying an object by (empty) path */
-	FSCONFIG_SET_FD		= 5,	/* Set parameter, supplying an object by fd */
-	FSCONFIG_CMD_CREATE	= 6,	/* Invoke superblock creation */
-	FSCONFIG_CMD_RECONFIGURE = 7,	/* Invoke superblock reconfiguration */
-};
-
-/*
- * fsmount() flags.
- */
-#define FSMOUNT_CLOEXEC		0x00000001
-
-/*
- * Mount attributes.
- */
-#define MOUNT_ATTR_RDONLY	0x00000001 /* Mount read-only */
-#define MOUNT_ATTR_NOSUID	0x00000002 /* Ignore suid and sgid bits */
-#define MOUNT_ATTR_NODEV	0x00000004 /* Disallow access to device special files */
-#define MOUNT_ATTR_NOEXEC	0x00000008 /* Disallow program execution */
-#define MOUNT_ATTR__ATIME	0x00000070 /* Setting on how atime should be updated */
-#define MOUNT_ATTR_RELATIME	0x00000000 /* - Update atime relative to mtime/ctime. */
-#define MOUNT_ATTR_NOATIME	0x00000010 /* - Do not update access times. */
-#define MOUNT_ATTR_STRICTATIME	0x00000020 /* - Always perform atime updates */
-#define MOUNT_ATTR_NODIRATIME	0x00000080 /* Do not update directory access times */
-
 #endif /* _UAPI_LINUX_MOUNT_H */
diff --git a/original/uapi/linux/mroute.h b/original/uapi/linux/mroute.h
index 11c8c1f..5d37a9c 100644
--- a/original/uapi/linux/mroute.h
+++ b/original/uapi/linux/mroute.h
@@ -28,19 +28,12 @@
 #define MRT_TABLE	(MRT_BASE+9)	/* Specify mroute table ID		*/
 #define MRT_ADD_MFC_PROXY	(MRT_BASE+10)	/* Add a (*,*|G) mfc entry	*/
 #define MRT_DEL_MFC_PROXY	(MRT_BASE+11)	/* Del a (*,*|G) mfc entry	*/
-#define MRT_FLUSH	(MRT_BASE+12)	/* Flush all mfc entries and/or vifs	*/
-#define MRT_MAX		(MRT_BASE+12)
+#define MRT_MAX		(MRT_BASE+11)
 
 #define SIOCGETVIFCNT	SIOCPROTOPRIVATE	/* IP protocol privates */
 #define SIOCGETSGCNT	(SIOCPROTOPRIVATE+1)
 #define SIOCGETRPF	(SIOCPROTOPRIVATE+2)
 
-/* MRT_FLUSH optional flags */
-#define MRT_FLUSH_MFC	1	/* Flush multicast entries */
-#define MRT_FLUSH_MFC_STATIC	2	/* Flush static multicast entries */
-#define MRT_FLUSH_VIFS	4	/* Flush multicast vifs */
-#define MRT_FLUSH_VIFS_STATIC	8	/* Flush static multicast vifs */
-
 #define MAXVIFS		32
 typedef unsigned long vifbitmap_t;	/* User mode code depends on this lot */
 typedef unsigned short vifi_t;
diff --git a/original/uapi/linux/mroute6.h b/original/uapi/linux/mroute6.h
index c36177a..9999cc0 100644
--- a/original/uapi/linux/mroute6.h
+++ b/original/uapi/linux/mroute6.h
@@ -31,19 +31,12 @@
 #define MRT6_TABLE	(MRT6_BASE+9)	/* Specify mroute table ID		*/
 #define MRT6_ADD_MFC_PROXY	(MRT6_BASE+10)	/* Add a (*,*|G) mfc entry	*/
 #define MRT6_DEL_MFC_PROXY	(MRT6_BASE+11)	/* Del a (*,*|G) mfc entry	*/
-#define MRT6_FLUSH	(MRT6_BASE+12)	/* Flush all mfc entries and/or vifs	*/
-#define MRT6_MAX	(MRT6_BASE+12)
+#define MRT6_MAX	(MRT6_BASE+11)
 
 #define SIOCGETMIFCNT_IN6	SIOCPROTOPRIVATE	/* IP protocol privates */
 #define SIOCGETSGCNT_IN6	(SIOCPROTOPRIVATE+1)
 #define SIOCGETRPF	(SIOCPROTOPRIVATE+2)
 
-/* MRT6_FLUSH optional flags */
-#define MRT6_FLUSH_MFC	1	/* Flush multicast entries */
-#define MRT6_FLUSH_MFC_STATIC	2	/* Flush static multicast entries */
-#define MRT6_FLUSH_MIFS	4	/* Flushing multicast vifs */
-#define MRT6_FLUSH_MIFS_STATIC	8	/* Flush static multicast vifs */
-
 #define MAXMIFS		32
 typedef unsigned long mifbitmap_t;	/* User mode code depends on this lot */
 typedef unsigned short mifi_t;
diff --git a/original/uapi/linux/ndctl.h b/original/uapi/linux/ndctl.h
index de5d902..f57c9e4 100644
--- a/original/uapi/linux/ndctl.h
+++ b/original/uapi/linux/ndctl.h
@@ -243,7 +243,6 @@
 #define NVDIMM_FAMILY_HPE1 1
 #define NVDIMM_FAMILY_HPE2 2
 #define NVDIMM_FAMILY_MSFT 3
-#define NVDIMM_FAMILY_HYPERV 4
 
 #define ND_IOCTL_CALL			_IOWR(ND_IOCTL, ND_CMD_CALL,\
 					struct nd_cmd_pkg)
diff --git a/original/uapi/linux/netfilter/ipset/ip_set.h b/original/uapi/linux/netfilter/ipset/ip_set.h
index eea166c..ea69ca2 100644
--- a/original/uapi/linux/netfilter/ipset/ip_set.h
+++ b/original/uapi/linux/netfilter/ipset/ip_set.h
@@ -2,7 +2,7 @@
 /* Copyright (C) 2000-2002 Joakim Axelsson <gozem@linux.nu>
  *                         Patrick Schaaf <bof@bof.de>
  *                         Martin Josefsson <gandalf@wlug.westbo.se>
- * Copyright (C) 2003-2011 Jozsef Kadlecsik <kadlec@netfilter.org>
+ * Copyright (C) 2003-2011 Jozsef Kadlecsik <kadlec@blackhole.kfki.hu>
  *
  * This program is free software; you can redistribute it and/or modify
  * it under the terms of the GNU General Public License version 2 as
diff --git a/original/uapi/linux/netfilter/nf_synproxy.h b/original/uapi/linux/netfilter/nf_synproxy.h
deleted file mode 100644
index 00d787f..0000000
--- a/original/uapi/linux/netfilter/nf_synproxy.h
+++ /dev/null
@@ -1,23 +0,0 @@
-/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
-#ifndef _NF_SYNPROXY_H
-#define _NF_SYNPROXY_H
-
-#include <linux/types.h>
-
-#define NF_SYNPROXY_OPT_MSS		0x01
-#define NF_SYNPROXY_OPT_WSCALE		0x02
-#define NF_SYNPROXY_OPT_SACK_PERM	0x04
-#define NF_SYNPROXY_OPT_TIMESTAMP	0x08
-#define NF_SYNPROXY_OPT_ECN		0x10
-#define NF_SYNPROXY_OPT_MASK		(NF_SYNPROXY_OPT_MSS | \
-					 NF_SYNPROXY_OPT_WSCALE | \
-					 NF_SYNPROXY_OPT_SACK_PERM | \
-					 NF_SYNPROXY_OPT_TIMESTAMP)
-
-struct nf_synproxy_info {
-	__u8	options;
-	__u8	wscale;
-	__u16	mss;
-};
-
-#endif /* _NF_SYNPROXY_H */
diff --git a/original/uapi/linux/netfilter/nf_tables.h b/original/uapi/linux/netfilter/nf_tables.h
index 82abaa1..7de4f1b 100644
--- a/original/uapi/linux/netfilter/nf_tables.h
+++ b/original/uapi/linux/netfilter/nf_tables.h
@@ -192,7 +192,6 @@
  * @NFTA_CHAIN_USE: number of references to this chain (NLA_U32)
  * @NFTA_CHAIN_TYPE: type name of the string (NLA_NUL_STRING)
  * @NFTA_CHAIN_COUNTERS: counter specification of the chain (NLA_NESTED: nft_counter_attributes)
- * @NFTA_CHAIN_FLAGS: chain flags
  */
 enum nft_chain_attributes {
 	NFTA_CHAIN_UNSPEC,
@@ -205,7 +204,6 @@
 	NFTA_CHAIN_TYPE,
 	NFTA_CHAIN_COUNTERS,
 	NFTA_CHAIN_PAD,
-	NFTA_CHAIN_FLAGS,
 	__NFTA_CHAIN_MAX
 };
 #define NFTA_CHAIN_MAX		(__NFTA_CHAIN_MAX - 1)
@@ -221,7 +219,6 @@
  * @NFTA_RULE_POSITION: numeric handle of the previous rule (NLA_U64)
  * @NFTA_RULE_USERDATA: user data (NLA_BINARY, NFT_USERDATA_MAXLEN)
  * @NFTA_RULE_ID: uniquely identifies a rule in a transaction (NLA_U32)
- * @NFTA_RULE_POSITION_ID: transaction unique identifier of the previous rule (NLA_U32)
  */
 enum nft_rule_attributes {
 	NFTA_RULE_UNSPEC,
@@ -234,7 +231,6 @@
 	NFTA_RULE_USERDATA,
 	NFTA_RULE_PAD,
 	NFTA_RULE_ID,
-	NFTA_RULE_POSITION_ID,
 	__NFTA_RULE_MAX
 };
 #define NFTA_RULE_MAX		(__NFTA_RULE_MAX - 1)
@@ -732,12 +728,10 @@
  *
  * @NFT_EXTHDR_OP_IPV6: match against ipv6 extension headers
  * @NFT_EXTHDR_OP_TCP: match against tcp options
- * @NFT_EXTHDR_OP_IPV4: match against ipv4 options
  */
 enum nft_exthdr_op {
 	NFT_EXTHDR_OP_IPV6,
 	NFT_EXTHDR_OP_TCPOPT,
-	NFT_EXTHDR_OP_IPV4,
 	__NFT_EXTHDR_OP_MAX
 };
 #define NFT_EXTHDR_OP_MAX	(__NFT_EXTHDR_OP_MAX - 1)
@@ -795,10 +789,6 @@
  * @NFT_META_CGROUP: socket control group (skb->sk->sk_classid)
  * @NFT_META_PRANDOM: a 32bit pseudo-random number
  * @NFT_META_SECPATH: boolean, secpath_exists (!!skb->sp)
- * @NFT_META_IIFKIND: packet input interface kind name (dev->rtnl_link_ops->kind)
- * @NFT_META_OIFKIND: packet output interface kind name (dev->rtnl_link_ops->kind)
- * @NFT_META_BRI_IIFPVID: packet input bridge port pvid
- * @NFT_META_BRI_IIFVPROTO: packet input bridge vlan proto
  */
 enum nft_meta_keys {
 	NFT_META_LEN,
@@ -827,10 +817,6 @@
 	NFT_META_CGROUP,
 	NFT_META_PRANDOM,
 	NFT_META_SECPATH,
-	NFT_META_IIFKIND,
-	NFT_META_OIFKIND,
-	NFT_META_BRI_IIFPVID,
-	NFT_META_BRI_IIFVPROTO,
 };
 
 /**
@@ -885,8 +871,8 @@
 	NFTA_HASH_SEED,
 	NFTA_HASH_OFFSET,
 	NFTA_HASH_TYPE,
-	NFTA_HASH_SET_NAME,	/* deprecated */
-	NFTA_HASH_SET_ID,	/* deprecated */
+	NFTA_HASH_SET_NAME,
+	NFTA_HASH_SET_ID,
 	__NFTA_HASH_MAX,
 };
 #define NFTA_HASH_MAX	(__NFTA_HASH_MAX - 1)
@@ -974,7 +960,7 @@
  * @NFT_CT_DST_IP: conntrack layer 3 protocol destination (IPv4 address)
  * @NFT_CT_SRC_IP6: conntrack layer 3 protocol source (IPv6 address)
  * @NFT_CT_DST_IP6: conntrack layer 3 protocol destination (IPv6 address)
- * @NFT_CT_ID: conntrack id
+ * @NFT_CT_TIMEOUT: connection tracking timeout policy assigned to conntrack
  */
 enum nft_ct_keys {
 	NFT_CT_STATE,
@@ -1000,7 +986,7 @@
 	NFT_CT_DST_IP,
 	NFT_CT_SRC_IP6,
 	NFT_CT_DST_IP6,
-	NFT_CT_ID,
+	NFT_CT_TIMEOUT,
 	__NFT_CT_MAX
 };
 #define NFT_CT_MAX		(__NFT_CT_MAX - 1)
@@ -1144,7 +1130,7 @@
 	NFT_LOGLEVEL_AUDIT,
 	__NFT_LOGLEVEL_MAX
 };
-#define NFT_LOGLEVEL_MAX	(__NFT_LOGLEVEL_MAX - 1)
+#define NFT_LOGLEVEL_MAX	(__NFT_LOGLEVEL_MAX + 1)
 
 /**
  * enum nft_queue_attributes - nf_tables queue expression netlink attributes
@@ -1453,17 +1439,6 @@
 };
 #define NFTA_CT_TIMEOUT_MAX	(__NFTA_CT_TIMEOUT_MAX - 1)
 
-enum nft_ct_expectation_attributes {
-	NFTA_CT_EXPECT_UNSPEC,
-	NFTA_CT_EXPECT_L3PROTO,
-	NFTA_CT_EXPECT_L4PROTO,
-	NFTA_CT_EXPECT_DPORT,
-	NFTA_CT_EXPECT_TIMEOUT,
-	NFTA_CT_EXPECT_SIZE,
-	__NFTA_CT_EXPECT_MAX,
-};
-#define NFTA_CT_EXPECT_MAX	(__NFTA_CT_EXPECT_MAX - 1)
-
 #define NFT_OBJECT_UNSPEC	0
 #define NFT_OBJECT_COUNTER	1
 #define NFT_OBJECT_QUOTA	2
@@ -1473,8 +1448,7 @@
 #define NFT_OBJECT_TUNNEL	6
 #define NFT_OBJECT_CT_TIMEOUT	7
 #define NFT_OBJECT_SECMARK	8
-#define NFT_OBJECT_CT_EXPECT	9
-#define __NFT_OBJECT_MAX	10
+#define __NFT_OBJECT_MAX	9
 #define NFT_OBJECT_MAX		(__NFT_OBJECT_MAX - 1)
 
 /**
@@ -1542,37 +1516,15 @@
  *
  * @NFTA_OSF_DREG: destination register (NLA_U32: nft_registers)
  * @NFTA_OSF_TTL: Value of the TTL osf option (NLA_U8)
- * @NFTA_OSF_FLAGS: flags (NLA_U32)
  */
 enum nft_osf_attributes {
 	NFTA_OSF_UNSPEC,
 	NFTA_OSF_DREG,
 	NFTA_OSF_TTL,
-	NFTA_OSF_FLAGS,
 	__NFTA_OSF_MAX,
 };
 #define NFTA_OSF_MAX (__NFTA_OSF_MAX - 1)
 
-enum nft_osf_flags {
-	NFT_OSF_F_VERSION = (1 << 0),
-};
-
-/**
- * enum nft_synproxy_attributes - nf_tables synproxy expression netlink attributes
- *
- * @NFTA_SYNPROXY_MSS: mss value sent to the backend (NLA_U16)
- * @NFTA_SYNPROXY_WSCALE: wscale value sent to the backend (NLA_U8)
- * @NFTA_SYNPROXY_FLAGS: flags (NLA_U32)
- */
-enum nft_synproxy_attributes {
-	NFTA_SYNPROXY_UNSPEC,
-	NFTA_SYNPROXY_MSS,
-	NFTA_SYNPROXY_WSCALE,
-	NFTA_SYNPROXY_FLAGS,
-	__NFTA_SYNPROXY_MAX,
-};
-#define NFTA_SYNPROXY_MAX (__NFTA_SYNPROXY_MAX - 1)
-
 /**
  * enum nft_device_attributes - nf_tables device netlink attributes
  *
@@ -1769,19 +1721,10 @@
 };
 #define NFT_TUNNEL_MAX	(__NFT_TUNNEL_MAX - 1)
 
-enum nft_tunnel_mode {
-	NFT_TUNNEL_MODE_NONE,
-	NFT_TUNNEL_MODE_RX,
-	NFT_TUNNEL_MODE_TX,
-	__NFT_TUNNEL_MODE_MAX
-};
-#define NFT_TUNNEL_MODE_MAX	(__NFT_TUNNEL_MODE_MAX - 1)
-
 enum nft_tunnel_attributes {
 	NFTA_TUNNEL_UNSPEC,
 	NFTA_TUNNEL_KEY,
 	NFTA_TUNNEL_DREG,
-	NFTA_TUNNEL_MODE,
 	__NFTA_TUNNEL_MAX
 };
 #define NFTA_TUNNEL_MAX	(__NFTA_TUNNEL_MAX - 1)
diff --git a/original/uapi/linux/netfilter/xt_SYNPROXY.h b/original/uapi/linux/netfilter/xt_SYNPROXY.h
index 19c04ed..ea5eba1 100644
--- a/original/uapi/linux/netfilter/xt_SYNPROXY.h
+++ b/original/uapi/linux/netfilter/xt_SYNPROXY.h
@@ -2,14 +2,18 @@
 #ifndef _XT_SYNPROXY_H
 #define _XT_SYNPROXY_H
 
-#include <linux/netfilter/nf_synproxy.h>
+#include <linux/types.h>
 
-#define XT_SYNPROXY_OPT_MSS		NF_SYNPROXY_OPT_MSS
-#define XT_SYNPROXY_OPT_WSCALE		NF_SYNPROXY_OPT_WSCALE
-#define XT_SYNPROXY_OPT_SACK_PERM	NF_SYNPROXY_OPT_SACK_PERM
-#define XT_SYNPROXY_OPT_TIMESTAMP	NF_SYNPROXY_OPT_TIMESTAMP
-#define XT_SYNPROXY_OPT_ECN		NF_SYNPROXY_OPT_ECN
+#define XT_SYNPROXY_OPT_MSS		0x01
+#define XT_SYNPROXY_OPT_WSCALE		0x02
+#define XT_SYNPROXY_OPT_SACK_PERM	0x04
+#define XT_SYNPROXY_OPT_TIMESTAMP	0x08
+#define XT_SYNPROXY_OPT_ECN		0x10
 
-#define xt_synproxy_info		nf_synproxy_info
+struct xt_synproxy_info {
+	__u8	options;
+	__u8	wscale;
+	__u16	mss;
+};
 
 #endif /* _XT_SYNPROXY_H */
diff --git a/original/uapi/linux/netfilter/xt_connlabel.h b/original/uapi/linux/netfilter/xt_connlabel.h
index 323f0df..2312f0e 100644
--- a/original/uapi/linux/netfilter/xt_connlabel.h
+++ b/original/uapi/linux/netfilter/xt_connlabel.h
@@ -1,8 +1,4 @@
 /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
-
-#ifndef _UAPI_XT_CONNLABEL_H
-#define _UAPI_XT_CONNLABEL_H
-
 #include <linux/types.h>
 
 #define XT_CONNLABEL_MAXBIT 127
@@ -15,5 +11,3 @@
 	__u16 bit;
 	__u16 options;
 };
-
-#endif /* _UAPI_XT_CONNLABEL_H */
diff --git a/original/uapi/linux/netfilter/xt_nfacct.h b/original/uapi/linux/netfilter/xt_nfacct.h
index b5123ab..5c8a4d7 100644
--- a/original/uapi/linux/netfilter/xt_nfacct.h
+++ b/original/uapi/linux/netfilter/xt_nfacct.h
@@ -11,9 +11,4 @@
 	struct nf_acct	*nfacct;
 };
 
-struct xt_nfacct_match_info_v1 {
-	char		name[NFACCT_NAME_MAX];
-	struct nf_acct	*nfacct __attribute__((aligned(8)));
-};
-
 #endif /* _XT_NFACCT_MATCH_H */
diff --git a/original/uapi/linux/netfilter/xt_owner.h b/original/uapi/linux/netfilter/xt_owner.h
index 5108df4..fa3ad84 100644
--- a/original/uapi/linux/netfilter/xt_owner.h
+++ b/original/uapi/linux/netfilter/xt_owner.h
@@ -5,17 +5,11 @@
 #include <linux/types.h>
 
 enum {
-	XT_OWNER_UID          = 1 << 0,
-	XT_OWNER_GID          = 1 << 1,
-	XT_OWNER_SOCKET       = 1 << 2,
-	XT_OWNER_SUPPL_GROUPS = 1 << 3,
+	XT_OWNER_UID    = 1 << 0,
+	XT_OWNER_GID    = 1 << 1,
+	XT_OWNER_SOCKET = 1 << 2,
 };
 
-#define XT_OWNER_MASK	(XT_OWNER_UID | 	\
-			 XT_OWNER_GID | 	\
-			 XT_OWNER_SOCKET |	\
-			 XT_OWNER_SUPPL_GROUPS)
-
 struct xt_owner_match_info {
 	__u32 uid_min, uid_max;
 	__u32 gid_min, gid_max;
diff --git a/original/uapi/linux/nexthop.h b/original/uapi/linux/nexthop.h
deleted file mode 100644
index 7b61867..0000000
--- a/original/uapi/linux/nexthop.h
+++ /dev/null
@@ -1,56 +0,0 @@
-/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
-#ifndef _UAPI_LINUX_NEXTHOP_H
-#define _UAPI_LINUX_NEXTHOP_H
-
-#include <linux/types.h>
-
-struct nhmsg {
-	unsigned char	nh_family;
-	unsigned char	nh_scope;     /* return only */
-	unsigned char	nh_protocol;  /* Routing protocol that installed nh */
-	unsigned char	resvd;
-	unsigned int	nh_flags;     /* RTNH_F flags */
-};
-
-/* entry in a nexthop group */
-struct nexthop_grp {
-	__u32	id;	  /* nexthop id - must exist */
-	__u8	weight;   /* weight of this nexthop */
-	__u8	resvd1;
-	__u16	resvd2;
-};
-
-enum {
-	NEXTHOP_GRP_TYPE_MPATH,  /* default type if not specified */
-	__NEXTHOP_GRP_TYPE_MAX,
-};
-
-#define NEXTHOP_GRP_TYPE_MAX (__NEXTHOP_GRP_TYPE_MAX - 1)
-
-enum {
-	NHA_UNSPEC,
-	NHA_ID,		/* u32; id for nexthop. id == 0 means auto-assign */
-
-	NHA_GROUP,	/* array of nexthop_grp */
-	NHA_GROUP_TYPE,	/* u16 one of NEXTHOP_GRP_TYPE */
-	/* if NHA_GROUP attribute is added, no other attributes can be set */
-
-	NHA_BLACKHOLE,	/* flag; nexthop used to blackhole packets */
-	/* if NHA_BLACKHOLE is added, OIF, GATEWAY, ENCAP can not be set */
-
-	NHA_OIF,	/* u32; nexthop device */
-	NHA_GATEWAY,	/* be32 (IPv4) or in6_addr (IPv6) gw address */
-	NHA_ENCAP_TYPE, /* u16; lwt encap type */
-	NHA_ENCAP,	/* lwt encap data */
-
-	/* NHA_OIF can be appended to dump request to return only
-	 * nexthops using given device
-	 */
-	NHA_GROUPS,	/* flag; only return nexthop groups in dump */
-	NHA_MASTER,	/* u32;  only return nexthops with given master dev */
-
-	__NHA_MAX,
-};
-
-#define NHA_MAX	(__NHA_MAX - 1)
-#endif
diff --git a/original/uapi/linux/nfs_mount.h b/original/uapi/linux/nfs_mount.h
index e3bcfc6..e44e006 100644
--- a/original/uapi/linux/nfs_mount.h
+++ b/original/uapi/linux/nfs_mount.h
@@ -66,4 +66,13 @@
 #define NFS_MOUNT_UNSHARED	0x8000	/* 5 */
 #define NFS_MOUNT_FLAGMASK	0xFFFF
 
+/* The following are for internal use only */
+#define NFS_MOUNT_LOOKUP_CACHE_NONEG	0x10000
+#define NFS_MOUNT_LOOKUP_CACHE_NONE	0x20000
+#define NFS_MOUNT_NORESVPORT		0x40000
+#define NFS_MOUNT_LEGACY_INTERFACE	0x80000
+
+#define NFS_MOUNT_LOCAL_FLOCK	0x100000
+#define NFS_MOUNT_LOCAL_FCNTL	0x200000
+
 #endif
diff --git a/original/uapi/linux/nfsd/cld.h b/original/uapi/linux/nfsd/cld.h
index b1e9de4..f8f5ccc 100644
--- a/original/uapi/linux/nfsd/cld.h
+++ b/original/uapi/linux/nfsd/cld.h
@@ -36,7 +36,6 @@
 	Cld_Remove,		/* remove record of this cm_id */
 	Cld_Check,		/* is this cm_id allowed? */
 	Cld_GraceDone,		/* grace period is complete */
-	Cld_GraceStart,
 };
 
 /* representation of long-form NFSv4 client ID */
diff --git a/original/uapi/linux/nilfs2_ondisk.h b/original/uapi/linux/nilfs2_ondisk.h
index c23f91a..a7e66ab 100644
--- a/original/uapi/linux/nilfs2_ondisk.h
+++ b/original/uapi/linux/nilfs2_ondisk.h
@@ -29,7 +29,7 @@
 
 #include <linux/types.h>
 #include <linux/magic.h>
-#include <asm/byteorder.h>
+
 
 #define NILFS_INODE_BMAP_SIZE	7
 
@@ -533,19 +533,19 @@
 static inline void							\
 nilfs_checkpoint_set_##name(struct nilfs_checkpoint *cp)		\
 {									\
-	cp->cp_flags = __cpu_to_le32(__le32_to_cpu(cp->cp_flags) |	\
-				     (1UL << NILFS_CHECKPOINT_##flag));	\
+	cp->cp_flags = cpu_to_le32(le32_to_cpu(cp->cp_flags) |		\
+				   (1UL << NILFS_CHECKPOINT_##flag));	\
 }									\
 static inline void							\
 nilfs_checkpoint_clear_##name(struct nilfs_checkpoint *cp)		\
 {									\
-	cp->cp_flags = __cpu_to_le32(__le32_to_cpu(cp->cp_flags) &	\
+	cp->cp_flags = cpu_to_le32(le32_to_cpu(cp->cp_flags) &		\
 				   ~(1UL << NILFS_CHECKPOINT_##flag));	\
 }									\
 static inline int							\
 nilfs_checkpoint_##name(const struct nilfs_checkpoint *cp)		\
 {									\
-	return !!(__le32_to_cpu(cp->cp_flags) &				\
+	return !!(le32_to_cpu(cp->cp_flags) &				\
 		  (1UL << NILFS_CHECKPOINT_##flag));			\
 }
 
@@ -595,20 +595,20 @@
 static inline void							\
 nilfs_segment_usage_set_##name(struct nilfs_segment_usage *su)		\
 {									\
-	su->su_flags = __cpu_to_le32(__le32_to_cpu(su->su_flags) |	\
+	su->su_flags = cpu_to_le32(le32_to_cpu(su->su_flags) |		\
 				   (1UL << NILFS_SEGMENT_USAGE_##flag));\
 }									\
 static inline void							\
 nilfs_segment_usage_clear_##name(struct nilfs_segment_usage *su)	\
 {									\
 	su->su_flags =							\
-		__cpu_to_le32(__le32_to_cpu(su->su_flags) &		\
+		cpu_to_le32(le32_to_cpu(su->su_flags) &			\
 			    ~(1UL << NILFS_SEGMENT_USAGE_##flag));      \
 }									\
 static inline int							\
 nilfs_segment_usage_##name(const struct nilfs_segment_usage *su)	\
 {									\
-	return !!(__le32_to_cpu(su->su_flags) &				\
+	return !!(le32_to_cpu(su->su_flags) &				\
 		  (1UL << NILFS_SEGMENT_USAGE_##flag));			\
 }
 
@@ -619,15 +619,15 @@
 static inline void
 nilfs_segment_usage_set_clean(struct nilfs_segment_usage *su)
 {
-	su->su_lastmod = __cpu_to_le64(0);
-	su->su_nblocks = __cpu_to_le32(0);
-	su->su_flags = __cpu_to_le32(0);
+	su->su_lastmod = cpu_to_le64(0);
+	su->su_nblocks = cpu_to_le32(0);
+	su->su_flags = cpu_to_le32(0);
 }
 
 static inline int
 nilfs_segment_usage_clean(const struct nilfs_segment_usage *su)
 {
-	return !__le32_to_cpu(su->su_flags);
+	return !le32_to_cpu(su->su_flags);
 }
 
 /**
diff --git a/original/uapi/linux/nl80211.h b/original/uapi/linux/nl80211.h
index beb9a9d..31ae5c7 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-2019 Intel Corporation
+ * Copyright (C) 2018 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
@@ -235,15 +235,6 @@
  */
 
 /**
- * DOC: SAE authentication offload
- *
- * By setting @NL80211_EXT_FEATURE_SAE_OFFLOAD flag drivers can indicate they
- * support offloading SAE authentication for WPA3-Personal networks. In
- * %NL80211_CMD_CONNECT the password for SAE should be specified using
- * %NL80211_ATTR_SAE_PASSWORD.
- */
-
-/**
  * enum nl80211_commands - supported nl80211 commands
  *
  * @NL80211_CMD_UNSPEC: unspecified command to catch errors
@@ -1074,26 +1065,6 @@
  *	indicated by %NL80211_ATTR_WIPHY_FREQ and other attributes
  *	determining the width and type.
  *
- * @NL80211_CMD_UPDATE_OWE_INFO: This interface allows the host driver to
- *	offload OWE processing to user space. This intends to support
- *	OWE AKM by the host drivers that implement SME but rely
- *	on the user space for the cryptographic/DH IE processing in AP mode.
- *
- * @NL80211_CMD_PROBE_MESH_LINK: The requirement for mesh link metric
- *	refreshing, is that from one mesh point we be able to send some data
- *	frames to other mesh points which are not currently selected as a
- *	primary traffic path, but which are only 1 hop away. The absence of
- *	the primary path to the chosen node makes it necessary to apply some
- *	form of marking on a chosen packet stream so that the packets can be
- *	properly steered to the selected node for testing, and not by the
- *	regular mesh path lookup. Further, the packets must be of type data
- *	so that the rate control (often embedded in firmware) is used for
- *	rate selection.
- *
- *	Here attribute %NL80211_ATTR_MAC is used to specify connected mesh
- *	peer MAC address and %NL80211_ATTR_FRAME is used to specify the frame
- *	content. The frame is ethernet data.
- *
  * @NL80211_CMD_MAX: highest used command number
  * @__NL80211_CMD_AFTER_LAST: internal use
  */
@@ -1314,10 +1285,6 @@
 
 	NL80211_CMD_NOTIFY_RADAR,
 
-	NL80211_CMD_UPDATE_OWE_INFO,
-
-	NL80211_CMD_PROBE_MESH_LINK,
-
 	/* add new commands above here */
 
 	/* used to define NL80211_CMD_MAX below */
@@ -1598,12 +1565,6 @@
  *	(a u32 with flags from &enum nl80211_wpa_versions).
  * @NL80211_ATTR_AKM_SUITES: Used with CONNECT, ASSOCIATE, and NEW_BEACON to
  *	indicate which key management algorithm(s) to use (an array of u32).
- *	This attribute is also sent in response to @NL80211_CMD_GET_WIPHY,
- *	indicating the supported AKM suites, intended for specific drivers which
- *	implement SME and have constraints on which AKMs are supported and also
- *	the cases where an AKM support is offloaded to the driver/firmware.
- *	If there is no such notification from the driver, user space should
- *	assume the driver supports all the AKM suites.
  *
  * @NL80211_ATTR_REQ_IE: (Re)association request information elements as
  *	sent out by the card, for ROAM and successful CONNECT events.
@@ -2299,10 +2260,10 @@
  *     &enum nl80211_external_auth_action value). This is used with the
  *     %NL80211_CMD_EXTERNAL_AUTH request event.
  * @NL80211_ATTR_EXTERNAL_AUTH_SUPPORT: Flag attribute indicating that the user
- *	space supports external authentication. This attribute shall be used
- *	with %NL80211_CMD_CONNECT and %NL80211_CMD_START_AP request. The driver
- *	may offload authentication processing to user space if this capability
- *	is indicated in the respective requests from the user space.
+ *     space supports external authentication. This attribute shall be used
+ *     only with %NL80211_CMD_CONNECT request. The driver may offload
+ *     authentication processing to user space if this capability is indicated
+ *     in NL80211_CMD_CONNECT requests from the user space.
  *
  * @NL80211_ATTR_NSS: Station's New/updated  RX_NSS value notified using this
  *	u8 attribute. This is used with %NL80211_CMD_STA_OPMODE_CHANGED.
@@ -2338,24 +2299,6 @@
  *	This is also used for capability advertisement in the wiphy information,
  *	with the appropriate sub-attributes.
  *
- * @NL80211_ATTR_AIRTIME_WEIGHT: Station's weight when scheduled by the airtime
- *	scheduler.
- *
- * @NL80211_ATTR_STA_TX_POWER_SETTING: Transmit power setting type (u8) for
- *	station associated with the AP. See &enum nl80211_tx_power_setting for
- *	possible values.
- * @NL80211_ATTR_STA_TX_POWER: Transmit power level (s16) in dBm units. This
- *	allows to set Tx power for a station. If this attribute is not included,
- *	the default per-interface tx power setting will be overriding. Driver
- *	should be picking up the lowest tx power, either tx power per-interface
- *	or per-station.
- *
- * @NL80211_ATTR_SAE_PASSWORD: attribute for passing SAE password material. It
- *	is used with %NL80211_CMD_CONNECT to provide password for offloading
- *	SAE authentication for WPA3-Personal networks.
- *
- * @NL80211_ATTR_TWT_RESPONDER: Enable target wait time responder support.
- *
  * @NUM_NL80211_ATTR: total number of nl80211_attrs available
  * @NL80211_ATTR_MAX: highest attribute number currently defined
  * @__NL80211_ATTR_AFTER_LAST: internal use
@@ -2805,14 +2748,6 @@
 
 	NL80211_ATTR_PEER_MEASUREMENTS,
 
-	NL80211_ATTR_AIRTIME_WEIGHT,
-	NL80211_ATTR_STA_TX_POWER_SETTING,
-	NL80211_ATTR_STA_TX_POWER,
-
-	NL80211_ATTR_SAE_PASSWORD,
-
-	NL80211_ATTR_TWT_RESPONDER,
-
 	/* add attributes here, update the policy in nl80211.c */
 
 	__NL80211_ATTR_AFTER_LAST,
@@ -2856,14 +2791,14 @@
 
 #define NL80211_MAX_SUPP_RATES			32
 #define NL80211_MAX_SUPP_HT_RATES		77
-#define NL80211_MAX_SUPP_REG_RULES		128
+#define NL80211_MAX_SUPP_REG_RULES		64
 #define NL80211_TKIP_DATA_OFFSET_ENCR_KEY	0
 #define NL80211_TKIP_DATA_OFFSET_TX_MIC_KEY	16
 #define NL80211_TKIP_DATA_OFFSET_RX_MIC_KEY	24
 #define NL80211_HT_CAPABILITY_LEN		26
 #define NL80211_VHT_CAPABILITY_LEN		12
 #define NL80211_HE_MIN_CAPABILITY_LEN           16
-#define NL80211_HE_MAX_CAPABILITY_LEN           54
+#define NL80211_HE_MAX_CAPABILITY_LEN           51
 #define NL80211_MAX_NR_CIPHER_SUITES		5
 #define NL80211_MAX_NR_AKM_SUITES		2
 
@@ -3190,10 +3125,6 @@
  *	might not be fully accurate.
  * @NL80211_STA_INFO_CONNECTED_TO_GATE: set to true if STA has a path to a
  *	mesh gate (u8, 0 or 1)
- * @NL80211_STA_INFO_TX_DURATION: aggregate PPDU duration for all frames
- *	sent to the station (u64, usec)
- * @NL80211_STA_INFO_AIRTIME_WEIGHT: current airtime weight for station (u16)
- * @NL80211_STA_INFO_AIRTIME_LINK_METRIC: airtime link metric for mesh station
  * @__NL80211_STA_INFO_AFTER_LAST: internal
  * @NL80211_STA_INFO_MAX: highest possible station info attribute
  */
@@ -3237,9 +3168,6 @@
 	NL80211_STA_INFO_RX_MPDUS,
 	NL80211_STA_INFO_FCS_ERROR_COUNT,
 	NL80211_STA_INFO_CONNECTED_TO_GATE,
-	NL80211_STA_INFO_TX_DURATION,
-	NL80211_STA_INFO_AIRTIME_WEIGHT,
-	NL80211_STA_INFO_AIRTIME_LINK_METRIC,
 
 	/* keep last */
 	__NL80211_STA_INFO_AFTER_LAST,
@@ -3349,10 +3277,8 @@
  * 	&enum nl80211_mpath_flags;
  * @NL80211_MPATH_INFO_DISCOVERY_TIMEOUT: total path discovery timeout, in msec
  * @NL80211_MPATH_INFO_DISCOVERY_RETRIES: mesh path discovery retries
- * @NL80211_MPATH_INFO_HOP_COUNT: hop count to destination
- * @NL80211_MPATH_INFO_PATH_CHANGE: total number of path changes to destination
  * @NL80211_MPATH_INFO_MAX: highest mesh path information attribute number
- *	currently defined
+ *	currently defind
  * @__NL80211_MPATH_INFO_AFTER_LAST: internal use
  */
 enum nl80211_mpath_info {
@@ -3364,8 +3290,6 @@
 	NL80211_MPATH_INFO_FLAGS,
 	NL80211_MPATH_INFO_DISCOVERY_TIMEOUT,
 	NL80211_MPATH_INFO_DISCOVERY_RETRIES,
-	NL80211_MPATH_INFO_HOP_COUNT,
-	NL80211_MPATH_INFO_PATH_CHANGE,
 
 	/* keep last */
 	__NL80211_MPATH_INFO_AFTER_LAST,
@@ -3694,14 +3618,6 @@
  *	value as specified by &struct nl80211_bss_select_rssi_adjust.
  * @NL80211_SCHED_SCAN_MATCH_ATTR_BSSID: BSSID to be used for matching
  *	(this cannot be used together with SSID).
- * @NL80211_SCHED_SCAN_MATCH_PER_BAND_RSSI: Nested attribute that carries the
- *	band specific minimum rssi thresholds for the bands defined in
- *	enum nl80211_band. The minimum rssi threshold value(s32) specific to a
- *	band shall be encapsulated in attribute with type value equals to one
- *	of the NL80211_BAND_* defined in enum nl80211_band. For example, the
- *	minimum rssi threshold value for 2.4GHZ band shall be encapsulated
- *	within an attribute of type NL80211_BAND_2GHZ. And one or more of such
- *	attributes will be nested within this attribute.
  * @NL80211_SCHED_SCAN_MATCH_ATTR_MAX: highest scheduled scan filter
  *	attribute number currently defined
  * @__NL80211_SCHED_SCAN_MATCH_ATTR_AFTER_LAST: internal use
@@ -3714,7 +3630,6 @@
 	NL80211_SCHED_SCAN_MATCH_ATTR_RELATIVE_RSSI,
 	NL80211_SCHED_SCAN_MATCH_ATTR_RSSI_ADJUST,
 	NL80211_SCHED_SCAN_MATCH_ATTR_BSSID,
-	NL80211_SCHED_SCAN_MATCH_PER_BAND_RSSI,
 
 	/* keep last */
 	__NL80211_SCHED_SCAN_MATCH_ATTR_AFTER_LAST,
@@ -4200,27 +4115,6 @@
 };
 
 /**
- * enum nl80211_key_mode - Key mode
- *
- * @NL80211_KEY_RX_TX: (Default)
- *	Key can be used for Rx and Tx immediately
- *
- * The following modes can only be selected for unicast keys and when the
- * driver supports @NL80211_EXT_FEATURE_EXT_KEY_ID:
- *
- * @NL80211_KEY_NO_TX: Only allowed in combination with @NL80211_CMD_NEW_KEY:
- *	Unicast key can only be used for Rx, Tx not allowed, yet
- * @NL80211_KEY_SET_TX: Only allowed in combination with @NL80211_CMD_SET_KEY:
- *	The unicast key identified by idx and mac is cleared for Tx and becomes
- *	the preferred Tx key for the station.
- */
-enum nl80211_key_mode {
-	NL80211_KEY_RX_TX,
-	NL80211_KEY_NO_TX,
-	NL80211_KEY_SET_TX
-};
-
-/**
  * enum nl80211_chan_width - channel width definitions
  *
  * These values are used with the %NL80211_ATTR_CHANNEL_WIDTH
@@ -4425,7 +4319,6 @@
 enum nl80211_wpa_versions {
 	NL80211_WPA_VERSION_1 = 1 << 0,
 	NL80211_WPA_VERSION_2 = 1 << 1,
-	NL80211_WPA_VERSION_3 = 1 << 2,
 };
 
 /**
@@ -4464,9 +4357,6 @@
  * @NL80211_KEY_DEFAULT_TYPES: A nested attribute containing flags
  *	attributes, specifying what a key should be set as default as.
  *	See &enum nl80211_key_default_types.
- * @NL80211_KEY_MODE: the mode from enum nl80211_key_mode.
- *	Defaults to @NL80211_KEY_RX_TX.
- *
  * @__NL80211_KEY_AFTER_LAST: internal
  * @NL80211_KEY_MAX: highest key attribute
  */
@@ -4480,7 +4370,6 @@
 	NL80211_KEY_DEFAULT_MGMT,
 	NL80211_KEY_TYPE,
 	NL80211_KEY_DEFAULT_TYPES,
-	NL80211_KEY_MODE,
 
 	/* keep last */
 	__NL80211_KEY_AFTER_LAST,
@@ -5334,7 +5223,7 @@
 	NL80211_FEATURE_TDLS_CHANNEL_SWITCH		= 1 << 28,
 	NL80211_FEATURE_SCAN_RANDOM_MAC_ADDR		= 1 << 29,
 	NL80211_FEATURE_SCHED_SCAN_RANDOM_MAC_ADDR	= 1 << 30,
-	NL80211_FEATURE_ND_RANDOM_MAC_ADDR		= 1U << 31,
+	NL80211_FEATURE_ND_RANDOM_MAC_ADDR		= 1 << 31,
 };
 
 /**
@@ -5426,24 +5315,6 @@
  *      able to rekey an in-use key correctly. Userspace must not rekey PTK keys
  *      if this flag is not set. Ignoring this can leak clear text packets and/or
  *      freeze the connection.
- * @NL80211_EXT_FEATURE_EXT_KEY_ID: Driver supports "Extended Key ID for
- *      Individually Addressed Frames" from IEEE802.11-2016.
- *
- * @NL80211_EXT_FEATURE_AIRTIME_FAIRNESS: Driver supports getting airtime
- *	fairness for transmitted packets and has enabled airtime fairness
- *	scheduling.
- *
- * @NL80211_EXT_FEATURE_AP_PMKSA_CACHING: Driver/device supports PMKSA caching
- *	(set/del PMKSA operations) in AP mode.
- *
- * @NL80211_EXT_FEATURE_SCHED_SCAN_BAND_SPECIFIC_RSSI_THOLD: Driver supports
- *	filtering of sched scan results using band specific RSSI thresholds.
- *
- * @NL80211_EXT_FEATURE_STA_TX_PWR: This driver supports controlling tx power
- *	to a station.
- *
- * @NL80211_EXT_FEATURE_SAE_OFFLOAD: Device wants to do SAE authentication in
- *	station mode (SAE password is passed as part of the connect command).
  *
  * @NUM_NL80211_EXT_FEATURES: number of extended features.
  * @MAX_NL80211_EXT_FEATURES: highest extended feature index.
@@ -5484,12 +5355,6 @@
 	NL80211_EXT_FEATURE_SCAN_MIN_PREQ_CONTENT,
 	NL80211_EXT_FEATURE_CAN_REPLACE_PTK0,
 	NL80211_EXT_FEATURE_ENABLE_FTM_RESPONDER,
-	NL80211_EXT_FEATURE_AIRTIME_FAIRNESS,
-	NL80211_EXT_FEATURE_AP_PMKSA_CACHING,
-	NL80211_EXT_FEATURE_SCHED_SCAN_BAND_SPECIFIC_RSSI_THOLD,
-	NL80211_EXT_FEATURE_EXT_KEY_ID,
-	NL80211_EXT_FEATURE_STA_TX_PWR,
-	NL80211_EXT_FEATURE_SAE_OFFLOAD,
 
 	/* add new features before the definition below */
 	NUM_NL80211_EXT_FEATURES,
@@ -5741,14 +5606,9 @@
  * Used by cfg80211_rx_mgmt()
  *
  * @NL80211_RXMGMT_FLAG_ANSWERED: frame was answered by device/driver.
- * @NL80211_RXMGMT_FLAG_EXTERNAL_AUTH: Host driver intends to offload
- *	the authentication. Exclusively defined for host drivers that
- *	advertises the SME functionality but would like the userspace
- *	to handle certain authentication algorithms (e.g. SAE).
  */
 enum nl80211_rxmgmt_flags {
 	NL80211_RXMGMT_FLAG_ANSWERED = 1 << 0,
-	NL80211_RXMGMT_FLAG_EXTERNAL_AUTH = 1 << 1,
 };
 
 /*
diff --git a/original/uapi/linux/nvme_ioctl.h b/original/uapi/linux/nvme_ioctl.h
index 1c215ea..6e74b1e 100644
--- a/original/uapi/linux/nvme_ioctl.h
+++ b/original/uapi/linux/nvme_ioctl.h
@@ -2,6 +2,15 @@
 /*
  * Definitions for the NVM Express ioctl interface
  * Copyright (c) 2011-2014, Intel Corporation.
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms and conditions of the GNU General Public License,
+ * version 2, as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License for
+ * more details.
  */
 
 #ifndef _UAPI_LINUX_NVME_IOCTL_H
diff --git a/original/uapi/linux/openvswitch.h b/original/uapi/linux/openvswitch.h
index f271f1e..dbe0cbe 100644
--- a/original/uapi/linux/openvswitch.h
+++ b/original/uapi/linux/openvswitch.h
@@ -364,7 +364,6 @@
 	OVS_TUNNEL_KEY_ATTR_IPV6_DST,		/* struct in6_addr dst IPv6 address. */
 	OVS_TUNNEL_KEY_ATTR_PAD,
 	OVS_TUNNEL_KEY_ATTR_ERSPAN_OPTS,	/* struct erspan_metadata */
-	OVS_TUNNEL_KEY_ATTR_IPV4_INFO_BRIDGE,	/* No argument. IPV4_INFO_BRIDGE mode.*/
 	__OVS_TUNNEL_KEY_ATTR_MAX
 };
 
@@ -735,7 +734,6 @@
  * be received on NFNLGRP_CONNTRACK_NEW and NFNLGRP_CONNTRACK_DESTROY groups,
  * respectively.  Remaining bits control the changes for which an event is
  * delivered on the NFNLGRP_CONNTRACK_UPDATE group.
- * @OVS_CT_ATTR_TIMEOUT: Variable length string defining conntrack timeout.
  */
 enum ovs_ct_attr {
 	OVS_CT_ATTR_UNSPEC,
@@ -748,8 +746,6 @@
 	OVS_CT_ATTR_NAT,        /* Nested OVS_NAT_ATTR_* */
 	OVS_CT_ATTR_FORCE_COMMIT,  /* No argument */
 	OVS_CT_ATTR_EVENTMASK,  /* u32 mask of IPCT_* events. */
-	OVS_CT_ATTR_TIMEOUT,	/* Associate timeout with this connection for
-				 * fine-grain timeout tuning. */
 	__OVS_CT_ATTR_MAX
 };
 
@@ -802,44 +798,6 @@
 	struct ovs_key_ethernet addresses;
 };
 
-/*
- * enum ovs_check_pkt_len_attr - Attributes for %OVS_ACTION_ATTR_CHECK_PKT_LEN.
- *
- * @OVS_CHECK_PKT_LEN_ATTR_PKT_LEN: u16 Packet length to check for.
- * @OVS_CHECK_PKT_LEN_ATTR_ACTIONS_IF_GREATER: Nested OVS_ACTION_ATTR_*
- * actions to apply if the packer length is greater than the specified
- * length in the attr - OVS_CHECK_PKT_LEN_ATTR_PKT_LEN.
- * @OVS_CHECK_PKT_LEN_ATTR_ACTIONS_IF_LESS_EQUAL - Nested OVS_ACTION_ATTR_*
- * actions to apply if the packer length is lesser or equal to the specified
- * length in the attr - OVS_CHECK_PKT_LEN_ATTR_PKT_LEN.
- */
-enum ovs_check_pkt_len_attr {
-	OVS_CHECK_PKT_LEN_ATTR_UNSPEC,
-	OVS_CHECK_PKT_LEN_ATTR_PKT_LEN,
-	OVS_CHECK_PKT_LEN_ATTR_ACTIONS_IF_GREATER,
-	OVS_CHECK_PKT_LEN_ATTR_ACTIONS_IF_LESS_EQUAL,
-	__OVS_CHECK_PKT_LEN_ATTR_MAX,
-
-#ifdef __KERNEL__
-	OVS_CHECK_PKT_LEN_ATTR_ARG          /* struct check_pkt_len_arg  */
-#endif
-};
-
-#define OVS_CHECK_PKT_LEN_ATTR_MAX (__OVS_CHECK_PKT_LEN_ATTR_MAX - 1)
-
-#ifdef __KERNEL__
-struct check_pkt_len_arg {
-	u16 pkt_len;	/* Same value as OVS_CHECK_PKT_LEN_ATTR_PKT_LEN'. */
-	bool exec_for_greater;	/* When true, actions in IF_GREATER will
-				 * not change flow keys. False otherwise.
-				 */
-	bool exec_for_lesser_equal; /* When true, actions in IF_LESS_EQUAL
-				     * will not change flow keys. False
-				     * otherwise.
-				     */
-};
-#endif
-
 /**
  * enum ovs_action_attr - Action types.
  *
@@ -884,9 +842,6 @@
  * packet, or modify the packet (e.g., change the DSCP field).
  * @OVS_ACTION_ATTR_CLONE: make a copy of the packet and execute a list of
  * actions without affecting the original packet and key.
- * @OVS_ACTION_ATTR_CHECK_PKT_LEN: Check the packet length and execute a set
- * of actions if greater than the specified packet length, else execute
- * another set of actions.
  *
  * Only a single header can be set with a single %OVS_ACTION_ATTR_SET.  Not all
  * fields within a header are modifiable, e.g. the IPv4 protocol and fragment
@@ -921,7 +876,6 @@
 	OVS_ACTION_ATTR_POP_NSH,      /* No argument. */
 	OVS_ACTION_ATTR_METER,        /* u32 meter ID. */
 	OVS_ACTION_ATTR_CLONE,        /* Nested OVS_CLONE_ATTR_*.  */
-	OVS_ACTION_ATTR_CHECK_PKT_LEN, /* Nested OVS_CHECK_PKT_LEN_ATTR_*. */
 
 	__OVS_ACTION_ATTR_MAX,	      /* Nothing past this will be accepted
 				       * from userspace. */
diff --git a/original/uapi/linux/pci_regs.h b/original/uapi/linux/pci_regs.h
index f28e562..e1e9888 100644
--- a/original/uapi/linux/pci_regs.h
+++ b/original/uapi/linux/pci_regs.h
@@ -1,5 +1,7 @@
 /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
 /*
+ *	pci_regs.h
+ *
  *	PCI standard defines
  *	Copyright 1994, Drew Eckhardt
  *	Copyright 1997--1999 Martin Mares <mj@ucw.cz>
@@ -13,7 +15,7 @@
  *	PCI System Design Guide
  *
  *	For HyperTransport information, please consult the following manuals
- *	from http://www.hypertransport.org :
+ *	from http://www.hypertransport.org
  *
  *	The HyperTransport I/O Link Specification
  */
@@ -299,7 +301,7 @@
 #define  PCI_SID_ESR_FIC	0x20	/* First In Chassis Flag */
 #define PCI_SID_CHASSIS_NR	3	/* Chassis Number */
 
-/* Message Signalled Interrupt registers */
+/* Message Signalled Interrupts registers */
 
 #define PCI_MSI_FLAGS		2	/* Message Control */
 #define  PCI_MSI_FLAGS_ENABLE	0x0001	/* MSI feature enabled */
@@ -317,7 +319,7 @@
 #define PCI_MSI_MASK_64		16	/* Mask bits register for 64-bit devices */
 #define PCI_MSI_PENDING_64	20	/* Pending intrs for 64-bit devices */
 
-/* MSI-X registers (in MSI-X capability) */
+/* MSI-X registers */
 #define PCI_MSIX_FLAGS		2	/* Message Control */
 #define  PCI_MSIX_FLAGS_QSIZE	0x07FF	/* Table size */
 #define  PCI_MSIX_FLAGS_MASKALL	0x4000	/* Mask all vectors for this function */
@@ -331,13 +333,13 @@
 #define PCI_MSIX_FLAGS_BIRMASK	PCI_MSIX_PBA_BIR /* deprecated */
 #define PCI_CAP_MSIX_SIZEOF	12	/* size of MSIX registers */
 
-/* MSI-X Table entry format (in memory mapped by a BAR) */
+/* MSI-X Table entry format */
 #define PCI_MSIX_ENTRY_SIZE		16
-#define PCI_MSIX_ENTRY_LOWER_ADDR	0  /* Message Address */
-#define PCI_MSIX_ENTRY_UPPER_ADDR	4  /* Message Upper Address */
-#define PCI_MSIX_ENTRY_DATA		8  /* Message Data */
-#define PCI_MSIX_ENTRY_VECTOR_CTRL	12 /* Vector Control */
-#define  PCI_MSIX_ENTRY_CTRL_MASKBIT	0x00000001
+#define  PCI_MSIX_ENTRY_LOWER_ADDR	0
+#define  PCI_MSIX_ENTRY_UPPER_ADDR	4
+#define  PCI_MSIX_ENTRY_DATA		8
+#define  PCI_MSIX_ENTRY_VECTOR_CTRL	12
+#define   PCI_MSIX_ENTRY_CTRL_MASKBIT	1
 
 /* CompactPCI Hotswap Register */
 
@@ -370,12 +372,6 @@
 #define PCI_EA_FIRST_ENT_BRIDGE	8	/* First EA Entry for Bridges */
 #define  PCI_EA_ES		0x00000007 /* Entry Size */
 #define  PCI_EA_BEI		0x000000f0 /* BAR Equivalent Indicator */
-
-/* EA fixed Secondary and Subordinate bus numbers for Bridge */
-#define PCI_EA_SEC_BUS_MASK	0xff
-#define PCI_EA_SUB_BUS_MASK	0xff00
-#define PCI_EA_SUB_BUS_SHIFT	8
-
 /* 0-5 map to BARs 0-5 respectively */
 #define   PCI_EA_BEI_BAR0		0
 #define   PCI_EA_BEI_BAR5		5
@@ -469,19 +465,19 @@
 /* PCI Express capability registers */
 
 #define PCI_EXP_FLAGS		2	/* Capabilities register */
-#define  PCI_EXP_FLAGS_VERS	0x000f	/* Capability version */
-#define  PCI_EXP_FLAGS_TYPE	0x00f0	/* Device/Port type */
-#define   PCI_EXP_TYPE_ENDPOINT	   0x0	/* Express Endpoint */
-#define   PCI_EXP_TYPE_LEG_END	   0x1	/* Legacy Endpoint */
-#define   PCI_EXP_TYPE_ROOT_PORT   0x4	/* Root Port */
-#define   PCI_EXP_TYPE_UPSTREAM	   0x5	/* Upstream Port */
-#define   PCI_EXP_TYPE_DOWNSTREAM  0x6	/* Downstream Port */
-#define   PCI_EXP_TYPE_PCI_BRIDGE  0x7	/* PCIe to PCI/PCI-X Bridge */
-#define   PCI_EXP_TYPE_PCIE_BRIDGE 0x8	/* PCI/PCI-X to PCIe Bridge */
-#define   PCI_EXP_TYPE_RC_END	   0x9	/* Root Complex Integrated Endpoint */
-#define   PCI_EXP_TYPE_RC_EC	   0xa	/* Root Complex Event Collector */
-#define  PCI_EXP_FLAGS_SLOT	0x0100	/* Slot implemented */
-#define  PCI_EXP_FLAGS_IRQ	0x3e00	/* Interrupt message number */
+#define PCI_EXP_FLAGS_VERS	0x000f	/* Capability version */
+#define PCI_EXP_FLAGS_TYPE	0x00f0	/* Device/Port type */
+#define  PCI_EXP_TYPE_ENDPOINT	0x0	/* Express Endpoint */
+#define  PCI_EXP_TYPE_LEG_END	0x1	/* Legacy Endpoint */
+#define  PCI_EXP_TYPE_ROOT_PORT 0x4	/* Root Port */
+#define  PCI_EXP_TYPE_UPSTREAM	0x5	/* Upstream Port */
+#define  PCI_EXP_TYPE_DOWNSTREAM 0x6	/* Downstream Port */
+#define  PCI_EXP_TYPE_PCI_BRIDGE 0x7	/* PCIe to PCI/PCI-X Bridge */
+#define  PCI_EXP_TYPE_PCIE_BRIDGE 0x8	/* PCI/PCI-X to PCIe Bridge */
+#define  PCI_EXP_TYPE_RC_END	0x9	/* Root Complex Integrated Endpoint */
+#define  PCI_EXP_TYPE_RC_EC	0xa	/* Root Complex Event Collector */
+#define PCI_EXP_FLAGS_SLOT	0x0100	/* Slot implemented */
+#define PCI_EXP_FLAGS_IRQ	0x3e00	/* Interrupt message number */
 #define PCI_EXP_DEVCAP		4	/* Device capabilities */
 #define  PCI_EXP_DEVCAP_PAYLOAD	0x00000007 /* Max_Payload_Size */
 #define  PCI_EXP_DEVCAP_PHANTOM	0x00000018 /* Phantom functions */
@@ -528,7 +524,6 @@
 #define  PCI_EXP_LNKCAP_SLS_5_0GB 0x00000002 /* LNKCAP2 SLS Vector bit 1 */
 #define  PCI_EXP_LNKCAP_SLS_8_0GB 0x00000003 /* LNKCAP2 SLS Vector bit 2 */
 #define  PCI_EXP_LNKCAP_SLS_16_0GB 0x00000004 /* LNKCAP2 SLS Vector bit 3 */
-#define  PCI_EXP_LNKCAP_SLS_32_0GB 0x00000005 /* LNKCAP2 SLS Vector bit 4 */
 #define  PCI_EXP_LNKCAP_MLW	0x000003f0 /* Maximum Link Width */
 #define  PCI_EXP_LNKCAP_ASPMS	0x00000c00 /* ASPM Support */
 #define  PCI_EXP_LNKCAP_L0SEL	0x00007000 /* L0s Exit Latency */
@@ -557,7 +552,6 @@
 #define  PCI_EXP_LNKSTA_CLS_5_0GB 0x0002 /* Current Link Speed 5.0GT/s */
 #define  PCI_EXP_LNKSTA_CLS_8_0GB 0x0003 /* Current Link Speed 8.0GT/s */
 #define  PCI_EXP_LNKSTA_CLS_16_0GB 0x0004 /* Current Link Speed 16.0GT/s */
-#define  PCI_EXP_LNKSTA_CLS_32_0GB 0x0005 /* Current Link Speed 32.0GT/s */
 #define  PCI_EXP_LNKSTA_NLW	0x03f0	/* Negotiated Link Width */
 #define  PCI_EXP_LNKSTA_NLW_X1	0x0010	/* Current Link Width x1 */
 #define  PCI_EXP_LNKSTA_NLW_X2	0x0020	/* Current Link Width x2 */
@@ -622,8 +616,8 @@
 #define PCI_EXP_RTCAP		30	/* Root Capabilities */
 #define  PCI_EXP_RTCAP_CRSVIS	0x0001	/* CRS Software Visibility capability */
 #define PCI_EXP_RTSTA		32	/* Root Status */
-#define  PCI_EXP_RTSTA_PME	0x00010000 /* PME status */
-#define  PCI_EXP_RTSTA_PENDING	0x00020000 /* PME pending */
+#define PCI_EXP_RTSTA_PME	0x00010000 /* PME status */
+#define PCI_EXP_RTSTA_PENDING	0x00020000 /* PME pending */
 /*
  * The Device Capabilities 2, Device Status 2, Device Control 2,
  * Link Capabilities 2, Link Status 2, Link Control 2,
@@ -643,13 +637,13 @@
 #define  PCI_EXP_DEVCAP2_OBFF_MASK	0x000c0000 /* OBFF support mechanism */
 #define  PCI_EXP_DEVCAP2_OBFF_MSG	0x00040000 /* New message signaling */
 #define  PCI_EXP_DEVCAP2_OBFF_WAKE	0x00080000 /* Re-use WAKE# for OBFF */
-#define  PCI_EXP_DEVCAP2_EE_PREFIX	0x00200000 /* End-End TLP Prefix */
+#define PCI_EXP_DEVCAP2_EE_PREFIX	0x00200000 /* End-End TLP Prefix */
 #define PCI_EXP_DEVCTL2		40	/* Device Control 2 */
 #define  PCI_EXP_DEVCTL2_COMP_TIMEOUT	0x000f	/* Completion Timeout Value */
 #define  PCI_EXP_DEVCTL2_COMP_TMOUT_DIS	0x0010	/* Completion Timeout Disable */
 #define  PCI_EXP_DEVCTL2_ARI		0x0020	/* Alternative Routing-ID */
-#define  PCI_EXP_DEVCTL2_ATOMIC_REQ	0x0040	/* Set Atomic requests */
-#define  PCI_EXP_DEVCTL2_ATOMIC_EGRESS_BLOCK 0x0080 /* Block atomic egress */
+#define PCI_EXP_DEVCTL2_ATOMIC_REQ	0x0040	/* Set Atomic requests */
+#define PCI_EXP_DEVCTL2_ATOMIC_EGRESS_BLOCK 0x0080 /* Block atomic egress */
 #define  PCI_EXP_DEVCTL2_IDO_REQ_EN	0x0100	/* Allow IDO for requests */
 #define  PCI_EXP_DEVCTL2_IDO_CMP_EN	0x0200	/* Allow IDO for completions */
 #define  PCI_EXP_DEVCTL2_LTR_EN		0x0400	/* Enable LTR mechanism */
@@ -663,15 +657,13 @@
 #define  PCI_EXP_LNKCAP2_SLS_5_0GB	0x00000004 /* Supported Speed 5GT/s */
 #define  PCI_EXP_LNKCAP2_SLS_8_0GB	0x00000008 /* Supported Speed 8GT/s */
 #define  PCI_EXP_LNKCAP2_SLS_16_0GB	0x00000010 /* Supported Speed 16GT/s */
-#define  PCI_EXP_LNKCAP2_SLS_32_0GB	0x00000020 /* Supported Speed 32GT/s */
 #define  PCI_EXP_LNKCAP2_CROSSLINK	0x00000100 /* Crosslink supported */
 #define PCI_EXP_LNKCTL2		48	/* Link Control 2 */
-#define  PCI_EXP_LNKCTL2_TLS		0x000f
-#define  PCI_EXP_LNKCTL2_TLS_2_5GT	0x0001 /* Supported Speed 2.5GT/s */
-#define  PCI_EXP_LNKCTL2_TLS_5_0GT	0x0002 /* Supported Speed 5GT/s */
-#define  PCI_EXP_LNKCTL2_TLS_8_0GT	0x0003 /* Supported Speed 8GT/s */
-#define  PCI_EXP_LNKCTL2_TLS_16_0GT	0x0004 /* Supported Speed 16GT/s */
-#define  PCI_EXP_LNKCTL2_TLS_32_0GT	0x0005 /* Supported Speed 32GT/s */
+#define PCI_EXP_LNKCTL2_TLS		0x000f
+#define PCI_EXP_LNKCTL2_TLS_2_5GT	0x0001 /* Supported Speed 2.5GT/s */
+#define PCI_EXP_LNKCTL2_TLS_5_0GT	0x0002 /* Supported Speed 5GT/s */
+#define PCI_EXP_LNKCTL2_TLS_8_0GT	0x0003 /* Supported Speed 8GT/s */
+#define PCI_EXP_LNKCTL2_TLS_16_0GT	0x0004 /* Supported Speed 16GT/s */
 #define PCI_EXP_LNKSTA2		50	/* Link Status 2 */
 #define PCI_CAP_EXP_ENDPOINT_SIZEOF_V2	52	/* v2 endpoints with link end here */
 #define PCI_EXP_SLTCAP2		52	/* Slot Capabilities 2 */
@@ -760,18 +752,18 @@
 #define  PCI_ERR_CAP_ECRC_CHKE	0x00000100	/* ECRC Check Enable */
 #define PCI_ERR_HEADER_LOG	28	/* Header Log Register (16 bytes) */
 #define PCI_ERR_ROOT_COMMAND	44	/* Root Error Command */
-#define  PCI_ERR_ROOT_CMD_COR_EN	0x00000001 /* Correctable Err Reporting Enable */
-#define  PCI_ERR_ROOT_CMD_NONFATAL_EN	0x00000002 /* Non-Fatal Err Reporting Enable */
-#define  PCI_ERR_ROOT_CMD_FATAL_EN	0x00000004 /* Fatal Err Reporting Enable */
+#define PCI_ERR_ROOT_CMD_COR_EN		0x00000001 /* Correctable Err Reporting Enable */
+#define PCI_ERR_ROOT_CMD_NONFATAL_EN	0x00000002 /* Non-Fatal Err Reporting Enable */
+#define PCI_ERR_ROOT_CMD_FATAL_EN	0x00000004 /* Fatal Err Reporting Enable */
 #define PCI_ERR_ROOT_STATUS	48
-#define  PCI_ERR_ROOT_COR_RCV		0x00000001 /* ERR_COR Received */
-#define  PCI_ERR_ROOT_MULTI_COR_RCV	0x00000002 /* Multiple ERR_COR */
-#define  PCI_ERR_ROOT_UNCOR_RCV		0x00000004 /* ERR_FATAL/NONFATAL */
-#define  PCI_ERR_ROOT_MULTI_UNCOR_RCV	0x00000008 /* Multiple FATAL/NONFATAL */
-#define  PCI_ERR_ROOT_FIRST_FATAL	0x00000010 /* First UNC is Fatal */
-#define  PCI_ERR_ROOT_NONFATAL_RCV	0x00000020 /* Non-Fatal Received */
-#define  PCI_ERR_ROOT_FATAL_RCV		0x00000040 /* Fatal Received */
-#define  PCI_ERR_ROOT_AER_IRQ		0xf8000000 /* Advanced Error Interrupt Message Number */
+#define PCI_ERR_ROOT_COR_RCV		0x00000001 /* ERR_COR Received */
+#define PCI_ERR_ROOT_MULTI_COR_RCV	0x00000002 /* Multiple ERR_COR */
+#define PCI_ERR_ROOT_UNCOR_RCV		0x00000004 /* ERR_FATAL/NONFATAL */
+#define PCI_ERR_ROOT_MULTI_UNCOR_RCV	0x00000008 /* Multiple FATAL/NONFATAL */
+#define PCI_ERR_ROOT_FIRST_FATAL	0x00000010 /* First UNC is Fatal */
+#define PCI_ERR_ROOT_NONFATAL_RCV	0x00000020 /* Non-Fatal Received */
+#define PCI_ERR_ROOT_FATAL_RCV		0x00000040 /* Fatal Received */
+#define PCI_ERR_ROOT_AER_IRQ		0xf8000000 /* Advanced Error Interrupt Message Number */
 #define PCI_ERR_ROOT_ERR_SRC	52	/* Error Source Identification */
 
 /* Virtual Channel */
@@ -874,7 +866,6 @@
 #define PCI_ATS_CAP		0x04	/* ATS Capability Register */
 #define  PCI_ATS_CAP_QDEP(x)	((x) & 0x1f)	/* Invalidate Queue Depth */
 #define  PCI_ATS_MAX_QDEP	32	/* Max Invalidate Queue Depth */
-#define  PCI_ATS_CAP_PAGE_ALIGNED	0x0020 /* Page Aligned Request */
 #define PCI_ATS_CTRL		0x06	/* ATS Control Register */
 #define  PCI_ATS_CTRL_ENABLE	0x8000	/* ATS Enable */
 #define  PCI_ATS_CTRL_STU(x)	((x) & 0x1f)	/* Smallest Translation Unit */
@@ -883,13 +874,12 @@
 
 /* Page Request Interface */
 #define PCI_PRI_CTRL		0x04	/* PRI control register */
-#define  PCI_PRI_CTRL_ENABLE	0x0001	/* Enable */
-#define  PCI_PRI_CTRL_RESET	0x0002	/* Reset */
+#define  PCI_PRI_CTRL_ENABLE	0x01	/* Enable */
+#define  PCI_PRI_CTRL_RESET	0x02	/* Reset */
 #define PCI_PRI_STATUS		0x06	/* PRI status register */
-#define  PCI_PRI_STATUS_RF	0x0001	/* Response Failure */
-#define  PCI_PRI_STATUS_UPRGI	0x0002	/* Unexpected PRG index */
-#define  PCI_PRI_STATUS_STOPPED	0x0100	/* PRI Stopped */
-#define  PCI_PRI_STATUS_PASID	0x8000	/* PRG Response PASID Required */
+#define  PCI_PRI_STATUS_RF	0x001	/* Response Failure */
+#define  PCI_PRI_STATUS_UPRGI	0x002	/* Unexpected PRG index */
+#define  PCI_PRI_STATUS_STOPPED	0x100	/* PRI Stopped */
 #define PCI_PRI_MAX_REQ		0x08	/* PRI max reqs supported */
 #define PCI_PRI_ALLOC_REQ	0x0c	/* PRI max reqs allowed */
 #define PCI_EXT_CAP_PRI_SIZEOF	16
@@ -906,16 +896,16 @@
 
 /* Single Root I/O Virtualization */
 #define PCI_SRIOV_CAP		0x04	/* SR-IOV Capabilities */
-#define  PCI_SRIOV_CAP_VFM	0x00000001  /* VF Migration Capable */
+#define  PCI_SRIOV_CAP_VFM	0x01	/* VF Migration Capable */
 #define  PCI_SRIOV_CAP_INTR(x)	((x) >> 21) /* Interrupt Message Number */
 #define PCI_SRIOV_CTRL		0x08	/* SR-IOV Control */
-#define  PCI_SRIOV_CTRL_VFE	0x0001	/* VF Enable */
-#define  PCI_SRIOV_CTRL_VFM	0x0002	/* VF Migration Enable */
-#define  PCI_SRIOV_CTRL_INTR	0x0004	/* VF Migration Interrupt Enable */
-#define  PCI_SRIOV_CTRL_MSE	0x0008	/* VF Memory Space Enable */
-#define  PCI_SRIOV_CTRL_ARI	0x0010	/* ARI Capable Hierarchy */
+#define  PCI_SRIOV_CTRL_VFE	0x01	/* VF Enable */
+#define  PCI_SRIOV_CTRL_VFM	0x02	/* VF Migration Enable */
+#define  PCI_SRIOV_CTRL_INTR	0x04	/* VF Migration Interrupt Enable */
+#define  PCI_SRIOV_CTRL_MSE	0x08	/* VF Memory Space Enable */
+#define  PCI_SRIOV_CTRL_ARI	0x10	/* ARI Capable Hierarchy */
 #define PCI_SRIOV_STATUS	0x0a	/* SR-IOV Status */
-#define  PCI_SRIOV_STATUS_VFM	0x0001	/* VF Migration Status */
+#define  PCI_SRIOV_STATUS_VFM	0x01	/* VF Migration Status */
 #define PCI_SRIOV_INITIAL_VF	0x0c	/* Initial VFs */
 #define PCI_SRIOV_TOTAL_VF	0x0e	/* Total VFs */
 #define PCI_SRIOV_NUM_VF	0x10	/* Number of VFs */
@@ -945,13 +935,13 @@
 
 /* Access Control Service */
 #define PCI_ACS_CAP		0x04	/* ACS Capability Register */
-#define  PCI_ACS_SV		0x0001	/* Source Validation */
-#define  PCI_ACS_TB		0x0002	/* Translation Blocking */
-#define  PCI_ACS_RR		0x0004	/* P2P Request Redirect */
-#define  PCI_ACS_CR		0x0008	/* P2P Completion Redirect */
-#define  PCI_ACS_UF		0x0010	/* Upstream Forwarding */
-#define  PCI_ACS_EC		0x0020	/* P2P Egress Control */
-#define  PCI_ACS_DT		0x0040	/* Direct Translated P2P */
+#define  PCI_ACS_SV		0x01	/* Source Validation */
+#define  PCI_ACS_TB		0x02	/* Translation Blocking */
+#define  PCI_ACS_RR		0x04	/* P2P Request Redirect */
+#define  PCI_ACS_CR		0x08	/* P2P Completion Redirect */
+#define  PCI_ACS_UF		0x10	/* Upstream Forwarding */
+#define  PCI_ACS_EC		0x20	/* P2P Egress Control */
+#define  PCI_ACS_DT		0x40	/* Direct Translated P2P */
 #define PCI_ACS_EGRESS_BITS	0x05	/* ACS Egress Control Vector Size */
 #define PCI_ACS_CTRL		0x06	/* ACS Control Register */
 #define PCI_ACS_EGRESS_CTL_V	0x08	/* ACS Egress Control Vector */
@@ -1001,9 +991,9 @@
 #define  PCI_EXP_DPC_CAP_DL_ACTIVE	0x1000	/* ERR_COR signal on DL_Active supported */
 
 #define PCI_EXP_DPC_CTL			6	/* DPC control */
-#define  PCI_EXP_DPC_CTL_EN_FATAL	0x0001	/* Enable trigger on ERR_FATAL message */
-#define  PCI_EXP_DPC_CTL_EN_NONFATAL	0x0002	/* Enable trigger on ERR_NONFATAL message */
-#define  PCI_EXP_DPC_CTL_INT_EN		0x0008	/* DPC Interrupt Enable */
+#define  PCI_EXP_DPC_CTL_EN_FATAL 	0x0001	/* Enable trigger on ERR_FATAL message */
+#define  PCI_EXP_DPC_CTL_EN_NONFATAL 	0x0002	/* Enable trigger on ERR_NONFATAL message */
+#define  PCI_EXP_DPC_CTL_INT_EN 	0x0008	/* DPC Interrupt Enable */
 
 #define PCI_EXP_DPC_STATUS		8	/* DPC Status */
 #define  PCI_EXP_DPC_STATUS_TRIGGER	    0x0001 /* Trigger Status */
diff --git a/original/uapi/linux/perf_event.h b/original/uapi/linux/perf_event.h
index 7198ddd..9de8780 100644
--- a/original/uapi/linux/perf_event.h
+++ b/original/uapi/linux/perf_event.h
@@ -372,9 +372,7 @@
 				context_switch :  1, /* context switch data */
 				write_backward :  1, /* Write ring buffer from end to beginning */
 				namespaces     :  1, /* include namespaces data */
-				ksymbol        :  1, /* include ksymbol events */
-				bpf_event      :  1, /* include bpf events */
-				__reserved_1   : 33;
+				__reserved_1   : 35;
 
 	union {
 		__u32		wakeup_events;	  /* wakeup every n events */
@@ -447,6 +445,8 @@
 	__u32	ids[0];
 };
 
+#define perf_flags(attr)	(*(&(attr)->read_format + 1))
+
 /*
  * Ioctls that can be done on a perf event fd:
  */
@@ -965,58 +965,9 @@
 	 */
 	PERF_RECORD_NAMESPACES			= 16,
 
-	/*
-	 * Record ksymbol register/unregister events:
-	 *
-	 * struct {
-	 *	struct perf_event_header	header;
-	 *	u64				addr;
-	 *	u32				len;
-	 *	u16				ksym_type;
-	 *	u16				flags;
-	 *	char				name[];
-	 *	struct sample_id		sample_id;
-	 * };
-	 */
-	PERF_RECORD_KSYMBOL			= 17,
-
-	/*
-	 * Record bpf events:
-	 *  enum perf_bpf_event_type {
-	 *	PERF_BPF_EVENT_UNKNOWN		= 0,
-	 *	PERF_BPF_EVENT_PROG_LOAD	= 1,
-	 *	PERF_BPF_EVENT_PROG_UNLOAD	= 2,
-	 *  };
-	 *
-	 * struct {
-	 *	struct perf_event_header	header;
-	 *	u16				type;
-	 *	u16				flags;
-	 *	u32				id;
-	 *	u8				tag[BPF_TAG_SIZE];
-	 *	struct sample_id		sample_id;
-	 * };
-	 */
-	PERF_RECORD_BPF_EVENT			= 18,
-
 	PERF_RECORD_MAX,			/* non-ABI */
 };
 
-enum perf_record_ksymbol_type {
-	PERF_RECORD_KSYMBOL_TYPE_UNKNOWN	= 0,
-	PERF_RECORD_KSYMBOL_TYPE_BPF		= 1,
-	PERF_RECORD_KSYMBOL_TYPE_MAX		/* non-ABI */
-};
-
-#define PERF_RECORD_KSYMBOL_FLAGS_UNREGISTER	(1 << 0)
-
-enum perf_bpf_event_type {
-	PERF_BPF_EVENT_UNKNOWN		= 0,
-	PERF_BPF_EVENT_PROG_LOAD	= 1,
-	PERF_BPF_EVENT_PROG_UNLOAD	= 2,
-	PERF_BPF_EVENT_MAX,		/* non-ABI */
-};
-
 #define PERF_MAX_STACK_DEPTH		127
 #define PERF_MAX_CONTEXTS_PER_STACK	  8
 
diff --git a/original/uapi/linux/pkt_cls.h b/original/uapi/linux/pkt_cls.h
index b057aee..95d0db2 100644
--- a/original/uapi/linux/pkt_cls.h
+++ b/original/uapi/linux/pkt_cls.h
@@ -63,52 +63,12 @@
 #define TC_ACT_GOTO_CHAIN __TC_ACT_EXT(2)
 #define TC_ACT_EXT_OPCODE_MAX	TC_ACT_GOTO_CHAIN
 
-/* These macros are put here for binary compatibility with userspace apps that
- * make use of them. For kernel code and new userspace apps, use the TCA_ID_*
- * versions.
- */
-#define TCA_ACT_GACT 5
-#define TCA_ACT_IPT 6
-#define TCA_ACT_PEDIT 7
-#define TCA_ACT_MIRRED 8
-#define TCA_ACT_NAT 9
-#define TCA_ACT_XT 10
-#define TCA_ACT_SKBEDIT 11
-#define TCA_ACT_VLAN 12
-#define TCA_ACT_BPF 13
-#define TCA_ACT_CONNMARK 14
-#define TCA_ACT_SKBMOD 15
-#define TCA_ACT_CSUM 16
-#define TCA_ACT_TUNNEL_KEY 17
-#define TCA_ACT_SIMP 22
-#define TCA_ACT_IFE 25
-#define TCA_ACT_SAMPLE 26
-
 /* Action type identifiers*/
-enum tca_id {
-	TCA_ID_UNSPEC = 0,
-	TCA_ID_POLICE = 1,
-	TCA_ID_GACT = TCA_ACT_GACT,
-	TCA_ID_IPT = TCA_ACT_IPT,
-	TCA_ID_PEDIT = TCA_ACT_PEDIT,
-	TCA_ID_MIRRED = TCA_ACT_MIRRED,
-	TCA_ID_NAT = TCA_ACT_NAT,
-	TCA_ID_XT = TCA_ACT_XT,
-	TCA_ID_SKBEDIT = TCA_ACT_SKBEDIT,
-	TCA_ID_VLAN = TCA_ACT_VLAN,
-	TCA_ID_BPF = TCA_ACT_BPF,
-	TCA_ID_CONNMARK = TCA_ACT_CONNMARK,
-	TCA_ID_SKBMOD = TCA_ACT_SKBMOD,
-	TCA_ID_CSUM = TCA_ACT_CSUM,
-	TCA_ID_TUNNEL_KEY = TCA_ACT_TUNNEL_KEY,
-	TCA_ID_SIMP = TCA_ACT_SIMP,
-	TCA_ID_IFE = TCA_ACT_IFE,
-	TCA_ID_SAMPLE = TCA_ACT_SAMPLE,
-	TCA_ID_CTINFO,
-	TCA_ID_MPLS,
-	TCA_ID_CT,
+enum {
+	TCA_ID_UNSPEC=0,
+	TCA_ID_POLICE=1,
 	/* other actions go here */
-	__TCA_ID_MAX = 255
+	__TCA_ID_MAX=255
 };
 
 #define TCA_ID_MAX __TCA_ID_MAX
@@ -297,7 +257,7 @@
 	TCA_FW_UNSPEC,
 	TCA_FW_CLASSID,
 	TCA_FW_POLICE,
-	TCA_FW_INDEV,
+	TCA_FW_INDEV, /*  used by CONFIG_NET_CLS_IND */
 	TCA_FW_ACT, /* used by CONFIG_NET_CLS_ACT */
 	TCA_FW_MASK,
 	__TCA_FW_MAX
@@ -373,19 +333,12 @@
 
 /* Basic filter */
 
-struct tc_basic_pcnt {
-	__u64 rcnt;
-	__u64 rhit;
-};
-
 enum {
 	TCA_BASIC_UNSPEC,
 	TCA_BASIC_CLASSID,
 	TCA_BASIC_EMATCHES,
 	TCA_BASIC_ACT,
 	TCA_BASIC_POLICE,
-	TCA_BASIC_PCNT,
-	TCA_BASIC_PAD,
 	__TCA_BASIC_MAX
 };
 
@@ -537,28 +490,12 @@
 	TCA_FLOWER_KEY_PORT_DST_MIN,	/* be16 */
 	TCA_FLOWER_KEY_PORT_DST_MAX,	/* be16 */
 
-	TCA_FLOWER_KEY_CT_STATE,	/* u16 */
-	TCA_FLOWER_KEY_CT_STATE_MASK,	/* u16 */
-	TCA_FLOWER_KEY_CT_ZONE,		/* u16 */
-	TCA_FLOWER_KEY_CT_ZONE_MASK,	/* u16 */
-	TCA_FLOWER_KEY_CT_MARK,		/* u32 */
-	TCA_FLOWER_KEY_CT_MARK_MASK,	/* u32 */
-	TCA_FLOWER_KEY_CT_LABELS,	/* u128 */
-	TCA_FLOWER_KEY_CT_LABELS_MASK,	/* u128 */
-
 	__TCA_FLOWER_MAX,
 };
 
 #define TCA_FLOWER_MAX (__TCA_FLOWER_MAX - 1)
 
 enum {
-	TCA_FLOWER_KEY_CT_FLAGS_NEW = 1 << 0, /* Beginning of a new connection. */
-	TCA_FLOWER_KEY_CT_FLAGS_ESTABLISHED = 1 << 1, /* Part of an existing connection. */
-	TCA_FLOWER_KEY_CT_FLAGS_RELATED = 1 << 2, /* Related to an established connection. */
-	TCA_FLOWER_KEY_CT_FLAGS_TRACKED = 1 << 3, /* Conntrack has occurred. */
-};
-
-enum {
 	TCA_FLOWER_KEY_ENC_OPTS_UNSPEC,
 	TCA_FLOWER_KEY_ENC_OPTS_GENEVE, /* Nested
 					 * TCA_FLOWER_KEY_ENC_OPT_GENEVE_
@@ -590,17 +527,11 @@
 
 /* Match-all classifier */
 
-struct tc_matchall_pcnt {
-	__u64 rhit;
-};
-
 enum {
 	TCA_MATCHALL_UNSPEC,
 	TCA_MATCHALL_CLASSID,
 	TCA_MATCHALL_ACT,
 	TCA_MATCHALL_FLAGS,
-	TCA_MATCHALL_PCNT,
-	TCA_MATCHALL_PAD,
 	__TCA_MATCHALL_MAX,
 };
 
diff --git a/original/uapi/linux/pkt_sched.h b/original/uapi/linux/pkt_sched.h
index 18f1852..0d18b1d 100644
--- a/original/uapi/linux/pkt_sched.h
+++ b/original/uapi/linux/pkt_sched.h
@@ -2,7 +2,6 @@
 #ifndef __LINUX_PKT_SCHED_H
 #define __LINUX_PKT_SCHED_H
 
-#include <linux/const.h>
 #include <linux/types.h>
 
 /* Logical priority bands not depending on specific packet scheduler.
@@ -955,7 +954,7 @@
 #define TCA_PIE_MAX   (__TCA_PIE_MAX - 1)
 
 struct tc_pie_xstats {
-	__u64 prob;             /* current probability */
+	__u32 prob;             /* current probability */
 	__u32 delay;            /* current delay in ms */
 	__u32 avg_dq_rate;      /* current average dq_rate in bits/pie_time */
 	__u32 packets_in;       /* total number of packets enqueued */
@@ -989,9 +988,8 @@
 	__s32 delta;
 	__s32 clockid;
 	__u32 flags;
-#define TC_ETF_DEADLINE_MODE_ON	_BITUL(0)
-#define TC_ETF_OFFLOAD_ON	_BITUL(1)
-#define TC_ETF_SKIP_SOCK_CHECK	_BITUL(2)
+#define TC_ETF_DEADLINE_MODE_ON	BIT(0)
+#define TC_ETF_OFFLOAD_ON	BIT(1)
 };
 
 enum {
@@ -1023,7 +1021,6 @@
 	TCA_CAKE_INGRESS,
 	TCA_CAKE_ACK_FILTER,
 	TCA_CAKE_SPLIT_GSO,
-	TCA_CAKE_FWMARK,
 	__TCA_CAKE_MAX
 };
 #define TCA_CAKE_MAX	(__TCA_CAKE_MAX - 1)
@@ -1150,18 +1147,6 @@
 
 #define TCA_TAPRIO_SCHED_MAX (__TCA_TAPRIO_SCHED_MAX - 1)
 
-/* The format for the admin sched (dump only):
- * [TCA_TAPRIO_SCHED_ADMIN_SCHED]
- *   [TCA_TAPRIO_ATTR_SCHED_BASE_TIME]
- *   [TCA_TAPRIO_ATTR_SCHED_ENTRY_LIST]
- *     [TCA_TAPRIO_ATTR_SCHED_ENTRY]
- *       [TCA_TAPRIO_ATTR_SCHED_ENTRY_CMD]
- *       [TCA_TAPRIO_ATTR_SCHED_ENTRY_GATES]
- *       [TCA_TAPRIO_ATTR_SCHED_ENTRY_INTERVAL]
- */
-
-#define TCA_TAPRIO_ATTR_FLAG_TXTIME_ASSIST 0x1
-
 enum {
 	TCA_TAPRIO_ATTR_UNSPEC,
 	TCA_TAPRIO_ATTR_PRIOMAP, /* struct tc_mqprio_qopt */
@@ -1170,11 +1155,6 @@
 	TCA_TAPRIO_ATTR_SCHED_SINGLE_ENTRY, /* single entry */
 	TCA_TAPRIO_ATTR_SCHED_CLOCKID, /* s32 */
 	TCA_TAPRIO_PAD,
-	TCA_TAPRIO_ATTR_ADMIN_SCHED, /* The admin sched, only used in dump */
-	TCA_TAPRIO_ATTR_SCHED_CYCLE_TIME, /* s64 */
-	TCA_TAPRIO_ATTR_SCHED_CYCLE_TIME_EXTENSION, /* s64 */
-	TCA_TAPRIO_ATTR_FLAGS, /* u32 */
-	TCA_TAPRIO_ATTR_TXTIME_DELAY, /* u32 */
 	__TCA_TAPRIO_ATTR_MAX,
 };
 
diff --git a/original/uapi/linux/pmu.h b/original/uapi/linux/pmu.h
index f2fc1bd..97256f9 100644
--- a/original/uapi/linux/pmu.h
+++ b/original/uapi/linux/pmu.h
@@ -19,9 +19,7 @@
 #define PMU_POWER_CTRL		0x11	/* control power of some devices */
 #define PMU_ADB_CMD		0x20	/* send ADB packet */
 #define PMU_ADB_POLL_OFF	0x21	/* disable ADB auto-poll */
-#define PMU_WRITE_XPRAM		0x32	/* write eXtended Parameter RAM */
 #define PMU_WRITE_NVRAM		0x33	/* write non-volatile RAM */
-#define PMU_READ_XPRAM		0x3a	/* read eXtended Parameter RAM */
 #define PMU_READ_NVRAM		0x3b	/* read non-volatile RAM */
 #define PMU_SET_RTC		0x30	/* set real-time clock */
 #define PMU_READ_RTC		0x38	/* read real-time clock */
diff --git a/original/uapi/linux/prctl.h b/original/uapi/linux/prctl.h
index 094bb03..b4875a9 100644
--- a/original/uapi/linux/prctl.h
+++ b/original/uapi/linux/prctl.h
@@ -219,7 +219,6 @@
 # define PR_SPEC_ENABLE			(1UL << 1)
 # define PR_SPEC_DISABLE		(1UL << 2)
 # define PR_SPEC_FORCE_DISABLE		(1UL << 3)
-# define PR_SPEC_DISABLE_NOEXEC		(1UL << 4)
 
 /* Reset arm64 pointer authentication keys */
 #define PR_PAC_RESET_KEYS		54
diff --git a/original/uapi/linux/psci.h b/original/uapi/linux/psci.h
index 2fcad1d..b3bcabe 100644
--- a/original/uapi/linux/psci.h
+++ b/original/uapi/linux/psci.h
@@ -49,11 +49,8 @@
 
 #define PSCI_1_0_FN_PSCI_FEATURES		PSCI_0_2_FN(10)
 #define PSCI_1_0_FN_SYSTEM_SUSPEND		PSCI_0_2_FN(14)
-#define PSCI_1_0_FN_SET_SUSPEND_MODE		PSCI_0_2_FN(15)
-#define PSCI_1_1_FN_SYSTEM_RESET2		PSCI_0_2_FN(18)
 
 #define PSCI_1_0_FN64_SYSTEM_SUSPEND		PSCI_0_2_FN64(14)
-#define PSCI_1_1_FN64_SYSTEM_RESET2		PSCI_0_2_FN64(18)
 
 /* PSCI v0.2 power state encoding for CPU_SUSPEND function */
 #define PSCI_0_2_POWER_STATE_ID_MASK		0xffff
@@ -100,10 +97,6 @@
 #define PSCI_1_0_FEATURES_CPU_SUSPEND_PF_MASK	\
 			(0x1 << PSCI_1_0_FEATURES_CPU_SUSPEND_PF_SHIFT)
 
-#define PSCI_1_0_OS_INITIATED			BIT(0)
-#define PSCI_1_0_SUSPEND_MODE_PC		0
-#define PSCI_1_0_SUSPEND_MODE_OSI		1
-
 /* PSCI return values (inclusive of all PSCI versions) */
 #define PSCI_RET_SUCCESS			0
 #define PSCI_RET_NOT_SUPPORTED			-1
diff --git a/original/uapi/linux/psp-sev.h b/original/uapi/linux/psp-sev.h
index 592a0c1..ac8c60b 100644
--- a/original/uapi/linux/psp-sev.h
+++ b/original/uapi/linux/psp-sev.h
@@ -1,4 +1,3 @@
-/* SPDX-License-Identifier: GPL-2.0-only WITH Linux-syscall-note */
 /*
  * Userspace interface for AMD Secure Encrypted Virtualization (SEV)
  * platform management commands.
@@ -7,7 +6,12 @@
  *
  * Author: Brijesh Singh <brijesh.singh@amd.com>
  *
- * SEV API specification is available at: https://developer.amd.com/sev/
+ * SEV spec 0.14 is available at:
+ * http://support.amd.com/TechDocs/55766_SEV-KM%20API_Specification.pdf
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License version 2 as
+ * published by the Free Software Foundation.
  */
 
 #ifndef __PSP_SEV_USER_H__
@@ -26,8 +30,7 @@
 	SEV_PDH_GEN,
 	SEV_PDH_CERT_EXPORT,
 	SEV_PEK_CERT_IMPORT,
-	SEV_GET_ID,	/* This command is deprecated, use SEV_GET_ID2 */
-	SEV_GET_ID2,
+	SEV_GET_ID,
 
 	SEV_MAX,
 };
@@ -122,7 +125,7 @@
 } __packed;
 
 /**
- * struct sev_user_data_get_id - GET_ID command parameters (deprecated)
+ * struct sev_user_data_get_id - GET_ID command parameters
  *
  * @socket1: Buffer to pass unique ID of first socket
  * @socket2: Buffer to pass unique ID of second socket
@@ -133,16 +136,6 @@
 } __packed;
 
 /**
- * struct sev_user_data_get_id2 - GET_ID command parameters
- * @address: Buffer to store unique ID
- * @length: length of the unique ID
- */
-struct sev_user_data_get_id2 {
-	__u64 address;				/* In */
-	__u32 length;				/* In/Out */
-} __packed;
-
-/**
  * struct sev_issue_cmd - SEV ioctl parameters
  *
  * @cmd: SEV commands to execute
diff --git a/original/uapi/linux/ptrace.h b/original/uapi/linux/ptrace.h
index a71b6e3..d5a1b8a 100644
--- a/original/uapi/linux/ptrace.h
+++ b/original/uapi/linux/ptrace.h
@@ -73,41 +73,6 @@
 	__u64 flags;		/* Output: filter's flags */
 };
 
-#define PTRACE_GET_SYSCALL_INFO		0x420e
-#define PTRACE_SYSCALL_INFO_NONE	0
-#define PTRACE_SYSCALL_INFO_ENTRY	1
-#define PTRACE_SYSCALL_INFO_EXIT	2
-#define PTRACE_SYSCALL_INFO_SECCOMP	3
-
-struct ptrace_syscall_info {
-	__u8 op;	/* PTRACE_SYSCALL_INFO_* */
-	__u32 arch __attribute__((__aligned__(sizeof(__u32))));
-	__u64 instruction_pointer;
-	__u64 stack_pointer;
-	union {
-		struct {
-			__u64 nr;
-			__u64 args[6];
-		} entry;
-		struct {
-			__s64 rval;
-			__u8 is_error;
-		} exit;
-		struct {
-			__u64 nr;
-			__u64 args[6];
-			__u32 ret_data;
-		} seccomp;
-	};
-};
-
-/*
- * These values are stored in task->ptrace_message
- * by tracehook_report_syscall_* to describe the current syscall-stop.
- */
-#define PTRACE_EVENTMSG_SYSCALL_ENTRY	1
-#define PTRACE_EVENTMSG_SYSCALL_EXIT	2
-
 /* Read signals from a shared (process wide) queue */
 #define PTRACE_PEEKSIGINFO_SHARED	(1 << 0)
 
diff --git a/original/uapi/linux/rds.h b/original/uapi/linux/rds.h
index cba368e..8b73cb6 100644
--- a/original/uapi/linux/rds.h
+++ b/original/uapi/linux/rds.h
@@ -69,12 +69,6 @@
 #define RDS_TRANS_COUNT	3
 #define	RDS_TRANS_NONE	(~0)
 
-/* IOCTLS commands for SOL_RDS */
-#define SIOCRDSSETTOS		(SIOCPROTOPRIVATE)
-#define SIOCRDSGETTOS		(SIOCPROTOPRIVATE + 1)
-
-typedef __u8	rds_tos_t;
-
 /*
  * Control message types for SOL_RDS.
  *
@@ -155,7 +149,6 @@
 	__be32		faddr;
 	__u8		transport[TRANSNAMSIZ];		/* null term ascii */
 	__u8		flags;
-	__u8		tos;
 } __attribute__((packed));
 
 struct rds6_info_connection {
@@ -178,7 +171,6 @@
 	__be16		lport;
 	__be16		fport;
 	__u8		flags;
-	__u8		tos;
 } __attribute__((packed));
 
 struct rds6_info_message {
@@ -222,7 +214,6 @@
 	__u32           last_sent_nxt;
 	__u32           last_expected_una;
 	__u32           last_seen_una;
-	__u8		tos;
 } __attribute__((packed));
 
 struct rds6_info_tcp_socket {
@@ -249,9 +240,6 @@
 	__u32		max_send_sge;
 	__u32		rdma_mr_max;
 	__u32		rdma_mr_size;
-	__u8		tos;
-	__u8		sl;
-	__u32		cache_allocs;
 };
 
 struct rds6_info_rdma_connection {
@@ -265,9 +253,6 @@
 	__u32		max_send_sge;
 	__u32		rdma_mr_max;
 	__u32		rdma_mr_size;
-	__u8		tos;
-	__u8		sl;
-	__u32		cache_allocs;
 };
 
 /* RDS message Receive Path Latency points */
diff --git a/original/uapi/linux/rtnetlink.h b/original/uapi/linux/rtnetlink.h
index ce2a623..4639936 100644
--- a/original/uapi/linux/rtnetlink.h
+++ b/original/uapi/linux/rtnetlink.h
@@ -157,13 +157,6 @@
 	RTM_GETCHAIN,
 #define RTM_GETCHAIN RTM_GETCHAIN
 
-	RTM_NEWNEXTHOP = 104,
-#define RTM_NEWNEXTHOP	RTM_NEWNEXTHOP
-	RTM_DELNEXTHOP,
-#define RTM_DELNEXTHOP	RTM_DELNEXTHOP
-	RTM_GETNEXTHOP,
-#define RTM_GETNEXTHOP	RTM_GETNEXTHOP
-
 	__RTM_MAX,
 #define RTM_MAX		(((__RTM_MAX + 3) & ~3) - 1)
 };
@@ -349,7 +342,6 @@
 	RTA_IP_PROTO,
 	RTA_SPORT,
 	RTA_DPORT,
-	RTA_NH_ID,
 	__RTA_MAX
 };
 
@@ -712,8 +704,6 @@
 #define RTNLGRP_IPV4_MROUTE_R	RTNLGRP_IPV4_MROUTE_R
 	RTNLGRP_IPV6_MROUTE_R,
 #define RTNLGRP_IPV6_MROUTE_R	RTNLGRP_IPV6_MROUTE_R
-	RTNLGRP_NEXTHOP,
-#define RTNLGRP_NEXTHOP		RTNLGRP_NEXTHOP
 	__RTNLGRP_MAX
 };
 #define RTNLGRP_MAX	(__RTNLGRP_MAX - 1)
diff --git a/original/uapi/linux/rxrpc.h b/original/uapi/linux/rxrpc.h
index 4accfa7..9335d92 100644
--- a/original/uapi/linux/rxrpc.h
+++ b/original/uapi/linux/rxrpc.h
@@ -1,8 +1,12 @@
-/* SPDX-License-Identifier: GPL-2.0-or-later WITH Linux-syscall-note */
 /* Types and definitions for AF_RXRPC.
  *
  * Copyright (C) 2007 Red Hat, Inc. All Rights Reserved.
  * Written by David Howells (dhowells@redhat.com)
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public Licence
+ * as published by the Free Software Foundation; either version
+ * 2 of the Licence, or (at your option) any later version.
  */
 
 #ifndef _UAPI_LINUX_RXRPC_H
diff --git a/original/uapi/linux/sched.h b/original/uapi/linux/sched.h
index b3105ac..22627f8 100644
--- a/original/uapi/linux/sched.h
+++ b/original/uapi/linux/sched.h
@@ -2,8 +2,6 @@
 #ifndef _UAPI_LINUX_SCHED_H
 #define _UAPI_LINUX_SCHED_H
 
-#include <linux/types.h>
-
 /*
  * cloning flags:
  */
@@ -12,7 +10,6 @@
 #define CLONE_FS	0x00000200	/* set if fs info shared between processes */
 #define CLONE_FILES	0x00000400	/* set if open files shared between processes */
 #define CLONE_SIGHAND	0x00000800	/* set if signal handlers and blocked signals shared */
-#define CLONE_PIDFD	0x00001000	/* set if a pidfd should be placed in parent */
 #define CLONE_PTRACE	0x00002000	/* set if we want to let tracing continue on the child too */
 #define CLONE_VFORK	0x00004000	/* set if the parent wants the child to wake it up on mm_release */
 #define CLONE_PARENT	0x00008000	/* set if we want to have the same parent as the cloner */
@@ -34,20 +31,6 @@
 #define CLONE_IO		0x80000000	/* Clone io context */
 
 /*
- * Arguments for the clone3 syscall
- */
-struct clone_args {
-	__aligned_u64 flags;
-	__aligned_u64 pidfd;
-	__aligned_u64 child_tid;
-	__aligned_u64 parent_tid;
-	__aligned_u64 exit_signal;
-	__aligned_u64 stack;
-	__aligned_u64 stack_size;
-	__aligned_u64 tls;
-};
-
-/*
  * Scheduling policies
  */
 #define SCHED_NORMAL		0
@@ -67,21 +50,9 @@
 #define SCHED_FLAG_RESET_ON_FORK	0x01
 #define SCHED_FLAG_RECLAIM		0x02
 #define SCHED_FLAG_DL_OVERRUN		0x04
-#define SCHED_FLAG_KEEP_POLICY		0x08
-#define SCHED_FLAG_KEEP_PARAMS		0x10
-#define SCHED_FLAG_UTIL_CLAMP_MIN	0x20
-#define SCHED_FLAG_UTIL_CLAMP_MAX	0x40
-
-#define SCHED_FLAG_KEEP_ALL	(SCHED_FLAG_KEEP_POLICY | \
-				 SCHED_FLAG_KEEP_PARAMS)
-
-#define SCHED_FLAG_UTIL_CLAMP	(SCHED_FLAG_UTIL_CLAMP_MIN | \
-				 SCHED_FLAG_UTIL_CLAMP_MAX)
 
 #define SCHED_FLAG_ALL	(SCHED_FLAG_RESET_ON_FORK	| \
 			 SCHED_FLAG_RECLAIM		| \
-			 SCHED_FLAG_DL_OVERRUN		| \
-			 SCHED_FLAG_KEEP_ALL		| \
-			 SCHED_FLAG_UTIL_CLAMP)
+			 SCHED_FLAG_DL_OVERRUN)
 
 #endif /* _UAPI_LINUX_SCHED_H */
diff --git a/original/uapi/linux/sched/types.h b/original/uapi/linux/sched/types.h
index c852153..10fbb80 100644
--- a/original/uapi/linux/sched/types.h
+++ b/original/uapi/linux/sched/types.h
@@ -9,7 +9,6 @@
 };
 
 #define SCHED_ATTR_SIZE_VER0	48	/* sizeof first published struct */
-#define SCHED_ATTR_SIZE_VER1	56	/* add: util_{min,max} */
 
 /*
  * Extended scheduling parameters data structure.
@@ -22,33 +21,8 @@
  * the tasks may be useful for a wide variety of application fields, e.g.,
  * multimedia, streaming, automation and control, and many others.
  *
- * This variant (sched_attr) allows to define additional attributes to
- * improve the scheduler knowledge about task requirements.
- *
- * Scheduling Class Attributes
- * ===========================
- *
- * A subset of sched_attr attributes specifies the
- * scheduling policy and relative POSIX attributes:
- *
- *  @size		size of the structure, for fwd/bwd compat.
- *
- *  @sched_policy	task's scheduling policy
- *  @sched_nice		task's nice value      (SCHED_NORMAL/BATCH)
- *  @sched_priority	task's static priority (SCHED_FIFO/RR)
- *
- * Certain more advanced scheduling features can be controlled by a
- * predefined set of flags via the attribute:
- *
- *  @sched_flags	for customizing the scheduler behaviour
- *
- * Sporadic Time-Constrained Task Attributes
- * =========================================
- *
- * A subset of sched_attr attributes allows to describe a so-called
- * sporadic time-constrained task.
- *
- * In such a model a task is specified by:
+ * This variant (sched_attr) is meant at describing a so-called
+ * sporadic time-constrained task. In such model a task is specified by:
  *  - the activation period or minimum instance inter-arrival time;
  *  - the maximum (or average, depending on the actual scheduling
  *    discipline) computation time of all instances, a.k.a. runtime;
@@ -60,8 +34,14 @@
  * than the runtime and must be completed by time instant t equal to
  * the instance activation time + the deadline.
  *
- * This is reflected by the following fields of the sched_attr structure:
+ * This is reflected by the actual fields of the sched_attr structure:
  *
+ *  @size		size of the structure, for fwd/bwd compat.
+ *
+ *  @sched_policy	task's scheduling policy
+ *  @sched_flags	for customizing the scheduler behaviour
+ *  @sched_nice		task's nice value      (SCHED_NORMAL/BATCH)
+ *  @sched_priority	task's static priority (SCHED_FIFO/RR)
  *  @sched_deadline	representative of the task's deadline
  *  @sched_runtime	representative of the task's runtime
  *  @sched_period	representative of the task's period
@@ -73,29 +53,6 @@
  * As of now, the SCHED_DEADLINE policy (sched_dl scheduling class) is the
  * only user of this new interface. More information about the algorithm
  * available in the scheduling class file or in Documentation/.
- *
- * Task Utilization Attributes
- * ===========================
- *
- * A subset of sched_attr attributes allows to specify the utilization
- * expected for a task. These attributes allow to inform the scheduler about
- * the utilization boundaries within which it should schedule the task. These
- * boundaries are valuable hints to support scheduler decisions on both task
- * placement and frequency selection.
- *
- *  @sched_util_min	represents the minimum utilization
- *  @sched_util_max	represents the maximum utilization
- *
- * Utilization is a value in the range [0..SCHED_CAPACITY_SCALE]. It
- * represents the percentage of CPU time used by a task when running at the
- * maximum frequency on the highest capacity CPU of the system. For example, a
- * 20% utilization task is a task running for 2ms every 10ms at maximum
- * frequency.
- *
- * A task with a min utilization value bigger than 0 is more likely scheduled
- * on a CPU with a capacity big enough to fit the specified value.
- * A task with a max utilization value smaller than 1024 is more likely
- * scheduled on a CPU with no more capacity than the specified value.
  */
 struct sched_attr {
 	__u32 size;
@@ -113,11 +70,6 @@
 	__u64 sched_runtime;
 	__u64 sched_deadline;
 	__u64 sched_period;
-
-	/* Utilization hints */
-	__u32 sched_util_min;
-	__u32 sched_util_max;
-
 };
 
 #endif /* _UAPI_LINUX_SCHED_TYPES_H */
diff --git a/original/uapi/linux/sctp.h b/original/uapi/linux/sctp.h
index b8f2c4d..d584073 100644
--- a/original/uapi/linux/sctp.h
+++ b/original/uapi/linux/sctp.h
@@ -59,10 +59,6 @@
 
 typedef __s32 sctp_assoc_t;
 
-#define SCTP_FUTURE_ASSOC	0
-#define SCTP_CURRENT_ASSOC	1
-#define SCTP_ALL_ASSOC		2
-
 /* The following symbols come from the Sockets API Extensions for
  * SCTP <draft-ietf-tsvwg-sctpsocket-07.txt>.
  */
diff --git a/original/uapi/linux/sed-opal.h b/original/uapi/linux/sed-opal.h
index c6d035f..627624d 100644
--- a/original/uapi/linux/sed-opal.h
+++ b/original/uapi/linux/sed-opal.h
@@ -5,6 +5,15 @@
  * Authors:
  *    Rafael Antognolli <rafael.antognolli@intel.com>
  *    Scott  Bauer      <scott.bauer@intel.com>
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms and conditions of the GNU General Public License,
+ * version 2, as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License for
+ * more details.
  */
 
 #ifndef _UAPI_SED_OPAL_H
@@ -20,11 +29,6 @@
 	OPAL_MBR_DISABLE = 0x01,
 };
 
-enum opal_mbr_done_flag {
-	OPAL_MBR_NOT_DONE = 0x0,
-	OPAL_MBR_DONE = 0x01
-};
-
 enum opal_user {
 	OPAL_ADMIN1 = 0x0,
 	OPAL_USER1 = 0x01,
@@ -54,7 +58,7 @@
 struct opal_lr_act {
 	struct opal_key key;
 	__u32 sum;
-	__u8 num_lrs;
+	__u8    num_lrs;
 	__u8 lr[OPAL_MAX_LRS];
 	__u8 align[2]; /* Align to 8 byte boundary */
 };
@@ -100,19 +104,6 @@
 	__u8 __align[7];
 };
 
-struct opal_mbr_done {
-	struct opal_key key;
-	__u8 done_flag;
-	__u8 __align[7];
-};
-
-struct opal_shadow_mbr {
-	struct opal_key key;
-	const __u64 data;
-	__u64 offset;
-	__u64 size;
-};
-
 #define IOC_OPAL_SAVE		    _IOW('p', 220, struct opal_lock_unlock)
 #define IOC_OPAL_LOCK_UNLOCK	    _IOW('p', 221, struct opal_lock_unlock)
 #define IOC_OPAL_TAKE_OWNERSHIP	    _IOW('p', 222, struct opal_key)
@@ -125,8 +116,5 @@
 #define IOC_OPAL_ENABLE_DISABLE_MBR _IOW('p', 229, struct opal_mbr_data)
 #define IOC_OPAL_ERASE_LR           _IOW('p', 230, struct opal_session_info)
 #define IOC_OPAL_SECURE_ERASE_LR    _IOW('p', 231, struct opal_session_info)
-#define IOC_OPAL_PSID_REVERT_TPR    _IOW('p', 232, struct opal_key)
-#define IOC_OPAL_MBR_DONE           _IOW('p', 233, struct opal_mbr_done)
-#define IOC_OPAL_WRITE_SHADOW_MBR   _IOW('p', 234, struct opal_shadow_mbr)
 
 #endif /* _UAPI_SED_OPAL_H */
diff --git a/original/uapi/linux/serial_core.h b/original/uapi/linux/serial_core.h
index 3cc3af1..df4a753 100644
--- a/original/uapi/linux/serial_core.h
+++ b/original/uapi/linux/serial_core.h
@@ -79,9 +79,6 @@
 /* Nuvoton UART */
 #define PORT_NPCM	40
 
-/* NVIDIA Tegra Combined UART */
-#define PORT_TEGRA_TCU	41
-
 /* Intel EG20 */
 #define PORT_PCH_8LINE	44
 #define PORT_PCH_2LINE	45
@@ -129,7 +126,7 @@
 /* Motorola i.MX SoC */
 #define PORT_IMX	62
 
-/* Marvell MPSC (obsolete unused) */
+/* Marvell MPSC */
 #define PORT_MPSC	63
 
 /* TXX9 type number */
@@ -150,6 +147,9 @@
 
 #define PORT_PNX8XXX	70
 
+/* Hilscher netx */
+#define PORT_NETX	71
+
 /* SUN4V Hypervisor Console */
 #define PORT_SUNHV	72
 
@@ -284,10 +284,4 @@
 /* RDA UART */
 #define PORT_RDA	118
 
-/* Socionext Milbeaut UART */
-#define PORT_MLB_USIO	119
-
-/* SiFive UART */
-#define PORT_SIFIVE_V0	120
-
 #endif /* _UAPILINUX_SERIAL_CORE_H */
diff --git a/original/uapi/linux/snmp.h b/original/uapi/linux/snmp.h
index 549a31c..86dc24a 100644
--- a/original/uapi/linux/snmp.h
+++ b/original/uapi/linux/snmp.h
@@ -283,8 +283,6 @@
 	LINUX_MIB_TCPACKCOMPRESSED,		/* TCPAckCompressed */
 	LINUX_MIB_TCPZEROWINDOWDROP,		/* TCPZeroWindowDrop */
 	LINUX_MIB_TCPRCVQDROP,			/* TCPRcvQDrop */
-	LINUX_MIB_TCPWQUEUETOOBIG,		/* TCPWqueueTooBig */
-	LINUX_MIB_TCPFASTOPENPASSIVEALTKEY,	/* TCPFastOpenPassiveAltKey */
 	__LINUX_MIB_MAX
 };
 
diff --git a/original/uapi/linux/socket.h b/original/uapi/linux/socket.h
index c3409c8..8eb9602 100644
--- a/original/uapi/linux/socket.h
+++ b/original/uapi/linux/socket.h
@@ -6,24 +6,17 @@
  * Desired design of maximum size and alignment (see RFC2553)
  */
 #define _K_SS_MAXSIZE	128	/* Implementation specific max size */
+#define _K_SS_ALIGNSIZE	(__alignof__ (struct sockaddr *))
+				/* Implementation specific desired alignment */
 
 typedef unsigned short __kernel_sa_family_t;
 
-/*
- * The definition uses anonymous union and struct in order to control the
- * default alignment.
- */
 struct __kernel_sockaddr_storage {
-	union {
-		struct {
-			__kernel_sa_family_t	ss_family; /* address family */
-			/* Following field(s) are implementation specific */
-			char __data[_K_SS_MAXSIZE - sizeof(unsigned short)];
+	__kernel_sa_family_t	ss_family;		/* address family */
+	/* Following field(s) are implementation specific */
+	char		__data[_K_SS_MAXSIZE - sizeof(unsigned short)];
 				/* space to achieve desired size, */
 				/* _SS_MAXSIZE value minus size of ss_family */
-		};
-		void *__align; /* implementation specific desired alignment */
-	};
-};
+} __attribute__ ((aligned(_K_SS_ALIGNSIZE)));	/* force desired alignment */
 
 #endif /* _UAPI_LINUX_SOCKET_H */
diff --git a/original/uapi/linux/sockios.h b/original/uapi/linux/sockios.h
index 7d1bccb..d393e9e 100644
--- a/original/uapi/linux/sockios.h
+++ b/original/uapi/linux/sockios.h
@@ -19,7 +19,6 @@
 #ifndef _LINUX_SOCKIOS_H
 #define _LINUX_SOCKIOS_H
 
-#include <asm/bitsperlong.h>
 #include <asm/sockios.h>
 
 /* Linux-specific socket ioctls */
@@ -28,26 +27,6 @@
 
 #define SOCK_IOC_TYPE	0x89
 
-/*
- * the timeval/timespec data structure layout is defined by libc,
- * so we need to cover both possible versions on 32-bit.
- */
-/* Get stamp (timeval) */
-#define SIOCGSTAMP_NEW	 _IOR(SOCK_IOC_TYPE, 0x06, long long[2])
-/* Get stamp (timespec) */
-#define SIOCGSTAMPNS_NEW _IOR(SOCK_IOC_TYPE, 0x07, long long[2])
-
-#if __BITS_PER_LONG == 64 || (defined(__x86_64__) && defined(__ILP32__))
-/* on 64-bit and x32, avoid the ?: operator */
-#define SIOCGSTAMP	SIOCGSTAMP_OLD
-#define SIOCGSTAMPNS	SIOCGSTAMPNS_OLD
-#else
-#define SIOCGSTAMP	((sizeof(struct timeval))  == 8 ? \
-			 SIOCGSTAMP_OLD   : SIOCGSTAMP_NEW)
-#define SIOCGSTAMPNS	((sizeof(struct timespec)) == 8 ? \
-			 SIOCGSTAMPNS_OLD : SIOCGSTAMPNS_NEW)
-#endif
-
 /* Routing table calls. */
 #define SIOCADDRT	0x890B		/* add routing table entry	*/
 #define SIOCDELRT	0x890C		/* delete routing table entry	*/
diff --git a/original/uapi/linux/spi/spidev.h b/original/uapi/linux/spi/spidev.h
index ee0f246..c4253f0 100644
--- a/original/uapi/linux/spi/spidev.h
+++ b/original/uapi/linux/spi/spidev.h
@@ -66,9 +66,6 @@
  * @delay_usecs: If nonzero, how long to delay after the last bit transfer
  *	before optionally deselecting the device before the next transfer.
  * @cs_change: True to deselect device before starting the next transfer.
- * @word_delay_usecs: If nonzero, how long to wait between words within one
- *	transfer. This property needs explicit support in the SPI controller,
- *	otherwise it is silently ignored.
  *
  * This structure is mapped directly to the kernel spi_transfer structure;
  * the fields have the same meanings, except of course that the pointers
@@ -103,8 +100,7 @@
 	__u8		cs_change;
 	__u8		tx_nbits;
 	__u8		rx_nbits;
-	__u8		word_delay_usecs;
-	__u8		pad;
+	__u16		pad;
 
 	/* If the contents of 'struct spi_ioc_transfer' ever change
 	 * incompatibly, then the ioctl number (currently 0) must change;
diff --git a/original/uapi/linux/switchtec_ioctl.h b/original/uapi/linux/switchtec_ioctl.h
index c912b5a..4f4daf8 100644
--- a/original/uapi/linux/switchtec_ioctl.h
+++ b/original/uapi/linux/switchtec_ioctl.h
@@ -50,22 +50,13 @@
 	__u32 active;
 };
 
-struct switchtec_ioctl_event_summary_legacy {
-	__u64 global;
-	__u64 part_bitmap;
-	__u32 local_part;
-	__u32 padding;
-	__u32 part[48];
-	__u32 pff[48];
-};
-
 struct switchtec_ioctl_event_summary {
 	__u64 global;
 	__u64 part_bitmap;
 	__u32 local_part;
 	__u32 padding;
 	__u32 part[48];
-	__u32 pff[255];
+	__u32 pff[48];
 };
 
 #define SWITCHTEC_IOCTL_EVENT_STACK_ERROR		0
@@ -136,8 +127,6 @@
 	_IOWR('W', 0x41, struct switchtec_ioctl_flash_part_info)
 #define SWITCHTEC_IOCTL_EVENT_SUMMARY \
 	_IOR('W', 0x42, struct switchtec_ioctl_event_summary)
-#define SWITCHTEC_IOCTL_EVENT_SUMMARY_LEGACY \
-	_IOR('W', 0x42, struct switchtec_ioctl_event_summary_legacy)
 #define SWITCHTEC_IOCTL_EVENT_CTL \
 	_IOWR('W', 0x43, struct switchtec_ioctl_event_ctl)
 #define SWITCHTEC_IOCTL_PFF_TO_PORT \
diff --git a/original/uapi/linux/tc_act/tc_bpf.h b/original/uapi/linux/tc_act/tc_bpf.h
index 653c4f9..6e89a5d 100644
--- a/original/uapi/linux/tc_act/tc_bpf.h
+++ b/original/uapi/linux/tc_act/tc_bpf.h
@@ -13,6 +13,8 @@
 
 #include <linux/pkt_cls.h>
 
+#define TCA_ACT_BPF 13
+
 struct tc_act_bpf {
 	tc_gen;
 };
diff --git a/original/uapi/linux/tc_act/tc_connmark.h b/original/uapi/linux/tc_act/tc_connmark.h
index 9f8f6f7..80caa47 100644
--- a/original/uapi/linux/tc_act/tc_connmark.h
+++ b/original/uapi/linux/tc_act/tc_connmark.h
@@ -5,6 +5,8 @@
 #include <linux/types.h>
 #include <linux/pkt_cls.h>
 
+#define TCA_ACT_CONNMARK 14
+
 struct tc_connmark {
 	tc_gen;
 	__u16 zone;
diff --git a/original/uapi/linux/tc_act/tc_csum.h b/original/uapi/linux/tc_act/tc_csum.h
index 94b2044..0ecf4d2 100644
--- a/original/uapi/linux/tc_act/tc_csum.h
+++ b/original/uapi/linux/tc_act/tc_csum.h
@@ -5,6 +5,8 @@
 #include <linux/types.h>
 #include <linux/pkt_cls.h>
 
+#define TCA_ACT_CSUM 16
+
 enum {
 	TCA_CSUM_UNSPEC,
 	TCA_CSUM_PARMS,
diff --git a/original/uapi/linux/tc_act/tc_ct.h b/original/uapi/linux/tc_act/tc_ct.h
deleted file mode 100644
index 5fb1d7a..0000000
--- a/original/uapi/linux/tc_act/tc_ct.h
+++ /dev/null
@@ -1,41 +0,0 @@
-/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
-#ifndef __UAPI_TC_CT_H
-#define __UAPI_TC_CT_H
-
-#include <linux/types.h>
-#include <linux/pkt_cls.h>
-
-enum {
-	TCA_CT_UNSPEC,
-	TCA_CT_PARMS,
-	TCA_CT_TM,
-	TCA_CT_ACTION,		/* u16 */
-	TCA_CT_ZONE,		/* u16 */
-	TCA_CT_MARK,		/* u32 */
-	TCA_CT_MARK_MASK,	/* u32 */
-	TCA_CT_LABELS,		/* u128 */
-	TCA_CT_LABELS_MASK,	/* u128 */
-	TCA_CT_NAT_IPV4_MIN,	/* be32 */
-	TCA_CT_NAT_IPV4_MAX,	/* be32 */
-	TCA_CT_NAT_IPV6_MIN,	/* struct in6_addr */
-	TCA_CT_NAT_IPV6_MAX,	/* struct in6_addr */
-	TCA_CT_NAT_PORT_MIN,	/* be16 */
-	TCA_CT_NAT_PORT_MAX,	/* be16 */
-	TCA_CT_PAD,
-	__TCA_CT_MAX
-};
-
-#define TCA_CT_MAX (__TCA_CT_MAX - 1)
-
-#define TCA_CT_ACT_COMMIT	(1 << 0)
-#define TCA_CT_ACT_FORCE	(1 << 1)
-#define TCA_CT_ACT_CLEAR	(1 << 2)
-#define TCA_CT_ACT_NAT		(1 << 3)
-#define TCA_CT_ACT_NAT_SRC	(1 << 4)
-#define TCA_CT_ACT_NAT_DST	(1 << 5)
-
-struct tc_ct {
-	tc_gen;
-};
-
-#endif /* __UAPI_TC_CT_H */
diff --git a/original/uapi/linux/tc_act/tc_ctinfo.h b/original/uapi/linux/tc_act/tc_ctinfo.h
deleted file mode 100644
index f5f26d9..0000000
--- a/original/uapi/linux/tc_act/tc_ctinfo.h
+++ /dev/null
@@ -1,29 +0,0 @@
-/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
-#ifndef __UAPI_TC_CTINFO_H
-#define __UAPI_TC_CTINFO_H
-
-#include <linux/types.h>
-#include <linux/pkt_cls.h>
-
-struct tc_ctinfo {
-	tc_gen;
-};
-
-enum {
-	TCA_CTINFO_UNSPEC,
-	TCA_CTINFO_PAD,
-	TCA_CTINFO_TM,
-	TCA_CTINFO_ACT,
-	TCA_CTINFO_ZONE,
-	TCA_CTINFO_PARMS_DSCP_MASK,
-	TCA_CTINFO_PARMS_DSCP_STATEMASK,
-	TCA_CTINFO_PARMS_CPMARK_MASK,
-	TCA_CTINFO_STATS_DSCP_SET,
-	TCA_CTINFO_STATS_DSCP_ERROR,
-	TCA_CTINFO_STATS_CPMARK_SET,
-	__TCA_CTINFO_MAX
-};
-
-#define TCA_CTINFO_MAX (__TCA_CTINFO_MAX - 1)
-
-#endif
diff --git a/original/uapi/linux/tc_act/tc_gact.h b/original/uapi/linux/tc_act/tc_gact.h
index 37e5392..94273c3 100644
--- a/original/uapi/linux/tc_act/tc_gact.h
+++ b/original/uapi/linux/tc_act/tc_gact.h
@@ -5,6 +5,7 @@
 #include <linux/types.h>
 #include <linux/pkt_cls.h>
 
+#define TCA_ACT_GACT 5
 struct tc_gact {
 	tc_gen;
 
diff --git a/original/uapi/linux/tc_act/tc_ife.h b/original/uapi/linux/tc_act/tc_ife.h
index 8c401f1..2f48490 100644
--- a/original/uapi/linux/tc_act/tc_ife.h
+++ b/original/uapi/linux/tc_act/tc_ife.h
@@ -6,6 +6,7 @@
 #include <linux/pkt_cls.h>
 #include <linux/ife.h>
 
+#define TCA_ACT_IFE 25
 /* Flag bits for now just encoding/decoding; mutually exclusive */
 #define IFE_ENCODE 1
 #define IFE_DECODE 0
diff --git a/original/uapi/linux/tc_act/tc_ipt.h b/original/uapi/linux/tc_act/tc_ipt.h
index c48d7da..b743c8b 100644
--- a/original/uapi/linux/tc_act/tc_ipt.h
+++ b/original/uapi/linux/tc_act/tc_ipt.h
@@ -4,6 +4,9 @@
 
 #include <linux/pkt_cls.h>
 
+#define TCA_ACT_IPT 6
+#define TCA_ACT_XT 10
+
 enum {
 	TCA_IPT_UNSPEC,
 	TCA_IPT_TABLE,
diff --git a/original/uapi/linux/tc_act/tc_mirred.h b/original/uapi/linux/tc_act/tc_mirred.h
index 2500a00..5dd671c 100644
--- a/original/uapi/linux/tc_act/tc_mirred.h
+++ b/original/uapi/linux/tc_act/tc_mirred.h
@@ -5,6 +5,7 @@
 #include <linux/types.h>
 #include <linux/pkt_cls.h>
 
+#define TCA_ACT_MIRRED 8
 #define TCA_EGRESS_REDIR 1  /* packet redirect to EGRESS*/
 #define TCA_EGRESS_MIRROR 2 /* mirror packet to EGRESS */
 #define TCA_INGRESS_REDIR 3  /* packet redirect to INGRESS*/
diff --git a/original/uapi/linux/tc_act/tc_mpls.h b/original/uapi/linux/tc_act/tc_mpls.h
deleted file mode 100644
index 9360e95..0000000
--- a/original/uapi/linux/tc_act/tc_mpls.h
+++ /dev/null
@@ -1,33 +0,0 @@
-/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
-/* Copyright (C) 2019 Netronome Systems, Inc. */
-
-#ifndef __LINUX_TC_MPLS_H
-#define __LINUX_TC_MPLS_H
-
-#include <linux/pkt_cls.h>
-
-#define TCA_MPLS_ACT_POP	1
-#define TCA_MPLS_ACT_PUSH	2
-#define TCA_MPLS_ACT_MODIFY	3
-#define TCA_MPLS_ACT_DEC_TTL	4
-
-struct tc_mpls {
-	tc_gen;		/* generic TC action fields. */
-	int m_action;	/* action of type TCA_MPLS_ACT_*. */
-};
-
-enum {
-	TCA_MPLS_UNSPEC,
-	TCA_MPLS_TM,	/* struct tcf_t; time values associated with action. */
-	TCA_MPLS_PARMS,	/* struct tc_mpls; action type and general TC fields. */
-	TCA_MPLS_PAD,
-	TCA_MPLS_PROTO,	/* be16; eth_type of pushed or next (for pop) header. */
-	TCA_MPLS_LABEL,	/* u32; MPLS label. Lower 20 bits are used. */
-	TCA_MPLS_TC,	/* u8; MPLS TC field. Lower 3 bits are used. */
-	TCA_MPLS_TTL,	/* u8; MPLS TTL field. Must not be 0. */
-	TCA_MPLS_BOS,	/* u8; MPLS BOS field. Either 1 or 0. */
-	__TCA_MPLS_MAX,
-};
-#define TCA_MPLS_MAX (__TCA_MPLS_MAX - 1)
-
-#endif
diff --git a/original/uapi/linux/tc_act/tc_nat.h b/original/uapi/linux/tc_act/tc_nat.h
index 21399c2..086be84 100644
--- a/original/uapi/linux/tc_act/tc_nat.h
+++ b/original/uapi/linux/tc_act/tc_nat.h
@@ -5,6 +5,8 @@
 #include <linux/pkt_cls.h>
 #include <linux/types.h>
 
+#define TCA_ACT_NAT 9
+
 enum {
 	TCA_NAT_UNSPEC,
 	TCA_NAT_PARMS,
diff --git a/original/uapi/linux/tc_act/tc_pedit.h b/original/uapi/linux/tc_act/tc_pedit.h
index f3e61b0..24ec792 100644
--- a/original/uapi/linux/tc_act/tc_pedit.h
+++ b/original/uapi/linux/tc_act/tc_pedit.h
@@ -5,6 +5,8 @@
 #include <linux/types.h>
 #include <linux/pkt_cls.h>
 
+#define TCA_ACT_PEDIT 7
+
 enum {
 	TCA_PEDIT_UNSPEC,
 	TCA_PEDIT_TM,
diff --git a/original/uapi/linux/tc_act/tc_sample.h b/original/uapi/linux/tc_act/tc_sample.h
index fee1bcc..bd7e9f0 100644
--- a/original/uapi/linux/tc_act/tc_sample.h
+++ b/original/uapi/linux/tc_act/tc_sample.h
@@ -6,6 +6,8 @@
 #include <linux/pkt_cls.h>
 #include <linux/if_ether.h>
 
+#define TCA_ACT_SAMPLE 26
+
 struct tc_sample {
 	tc_gen;
 };
diff --git a/original/uapi/linux/tc_act/tc_skbedit.h b/original/uapi/linux/tc_act/tc_skbedit.h
index 800e933..6de6071 100644
--- a/original/uapi/linux/tc_act/tc_skbedit.h
+++ b/original/uapi/linux/tc_act/tc_skbedit.h
@@ -23,6 +23,8 @@
 
 #include <linux/pkt_cls.h>
 
+#define TCA_ACT_SKBEDIT 11
+
 #define SKBEDIT_F_PRIORITY		0x1
 #define SKBEDIT_F_QUEUE_MAPPING		0x2
 #define SKBEDIT_F_MARK			0x4
diff --git a/original/uapi/linux/tc_act/tc_skbmod.h b/original/uapi/linux/tc_act/tc_skbmod.h
index c525b35..38c072f 100644
--- a/original/uapi/linux/tc_act/tc_skbmod.h
+++ b/original/uapi/linux/tc_act/tc_skbmod.h
@@ -13,6 +13,8 @@
 
 #include <linux/pkt_cls.h>
 
+#define TCA_ACT_SKBMOD 15
+
 #define SKBMOD_F_DMAC	0x1
 #define SKBMOD_F_SMAC	0x2
 #define SKBMOD_F_ETYPE	0x4
diff --git a/original/uapi/linux/tc_act/tc_tunnel_key.h b/original/uapi/linux/tc_act/tc_tunnel_key.h
index 41c8b46..be384d6 100644
--- a/original/uapi/linux/tc_act/tc_tunnel_key.h
+++ b/original/uapi/linux/tc_act/tc_tunnel_key.h
@@ -14,6 +14,8 @@
 
 #include <linux/pkt_cls.h>
 
+#define TCA_ACT_TUNNEL_KEY 17
+
 #define TCA_TUNNEL_KEY_ACT_SET	    1
 #define TCA_TUNNEL_KEY_ACT_RELEASE  2
 
diff --git a/original/uapi/linux/tc_act/tc_vlan.h b/original/uapi/linux/tc_act/tc_vlan.h
index 168995b..0d7b5fd 100644
--- a/original/uapi/linux/tc_act/tc_vlan.h
+++ b/original/uapi/linux/tc_act/tc_vlan.h
@@ -13,6 +13,8 @@
 
 #include <linux/pkt_cls.h>
 
+#define TCA_ACT_VLAN 12
+
 #define TCA_VLAN_ACT_POP	1
 #define TCA_VLAN_ACT_PUSH	2
 #define TCA_VLAN_ACT_MODIFY	3
diff --git a/original/uapi/linux/tcp.h b/original/uapi/linux/tcp.h
index b3564f8..8bb6cc5 100644
--- a/original/uapi/linux/tcp.h
+++ b/original/uapi/linux/tcp.h
@@ -127,9 +127,6 @@
 
 #define TCP_CM_INQ		TCP_INQ
 
-#define TCP_TX_DELAY		37	/* delay outgoing packets by XX usec */
-
-
 #define TCP_REPAIR_ON		1
 #define TCP_REPAIR_OFF		0
 #define TCP_REPAIR_OFF_NO_WP	-1	/* Turn off without window probes */
@@ -163,42 +160,15 @@
 #define TCPI_OPT_ECN_SEEN	16 /* we received at least one packet with ECT */
 #define TCPI_OPT_SYN_DATA	32 /* SYN-ACK acked data in SYN sent or rcvd */
 
-/*
- * Sender's congestion state indicating normal or abnormal situations
- * in the last round of packets sent. The state is driven by the ACK
- * information and timer events.
- */
 enum tcp_ca_state {
-	/*
-	 * Nothing bad has been observed recently.
-	 * No apparent reordering, packet loss, or ECN marks.
-	 */
 	TCP_CA_Open = 0,
 #define TCPF_CA_Open	(1<<TCP_CA_Open)
-	/*
-	 * The sender enters disordered state when it has received DUPACKs or
-	 * SACKs in the last round of packets sent. This could be due to packet
-	 * loss or reordering but needs further information to confirm packets
-	 * have been lost.
-	 */
 	TCP_CA_Disorder = 1,
 #define TCPF_CA_Disorder (1<<TCP_CA_Disorder)
-	/*
-	 * The sender enters Congestion Window Reduction (CWR) state when it
-	 * has received ACKs with ECN-ECE marks, or has experienced congestion
-	 * or packet discard on the sender host (e.g. qdisc).
-	 */
 	TCP_CA_CWR = 2,
 #define TCPF_CA_CWR	(1<<TCP_CA_CWR)
-	/*
-	 * The sender is in fast recovery and retransmitting lost packets,
-	 * typically triggered by ACK events.
-	 */
 	TCP_CA_Recovery = 3,
 #define TCPF_CA_Recovery (1<<TCP_CA_Recovery)
-	/*
-	 * The sender is in loss recovery triggered by retransmission timeout.
-	 */
 	TCP_CA_Loss = 4
 #define TCPF_CA_Loss	(1<<TCP_CA_Loss)
 };
diff --git a/original/uapi/linux/time.h b/original/uapi/linux/time.h
index 958932e..6b56a22 100644
--- a/original/uapi/linux/time.h
+++ b/original/uapi/linux/time.h
@@ -3,7 +3,7 @@
 #define _UAPI_LINUX_TIME_H
 
 #include <linux/types.h>
-#include <linux/time_types.h>
+
 
 #ifndef _STRUCT_TIMESPEC
 #define _STRUCT_TIMESPEC
@@ -23,6 +23,7 @@
 	int	tz_dsttime;	/* type of dst correction */
 };
 
+
 /*
  * Names of the interval timers, and structure
  * defining a timer setting:
@@ -41,6 +42,32 @@
 	struct timeval it_value;	/* current value */
 };
 
+#ifndef __kernel_timespec
+struct __kernel_timespec {
+	__kernel_time64_t       tv_sec;                 /* seconds */
+	long long               tv_nsec;                /* nanoseconds */
+};
+#endif
+
+#ifndef __kernel_itimerspec
+struct __kernel_itimerspec {
+	struct __kernel_timespec it_interval;    /* timer period */
+	struct __kernel_timespec it_value;       /* timer expiration */
+};
+#endif
+
+/*
+ * legacy timeval structure, only embedded in structures that
+ * traditionally used 'timeval' to pass time intervals (not absolute
+ * times). Do not add new users. If user space fails to compile
+ * here, this is probably because it is not y2038 safe and needs to
+ * be changed to use another interface.
+ */
+struct __kernel_old_timeval {
+	__kernel_long_t tv_sec;
+	__kernel_long_t tv_usec;
+};
+
 /*
  * The IDs of the various system clocks (for POSIX.1b interval timers):
  */
diff --git a/original/uapi/linux/time_types.h b/original/uapi/linux/time_types.h
deleted file mode 100644
index 27bfc8f..0000000
--- a/original/uapi/linux/time_types.h
+++ /dev/null
@@ -1,36 +0,0 @@
-/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
-#ifndef _UAPI_LINUX_TIME_TYPES_H
-#define _UAPI_LINUX_TIME_TYPES_H
-
-#include <linux/types.h>
-
-struct __kernel_timespec {
-	__kernel_time64_t       tv_sec;                 /* seconds */
-	long long               tv_nsec;                /* nanoseconds */
-};
-
-struct __kernel_itimerspec {
-	struct __kernel_timespec it_interval;    /* timer period */
-	struct __kernel_timespec it_value;       /* timer expiration */
-};
-
-/*
- * legacy timeval structure, only embedded in structures that
- * traditionally used 'timeval' to pass time intervals (not absolute
- * times). Do not add new users. If user space fails to compile
- * here, this is probably because it is not y2038 safe and needs to
- * be changed to use another interface.
- */
-#ifndef __kernel_old_timeval
-struct __kernel_old_timeval {
-	__kernel_long_t tv_sec;
-	__kernel_long_t tv_usec;
-};
-#endif
-
-struct __kernel_sock_timeval {
-	__s64 tv_sec;
-	__s64 tv_usec;
-};
-
-#endif /* _UAPI_LINUX_TIME_TYPES_H */
diff --git a/original/uapi/linux/timex.h b/original/uapi/linux/timex.h
index 9f517f9..92685d8 100644
--- a/original/uapi/linux/timex.h
+++ b/original/uapi/linux/timex.h
@@ -92,45 +92,6 @@
 	int  :32; int  :32; int  :32;
 };
 
-struct __kernel_timex_timeval {
-	__kernel_time64_t       tv_sec;
-	long long		tv_usec;
-};
-
-struct __kernel_timex {
-	unsigned int modes;	/* mode selector */
-	int :32;            /* pad */
-	long long offset;	/* time offset (usec) */
-	long long freq;	/* frequency offset (scaled ppm) */
-	long long maxerror;/* maximum error (usec) */
-	long long esterror;/* estimated error (usec) */
-	int status;		/* clock command/status */
-	int :32;            /* pad */
-	long long constant;/* pll time constant */
-	long long precision;/* clock precision (usec) (read only) */
-	long long tolerance;/* clock frequency tolerance (ppm)
-				   * (read only)
-				   */
-	struct __kernel_timex_timeval time;	/* (read only, except for ADJ_SETOFFSET) */
-	long long tick;	/* (modified) usecs between clock ticks */
-
-	long long ppsfreq;/* pps frequency (scaled ppm) (ro) */
-	long long jitter; /* pps jitter (us) (ro) */
-	int shift;              /* interval duration (s) (shift) (ro) */
-	int :32;            /* pad */
-	long long stabil;            /* pps stability (scaled ppm) (ro) */
-	long long jitcnt; /* jitter limit exceeded (ro) */
-	long long calcnt; /* calibration intervals (ro) */
-	long long errcnt; /* calibration errors (ro) */
-	long long stbcnt; /* stability limit exceeded (ro) */
-
-	int tai;		/* TAI offset (ro) */
-
-	int  :32; int  :32; int  :32; int  :32;
-	int  :32; int  :32; int  :32; int  :32;
-	int  :32; int  :32; int  :32;
-};
-
 /*
  * Mode codes (timex.mode)
  */
diff --git a/original/uapi/linux/tipc.h b/original/uapi/linux/tipc.h
index 7df026e..6b2fd4d 100644
--- a/original/uapi/linux/tipc.h
+++ b/original/uapi/linux/tipc.h
@@ -190,7 +190,6 @@
 #define TIPC_MCAST_REPLICAST    134     /* Default: TIPC selects. No arg */
 #define TIPC_GROUP_JOIN         135     /* Takes struct tipc_group_req* */
 #define TIPC_GROUP_LEAVE        136     /* No argument */
-#define TIPC_SOCK_RECVQ_USED    137     /* Default: none (read only) */
 
 /*
  * Flag values
diff --git a/original/uapi/linux/tipc_config.h b/original/uapi/linux/tipc_config.h
index 4955e1a..4b2c93b 100644
--- a/original/uapi/linux/tipc_config.h
+++ b/original/uapi/linux/tipc_config.h
@@ -307,10 +307,8 @@
 	tlv_ptr = (struct tlv_desc *)tlv;
 	tlv_ptr->tlv_type = htons(type);
 	tlv_ptr->tlv_len  = htons(tlv_len);
-	if (len && data) {
-		memcpy(TLV_DATA(tlv_ptr), data, len);
-		memset(TLV_DATA(tlv_ptr) + len, 0, TLV_SPACE(len) - tlv_len);
-	}
+	if (len && data)
+		memcpy(TLV_DATA(tlv_ptr), data, tlv_len);
 	return TLV_SPACE(len);
 }
 
@@ -407,10 +405,8 @@
 	tcm_hdr->tcm_len   = htonl(msg_len);
 	tcm_hdr->tcm_type  = htons(cmd);
 	tcm_hdr->tcm_flags = htons(flags);
-	if (data_len && data) {
+	if (data_len && data)
 		memcpy(TCM_DATA(msg), data, data_len);
-		memset(TCM_DATA(msg) + data_len, 0, TCM_SPACE(data_len) - msg_len);
-	}
 	return TCM_SPACE(data_len);
 }
 
diff --git a/original/uapi/linux/tipc_netlink.h b/original/uapi/linux/tipc_netlink.h
index efb958f..0ebe02e 100644
--- a/original/uapi/linux/tipc_netlink.h
+++ b/original/uapi/linux/tipc_netlink.h
@@ -281,8 +281,6 @@
 	TIPC_NLA_PROP_TOL,		/* u32 */
 	TIPC_NLA_PROP_WIN,		/* u32 */
 	TIPC_NLA_PROP_MTU,		/* u32 */
-	TIPC_NLA_PROP_BROADCAST,	/* u32 */
-	TIPC_NLA_PROP_BROADCAST_RATIO,	/* u32 */
 
 	__TIPC_NLA_PROP_MAX,
 	TIPC_NLA_PROP_MAX = __TIPC_NLA_PROP_MAX - 1
diff --git a/original/uapi/linux/tls.h b/original/uapi/linux/tls.h
index 5b9c267..ff02287 100644
--- a/original/uapi/linux/tls.h
+++ b/original/uapi/linux/tls.h
@@ -51,10 +51,6 @@
 #define TLS_1_2_VERSION_MINOR	0x3
 #define TLS_1_2_VERSION		TLS_VERSION_NUMBER(TLS_1_2)
 
-#define TLS_1_3_VERSION_MAJOR	0x3
-#define TLS_1_3_VERSION_MINOR	0x4
-#define TLS_1_3_VERSION		TLS_VERSION_NUMBER(TLS_1_3)
-
 /* Supported ciphers */
 #define TLS_CIPHER_AES_GCM_128				51
 #define TLS_CIPHER_AES_GCM_128_IV_SIZE			8
@@ -63,20 +59,6 @@
 #define TLS_CIPHER_AES_GCM_128_TAG_SIZE		16
 #define TLS_CIPHER_AES_GCM_128_REC_SEQ_SIZE		8
 
-#define TLS_CIPHER_AES_GCM_256				52
-#define TLS_CIPHER_AES_GCM_256_IV_SIZE			8
-#define TLS_CIPHER_AES_GCM_256_KEY_SIZE		32
-#define TLS_CIPHER_AES_GCM_256_SALT_SIZE		4
-#define TLS_CIPHER_AES_GCM_256_TAG_SIZE		16
-#define TLS_CIPHER_AES_GCM_256_REC_SEQ_SIZE		8
-
-#define TLS_CIPHER_AES_CCM_128				53
-#define TLS_CIPHER_AES_CCM_128_IV_SIZE			8
-#define TLS_CIPHER_AES_CCM_128_KEY_SIZE		16
-#define TLS_CIPHER_AES_CCM_128_SALT_SIZE		4
-#define TLS_CIPHER_AES_CCM_128_TAG_SIZE		16
-#define TLS_CIPHER_AES_CCM_128_REC_SEQ_SIZE		8
-
 #define TLS_SET_RECORD_TYPE	1
 #define TLS_GET_RECORD_TYPE	2
 
@@ -93,20 +75,4 @@
 	unsigned char rec_seq[TLS_CIPHER_AES_GCM_128_REC_SEQ_SIZE];
 };
 
-struct tls12_crypto_info_aes_gcm_256 {
-	struct tls_crypto_info info;
-	unsigned char iv[TLS_CIPHER_AES_GCM_256_IV_SIZE];
-	unsigned char key[TLS_CIPHER_AES_GCM_256_KEY_SIZE];
-	unsigned char salt[TLS_CIPHER_AES_GCM_256_SALT_SIZE];
-	unsigned char rec_seq[TLS_CIPHER_AES_GCM_256_REC_SEQ_SIZE];
-};
-
-struct tls12_crypto_info_aes_ccm_128 {
-	struct tls_crypto_info info;
-	unsigned char iv[TLS_CIPHER_AES_CCM_128_IV_SIZE];
-	unsigned char key[TLS_CIPHER_AES_CCM_128_KEY_SIZE];
-	unsigned char salt[TLS_CIPHER_AES_CCM_128_SALT_SIZE];
-	unsigned char rec_seq[TLS_CIPHER_AES_CCM_128_REC_SEQ_SIZE];
-};
-
 #endif /* _UAPI_LINUX_TLS_H */
diff --git a/original/uapi/linux/unix_diag.h b/original/uapi/linux/unix_diag.h
index a198857..5c502fd 100644
--- a/original/uapi/linux/unix_diag.h
+++ b/original/uapi/linux/unix_diag.h
@@ -20,7 +20,6 @@
 #define UDIAG_SHOW_ICONS	0x00000008	/* show pending connections */
 #define UDIAG_SHOW_RQLEN	0x00000010	/* show skb receive queue len */
 #define UDIAG_SHOW_MEMINFO	0x00000020	/* show memory info of a socket */
-#define UDIAG_SHOW_UID		0x00000040	/* show socket's UID */
 
 struct unix_diag_msg {
 	__u8	udiag_family;
@@ -41,7 +40,6 @@
 	UNIX_DIAG_RQLEN,
 	UNIX_DIAG_MEMINFO,
 	UNIX_DIAG_SHUTDOWN,
-	UNIX_DIAG_UID,
 
 	__UNIX_DIAG_MAX,
 };
diff --git a/original/uapi/linux/usb/audio.h b/original/uapi/linux/usb/audio.h
index 76b7c3f..ddc5396 100644
--- a/original/uapi/linux/usb/audio.h
+++ b/original/uapi/linux/usb/audio.h
@@ -450,43 +450,6 @@
 	}
 }
 
-/*
- * Extension Unit (XU) has almost compatible layout with Processing Unit, but
- * on UAC2, it has a different bmControls size (bControlSize); it's 1 byte for
- * XU while 2 bytes for PU.  The last iExtension field is a one-byte index as
- * well as iProcessing field of PU.
- */
-static inline __u8 uac_extension_unit_bControlSize(struct uac_processing_unit_descriptor *desc,
-						   int protocol)
-{
-	switch (protocol) {
-	case UAC_VERSION_1:
-		return desc->baSourceID[desc->bNrInPins + 4];
-	case UAC_VERSION_2:
-		return 1; /* in UAC2, this value is constant */
-	case UAC_VERSION_3:
-		return 4; /* in UAC3, this value is constant */
-	default:
-		return 1;
-	}
-}
-
-static inline __u8 uac_extension_unit_iExtension(struct uac_processing_unit_descriptor *desc,
-						 int protocol)
-{
-	__u8 control_size = uac_extension_unit_bControlSize(desc, protocol);
-
-	switch (protocol) {
-	case UAC_VERSION_1:
-	case UAC_VERSION_2:
-	default:
-		return *(uac_processing_unit_bmControls(desc, protocol)
-			 + control_size);
-	case UAC_VERSION_3:
-		return 0; /* UAC3 does not have this field */
-	}
-}
-
 /* 4.5.2 Class-Specific AS Interface Descriptor */
 struct uac1_as_header_descriptor {
 	__u8  bLength;			/* in bytes: 7 */
diff --git a/original/uapi/linux/usb/g_uvc.h b/original/uapi/linux/usb/g_uvc.h
index 652f169..3c9ee30 100644
--- a/original/uapi/linux/usb/g_uvc.h
+++ b/original/uapi/linux/usb/g_uvc.h
@@ -1,4 +1,4 @@
-/* SPDX-License-Identifier: GPL-2.0+ WITH Linux-syscall-note */
+/* SPDX-License-Identifier: GPL-2.0+ */
 /*
  * g_uvc.h  --  USB Video Class Gadget driver API
  *
diff --git a/original/uapi/linux/usbdevice_fs.h b/original/uapi/linux/usbdevice_fs.h
index 78efe87..964e872 100644
--- a/original/uapi/linux/usbdevice_fs.h
+++ b/original/uapi/linux/usbdevice_fs.h
@@ -76,26 +76,6 @@
 	unsigned char slow;
 };
 
-struct usbdevfs_conninfo_ex {
-	__u32 size;		/* Size of the structure from the kernel's */
-				/* point of view. Can be used by userspace */
-				/* to determine how much data can be       */
-				/* used/trusted.                           */
-	__u32 busnum;           /* USB bus number, as enumerated by the    */
-				/* kernel, the device is connected to.     */
-	__u32 devnum;           /* Device address on the bus.              */
-	__u32 speed;		/* USB_SPEED_* constants from ch9.h        */
-	__u8 num_ports;		/* Number of ports the device is connected */
-				/* to on the way to the root hub. It may   */
-				/* be bigger than size of 'ports' array so */
-				/* userspace can detect overflows.         */
-	__u8 ports[7];		/* List of ports on the way from the root  */
-				/* hub to the device. Current limit in     */
-				/* USB specification is 7 tiers (root hub, */
-				/* 5 intermediate hubs, device), which     */
-				/* gives at most 6 port entries.           */
-};
-
 #define USBDEVFS_URB_SHORT_NOT_OK	0x01
 #define USBDEVFS_URB_ISO_ASAP		0x02
 #define USBDEVFS_URB_BULK_CONTINUATION	0x04
@@ -157,7 +137,6 @@
 #define USBDEVFS_CAP_REAP_AFTER_DISCONNECT	0x10
 #define USBDEVFS_CAP_MMAP			0x20
 #define USBDEVFS_CAP_DROP_PRIVILEGES		0x40
-#define USBDEVFS_CAP_CONNINFO_EX		0x80
 
 /* USBDEVFS_DISCONNECT_CLAIM flags & struct */
 
@@ -218,10 +197,5 @@
 #define USBDEVFS_FREE_STREAMS      _IOR('U', 29, struct usbdevfs_streams)
 #define USBDEVFS_DROP_PRIVILEGES   _IOW('U', 30, __u32)
 #define USBDEVFS_GET_SPEED         _IO('U', 31)
-/*
- * Returns struct usbdevfs_conninfo_ex; length is variable to allow
- * extending size of the data returned.
- */
-#define USBDEVFS_CONNINFO_EX(len)  _IOC(_IOC_READ, 'U', 32, len)
 
 #endif /* _UAPI_LINUX_USBDEVICE_FS_H */
diff --git a/original/uapi/linux/v4l2-controls.h b/original/uapi/linux/v4l2-controls.h
index a2669b7..3dcfc61 100644
--- a/original/uapi/linux/v4l2-controls.h
+++ b/original/uapi/linux/v4l2-controls.h
@@ -392,13 +392,8 @@
 #define V4L2_CID_MPEG_VIDEO_MULTI_SLICE_MODE		(V4L2_CID_MPEG_BASE+221)
 enum v4l2_mpeg_video_multi_slice_mode {
 	V4L2_MPEG_VIDEO_MULTI_SLICE_MODE_SINGLE		= 0,
-	V4L2_MPEG_VIDEO_MULTI_SLICE_MODE_MAX_MB		= 1,
-	V4L2_MPEG_VIDEO_MULTI_SLICE_MODE_MAX_BYTES	= 2,
-#ifndef __KERNEL__
-	/* Kept for backwards compatibility reasons. Stupid typo... */
 	V4L2_MPEG_VIDEO_MULTI_SICE_MODE_MAX_MB		= 1,
 	V4L2_MPEG_VIDEO_MULTI_SICE_MODE_MAX_BYTES	= 2,
-#endif
 };
 #define V4L2_CID_MPEG_VIDEO_VBV_SIZE			(V4L2_CID_MPEG_BASE+222)
 #define V4L2_CID_MPEG_VIDEO_DEC_PTS			(V4L2_CID_MPEG_BASE+223)
@@ -409,28 +404,6 @@
 #define V4L2_CID_MPEG_VIDEO_MV_V_SEARCH_RANGE		(V4L2_CID_MPEG_BASE+228)
 #define V4L2_CID_MPEG_VIDEO_FORCE_KEY_FRAME		(V4L2_CID_MPEG_BASE+229)
 
-/* CIDs for the MPEG-2 Part 2 (H.262) codec */
-#define V4L2_CID_MPEG_VIDEO_MPEG2_LEVEL			(V4L2_CID_MPEG_BASE+270)
-enum v4l2_mpeg_video_mpeg2_level {
-	V4L2_MPEG_VIDEO_MPEG2_LEVEL_LOW		= 0,
-	V4L2_MPEG_VIDEO_MPEG2_LEVEL_MAIN	= 1,
-	V4L2_MPEG_VIDEO_MPEG2_LEVEL_HIGH_1440	= 2,
-	V4L2_MPEG_VIDEO_MPEG2_LEVEL_HIGH	= 3,
-};
-#define V4L2_CID_MPEG_VIDEO_MPEG2_PROFILE		(V4L2_CID_MPEG_BASE+271)
-enum v4l2_mpeg_video_mpeg2_profile {
-	V4L2_MPEG_VIDEO_MPEG2_PROFILE_SIMPLE				= 0,
-	V4L2_MPEG_VIDEO_MPEG2_PROFILE_MAIN				= 1,
-	V4L2_MPEG_VIDEO_MPEG2_PROFILE_SNR_SCALABLE			= 2,
-	V4L2_MPEG_VIDEO_MPEG2_PROFILE_SPATIALLY_SCALABLE		= 3,
-	V4L2_MPEG_VIDEO_MPEG2_PROFILE_HIGH				= 4,
-	V4L2_MPEG_VIDEO_MPEG2_PROFILE_MULTIVIEW				= 5,
-};
-
-/* CIDs for the FWHT codec as used by the vicodec driver. */
-#define V4L2_CID_FWHT_I_FRAME_QP             (V4L2_CID_MPEG_BASE + 290)
-#define V4L2_CID_FWHT_P_FRAME_QP             (V4L2_CID_MPEG_BASE + 291)
-
 #define V4L2_CID_MPEG_VIDEO_H263_I_FRAME_QP		(V4L2_CID_MPEG_BASE+300)
 #define V4L2_CID_MPEG_VIDEO_H263_P_FRAME_QP		(V4L2_CID_MPEG_BASE+301)
 #define V4L2_CID_MPEG_VIDEO_H263_B_FRAME_QP		(V4L2_CID_MPEG_BASE+302)
@@ -560,12 +533,6 @@
 };
 #define V4L2_CID_MPEG_VIDEO_H264_HIERARCHICAL_CODING_LAYER	(V4L2_CID_MPEG_BASE+381)
 #define V4L2_CID_MPEG_VIDEO_H264_HIERARCHICAL_CODING_LAYER_QP	(V4L2_CID_MPEG_BASE+382)
-#define V4L2_CID_MPEG_VIDEO_H264_CONSTRAINED_INTRA_PREDICTION	(V4L2_CID_MPEG_BASE+383)
-#define V4L2_CID_MPEG_VIDEO_H264_CHROMA_QP_INDEX_OFFSET		(V4L2_CID_MPEG_BASE+384)
-#define V4L2_CID_MPEG_VIDEO_H264_I_FRAME_MIN_QP	(V4L2_CID_MPEG_BASE+385)
-#define V4L2_CID_MPEG_VIDEO_H264_I_FRAME_MAX_QP	(V4L2_CID_MPEG_BASE+386)
-#define V4L2_CID_MPEG_VIDEO_H264_P_FRAME_MIN_QP	(V4L2_CID_MPEG_BASE+387)
-#define V4L2_CID_MPEG_VIDEO_H264_P_FRAME_MAX_QP	(V4L2_CID_MPEG_BASE+388)
 #define V4L2_CID_MPEG_VIDEO_MPEG4_I_FRAME_QP	(V4L2_CID_MPEG_BASE+400)
 #define V4L2_CID_MPEG_VIDEO_MPEG4_P_FRAME_QP	(V4L2_CID_MPEG_BASE+401)
 #define V4L2_CID_MPEG_VIDEO_MPEG4_B_FRAME_QP	(V4L2_CID_MPEG_BASE+402)
diff --git a/original/uapi/linux/vbox_vmmdev_types.h b/original/uapi/linux/vbox_vmmdev_types.h
index c27289f..0e68024 100644
--- a/original/uapi/linux/vbox_vmmdev_types.h
+++ b/original/uapi/linux/vbox_vmmdev_types.h
@@ -1,4 +1,4 @@
-/* SPDX-License-Identifier: ((GPL-2.0 WITH Linux-syscall-note) OR CDDL-1.0) */
+/* SPDX-License-Identifier: (GPL-2.0 OR CDDL-1.0) */
 /*
  * Virtual Device for Guest <-> VMM/Host communication, type definitions
  * which are also used for the vboxguest ioctl interface / by vboxsf
@@ -102,66 +102,6 @@
 #define VMMDEVREQ_HGCM_CALL VMMDEVREQ_HGCM_CALL32
 #endif
 
-/* vmmdev_request_header.requestor defines */
-
-/* Requestor user not given. */
-#define VMMDEV_REQUESTOR_USR_NOT_GIVEN                      0x00000000
-/* The kernel driver (vboxguest) is the requestor. */
-#define VMMDEV_REQUESTOR_USR_DRV                            0x00000001
-/* Some other kernel driver is the requestor. */
-#define VMMDEV_REQUESTOR_USR_DRV_OTHER                      0x00000002
-/* The root or a admin user is the requestor. */
-#define VMMDEV_REQUESTOR_USR_ROOT                           0x00000003
-/* Regular joe user is making the request. */
-#define VMMDEV_REQUESTOR_USR_USER                           0x00000006
-/* User classification mask. */
-#define VMMDEV_REQUESTOR_USR_MASK                           0x00000007
-
-/* Kernel mode request. Note this is 0, check for !USERMODE instead. */
-#define VMMDEV_REQUESTOR_KERNEL                             0x00000000
-/* User mode request. */
-#define VMMDEV_REQUESTOR_USERMODE                           0x00000008
-/* User or kernel mode classification mask. */
-#define VMMDEV_REQUESTOR_MODE_MASK                          0x00000008
-
-/* Don't know the physical console association of the requestor. */
-#define VMMDEV_REQUESTOR_CON_DONT_KNOW                      0x00000000
-/*
- * The request originates with a process that is NOT associated with the
- * physical console.
- */
-#define VMMDEV_REQUESTOR_CON_NO                             0x00000010
-/* Requestor process is associated with the physical console. */
-#define VMMDEV_REQUESTOR_CON_YES                            0x00000020
-/* Console classification mask. */
-#define VMMDEV_REQUESTOR_CON_MASK                           0x00000030
-
-/* Requestor is member of special VirtualBox user group. */
-#define VMMDEV_REQUESTOR_GRP_VBOX                           0x00000080
-
-/* Note: trust level is for windows guests only, linux always uses not-given */
-/* Requestor trust level: Unspecified */
-#define VMMDEV_REQUESTOR_TRUST_NOT_GIVEN                    0x00000000
-/* Requestor trust level: Untrusted (SID S-1-16-0) */
-#define VMMDEV_REQUESTOR_TRUST_UNTRUSTED                    0x00001000
-/* Requestor trust level: Untrusted (SID S-1-16-4096) */
-#define VMMDEV_REQUESTOR_TRUST_LOW                          0x00002000
-/* Requestor trust level: Medium (SID S-1-16-8192) */
-#define VMMDEV_REQUESTOR_TRUST_MEDIUM                       0x00003000
-/* Requestor trust level: Medium plus (SID S-1-16-8448) */
-#define VMMDEV_REQUESTOR_TRUST_MEDIUM_PLUS                  0x00004000
-/* Requestor trust level: High (SID S-1-16-12288) */
-#define VMMDEV_REQUESTOR_TRUST_HIGH                         0x00005000
-/* Requestor trust level: System (SID S-1-16-16384) */
-#define VMMDEV_REQUESTOR_TRUST_SYSTEM                       0x00006000
-/* Requestor trust level >= Protected (SID S-1-16-20480, S-1-16-28672) */
-#define VMMDEV_REQUESTOR_TRUST_PROTECTED                    0x00007000
-/* Requestor trust level mask */
-#define VMMDEV_REQUESTOR_TRUST_MASK                         0x00007000
-
-/* Requestor is using the less trusted user device node (/dev/vboxuser) */
-#define VMMDEV_REQUESTOR_USER_DEVICE                        0x00008000
-
 /** HGCM service location types. */
 enum vmmdev_hgcm_service_location_type {
 	VMMDEV_HGCM_LOC_INVALID    = 0,
diff --git a/original/uapi/linux/vboxguest.h b/original/uapi/linux/vboxguest.h
index 9cec58a..612f0c7 100644
--- a/original/uapi/linux/vboxguest.h
+++ b/original/uapi/linux/vboxguest.h
@@ -1,4 +1,4 @@
-/* SPDX-License-Identifier: ((GPL-2.0 WITH Linux-syscall-note) OR CDDL-1.0) */
+/* SPDX-License-Identifier: (GPL-2.0 OR CDDL-1.0) */
 /*
  * VBoxGuest - VirtualBox Guest Additions Driver Interface.
  *
diff --git a/original/uapi/linux/version.h b/original/uapi/linux/version.h
index 99ff948..1d3a407 100644
--- a/original/uapi/linux/version.h
+++ b/original/uapi/linux/version.h
@@ -1,2 +1,2 @@
-#define LINUX_VERSION_CODE 328450
+#define LINUX_VERSION_CODE 327683
 #define KERNEL_VERSION(a,b,c) (((a) << 16) + ((b) << 8) + (c))
diff --git a/original/uapi/linux/vfio.h b/original/uapi/linux/vfio.h
index 8f10748..02bb7ad 100644
--- a/original/uapi/linux/vfio.h
+++ b/original/uapi/linux/vfio.h
@@ -353,10 +353,6 @@
 #define VFIO_DEVICE_GFX_LINK_STATE_DOWN  2
 };
 
-#define VFIO_REGION_TYPE_CCW			(2)
-/* ccw sub-types */
-#define VFIO_REGION_SUBTYPE_CCW_ASYNC_CMD	(1)
-
 /*
  * 10de vendor sub-type
  *
diff --git a/original/uapi/linux/vfio_ccw.h b/original/uapi/linux/vfio_ccw.h
index cbecbf0..2ec5f36 100644
--- a/original/uapi/linux/vfio_ccw.h
+++ b/original/uapi/linux/vfio_ccw.h
@@ -12,7 +12,6 @@
 
 #include <linux/types.h>
 
-/* used for START SUBCHANNEL, always present */
 struct ccw_io_region {
 #define ORB_AREA_SIZE 12
 	__u8	orb_area[ORB_AREA_SIZE];
@@ -23,15 +22,4 @@
 	__u32	ret_code;
 } __packed;
 
-/*
- * used for processing commands that trigger asynchronous actions
- * Note: this is controlled by a capability
- */
-#define VFIO_CCW_ASYNC_CMD_HSCH (1 << 0)
-#define VFIO_CCW_ASYNC_CMD_CSCH (1 << 1)
-struct ccw_cmd_region {
-	__u32 command;
-	__u32 ret_code;
-} __packed;
-
 #endif
diff --git a/original/uapi/linux/videodev2.h b/original/uapi/linux/videodev2.h
index 2427bc4..b5671ce 100644
--- a/original/uapi/linux/videodev2.h
+++ b/original/uapi/linux/videodev2.h
@@ -80,7 +80,7 @@
 /*  Four-character-code (FOURCC) */
 #define v4l2_fourcc(a, b, c, d)\
 	((__u32)(a) | ((__u32)(b) << 8) | ((__u32)(c) << 16) | ((__u32)(d) << 24))
-#define v4l2_fourcc_be(a, b, c, d)	(v4l2_fourcc(a, b, c, d) | (1U << 31))
+#define v4l2_fourcc_be(a, b, c, d)	(v4l2_fourcc(a, b, c, d) | (1 << 31))
 
 /*
  *	E N U M S
@@ -130,13 +130,6 @@
 	((field) == V4L2_FIELD_BOTTOM ||\
 	 (field) == V4L2_FIELD_TOP ||\
 	 (field) == V4L2_FIELD_ALTERNATE)
-#define V4L2_FIELD_IS_INTERLACED(field) \
-	((field) == V4L2_FIELD_INTERLACED ||\
-	 (field) == V4L2_FIELD_INTERLACED_TB ||\
-	 (field) == V4L2_FIELD_INTERLACED_BT)
-#define V4L2_FIELD_IS_SEQUENTIAL(field) \
-	((field) == V4L2_FIELD_SEQ_TB ||\
-	 (field) == V4L2_FIELD_SEQ_BT)
 
 enum v4l2_buf_type {
 	V4L2_BUF_TYPE_VIDEO_CAPTURE        = 1,
@@ -168,8 +161,7 @@
 	 || (type) == V4L2_BUF_TYPE_VIDEO_OUTPUT_OVERLAY	\
 	 || (type) == V4L2_BUF_TYPE_VBI_OUTPUT			\
 	 || (type) == V4L2_BUF_TYPE_SLICED_VBI_OUTPUT		\
-	 || (type) == V4L2_BUF_TYPE_SDR_OUTPUT			\
-	 || (type) == V4L2_BUF_TYPE_META_OUTPUT)
+	 || (type) == V4L2_BUF_TYPE_SDR_OUTPUT)
 
 enum v4l2_tuner_type {
 	V4L2_TUNER_RADIO	     = 1,
@@ -514,27 +506,9 @@
 #define V4L2_PIX_FMT_RGB444  v4l2_fourcc('R', '4', '4', '4') /* 16  xxxxrrrr ggggbbbb */
 #define V4L2_PIX_FMT_ARGB444 v4l2_fourcc('A', 'R', '1', '2') /* 16  aaaarrrr ggggbbbb */
 #define V4L2_PIX_FMT_XRGB444 v4l2_fourcc('X', 'R', '1', '2') /* 16  xxxxrrrr ggggbbbb */
-#define V4L2_PIX_FMT_RGBA444 v4l2_fourcc('R', 'A', '1', '2') /* 16  rrrrgggg bbbbaaaa */
-#define V4L2_PIX_FMT_RGBX444 v4l2_fourcc('R', 'X', '1', '2') /* 16  rrrrgggg bbbbxxxx */
-#define V4L2_PIX_FMT_ABGR444 v4l2_fourcc('A', 'B', '1', '2') /* 16  aaaabbbb ggggrrrr */
-#define V4L2_PIX_FMT_XBGR444 v4l2_fourcc('X', 'B', '1', '2') /* 16  xxxxbbbb ggggrrrr */
-
-/*
- * Originally this had 'BA12' as fourcc, but this clashed with the older
- * V4L2_PIX_FMT_SGRBG12 which inexplicably used that same fourcc.
- * So use 'GA12' instead for V4L2_PIX_FMT_BGRA444.
- */
-#define V4L2_PIX_FMT_BGRA444 v4l2_fourcc('G', 'A', '1', '2') /* 16  bbbbgggg rrrraaaa */
-#define V4L2_PIX_FMT_BGRX444 v4l2_fourcc('B', 'X', '1', '2') /* 16  bbbbgggg rrrrxxxx */
 #define V4L2_PIX_FMT_RGB555  v4l2_fourcc('R', 'G', 'B', 'O') /* 16  RGB-5-5-5     */
 #define V4L2_PIX_FMT_ARGB555 v4l2_fourcc('A', 'R', '1', '5') /* 16  ARGB-1-5-5-5  */
 #define V4L2_PIX_FMT_XRGB555 v4l2_fourcc('X', 'R', '1', '5') /* 16  XRGB-1-5-5-5  */
-#define V4L2_PIX_FMT_RGBA555 v4l2_fourcc('R', 'A', '1', '5') /* 16  RGBA-5-5-5-1  */
-#define V4L2_PIX_FMT_RGBX555 v4l2_fourcc('R', 'X', '1', '5') /* 16  RGBX-5-5-5-1  */
-#define V4L2_PIX_FMT_ABGR555 v4l2_fourcc('A', 'B', '1', '5') /* 16  ABGR-1-5-5-5  */
-#define V4L2_PIX_FMT_XBGR555 v4l2_fourcc('X', 'B', '1', '5') /* 16  XBGR-1-5-5-5  */
-#define V4L2_PIX_FMT_BGRA555 v4l2_fourcc('B', 'A', '1', '5') /* 16  BGRA-5-5-5-1  */
-#define V4L2_PIX_FMT_BGRX555 v4l2_fourcc('B', 'X', '1', '5') /* 16  BGRX-5-5-5-1  */
 #define V4L2_PIX_FMT_RGB565  v4l2_fourcc('R', 'G', 'B', 'P') /* 16  RGB-5-6-5     */
 #define V4L2_PIX_FMT_RGB555X v4l2_fourcc('R', 'G', 'B', 'Q') /* 16  RGB-5-5-5 BE  */
 #define V4L2_PIX_FMT_ARGB555X v4l2_fourcc_be('A', 'R', '1', '5') /* 16  ARGB-5-5-5 BE */
@@ -546,11 +520,7 @@
 #define V4L2_PIX_FMT_BGR32   v4l2_fourcc('B', 'G', 'R', '4') /* 32  BGR-8-8-8-8   */
 #define V4L2_PIX_FMT_ABGR32  v4l2_fourcc('A', 'R', '2', '4') /* 32  BGRA-8-8-8-8  */
 #define V4L2_PIX_FMT_XBGR32  v4l2_fourcc('X', 'R', '2', '4') /* 32  BGRX-8-8-8-8  */
-#define V4L2_PIX_FMT_BGRA32  v4l2_fourcc('R', 'A', '2', '4') /* 32  ABGR-8-8-8-8  */
-#define V4L2_PIX_FMT_BGRX32  v4l2_fourcc('R', 'X', '2', '4') /* 32  XBGR-8-8-8-8  */
 #define V4L2_PIX_FMT_RGB32   v4l2_fourcc('R', 'G', 'B', '4') /* 32  RGB-8-8-8-8   */
-#define V4L2_PIX_FMT_RGBA32  v4l2_fourcc('A', 'B', '2', '4') /* 32  RGBA-8-8-8-8  */
-#define V4L2_PIX_FMT_RGBX32  v4l2_fourcc('X', 'B', '2', '4') /* 32  RGBX-8-8-8-8  */
 #define V4L2_PIX_FMT_ARGB32  v4l2_fourcc('B', 'A', '2', '4') /* 32  ARGB-8-8-8-8  */
 #define V4L2_PIX_FMT_XRGB32  v4l2_fourcc('B', 'X', '2', '4') /* 32  XRGB-8-8-8-8  */
 
@@ -584,10 +554,6 @@
 #define V4L2_PIX_FMT_YUV555  v4l2_fourcc('Y', 'U', 'V', 'O') /* 16  YUV-5-5-5     */
 #define V4L2_PIX_FMT_YUV565  v4l2_fourcc('Y', 'U', 'V', 'P') /* 16  YUV-5-6-5     */
 #define V4L2_PIX_FMT_YUV32   v4l2_fourcc('Y', 'U', 'V', '4') /* 32  YUV-8-8-8-8   */
-#define V4L2_PIX_FMT_AYUV32  v4l2_fourcc('A', 'Y', 'U', 'V') /* 32  AYUV-8-8-8-8  */
-#define V4L2_PIX_FMT_XYUV32  v4l2_fourcc('X', 'Y', 'U', 'V') /* 32  XYUV-8-8-8-8  */
-#define V4L2_PIX_FMT_VUYA32  v4l2_fourcc('V', 'U', 'Y', 'A') /* 32  VUYA-8-8-8-8  */
-#define V4L2_PIX_FMT_VUYX32  v4l2_fourcc('V', 'U', 'Y', 'X') /* 32  VUYX-8-8-8-8  */
 #define V4L2_PIX_FMT_HI240   v4l2_fourcc('H', 'I', '2', '4') /*  8  8-bit color   */
 #define V4L2_PIX_FMT_HM12    v4l2_fourcc('H', 'M', '1', '2') /*  8  YUV 4:2:0 16x16 macroblocks */
 #define V4L2_PIX_FMT_M420    v4l2_fourcc('M', '4', '2', '0') /* 12  YUV 4:2:0 2 lines y, 1 line uv interleaved */
@@ -691,7 +657,6 @@
 #define V4L2_PIX_FMT_VP9      v4l2_fourcc('V', 'P', '9', '0') /* VP9 */
 #define V4L2_PIX_FMT_HEVC     v4l2_fourcc('H', 'E', 'V', 'C') /* HEVC aka H.265 */
 #define V4L2_PIX_FMT_FWHT     v4l2_fourcc('F', 'W', 'H', 'T') /* Fast Walsh Hadamard Transform (vicodec) */
-#define V4L2_PIX_FMT_FWHT_STATELESS     v4l2_fourcc('S', 'F', 'W', 'H') /* Stateless FWHT (vicodec) */
 
 /*  Vendor-specific formats   */
 #define V4L2_PIX_FMT_CPIA1    v4l2_fourcc('C', 'P', 'I', 'A') /* cpia1 YUV */
@@ -1008,18 +973,6 @@
 	};
 };
 
-/**
- * v4l2_timeval_to_ns - Convert timeval to nanoseconds
- * @ts:		pointer to the timeval variable to be converted
- *
- * Returns the scalar nanosecond representation of the timeval
- * parameter.
- */
-static inline __u64 v4l2_timeval_to_ns(const struct timeval *tv)
-{
-	return (__u64)tv->tv_sec * 1000000000ULL + tv->tv_usec * 1000;
-}
-
 /*  Flags for 'flags' field */
 /* Buffer is mapped (flag) */
 #define V4L2_BUF_FLAG_MAPPED			0x00000001
diff --git a/original/uapi/linux/virtio_gpu.h b/original/uapi/linux/virtio_gpu.h
index 0c85914..8e88eba 100644
--- a/original/uapi/linux/virtio_gpu.h
+++ b/original/uapi/linux/virtio_gpu.h
@@ -40,16 +40,8 @@
 
 #include <linux/types.h>
 
-/*
- * VIRTIO_GPU_CMD_CTX_*
- * VIRTIO_GPU_CMD_*_3D
- */
-#define VIRTIO_GPU_F_VIRGL               0
-
-/*
- * VIRTIO_GPU_CMD_GET_EDID
- */
-#define VIRTIO_GPU_F_EDID                1
+#define VIRTIO_GPU_F_VIRGL 0
+#define VIRTIO_GPU_F_EDID  1
 
 enum virtio_gpu_ctrl_type {
 	VIRTIO_GPU_UNDEFINED = 0,
diff --git a/original/uapi/linux/virtio_ids.h b/original/uapi/linux/virtio_ids.h
index 348fd01..6d5c3b2 100644
--- a/original/uapi/linux/virtio_ids.h
+++ b/original/uapi/linux/virtio_ids.h
@@ -43,7 +43,5 @@
 #define VIRTIO_ID_INPUT        18 /* virtio input */
 #define VIRTIO_ID_VSOCK        19 /* virtio vsock transport */
 #define VIRTIO_ID_CRYPTO       20 /* virtio crypto */
-#define VIRTIO_ID_IOMMU        23 /* virtio IOMMU */
-#define VIRTIO_ID_PMEM         27 /* virtio pmem */
 
 #endif /* _LINUX_VIRTIO_IDS_H */
diff --git a/original/uapi/linux/virtio_iommu.h b/original/uapi/linux/virtio_iommu.h
deleted file mode 100644
index 237e36a..0000000
--- a/original/uapi/linux/virtio_iommu.h
+++ /dev/null
@@ -1,165 +0,0 @@
-/* SPDX-License-Identifier: BSD-3-Clause */
-/*
- * Virtio-iommu definition v0.12
- *
- * Copyright (C) 2019 Arm Ltd.
- */
-#ifndef _UAPI_LINUX_VIRTIO_IOMMU_H
-#define _UAPI_LINUX_VIRTIO_IOMMU_H
-
-#include <linux/types.h>
-
-/* Feature bits */
-#define VIRTIO_IOMMU_F_INPUT_RANGE		0
-#define VIRTIO_IOMMU_F_DOMAIN_RANGE		1
-#define VIRTIO_IOMMU_F_MAP_UNMAP		2
-#define VIRTIO_IOMMU_F_BYPASS			3
-#define VIRTIO_IOMMU_F_PROBE			4
-#define VIRTIO_IOMMU_F_MMIO			5
-
-struct virtio_iommu_range_64 {
-	__le64					start;
-	__le64					end;
-};
-
-struct virtio_iommu_range_32 {
-	__le32					start;
-	__le32					end;
-};
-
-struct virtio_iommu_config {
-	/* Supported page sizes */
-	__le64					page_size_mask;
-	/* Supported IOVA range */
-	struct virtio_iommu_range_64		input_range;
-	/* Max domain ID size */
-	struct virtio_iommu_range_32		domain_range;
-	/* Probe buffer size */
-	__le32					probe_size;
-};
-
-/* Request types */
-#define VIRTIO_IOMMU_T_ATTACH			0x01
-#define VIRTIO_IOMMU_T_DETACH			0x02
-#define VIRTIO_IOMMU_T_MAP			0x03
-#define VIRTIO_IOMMU_T_UNMAP			0x04
-#define VIRTIO_IOMMU_T_PROBE			0x05
-
-/* Status types */
-#define VIRTIO_IOMMU_S_OK			0x00
-#define VIRTIO_IOMMU_S_IOERR			0x01
-#define VIRTIO_IOMMU_S_UNSUPP			0x02
-#define VIRTIO_IOMMU_S_DEVERR			0x03
-#define VIRTIO_IOMMU_S_INVAL			0x04
-#define VIRTIO_IOMMU_S_RANGE			0x05
-#define VIRTIO_IOMMU_S_NOENT			0x06
-#define VIRTIO_IOMMU_S_FAULT			0x07
-#define VIRTIO_IOMMU_S_NOMEM			0x08
-
-struct virtio_iommu_req_head {
-	__u8					type;
-	__u8					reserved[3];
-};
-
-struct virtio_iommu_req_tail {
-	__u8					status;
-	__u8					reserved[3];
-};
-
-struct virtio_iommu_req_attach {
-	struct virtio_iommu_req_head		head;
-	__le32					domain;
-	__le32					endpoint;
-	__u8					reserved[8];
-	struct virtio_iommu_req_tail		tail;
-};
-
-struct virtio_iommu_req_detach {
-	struct virtio_iommu_req_head		head;
-	__le32					domain;
-	__le32					endpoint;
-	__u8					reserved[8];
-	struct virtio_iommu_req_tail		tail;
-};
-
-#define VIRTIO_IOMMU_MAP_F_READ			(1 << 0)
-#define VIRTIO_IOMMU_MAP_F_WRITE		(1 << 1)
-#define VIRTIO_IOMMU_MAP_F_MMIO			(1 << 2)
-
-#define VIRTIO_IOMMU_MAP_F_MASK			(VIRTIO_IOMMU_MAP_F_READ |	\
-						 VIRTIO_IOMMU_MAP_F_WRITE |	\
-						 VIRTIO_IOMMU_MAP_F_MMIO)
-
-struct virtio_iommu_req_map {
-	struct virtio_iommu_req_head		head;
-	__le32					domain;
-	__le64					virt_start;
-	__le64					virt_end;
-	__le64					phys_start;
-	__le32					flags;
-	struct virtio_iommu_req_tail		tail;
-};
-
-struct virtio_iommu_req_unmap {
-	struct virtio_iommu_req_head		head;
-	__le32					domain;
-	__le64					virt_start;
-	__le64					virt_end;
-	__u8					reserved[4];
-	struct virtio_iommu_req_tail		tail;
-};
-
-#define VIRTIO_IOMMU_PROBE_T_NONE		0
-#define VIRTIO_IOMMU_PROBE_T_RESV_MEM		1
-
-#define VIRTIO_IOMMU_PROBE_T_MASK		0xfff
-
-struct virtio_iommu_probe_property {
-	__le16					type;
-	__le16					length;
-};
-
-#define VIRTIO_IOMMU_RESV_MEM_T_RESERVED	0
-#define VIRTIO_IOMMU_RESV_MEM_T_MSI		1
-
-struct virtio_iommu_probe_resv_mem {
-	struct virtio_iommu_probe_property	head;
-	__u8					subtype;
-	__u8					reserved[3];
-	__le64					start;
-	__le64					end;
-};
-
-struct virtio_iommu_req_probe {
-	struct virtio_iommu_req_head		head;
-	__le32					endpoint;
-	__u8					reserved[64];
-
-	__u8					properties[];
-
-	/*
-	 * Tail follows the variable-length properties array. No padding,
-	 * property lengths are all aligned on 8 bytes.
-	 */
-};
-
-/* Fault types */
-#define VIRTIO_IOMMU_FAULT_R_UNKNOWN		0
-#define VIRTIO_IOMMU_FAULT_R_DOMAIN		1
-#define VIRTIO_IOMMU_FAULT_R_MAPPING		2
-
-#define VIRTIO_IOMMU_FAULT_F_READ		(1 << 0)
-#define VIRTIO_IOMMU_FAULT_F_WRITE		(1 << 1)
-#define VIRTIO_IOMMU_FAULT_F_EXEC		(1 << 2)
-#define VIRTIO_IOMMU_FAULT_F_ADDRESS		(1 << 8)
-
-struct virtio_iommu_fault {
-	__u8					reason;
-	__u8					reserved[3];
-	__le32					flags;
-	__le32					endpoint;
-	__u8					reserved2[4];
-	__le64					address;
-};
-
-#endif
diff --git a/original/uapi/linux/virtio_pmem.h b/original/uapi/linux/virtio_pmem.h
deleted file mode 100644
index b022787..0000000
--- a/original/uapi/linux/virtio_pmem.h
+++ /dev/null
@@ -1,34 +0,0 @@
-/* SPDX-License-Identifier: (GPL-2.0 WITH Linux-syscall-note) OR BSD-3-Clause */
-/*
- * Definitions for virtio-pmem devices.
- *
- * Copyright (C) 2019 Red Hat, Inc.
- *
- * Author(s): Pankaj Gupta <pagupta@redhat.com>
- */
-
-#ifndef _UAPI_LINUX_VIRTIO_PMEM_H
-#define _UAPI_LINUX_VIRTIO_PMEM_H
-
-#include <linux/types.h>
-#include <linux/virtio_ids.h>
-#include <linux/virtio_config.h>
-
-struct virtio_pmem_config {
-	__u64 start;
-	__u64 size;
-};
-
-#define VIRTIO_PMEM_REQ_TYPE_FLUSH      0
-
-struct virtio_pmem_resp {
-	/* Host return status corresponding to flush request */
-	__le32 ret;
-};
-
-struct virtio_pmem_req {
-	/* command type */
-	__le32 type;
-};
-
-#endif
diff --git a/original/uapi/linux/vmcore.h b/original/uapi/linux/vmcore.h
index 3e9da91..0226196 100644
--- a/original/uapi/linux/vmcore.h
+++ b/original/uapi/linux/vmcore.h
@@ -1,4 +1,4 @@
-/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
+/* SPDX-License-Identifier: GPL-2.0 */
 #ifndef _UAPI_VMCORE_H
 #define _UAPI_VMCORE_H
 
diff --git a/original/uapi/linux/wanrouter.h b/original/uapi/linux/wanrouter.h
new file mode 100644
index 0000000..2f1216d
--- /dev/null
+++ b/original/uapi/linux/wanrouter.h
@@ -0,0 +1,18 @@
+/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
+/*
+ * wanrouter.h	Legacy declarations kept around until X25 is removed
+ */
+
+#ifndef _UAPI_ROUTER_H
+#define _UAPI_ROUTER_H
+
+/* 'state' defines */
+enum wan_states
+{
+	WAN_UNCONFIGURED,	/* link/channel is not configured */
+	WAN_DISCONNECTED,	/* link/channel is disconnected */
+	WAN_CONNECTING,		/* connection is in progress */
+	WAN_CONNECTED		/* link/channel is operational */
+};
+
+#endif /* _UAPI_ROUTER_H */
diff --git a/original/uapi/linux/wmi.h b/original/uapi/linux/wmi.h
index 7085c5d..7a92e9e 100644
--- a/original/uapi/linux/wmi.h
+++ b/original/uapi/linux/wmi.h
@@ -1,8 +1,11 @@
-/* SPDX-License-Identifier: GPL-2.0-only WITH Linux-syscall-note */
 /*
  *  User API methods for ACPI-WMI mapping driver
  *
  *  Copyright (C) 2017 Dell, Inc.
+ *
+ *  This program is free software; you can redistribute it and/or modify
+ *  it under the terms of the GNU General Public License version 2 as
+ *  published by the Free Software Foundation.
  */
 #ifndef _UAPI_LINUX_WMI_H
 #define _UAPI_LINUX_WMI_H
diff --git a/original/uapi/linux/xdp_diag.h b/original/uapi/linux/xdp_diag.h
deleted file mode 100644
index 78b2591..0000000
--- a/original/uapi/linux/xdp_diag.h
+++ /dev/null
@@ -1,72 +0,0 @@
-/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
-/*
- * xdp_diag: interface for query/monitor XDP sockets
- * Copyright(c) 2019 Intel Corporation.
- */
-
-#ifndef _LINUX_XDP_DIAG_H
-#define _LINUX_XDP_DIAG_H
-
-#include <linux/types.h>
-
-struct xdp_diag_req {
-	__u8	sdiag_family;
-	__u8	sdiag_protocol;
-	__u16	pad;
-	__u32	xdiag_ino;
-	__u32	xdiag_show;
-	__u32	xdiag_cookie[2];
-};
-
-struct xdp_diag_msg {
-	__u8	xdiag_family;
-	__u8	xdiag_type;
-	__u16	pad;
-	__u32	xdiag_ino;
-	__u32	xdiag_cookie[2];
-};
-
-#define XDP_SHOW_INFO		(1 << 0) /* Basic information */
-#define XDP_SHOW_RING_CFG	(1 << 1)
-#define XDP_SHOW_UMEM		(1 << 2)
-#define XDP_SHOW_MEMINFO	(1 << 3)
-
-enum {
-	XDP_DIAG_NONE,
-	XDP_DIAG_INFO,
-	XDP_DIAG_UID,
-	XDP_DIAG_RX_RING,
-	XDP_DIAG_TX_RING,
-	XDP_DIAG_UMEM,
-	XDP_DIAG_UMEM_FILL_RING,
-	XDP_DIAG_UMEM_COMPLETION_RING,
-	XDP_DIAG_MEMINFO,
-	__XDP_DIAG_MAX,
-};
-
-#define XDP_DIAG_MAX (__XDP_DIAG_MAX - 1)
-
-struct xdp_diag_info {
-	__u32	ifindex;
-	__u32	queue_id;
-};
-
-struct xdp_diag_ring {
-	__u32	entries; /*num descs */
-};
-
-#define XDP_DU_F_ZEROCOPY (1 << 0)
-
-struct xdp_diag_umem {
-	__u64	size;
-	__u32	id;
-	__u32	num_pages;
-	__u32	chunk_size;
-	__u32	headroom;
-	__u32	ifindex;
-	__u32	queue_id;
-	__u32	flags;
-	__u32	refs;
-};
-
-#endif /* _LINUX_XDP_DIAG_H */
diff --git a/original/uapi/misc/fastrpc.h b/original/uapi/misc/fastrpc.h
deleted file mode 100644
index fb792e8..0000000
--- a/original/uapi/misc/fastrpc.h
+++ /dev/null
@@ -1,41 +0,0 @@
-/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
-
-#ifndef __QCOM_FASTRPC_H__
-#define __QCOM_FASTRPC_H__
-
-#include <linux/types.h>
-
-#define FASTRPC_IOCTL_ALLOC_DMA_BUFF	_IOWR('R', 1, struct fastrpc_alloc_dma_buf)
-#define FASTRPC_IOCTL_FREE_DMA_BUFF	_IOWR('R', 2, __u32)
-#define FASTRPC_IOCTL_INVOKE		_IOWR('R', 3, struct fastrpc_invoke)
-#define FASTRPC_IOCTL_INIT_ATTACH	_IO('R', 4)
-#define FASTRPC_IOCTL_INIT_CREATE	_IOWR('R', 5, struct fastrpc_init_create)
-
-struct fastrpc_invoke_args {
-	__u64 ptr;
-	__u64 length;
-	__s32 fd;
-	__u32 reserved;
-};
-
-struct fastrpc_invoke {
-	__u32 handle;
-	__u32 sc;
-	__u64 args;
-};
-
-struct fastrpc_init_create {
-	__u32 filelen;	/* elf file length */
-	__s32 filefd;	/* fd for the file */
-	__u32 attrs;
-	__u32 siglen;
-	__u64 file;	/* pointer to elf file */
-};
-
-struct fastrpc_alloc_dma_buf {
-	__s32 fd;	/* fd */
-	__u32 flags;	/* flags to map with */
-	__u64 size;	/* size */
-};
-
-#endif /* __QCOM_FASTRPC_H__ */
diff --git a/original/uapi/misc/habanalabs.h b/original/uapi/misc/habanalabs.h
deleted file mode 100644
index 3956c22..0000000
--- a/original/uapi/misc/habanalabs.h
+++ /dev/null
@@ -1,633 +0,0 @@
-/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note
- *
- * Copyright 2016-2018 HabanaLabs, Ltd.
- * All Rights Reserved.
- *
- */
-
-#ifndef HABANALABS_H_
-#define HABANALABS_H_
-
-#include <linux/types.h>
-#include <linux/ioctl.h>
-
-/*
- * Defines that are asic-specific but constitutes as ABI between kernel driver
- * and userspace
- */
-#define GOYA_KMD_SRAM_RESERVED_SIZE_FROM_START	0x8000	/* 32KB */
-
-/*
- * Queue Numbering
- *
- * The external queues (PCI DMA channels) MUST be before the internal queues
- * and each group (PCI DMA channels and internal) must be contiguous inside
- * itself but there can be a gap between the two groups (although not
- * recommended)
- */
-
-enum goya_queue_id {
-	GOYA_QUEUE_ID_DMA_0 = 0,
-	GOYA_QUEUE_ID_DMA_1,
-	GOYA_QUEUE_ID_DMA_2,
-	GOYA_QUEUE_ID_DMA_3,
-	GOYA_QUEUE_ID_DMA_4,
-	GOYA_QUEUE_ID_CPU_PQ,
-	GOYA_QUEUE_ID_MME,	/* Internal queues start here */
-	GOYA_QUEUE_ID_TPC0,
-	GOYA_QUEUE_ID_TPC1,
-	GOYA_QUEUE_ID_TPC2,
-	GOYA_QUEUE_ID_TPC3,
-	GOYA_QUEUE_ID_TPC4,
-	GOYA_QUEUE_ID_TPC5,
-	GOYA_QUEUE_ID_TPC6,
-	GOYA_QUEUE_ID_TPC7,
-	GOYA_QUEUE_ID_SIZE
-};
-
-/*
- * Engine Numbering
- *
- * Used in the "busy_engines_mask" field in `struct hl_info_hw_idle'
- */
-
-enum goya_engine_id {
-	GOYA_ENGINE_ID_DMA_0 = 0,
-	GOYA_ENGINE_ID_DMA_1,
-	GOYA_ENGINE_ID_DMA_2,
-	GOYA_ENGINE_ID_DMA_3,
-	GOYA_ENGINE_ID_DMA_4,
-	GOYA_ENGINE_ID_MME_0,
-	GOYA_ENGINE_ID_TPC_0,
-	GOYA_ENGINE_ID_TPC_1,
-	GOYA_ENGINE_ID_TPC_2,
-	GOYA_ENGINE_ID_TPC_3,
-	GOYA_ENGINE_ID_TPC_4,
-	GOYA_ENGINE_ID_TPC_5,
-	GOYA_ENGINE_ID_TPC_6,
-	GOYA_ENGINE_ID_TPC_7,
-	GOYA_ENGINE_ID_SIZE
-};
-
-enum hl_device_status {
-	HL_DEVICE_STATUS_OPERATIONAL,
-	HL_DEVICE_STATUS_IN_RESET,
-	HL_DEVICE_STATUS_MALFUNCTION
-};
-
-/* Opcode for management ioctl */
-#define HL_INFO_HW_IP_INFO	0
-#define HL_INFO_HW_EVENTS	1
-#define HL_INFO_DRAM_USAGE	2
-#define HL_INFO_HW_IDLE		3
-#define HL_INFO_DEVICE_STATUS	4
-
-#define HL_INFO_VERSION_MAX_LEN	128
-
-struct hl_info_hw_ip_info {
-	__u64 sram_base_address;
-	__u64 dram_base_address;
-	__u64 dram_size;
-	__u32 sram_size;
-	__u32 num_of_events;
-	__u32 device_id; /* PCI Device ID */
-	__u32 reserved[3];
-	__u32 armcp_cpld_version;
-	__u32 psoc_pci_pll_nr;
-	__u32 psoc_pci_pll_nf;
-	__u32 psoc_pci_pll_od;
-	__u32 psoc_pci_pll_div_factor;
-	__u8 tpc_enabled_mask;
-	__u8 dram_enabled;
-	__u8 pad[2];
-	__u8 armcp_version[HL_INFO_VERSION_MAX_LEN];
-};
-
-struct hl_info_dram_usage {
-	__u64 dram_free_mem;
-	__u64 ctx_dram_mem;
-};
-
-struct hl_info_hw_idle {
-	__u32 is_idle;
-	/*
-	 * Bitmask of busy engines.
-	 * Bits definition is according to `enum <chip>_enging_id'.
-	 */
-	__u32 busy_engines_mask;
-};
-
-struct hl_info_device_status {
-	__u32 status;
-	__u32 pad;
-};
-
-struct hl_info_args {
-	/* Location of relevant struct in userspace */
-	__u64 return_pointer;
-	/*
-	 * The size of the return value. Just like "size" in "snprintf",
-	 * it limits how many bytes the kernel can write
-	 *
-	 * For hw_events array, the size should be
-	 * hl_info_hw_ip_info.num_of_events * sizeof(__u32)
-	 */
-	__u32 return_size;
-
-	/* HL_INFO_* */
-	__u32 op;
-
-	/* Context ID - Currently not in use */
-	__u32 ctx_id;
-	__u32 pad;
-};
-
-/* Opcode to create a new command buffer */
-#define HL_CB_OP_CREATE		0
-/* Opcode to destroy previously created command buffer */
-#define HL_CB_OP_DESTROY	1
-
-struct hl_cb_in {
-	/* Handle of CB or 0 if we want to create one */
-	__u64 cb_handle;
-	/* HL_CB_OP_* */
-	__u32 op;
-	/* Size of CB. Maximum size is 2MB. 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;
-	__u32 pad;
-};
-
-struct hl_cb_out {
-	/* Handle of CB */
-	__u64 cb_handle;
-};
-
-union hl_cb_args {
-	struct hl_cb_in in;
-	struct hl_cb_out out;
-};
-
-/*
- * This structure size must always be fixed to 64-bytes for backward
- * compatibility
- */
-struct hl_cs_chunk {
-	/*
-	 * For external queue, this represents a Handle of CB on the Host
-	 * For internal queue, this represents an SRAM or DRAM address of the
-	 * internal CB
-	 */
-	__u64 cb_handle;
-	/* Index of queue to put the CB on */
-	__u32 queue_index;
-	/*
-	 * Size of command buffer with valid packets
-	 * Can be smaller then actual CB size
-	 */
-	__u32 cb_size;
-	/* HL_CS_CHUNK_FLAGS_* */
-	__u32 cs_chunk_flags;
-	/* Align structure to 64 bytes */
-	__u32 pad[11];
-};
-
-#define HL_CS_FLAGS_FORCE_RESTORE	0x1
-
-#define HL_CS_STATUS_SUCCESS		0
-
-struct hl_cs_in {
-	/* this holds address of array of hl_cs_chunk for restore phase */
-	__u64 chunks_restore;
-	/* this holds address of array of hl_cs_chunk for execution phase */
-	__u64 chunks_execute;
-	/* this holds address of array of hl_cs_chunk for store phase -
-	 * Currently not in use
-	 */
-	__u64 chunks_store;
-	/* Number of chunks in restore phase array */
-	__u32 num_chunks_restore;
-	/* Number of chunks in execution array */
-	__u32 num_chunks_execute;
-	/* Number of chunks in restore phase array - Currently not in use */
-	__u32 num_chunks_store;
-	/* HL_CS_FLAGS_* */
-	__u32 cs_flags;
-	/* Context ID - Currently not in use */
-	__u32 ctx_id;
-};
-
-struct hl_cs_out {
-	/*
-	 * seq holds the sequence number of the CS to pass to wait ioctl. All
-	 * values are valid except for 0 and ULLONG_MAX
-	 */
-	__u64 seq;
-	/* HL_CS_STATUS_* */
-	__u32 status;
-	__u32 pad;
-};
-
-union hl_cs_args {
-	struct hl_cs_in in;
-	struct hl_cs_out out;
-};
-
-struct hl_wait_cs_in {
-	/* Command submission sequence number */
-	__u64 seq;
-	/* Absolute timeout to wait in microseconds */
-	__u64 timeout_us;
-	/* Context ID - Currently not in use */
-	__u32 ctx_id;
-	__u32 pad;
-};
-
-#define HL_WAIT_CS_STATUS_COMPLETED	0
-#define HL_WAIT_CS_STATUS_BUSY		1
-#define HL_WAIT_CS_STATUS_TIMEDOUT	2
-#define HL_WAIT_CS_STATUS_ABORTED	3
-#define HL_WAIT_CS_STATUS_INTERRUPTED	4
-
-struct hl_wait_cs_out {
-	/* HL_WAIT_CS_STATUS_* */
-	__u32 status;
-	__u32 pad;
-};
-
-union hl_wait_cs_args {
-	struct hl_wait_cs_in in;
-	struct hl_wait_cs_out out;
-};
-
-/* Opcode to alloc device memory */
-#define HL_MEM_OP_ALLOC			0
-/* Opcode to free previously allocated device memory */
-#define HL_MEM_OP_FREE			1
-/* Opcode to map host memory */
-#define HL_MEM_OP_MAP			2
-/* Opcode to unmap previously mapped host memory */
-#define HL_MEM_OP_UNMAP			3
-
-/* Memory flags */
-#define HL_MEM_CONTIGUOUS	0x1
-#define HL_MEM_SHARED		0x2
-#define HL_MEM_USERPTR		0x4
-
-struct hl_mem_in {
-	union {
-		/* HL_MEM_OP_ALLOC- allocate device memory */
-		struct {
-			/* Size to alloc */
-			__u64 mem_size;
-		} alloc;
-
-		/* HL_MEM_OP_FREE - free device memory */
-		struct {
-			/* Handle returned from HL_MEM_OP_ALLOC */
-			__u64 handle;
-		} free;
-
-		/* HL_MEM_OP_MAP - map device memory */
-		struct {
-			/*
-			 * Requested virtual address of mapped memory.
-			 * KMD 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 KMD
-			 * will choose the address itself.
-			 */
-			__u64 hint_addr;
-			/* Handle returned from HL_MEM_OP_ALLOC */
-			__u64 handle;
-		} map_device;
-
-		/* HL_MEM_OP_MAP - map host memory */
-		struct {
-			/* Address of allocated host memory */
-			__u64 host_virt_addr;
-			/*
-			 * Requested virtual address of mapped memory.
-			 * KMD 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 KMD
-			 * will choose the address itself.
-			 */
-			__u64 hint_addr;
-			/* Size of allocated host memory */
-			__u64 mem_size;
-		} map_host;
-
-		/* HL_MEM_OP_UNMAP - unmap host memory */
-		struct {
-			/* Virtual address returned from HL_MEM_OP_MAP */
-			__u64 device_virt_addr;
-		} unmap;
-	};
-
-	/* HL_MEM_OP_* */
-	__u32 op;
-	/* HL_MEM_* flags */
-	__u32 flags;
-	/* Context ID - Currently not in use */
-	__u32 ctx_id;
-	__u32 pad;
-};
-
-struct hl_mem_out {
-	union {
-		/*
-		 * Used for HL_MEM_OP_MAP as the virtual address that was
-		 * assigned in the device VA space.
-		 * A value of 0 means the requested operation failed.
-		 */
-		__u64 device_virt_addr;
-
-		/*
-		 * Used for HL_MEM_OP_ALLOC. This is the assigned
-		 * handle for the allocated memory
-		 */
-		__u64 handle;
-	};
-};
-
-union hl_mem_args {
-	struct hl_mem_in in;
-	struct hl_mem_out out;
-};
-
-#define HL_DEBUG_MAX_AUX_VALUES		10
-
-struct hl_debug_params_etr {
-	/* Address in memory to allocate buffer */
-	__u64 buffer_address;
-
-	/* Size of buffer to allocate */
-	__u64 buffer_size;
-
-	/* Sink operation mode: SW fifo, HW fifo, Circular buffer */
-	__u32 sink_mode;
-	__u32 pad;
-};
-
-struct hl_debug_params_etf {
-	/* Address in memory to allocate buffer */
-	__u64 buffer_address;
-
-	/* Size of buffer to allocate */
-	__u64 buffer_size;
-
-	/* Sink operation mode: SW fifo, HW fifo, Circular buffer */
-	__u32 sink_mode;
-	__u32 pad;
-};
-
-struct hl_debug_params_stm {
-	/* Two bit masks for HW event and Stimulus Port */
-	__u64 he_mask;
-	__u64 sp_mask;
-
-	/* Trace source ID */
-	__u32 id;
-
-	/* Frequency for the timestamp register */
-	__u32 frequency;
-};
-
-struct hl_debug_params_bmon {
-	/* Two address ranges that the user can request to filter */
-	__u64 start_addr0;
-	__u64 addr_mask0;
-
-	__u64 start_addr1;
-	__u64 addr_mask1;
-
-	/* Capture window configuration */
-	__u32 bw_win;
-	__u32 win_capture;
-
-	/* Trace source ID */
-	__u32 id;
-	__u32 pad;
-};
-
-struct hl_debug_params_spmu {
-	/* Event types selection */
-	__u64 event_types[HL_DEBUG_MAX_AUX_VALUES];
-
-	/* Number of event types selection */
-	__u32 event_types_num;
-	__u32 pad;
-};
-
-/* Opcode for ETR component */
-#define HL_DEBUG_OP_ETR		0
-/* Opcode for ETF component */
-#define HL_DEBUG_OP_ETF		1
-/* Opcode for STM component */
-#define HL_DEBUG_OP_STM		2
-/* Opcode for FUNNEL component */
-#define HL_DEBUG_OP_FUNNEL	3
-/* Opcode for BMON component */
-#define HL_DEBUG_OP_BMON	4
-/* Opcode for SPMU component */
-#define HL_DEBUG_OP_SPMU	5
-/* Opcode for timestamp */
-#define HL_DEBUG_OP_TIMESTAMP	6
-/* Opcode for setting the device into or out of debug mode. The enable
- * variable should be 1 for enabling debug mode and 0 for disabling it
- */
-#define HL_DEBUG_OP_SET_MODE	7
-
-struct hl_debug_args {
-	/*
-	 * Pointer to user input structure.
-	 * This field is relevant to specific opcodes.
-	 */
-	__u64 input_ptr;
-	/* Pointer to user output structure */
-	__u64 output_ptr;
-	/* Size of user input structure */
-	__u32 input_size;
-	/* Size of user output structure */
-	__u32 output_size;
-	/* HL_DEBUG_OP_* */
-	__u32 op;
-	/*
-	 * Register index in the component, taken from the debug_regs_index enum
-	 * in the various ASIC header files
-	 */
-	__u32 reg_idx;
-	/* Enable/disable */
-	__u32 enable;
-	/* Context ID - Currently not in use */
-	__u32 ctx_id;
-};
-
-/*
- * Various information operations such as:
- * - H/W IP information
- * - Current dram usage
- *
- * The user calls this IOCTL with an opcode that describes the required
- * information. The user should supply a pointer to a user-allocated memory
- * chunk, which will be filled by the driver with the requested information.
- *
- * The user supplies the maximum amount of size to copy into the user's memory,
- * in order to prevent data corruption in case of differences between the
- * definitions of structures in kernel and userspace, e.g. in case of old
- * userspace and new kernel driver
- */
-#define HL_IOCTL_INFO	\
-		_IOWR('H', 0x01, struct hl_info_args)
-
-/*
- * Command Buffer
- * - Request a Command Buffer
- * - Destroy a Command Buffer
- *
- * The command buffers are memory blocks that reside in DMA-able address
- * space and are physically contiguous so they can be accessed by the device
- * directly. They are allocated using the coherent DMA API.
- *
- * When creating a new CB, the IOCTL returns a handle of it, and the user-space
- * process needs to use that handle to mmap the buffer so it can access them.
- *
- */
-#define HL_IOCTL_CB		\
-		_IOWR('H', 0x02, union hl_cb_args)
-
-/*
- * Command Submission
- *
- * To submit work to the device, the user need to call this IOCTL with a set
- * of JOBS. That set of JOBS constitutes a CS object.
- * Each JOB will be enqueued on a specific queue, according to the user's input.
- * There can be more then one JOB per queue.
- *
- * The CS IOCTL will receive three sets of JOBS. One set is for "restore" phase,
- * a second set is for "execution" phase and a third set is for "store" phase.
- * The JOBS on the "restore" phase are enqueued only after context-switch
- * (or if its the first CS for this context). The user can also order the
- * driver to run the "restore" phase explicitly
- *
- * There are two types of queues - external and internal. External queues
- * are DMA queues which transfer data from/to the Host. All other queues are
- * internal. The driver will get completion notifications from the device only
- * on JOBS which are enqueued in the external queues.
- *
- * For jobs on external queues, the user needs to create command buffers
- * through the CB ioctl and give the CB's handle to the CS ioctl. For jobs on
- * internal queues, the user needs to prepare a "command buffer" with packets
- * on either the SRAM or DRAM, and give the device address of that buffer to
- * the CS ioctl.
- *
- * This IOCTL is asynchronous in regard to the actual execution of the CS. This
- * means it returns immediately after ALL the JOBS were enqueued on their
- * relevant queues. Therefore, the user mustn't assume the CS has been completed
- * or has even started to execute.
- *
- * Upon successful enqueue, the IOCTL returns a sequence number which the user
- * can use with the "Wait for CS" IOCTL to check whether the handle's CS
- * external JOBS have been completed. Note that if the CS has internal JOBS
- * which can execute AFTER the external JOBS have finished, the driver might
- * report that the CS has finished executing BEFORE the internal JOBS have
- * actually finish executing.
- *
- * Even though the sequence number increments per CS, the user can NOT
- * automatically assume that if CS with sequence number N finished, then CS
- * with sequence number N-1 also finished. The user can make this assumption if
- * and only if CS N and CS N-1 are exactly the same (same CBs for the same
- * queues).
- */
-#define HL_IOCTL_CS			\
-		_IOWR('H', 0x03, union hl_cs_args)
-
-/*
- * Wait for Command Submission
- *
- * The user can call this IOCTL with a handle it received from the CS IOCTL
- * to wait until the handle's CS has finished executing. The user will wait
- * inside the kernel until the CS has finished or until the user-requeusted
- * timeout has expired.
- *
- * The return value of the IOCTL is a standard Linux error code. The possible
- * values are:
- *
- * EINTR     - Kernel waiting has been interrupted, e.g. due to OS signal
- *             that the user process received
- * ETIMEDOUT - The CS has caused a timeout on the device
- * EIO       - The CS was aborted (usually because the device was reset)
- * ENODEV    - The device wants to do hard-reset (so user need to close FD)
- *
- * The driver also returns a custom define inside the IOCTL which can be:
- *
- * HL_WAIT_CS_STATUS_COMPLETED   - The CS has been completed successfully (0)
- * HL_WAIT_CS_STATUS_BUSY        - The CS is still executing (0)
- * HL_WAIT_CS_STATUS_TIMEDOUT    - The CS has caused a timeout on the device
- *                                 (ETIMEDOUT)
- * HL_WAIT_CS_STATUS_ABORTED     - The CS was aborted, usually because the
- *                                 device was reset (EIO)
- * HL_WAIT_CS_STATUS_INTERRUPTED - Waiting for the CS was interrupted (EINTR)
- *
- */
-
-#define HL_IOCTL_WAIT_CS			\
-		_IOWR('H', 0x04, union hl_wait_cs_args)
-
-/*
- * Memory
- * - Map host memory to device MMU
- * - Unmap host memory from device MMU
- *
- * This IOCTL allows the user to map host memory to the device MMU
- *
- * For host memory, the IOCTL doesn't allocate memory. The user is supposed
- * to allocate the memory in user-space (malloc/new). The driver pins the
- * physical pages (up to the allowed limit by the OS), assigns a virtual
- * address in the device VA space and initializes the device MMU.
- *
- * There is an option for the user to specify the requested virtual address.
- *
- */
-#define HL_IOCTL_MEMORY		\
-		_IOWR('H', 0x05, union hl_mem_args)
-
-/*
- * Debug
- * - Enable/disable the ETR/ETF/FUNNEL/STM/BMON/SPMU debug traces
- *
- * This IOCTL allows the user to get debug traces from the chip.
- *
- * Before the user can send configuration requests of the various
- * debug/profile engines, it needs to set the device into debug mode.
- * This is because the debug/profile infrastructure is shared component in the
- * device and we can't allow multiple users to access it at the same time.
- *
- * Once a user set the device into debug mode, the driver won't allow other
- * users to "work" with the device, i.e. open a FD. If there are multiple users
- * opened on the device, the driver won't allow any user to debug the device.
- *
- * For each configuration request, the user needs to provide the register index
- * and essential data such as buffer address and size.
- *
- * Once the user has finished using the debug/profile engines, he should
- * set the device into non-debug mode, i.e. disable debug mode.
- *
- * The driver can decide to "kick out" the user if he abuses this interface.
- *
- */
-#define HL_IOCTL_DEBUG		\
-		_IOWR('H', 0x06, struct hl_debug_args)
-
-#define HL_COMMAND_START	0x01
-#define HL_COMMAND_END		0x07
-
-#endif /* HABANALABS_H_ */
diff --git a/original/uapi/misc/ocxl.h b/original/uapi/misc/ocxl.h
index 6d29a60..97937cf 100644
--- a/original/uapi/misc/ocxl.h
+++ b/original/uapi/misc/ocxl.h
@@ -33,23 +33,23 @@
 };
 
 struct ocxl_ioctl_metadata {
-	__u16 version; /* struct version, always backwards compatible */
+	__u16 version; // struct version, always backwards compatible
 
-	/* Version 0 fields */
+	// Version 0 fields
 	__u8  afu_version_major;
 	__u8  afu_version_minor;
-	__u32 pasid;		/* PASID assigned to the current context */
+	__u32 pasid;		// PASID assigned to the current context
 
-	__u64 pp_mmio_size;	/* Per PASID MMIO size */
+	__u64 pp_mmio_size;	// Per PASID MMIO size
 	__u64 global_mmio_size;
 
-	/* End version 0 fields */
+	// End version 0 fields
 
-	__u64 reserved[13]; /* Total of 16*u64 */
+	__u64 reserved[13]; // Total of 16*u64
 };
 
 struct ocxl_ioctl_p9_wait {
-	__u16 thread_id; /* The thread ID required to wake this thread */
+	__u16 thread_id; // The thread ID required to wake this thread
 	__u16 reserved1;
 	__u32 reserved2;
 	__u64 reserved3[3];
diff --git a/original/uapi/mtd/mtd-abi.h b/original/uapi/mtd/mtd-abi.h
index 47ffe32..aff5b5e 100644
--- a/original/uapi/mtd/mtd-abi.h
+++ b/original/uapi/mtd/mtd-abi.h
@@ -113,11 +113,11 @@
 #define MTD_CAP_NVRAM		(MTD_WRITEABLE | MTD_BIT_WRITEABLE | MTD_NO_ERASE)
 
 /* Obsolete ECC byte placement modes (used with obsolete MEMGETOOBSEL) */
-#define MTD_NANDECC_OFF		0	/* Switch off ECC (Not recommended) */
-#define MTD_NANDECC_PLACE	1	/* Use the given placement in the structure (YAFFS1 legacy mode) */
-#define MTD_NANDECC_AUTOPLACE	2	/* Use the default placement scheme */
-#define MTD_NANDECC_PLACEONLY	3	/* Use the given placement in the structure (Do not store ecc result on read) */
-#define MTD_NANDECC_AUTOPL_USR 	4	/* Use the given autoplacement scheme rather than using the default */
+#define MTD_NANDECC_OFF		0	// Switch off ECC (Not recommended)
+#define MTD_NANDECC_PLACE	1	// Use the given placement in the structure (YAFFS1 legacy mode)
+#define MTD_NANDECC_AUTOPLACE	2	// Use the default placement scheme
+#define MTD_NANDECC_PLACEONLY	3	// Use the given placement in the structure (Do not store ecc result on read)
+#define MTD_NANDECC_AUTOPL_USR 	4	// Use the given autoplacement scheme rather than using the default
 
 /* OTP mode selection */
 #define MTD_OTP_OFF		0
diff --git a/original/uapi/mtd/ubi-user.h b/original/uapi/mtd/ubi-user.h
index b69e9ba..aad3b62 100644
--- a/original/uapi/mtd/ubi-user.h
+++ b/original/uapi/mtd/ubi-user.h
@@ -171,11 +171,6 @@
 /* Re-name volumes */
 #define UBI_IOCRNVOL _IOW(UBI_IOC_MAGIC, 3, struct ubi_rnvol_req)
 
-/* Read the specified PEB and scrub it if there are bitflips */
-#define UBI_IOCRPEB _IOW(UBI_IOC_MAGIC, 4, __s32)
-/* Force scrubbing on the specified PEB */
-#define UBI_IOCSPEB _IOW(UBI_IOC_MAGIC, 5, __s32)
-
 /* ioctl commands of the UBI control character device */
 
 #define UBI_CTRL_IOC_MAGIC 'o'
diff --git a/original/uapi/rdma/bnxt_re-abi.h b/original/uapi/rdma/bnxt_re-abi.h
index dc52e3c..a7a6111 100644
--- a/original/uapi/rdma/bnxt_re-abi.h
+++ b/original/uapi/rdma/bnxt_re-abi.h
@@ -44,14 +44,6 @@
 
 #define BNXT_RE_ABI_VERSION	1
 
-#define BNXT_RE_CHIP_ID0_CHIP_NUM_SFT		0x00
-#define BNXT_RE_CHIP_ID0_CHIP_REV_SFT		0x10
-#define BNXT_RE_CHIP_ID0_CHIP_MET_SFT		0x18
-
-enum {
-	BNXT_RE_UCNTX_CMASK_HAVE_CCTX = 0x1ULL
-};
-
 struct bnxt_re_uctx_resp {
 	__u32 dev_id;
 	__u32 max_qp;
@@ -59,9 +51,6 @@
 	__u32 cqe_sz;
 	__u32 max_cqd;
 	__u32 rsvd;
-	__aligned_u64 comp_mask;
-	__u32 chip_id0;
-	__u32 chip_id1;
 };
 
 /*
diff --git a/original/uapi/rdma/efa-abi.h b/original/uapi/rdma/efa-abi.h
deleted file mode 100644
index 9599a2a..0000000
--- a/original/uapi/rdma/efa-abi.h
+++ /dev/null
@@ -1,101 +0,0 @@
-/* SPDX-License-Identifier: ((GPL-2.0 WITH Linux-syscall-note) OR BSD-2-Clause) */
-/*
- * Copyright 2018-2019 Amazon.com, Inc. or its affiliates. All rights reserved.
- */
-
-#ifndef EFA_ABI_USER_H
-#define EFA_ABI_USER_H
-
-#include <linux/types.h>
-
-/*
- * Increment this value if any changes that break userspace ABI
- * compatibility are made.
- */
-#define EFA_UVERBS_ABI_VERSION 1
-
-/*
- * Keep structs aligned to 8 bytes.
- * Keep reserved fields as arrays of __u8 named reserved_XXX where XXX is the
- * hex bit offset of the field.
- */
-
-enum efa_ibv_user_cmds_supp_udata {
-	EFA_USER_CMDS_SUPP_UDATA_QUERY_DEVICE = 1 << 0,
-	EFA_USER_CMDS_SUPP_UDATA_CREATE_AH    = 1 << 1,
-};
-
-struct efa_ibv_alloc_ucontext_resp {
-	__u32 comp_mask;
-	__u32 cmds_supp_udata_mask;
-	__u16 sub_cqs_per_cq;
-	__u16 inline_buf_size;
-	__u32 max_llq_size; /* bytes */
-};
-
-struct efa_ibv_alloc_pd_resp {
-	__u32 comp_mask;
-	__u16 pdn;
-	__u8 reserved_30[2];
-};
-
-struct efa_ibv_create_cq {
-	__u32 comp_mask;
-	__u32 cq_entry_size;
-	__u16 num_sub_cqs;
-	__u8 reserved_50[6];
-};
-
-struct efa_ibv_create_cq_resp {
-	__u32 comp_mask;
-	__u8 reserved_20[4];
-	__aligned_u64 q_mmap_key;
-	__aligned_u64 q_mmap_size;
-	__u16 cq_idx;
-	__u8 reserved_d0[6];
-};
-
-enum {
-	EFA_QP_DRIVER_TYPE_SRD = 0,
-};
-
-struct efa_ibv_create_qp {
-	__u32 comp_mask;
-	__u32 rq_ring_size; /* bytes */
-	__u32 sq_ring_size; /* bytes */
-	__u32 driver_qp_type;
-};
-
-struct efa_ibv_create_qp_resp {
-	__u32 comp_mask;
-	/* the offset inside the page of the rq db */
-	__u32 rq_db_offset;
-	/* the offset inside the page of the sq db */
-	__u32 sq_db_offset;
-	/* the offset inside the page of descriptors buffer */
-	__u32 llq_desc_offset;
-	__aligned_u64 rq_mmap_key;
-	__aligned_u64 rq_mmap_size;
-	__aligned_u64 rq_db_mmap_key;
-	__aligned_u64 sq_db_mmap_key;
-	__aligned_u64 llq_desc_mmap_key;
-	__u16 send_sub_cq_idx;
-	__u16 recv_sub_cq_idx;
-	__u8 reserved_1e0[4];
-};
-
-struct efa_ibv_create_ah_resp {
-	__u32 comp_mask;
-	__u16 efa_address_handle;
-	__u8 reserved_30[2];
-};
-
-struct efa_ibv_ex_query_device_resp {
-	__u32 comp_mask;
-	__u32 max_sq_wr;
-	__u32 max_rq_wr;
-	__u16 max_sq_sge;
-	__u16 max_rq_sge;
-};
-
-#endif /* EFA_ABI_USER_H */
diff --git a/original/uapi/rdma/ib_user_cm.h b/original/uapi/rdma/ib_user_cm.h
new file mode 100644
index 0000000..e2709bb
--- /dev/null
+++ b/original/uapi/rdma/ib_user_cm.h
@@ -0,0 +1,326 @@
+/* SPDX-License-Identifier: ((GPL-2.0 WITH Linux-syscall-note) OR Linux-OpenIB) */
+/*
+ * Copyright (c) 2005 Topspin Communications.  All rights reserved.
+ * Copyright (c) 2005 Intel Corporation.  All rights reserved.
+ *
+ * This software is available to you under a choice of one of two
+ * licenses.  You may choose to be licensed under the terms of the GNU
+ * General Public License (GPL) Version 2, available from the file
+ * COPYING in the main directory of this source tree, or the
+ * OpenIB.org BSD license below:
+ *
+ *     Redistribution and use in source and binary forms, with or
+ *     without modification, are permitted provided that the following
+ *     conditions are met:
+ *
+ *      - Redistributions of source code must retain the above
+ *        copyright notice, this list of conditions and the following
+ *        disclaimer.
+ *
+ *      - Redistributions in binary form must reproduce the above
+ *        copyright notice, this list of conditions and the following
+ *        disclaimer in the documentation and/or other materials
+ *        provided with the distribution.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+ * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+ * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+ * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
+ * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
+ * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+ * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+ * SOFTWARE.
+ */
+
+#ifndef IB_USER_CM_H
+#define IB_USER_CM_H
+
+#include <linux/types.h>
+#include <rdma/ib_user_sa.h>
+
+#define IB_USER_CM_ABI_VERSION 5
+
+enum {
+	IB_USER_CM_CMD_CREATE_ID,
+	IB_USER_CM_CMD_DESTROY_ID,
+	IB_USER_CM_CMD_ATTR_ID,
+
+	IB_USER_CM_CMD_LISTEN,
+	IB_USER_CM_CMD_NOTIFY,
+
+	IB_USER_CM_CMD_SEND_REQ,
+	IB_USER_CM_CMD_SEND_REP,
+	IB_USER_CM_CMD_SEND_RTU,
+	IB_USER_CM_CMD_SEND_DREQ,
+	IB_USER_CM_CMD_SEND_DREP,
+	IB_USER_CM_CMD_SEND_REJ,
+	IB_USER_CM_CMD_SEND_MRA,
+	IB_USER_CM_CMD_SEND_LAP,
+	IB_USER_CM_CMD_SEND_APR,
+	IB_USER_CM_CMD_SEND_SIDR_REQ,
+	IB_USER_CM_CMD_SEND_SIDR_REP,
+
+	IB_USER_CM_CMD_EVENT,
+	IB_USER_CM_CMD_INIT_QP_ATTR,
+};
+/*
+ * command ABI structures.
+ */
+struct ib_ucm_cmd_hdr {
+	__u32 cmd;
+	__u16 in;
+	__u16 out;
+};
+
+struct ib_ucm_create_id {
+	__aligned_u64 uid;
+	__aligned_u64 response;
+};
+
+struct ib_ucm_create_id_resp {
+	__u32 id;
+};
+
+struct ib_ucm_destroy_id {
+	__aligned_u64 response;
+	__u32 id;
+	__u32 reserved;
+};
+
+struct ib_ucm_destroy_id_resp {
+	__u32 events_reported;
+};
+
+struct ib_ucm_attr_id {
+	__aligned_u64 response;
+	__u32 id;
+	__u32 reserved;
+};
+
+struct ib_ucm_attr_id_resp {
+	__be64 service_id;
+	__be64 service_mask;
+	__be32 local_id;
+	__be32 remote_id;
+};
+
+struct ib_ucm_init_qp_attr {
+	__aligned_u64 response;
+	__u32 id;
+	__u32 qp_state;
+};
+
+struct ib_ucm_listen {
+	__be64 service_id;
+	__be64 service_mask;
+	__u32 id;
+	__u32 reserved;
+};
+
+struct ib_ucm_notify {
+	__u32 id;
+	__u32 event;
+};
+
+struct ib_ucm_private_data {
+	__aligned_u64 data;
+	__u32 id;
+	__u8  len;
+	__u8  reserved[3];
+};
+
+struct ib_ucm_req {
+	__u32 id;
+	__u32 qpn;
+	__u32 qp_type;
+	__u32 psn;
+	__be64 sid;
+	__aligned_u64 data;
+	__aligned_u64 primary_path;
+	__aligned_u64 alternate_path;
+	__u8  len;
+	__u8  peer_to_peer;
+	__u8  responder_resources;
+	__u8  initiator_depth;
+	__u8  remote_cm_response_timeout;
+	__u8  flow_control;
+	__u8  local_cm_response_timeout;
+	__u8  retry_count;
+	__u8  rnr_retry_count;
+	__u8  max_cm_retries;
+	__u8  srq;
+	__u8  reserved[5];
+};
+
+struct ib_ucm_rep {
+	__aligned_u64 uid;
+	__aligned_u64 data;
+	__u32 id;
+	__u32 qpn;
+	__u32 psn;
+	__u8  len;
+	__u8  responder_resources;
+	__u8  initiator_depth;
+	__u8  target_ack_delay;
+	__u8  failover_accepted;
+	__u8  flow_control;
+	__u8  rnr_retry_count;
+	__u8  srq;
+	__u8  reserved[4];
+};
+
+struct ib_ucm_info {
+	__u32 id;
+	__u32 status;
+	__aligned_u64 info;
+	__aligned_u64 data;
+	__u8  info_len;
+	__u8  data_len;
+	__u8  reserved[6];
+};
+
+struct ib_ucm_mra {
+	__aligned_u64 data;
+	__u32 id;
+	__u8  len;
+	__u8  timeout;
+	__u8  reserved[2];
+};
+
+struct ib_ucm_lap {
+	__aligned_u64 path;
+	__aligned_u64 data;
+	__u32 id;
+	__u8  len;
+	__u8  reserved[3];
+};
+
+struct ib_ucm_sidr_req {
+	__u32 id;
+	__u32 timeout;
+	__be64 sid;
+	__aligned_u64 data;
+	__aligned_u64 path;
+	__u16 reserved_pkey;
+	__u8  len;
+	__u8  max_cm_retries;
+	__u8  reserved[4];
+};
+
+struct ib_ucm_sidr_rep {
+	__u32 id;
+	__u32 qpn;
+	__u32 qkey;
+	__u32 status;
+	__aligned_u64 info;
+	__aligned_u64 data;
+	__u8  info_len;
+	__u8  data_len;
+	__u8  reserved[6];
+};
+/*
+ * event notification ABI structures.
+ */
+struct ib_ucm_event_get {
+	__aligned_u64 response;
+	__aligned_u64 data;
+	__aligned_u64 info;
+	__u8  data_len;
+	__u8  info_len;
+	__u8  reserved[6];
+};
+
+struct ib_ucm_req_event_resp {
+	struct ib_user_path_rec primary_path;
+	struct ib_user_path_rec alternate_path;
+	__be64                 remote_ca_guid;
+	__u32                  remote_qkey;
+	__u32                  remote_qpn;
+	__u32                  qp_type;
+	__u32                  starting_psn;
+	__u8  responder_resources;
+	__u8  initiator_depth;
+	__u8  local_cm_response_timeout;
+	__u8  flow_control;
+	__u8  remote_cm_response_timeout;
+	__u8  retry_count;
+	__u8  rnr_retry_count;
+	__u8  srq;
+	__u8  port;
+	__u8  reserved[7];
+};
+
+struct ib_ucm_rep_event_resp {
+	__be64 remote_ca_guid;
+	__u32 remote_qkey;
+	__u32 remote_qpn;
+	__u32 starting_psn;
+	__u8  responder_resources;
+	__u8  initiator_depth;
+	__u8  target_ack_delay;
+	__u8  failover_accepted;
+	__u8  flow_control;
+	__u8  rnr_retry_count;
+	__u8  srq;
+	__u8  reserved[5];
+};
+
+struct ib_ucm_rej_event_resp {
+	__u32 reason;
+	/* ari in ib_ucm_event_get info field. */
+};
+
+struct ib_ucm_mra_event_resp {
+	__u8  timeout;
+	__u8  reserved[3];
+};
+
+struct ib_ucm_lap_event_resp {
+	struct ib_user_path_rec path;
+};
+
+struct ib_ucm_apr_event_resp {
+	__u32 status;
+	/* apr info in ib_ucm_event_get info field. */
+};
+
+struct ib_ucm_sidr_req_event_resp {
+	__u16 pkey;
+	__u8  port;
+	__u8  reserved;
+};
+
+struct ib_ucm_sidr_rep_event_resp {
+	__u32 status;
+	__u32 qkey;
+	__u32 qpn;
+	/* info in ib_ucm_event_get info field. */
+};
+
+#define IB_UCM_PRES_DATA      0x01
+#define IB_UCM_PRES_INFO      0x02
+#define IB_UCM_PRES_PRIMARY   0x04
+#define IB_UCM_PRES_ALTERNATE 0x08
+
+struct ib_ucm_event_resp {
+	__aligned_u64 uid;
+	__u32 id;
+	__u32 event;
+	__u32 present;
+	__u32 reserved;
+	union {
+		struct ib_ucm_req_event_resp req_resp;
+		struct ib_ucm_rep_event_resp rep_resp;
+		struct ib_ucm_rej_event_resp rej_resp;
+		struct ib_ucm_mra_event_resp mra_resp;
+		struct ib_ucm_lap_event_resp lap_resp;
+		struct ib_ucm_apr_event_resp apr_resp;
+
+		struct ib_ucm_sidr_req_event_resp sidr_req_resp;
+		struct ib_ucm_sidr_rep_event_resp sidr_rep_resp;
+
+		__u32                             send_status;
+	} u;
+};
+
+#endif /* IB_USER_CM_H */
diff --git a/original/uapi/rdma/ib_user_verbs.h b/original/uapi/rdma/ib_user_verbs.h
index 0474c74..480d9a6 100644
--- a/original/uapi/rdma/ib_user_verbs.h
+++ b/original/uapi/rdma/ib_user_verbs.h
@@ -270,8 +270,6 @@
 	struct ib_uverbs_tm_caps tm_caps;
 	struct ib_uverbs_cq_moderation_caps cq_moderation_caps;
 	__aligned_u64 max_dm_size;
-	__u32 xrc_odp_caps;
-	__u32 reserved;
 };
 
 struct ib_uverbs_query_port {
diff --git a/original/uapi/rdma/mlx5-abi.h b/original/uapi/rdma/mlx5-abi.h
index 624f5b5..87b3198 100644
--- a/original/uapi/rdma/mlx5-abi.h
+++ b/original/uapi/rdma/mlx5-abi.h
@@ -238,7 +238,6 @@
 	MLX5_IB_QUERY_DEV_RESP_FLAGS_CQE_128B_COMP = 1 << 0,
 	MLX5_IB_QUERY_DEV_RESP_FLAGS_CQE_128B_PAD  = 1 << 1,
 	MLX5_IB_QUERY_DEV_RESP_PACKET_BASED_CREDIT_MODE = 1 << 2,
-	MLX5_IB_QUERY_DEV_RESP_FLAGS_SCAT2CQE_DCT = 1 << 3,
 };
 
 enum mlx5_ib_tunnel_offloads {
@@ -360,7 +359,6 @@
 	MLX5_IB_CREATE_QP_RESP_MASK_TISN = 1UL << 1,
 	MLX5_IB_CREATE_QP_RESP_MASK_RQN  = 1UL << 2,
 	MLX5_IB_CREATE_QP_RESP_MASK_SQN  = 1UL << 3,
-	MLX5_IB_CREATE_QP_RESP_MASK_TIR_ICM_ADDR  = 1UL << 4,
 };
 
 struct mlx5_ib_create_qp_resp {
@@ -372,7 +370,6 @@
 	__u32	rqn;
 	__u32	sqn;
 	__u32   reserved1;
-	__u64	tir_icm_addr;
 };
 
 struct mlx5_ib_alloc_mw {
diff --git a/original/uapi/rdma/mlx5_user_ioctl_cmds.h b/original/uapi/rdma/mlx5_user_ioctl_cmds.h
index d0da070..b8d121d 100644
--- a/original/uapi/rdma/mlx5_user_ioctl_cmds.h
+++ b/original/uapi/rdma/mlx5_user_ioctl_cmds.h
@@ -44,14 +44,12 @@
 enum mlx5_ib_alloc_dm_attrs {
 	MLX5_IB_ATTR_ALLOC_DM_RESP_START_OFFSET = (1U << UVERBS_ID_NS_SHIFT),
 	MLX5_IB_ATTR_ALLOC_DM_RESP_PAGE_INDEX,
-	MLX5_IB_ATTR_ALLOC_DM_REQ_TYPE,
 };
 
 enum mlx5_ib_devx_methods {
 	MLX5_IB_METHOD_DEVX_OTHER  = (1U << UVERBS_ID_NS_SHIFT),
 	MLX5_IB_METHOD_DEVX_QUERY_UAR,
 	MLX5_IB_METHOD_DEVX_QUERY_EQN,
-	MLX5_IB_METHOD_DEVX_SUBSCRIBE_EVENT,
 };
 
 enum  mlx5_ib_devx_other_attrs {
@@ -86,22 +84,6 @@
 	MLX5_IB_ATTR_DEVX_OBJ_QUERY_CMD_OUT,
 };
 
-enum mlx5_ib_devx_obj_query_async_attrs {
-	MLX5_IB_ATTR_DEVX_OBJ_QUERY_ASYNC_HANDLE = (1U << UVERBS_ID_NS_SHIFT),
-	MLX5_IB_ATTR_DEVX_OBJ_QUERY_ASYNC_CMD_IN,
-	MLX5_IB_ATTR_DEVX_OBJ_QUERY_ASYNC_FD,
-	MLX5_IB_ATTR_DEVX_OBJ_QUERY_ASYNC_WR_ID,
-	MLX5_IB_ATTR_DEVX_OBJ_QUERY_ASYNC_OUT_LEN,
-};
-
-enum mlx5_ib_devx_subscribe_event_attrs {
-	MLX5_IB_ATTR_DEVX_SUBSCRIBE_EVENT_FD_HANDLE = (1U << UVERBS_ID_NS_SHIFT),
-	MLX5_IB_ATTR_DEVX_SUBSCRIBE_EVENT_OBJ_HANDLE,
-	MLX5_IB_ATTR_DEVX_SUBSCRIBE_EVENT_TYPE_NUM_LIST,
-	MLX5_IB_ATTR_DEVX_SUBSCRIBE_EVENT_FD_NUM,
-	MLX5_IB_ATTR_DEVX_SUBSCRIBE_EVENT_COOKIE,
-};
-
 enum  mlx5_ib_devx_query_eqn_attrs {
 	MLX5_IB_ATTR_DEVX_QUERY_EQN_USER_VEC = (1U << UVERBS_ID_NS_SHIFT),
 	MLX5_IB_ATTR_DEVX_QUERY_EQN_DEV_EQN,
@@ -112,7 +94,6 @@
 	MLX5_IB_METHOD_DEVX_OBJ_DESTROY,
 	MLX5_IB_METHOD_DEVX_OBJ_MODIFY,
 	MLX5_IB_METHOD_DEVX_OBJ_QUERY,
-	MLX5_IB_METHOD_DEVX_OBJ_ASYNC_QUERY,
 };
 
 enum mlx5_ib_devx_umem_reg_attrs {
@@ -132,30 +113,11 @@
 	MLX5_IB_METHOD_DEVX_UMEM_DEREG,
 };
 
-enum mlx5_ib_devx_async_cmd_fd_alloc_attrs {
-	MLX5_IB_ATTR_DEVX_ASYNC_CMD_FD_ALLOC_HANDLE = (1U << UVERBS_ID_NS_SHIFT),
-};
-
-enum mlx5_ib_devx_async_event_fd_alloc_attrs {
-	MLX5_IB_ATTR_DEVX_ASYNC_EVENT_FD_ALLOC_HANDLE = (1U << UVERBS_ID_NS_SHIFT),
-	MLX5_IB_ATTR_DEVX_ASYNC_EVENT_FD_ALLOC_FLAGS,
-};
-
-enum mlx5_ib_devx_async_cmd_fd_methods {
-	MLX5_IB_METHOD_DEVX_ASYNC_CMD_FD_ALLOC = (1U << UVERBS_ID_NS_SHIFT),
-};
-
-enum mlx5_ib_devx_async_event_fd_methods {
-	MLX5_IB_METHOD_DEVX_ASYNC_EVENT_FD_ALLOC = (1U << UVERBS_ID_NS_SHIFT),
-};
-
 enum mlx5_ib_objects {
 	MLX5_IB_OBJECT_DEVX = (1U << UVERBS_ID_NS_SHIFT),
 	MLX5_IB_OBJECT_DEVX_OBJ,
 	MLX5_IB_OBJECT_DEVX_UMEM,
 	MLX5_IB_OBJECT_FLOW_MATCHER,
-	MLX5_IB_OBJECT_DEVX_ASYNC_CMD_FD,
-	MLX5_IB_OBJECT_DEVX_ASYNC_EVENT_FD,
 };
 
 enum mlx5_ib_flow_matcher_create_attrs {
@@ -164,7 +126,6 @@
 	MLX5_IB_ATTR_FLOW_MATCHER_FLOW_TYPE,
 	MLX5_IB_ATTR_FLOW_MATCHER_MATCH_CRITERIA,
 	MLX5_IB_ATTR_FLOW_MATCHER_FLOW_FLAGS,
-	MLX5_IB_ATTR_FLOW_MATCHER_FT_TYPE,
 };
 
 enum mlx5_ib_flow_matcher_destroy_attrs {
diff --git a/original/uapi/rdma/mlx5_user_ioctl_verbs.h b/original/uapi/rdma/mlx5_user_ioctl_verbs.h
index 7e9900b..4ef62c0 100644
--- a/original/uapi/rdma/mlx5_user_ioctl_verbs.h
+++ b/original/uapi/rdma/mlx5_user_ioctl_verbs.h
@@ -42,7 +42,6 @@
 enum mlx5_ib_uapi_flow_table_type {
 	MLX5_IB_UAPI_FLOW_TABLE_TYPE_NIC_RX     = 0x0,
 	MLX5_IB_UAPI_FLOW_TABLE_TYPE_NIC_TX	= 0x1,
-	MLX5_IB_UAPI_FLOW_TABLE_TYPE_FDB	= 0x2,
 };
 
 enum mlx5_ib_uapi_flow_action_packet_reformat_type {
@@ -52,25 +51,5 @@
 	MLX5_IB_UAPI_FLOW_ACTION_PACKET_REFORMAT_TYPE_L2_TO_L3_TUNNEL = 0x3,
 };
 
-struct mlx5_ib_uapi_devx_async_cmd_hdr {
-	__aligned_u64	wr_id;
-	__u8		out_data[];
-};
-
-enum mlx5_ib_uapi_dm_type {
-	MLX5_IB_UAPI_DM_TYPE_MEMIC,
-	MLX5_IB_UAPI_DM_TYPE_STEERING_SW_ICM,
-	MLX5_IB_UAPI_DM_TYPE_HEADER_MODIFY_SW_ICM,
-};
-
-enum mlx5_ib_uapi_devx_create_event_channel_flags {
-	MLX5_IB_UAPI_DEVX_CR_EV_CH_FLAGS_OMIT_DATA = 1 << 0,
-};
-
-struct mlx5_ib_uapi_devx_async_event_hdr {
-	__aligned_u64	cookie;
-	__u8		out_data[];
-};
-
 #endif
 
diff --git a/original/uapi/rdma/rdma_netlink.h b/original/uapi/rdma/rdma_netlink.h
index 8e27778..2e18b77 100644
--- a/original/uapi/rdma/rdma_netlink.h
+++ b/original/uapi/rdma/rdma_netlink.h
@@ -5,7 +5,8 @@
 #include <linux/types.h>
 
 enum {
-	RDMA_NL_IWCM = 2,
+	RDMA_NL_RDMA_CM = 1,
+	RDMA_NL_IWCM,
 	RDMA_NL_RSVD,
 	RDMA_NL_LS,	/* RDMA Local Services */
 	RDMA_NL_NLDEV,	/* RDMA device interface */
@@ -13,7 +14,8 @@
 };
 
 enum {
-	RDMA_NL_GROUP_IWPM = 2,
+	RDMA_NL_GROUP_CM = 1,
+	RDMA_NL_GROUP_IWPM,
 	RDMA_NL_GROUP_LS,
 	RDMA_NL_NUM_GROUPS
 };
@@ -22,17 +24,15 @@
 #define RDMA_NL_GET_OP(type) (type & ((1 << 10) - 1))
 #define RDMA_NL_GET_TYPE(client, op) ((client << 10) + op)
 
-/* The minimum version that the iwpm kernel supports */
-#define IWPM_UABI_VERSION_MIN	3
-
-/* The latest version that the iwpm kernel supports */
-#define IWPM_UABI_VERSION	4
-
-/* iwarp port mapper message flags */
 enum {
+	RDMA_NL_RDMA_CM_ID_STATS = 0,
+	RDMA_NL_RDMA_CM_NUM_OPS
+};
 
-	/* Do not map the port for this IWPM request */
-	IWPM_FLAGS_NO_PORT_MAP = (1 << 0),
+enum {
+	RDMA_NL_RDMA_CM_ATTR_SRC_ADDR = 1,
+	RDMA_NL_RDMA_CM_ATTR_DST_ADDR,
+	RDMA_NL_RDMA_CM_NUM_ATTR,
 };
 
 /* iwarp port mapper op-codes */
@@ -45,10 +45,20 @@
 	RDMA_NL_IWPM_HANDLE_ERR,
 	RDMA_NL_IWPM_MAPINFO,
 	RDMA_NL_IWPM_MAPINFO_NUM,
-	RDMA_NL_IWPM_HELLO,
 	RDMA_NL_IWPM_NUM_OPS
 };
 
+struct rdma_cm_id_stats {
+	__u32	qp_num;
+	__u32	bound_dev_if;
+	__u32	port_space;
+	__s32	pid;
+	__u8	cm_state;
+	__u8	node_type;
+	__u8	port_num;
+	__u8	qp_type;
+};
+
 enum {
 	IWPM_NLA_REG_PID_UNSPEC = 0,
 	IWPM_NLA_REG_PID_SEQ,
@@ -73,38 +83,20 @@
 	IWPM_NLA_MANAGE_MAPPING_UNSPEC = 0,
 	IWPM_NLA_MANAGE_MAPPING_SEQ,
 	IWPM_NLA_MANAGE_ADDR,
-	IWPM_NLA_MANAGE_FLAGS,
-	IWPM_NLA_MANAGE_MAPPING_MAX
-};
-
-enum {
-	IWPM_NLA_RMANAGE_MAPPING_UNSPEC = 0,
-	IWPM_NLA_RMANAGE_MAPPING_SEQ,
-	IWPM_NLA_RMANAGE_ADDR,
-	IWPM_NLA_RMANAGE_MAPPED_LOC_ADDR,
-	/* The following maintains bisectability of rdma-core */
-	IWPM_NLA_MANAGE_MAPPED_LOC_ADDR = IWPM_NLA_RMANAGE_MAPPED_LOC_ADDR,
+	IWPM_NLA_MANAGE_MAPPED_LOC_ADDR,
 	IWPM_NLA_RMANAGE_MAPPING_ERR,
 	IWPM_NLA_RMANAGE_MAPPING_MAX
 };
 
+#define IWPM_NLA_MANAGE_MAPPING_MAX 3
+#define IWPM_NLA_QUERY_MAPPING_MAX  4
 #define IWPM_NLA_MAPINFO_SEND_MAX   3
-#define IWPM_NLA_REMOVE_MAPPING_MAX 3
 
 enum {
 	IWPM_NLA_QUERY_MAPPING_UNSPEC = 0,
 	IWPM_NLA_QUERY_MAPPING_SEQ,
 	IWPM_NLA_QUERY_LOCAL_ADDR,
 	IWPM_NLA_QUERY_REMOTE_ADDR,
-	IWPM_NLA_QUERY_FLAGS,
-	IWPM_NLA_QUERY_MAPPING_MAX,
-};
-
-enum {
-	IWPM_NLA_RQUERY_MAPPING_UNSPEC = 0,
-	IWPM_NLA_RQUERY_MAPPING_SEQ,
-	IWPM_NLA_RQUERY_LOCAL_ADDR,
-	IWPM_NLA_RQUERY_REMOTE_ADDR,
 	IWPM_NLA_RQUERY_MAPPED_LOC_ADDR,
 	IWPM_NLA_RQUERY_MAPPED_REM_ADDR,
 	IWPM_NLA_RQUERY_MAPPING_ERR,
@@ -122,7 +114,6 @@
 	IWPM_NLA_MAPINFO_UNSPEC = 0,
 	IWPM_NLA_MAPINFO_LOCAL_ADDR,
 	IWPM_NLA_MAPINFO_MAPPED_ADDR,
-	IWPM_NLA_MAPINFO_FLAGS,
 	IWPM_NLA_MAPINFO_MAX
 };
 
@@ -141,24 +132,6 @@
 	IWPM_NLA_ERR_MAX
 };
 
-enum {
-	IWPM_NLA_HELLO_UNSPEC = 0,
-	IWPM_NLA_HELLO_ABI_VERSION,
-	IWPM_NLA_HELLO_MAX
-};
-
-/* For RDMA_NLDEV_ATTR_DEV_NODE_TYPE */
-enum {
-	/* IB values map to NodeInfo:NodeType. */
-	RDMA_NODE_IB_CA = 1,
-	RDMA_NODE_IB_SWITCH,
-	RDMA_NODE_IB_ROUTER,
-	RDMA_NODE_RNIC,
-	RDMA_NODE_USNIC,
-	RDMA_NODE_USNIC_UDP,
-	RDMA_NODE_UNSPECIFIED,
-};
-
 /*
  * Local service operations:
  *   RESOLVE - The client requests the local service to resolve a path.
@@ -256,16 +229,11 @@
 	RDMA_NLDEV_CMD_GET, /* can dump */
 	RDMA_NLDEV_CMD_SET,
 
-	RDMA_NLDEV_CMD_NEWLINK,
+	/* 3 - 4 are free to use */
 
-	RDMA_NLDEV_CMD_DELLINK,
+	RDMA_NLDEV_CMD_PORT_GET = 5, /* can dump */
 
-	RDMA_NLDEV_CMD_PORT_GET, /* can dump */
-
-	RDMA_NLDEV_CMD_SYS_GET,
-	RDMA_NLDEV_CMD_SYS_SET,
-
-	/* 8 is free to use */
+	/* 6 - 8 are free to use */
 
 	RDMA_NLDEV_CMD_RES_GET = 9, /* can dump */
 
@@ -279,17 +247,13 @@
 
 	RDMA_NLDEV_CMD_RES_PD_GET, /* can dump */
 
-	RDMA_NLDEV_CMD_GET_CHARDEV,
-
-	RDMA_NLDEV_CMD_STAT_SET,
-
-	RDMA_NLDEV_CMD_STAT_GET, /* can dump */
-
-	RDMA_NLDEV_CMD_STAT_DEL,
-
 	RDMA_NLDEV_NUM_OPS
 };
 
+enum {
+	RDMA_NLDEV_ATTR_ENTRY_STRLEN = 16,
+};
+
 enum rdma_nldev_print_type {
 	RDMA_NLDEV_PRINT_TYPE_UNSPEC,
 	RDMA_NLDEV_PRINT_TYPE_HEX,
@@ -467,99 +431,8 @@
 	RDMA_NLDEV_ATTR_DRIVER_U64,		/* u64 */
 
 	/*
-	 * Indexes to get/set secific entry,
-	 * for QP use RDMA_NLDEV_ATTR_RES_LQPN
-	 */
-	RDMA_NLDEV_ATTR_RES_PDN,               /* u32 */
-	RDMA_NLDEV_ATTR_RES_CQN,               /* u32 */
-	RDMA_NLDEV_ATTR_RES_MRN,               /* u32 */
-	RDMA_NLDEV_ATTR_RES_CM_IDN,            /* u32 */
-	RDMA_NLDEV_ATTR_RES_CTXN,	       /* u32 */
-	/*
-	 * Identifies the rdma driver. eg: "rxe" or "siw"
-	 */
-	RDMA_NLDEV_ATTR_LINK_TYPE,		/* string */
-
-	/*
-	 * net namespace mode for rdma subsystem:
-	 * either shared or exclusive among multiple net namespaces.
-	 */
-	RDMA_NLDEV_SYS_ATTR_NETNS_MODE,		/* u8 */
-	/*
-	 * Device protocol, e.g. ib, iw, usnic, roce and opa
-	 */
-	RDMA_NLDEV_ATTR_DEV_PROTOCOL,		/* string */
-
-	/*
-	 * File descriptor handle of the net namespace object
-	 */
-	RDMA_NLDEV_NET_NS_FD,			/* u32 */
-	/*
-	 * Information about a chardev.
-	 * CHARDEV_TYPE is the name of the chardev ABI (ie uverbs, umad, etc)
-	 * CHARDEV_ABI signals the ABI revision (historical)
-	 * CHARDEV_NAME is the kernel name for the /dev/ file (no directory)
-	 * CHARDEV is the 64 bit dev_t for the inode
-	 */
-	RDMA_NLDEV_ATTR_CHARDEV_TYPE,		/* string */
-	RDMA_NLDEV_ATTR_CHARDEV_NAME,		/* string */
-	RDMA_NLDEV_ATTR_CHARDEV_ABI,		/* u64 */
-	RDMA_NLDEV_ATTR_CHARDEV,		/* u64 */
-	RDMA_NLDEV_ATTR_UVERBS_DRIVER_ID,       /* u64 */
-	/*
-	 * Counter-specific attributes.
-	 */
-	RDMA_NLDEV_ATTR_STAT_MODE,		/* u32 */
-	RDMA_NLDEV_ATTR_STAT_RES,		/* u32 */
-	RDMA_NLDEV_ATTR_STAT_AUTO_MODE_MASK,	/* u32 */
-	RDMA_NLDEV_ATTR_STAT_COUNTER,		/* nested table */
-	RDMA_NLDEV_ATTR_STAT_COUNTER_ENTRY,	/* nested table */
-	RDMA_NLDEV_ATTR_STAT_COUNTER_ID,	/* u32 */
-	RDMA_NLDEV_ATTR_STAT_HWCOUNTERS,	/* nested table */
-	RDMA_NLDEV_ATTR_STAT_HWCOUNTER_ENTRY,	/* nested table */
-	RDMA_NLDEV_ATTR_STAT_HWCOUNTER_ENTRY_NAME,	/* string */
-	RDMA_NLDEV_ATTR_STAT_HWCOUNTER_ENTRY_VALUE,	/* u64 */
-
-	/*
-	 * CQ adaptive moderatio (DIM)
-	 */
-	RDMA_NLDEV_ATTR_DEV_DIM,                /* u8 */
-
-	/*
 	 * Always the end
 	 */
 	RDMA_NLDEV_ATTR_MAX
 };
-
-/*
- * Supported counter bind modes. All modes are mutual-exclusive.
- */
-enum rdma_nl_counter_mode {
-	RDMA_COUNTER_MODE_NONE,
-
-	/*
-	 * A qp is bound with a counter automatically during initialization
-	 * based on the auto mode (e.g., qp type, ...)
-	 */
-	RDMA_COUNTER_MODE_AUTO,
-
-	/*
-	 * Which qp are bound with which counter is explicitly specified
-	 * by the user
-	 */
-	RDMA_COUNTER_MODE_MANUAL,
-
-	/*
-	 * Always the end
-	 */
-	RDMA_COUNTER_MODE_MAX,
-};
-
-/*
- * Supported criteria in counter auto mode.
- * Currently only "qp type" is supported
- */
-enum rdma_nl_counter_mask {
-	RDMA_COUNTER_MASK_QP_TYPE = 1,
-};
 #endif /* _UAPI_RDMA_NETLINK_H */
diff --git a/original/uapi/rdma/rdma_user_cm.h b/original/uapi/rdma/rdma_user_cm.h
index e42940a..0d1e78e 100644
--- a/original/uapi/rdma/rdma_user_cm.h
+++ b/original/uapi/rdma/rdma_user_cm.h
@@ -300,10 +300,6 @@
 	RDMA_OPTION_ID_TOS	 = 0,
 	RDMA_OPTION_ID_REUSEADDR = 1,
 	RDMA_OPTION_ID_AFONLY	 = 2,
-	RDMA_OPTION_ID_ACK_TIMEOUT = 3
-};
-
-enum {
 	RDMA_OPTION_IB_PATH	 = 1
 };
 
diff --git a/original/uapi/rdma/rdma_user_ioctl_cmds.h b/original/uapi/rdma/rdma_user_ioctl_cmds.h
index b8bb285..06c34d9 100644
--- a/original/uapi/rdma/rdma_user_ioctl_cmds.h
+++ b/original/uapi/rdma/rdma_user_ioctl_cmds.h
@@ -36,7 +36,7 @@
 #include <linux/types.h>
 #include <linux/ioctl.h>
 
-/* Documentation/ioctl/ioctl-number.rst */
+/* Documentation/ioctl/ioctl-number.txt */
 #define RDMA_IOCTL_MAGIC	0x1b
 #define RDMA_VERBS_IOCTL \
 	_IOWR(RDMA_IOCTL_MAGIC, 1, struct ib_uverbs_ioctl_hdr)
@@ -102,8 +102,6 @@
 	RDMA_DRIVER_RXE,
 	RDMA_DRIVER_HFI1,
 	RDMA_DRIVER_QIB,
-	RDMA_DRIVER_EFA,
-	RDMA_DRIVER_SIW,
 };
 
 #endif
diff --git a/original/uapi/rdma/rdma_user_rxe.h b/original/uapi/rdma/rdma_user_rxe.h
index aae2e69..44ef6a3 100644
--- a/original/uapi/rdma/rdma_user_rxe.h
+++ b/original/uapi/rdma/rdma_user_rxe.h
@@ -58,7 +58,8 @@
 struct rxe_av {
 	__u8			port_num;
 	__u8			network_type;
-	__u8			dmac[6];
+	__u16			reserved1;
+	__u32			reserved2;
 	struct rxe_global_route	grh;
 	union {
 		struct sockaddr_in	_sockaddr_in;
diff --git a/original/uapi/rdma/rvt-abi.h b/original/uapi/rdma/rvt-abi.h
deleted file mode 100644
index 7c05a02..0000000
--- a/original/uapi/rdma/rvt-abi.h
+++ /dev/null
@@ -1,66 +0,0 @@
-/* SPDX-License-Identifier: ((GPL-2.0 WITH Linux-syscall-note) OR BSD-3-Clause) */
-
-/*
- * This file contains defines, structures, etc. that are used
- * to communicate between kernel and user code.
- */
-
-#ifndef RVT_ABI_USER_H
-#define RVT_ABI_USER_H
-
-#include <linux/types.h>
-#include <rdma/ib_user_verbs.h>
-#ifndef RDMA_ATOMIC_UAPI
-#define RDMA_ATOMIC_UAPI(_type, _name) struct{ _type val; } _name
-#endif
-
-struct rvt_wqe_sge {
-	__aligned_u64 addr;
-	__u32 length;
-	__u32 lkey;
-};
-
-/*
- * This structure is used to contain the head pointer, tail pointer,
- * and completion queue entries as a single memory allocation so
- * it can be mmap'ed into user space.
- */
-struct rvt_cq_wc {
-	/* index of next entry to fill */
-	RDMA_ATOMIC_UAPI(__u32, head);
-	/* index of next ib_poll_cq() entry */
-	RDMA_ATOMIC_UAPI(__u32, tail);
-
-	/* these are actually size ibcq.cqe + 1 */
-	struct ib_uverbs_wc uqueue[];
-};
-
-/*
- * Receive work request queue entry.
- * The size of the sg_list is determined when the QP (or SRQ) is created
- * and stored in qp->r_rq.max_sge (or srq->rq.max_sge).
- */
-struct rvt_rwqe {
-	__u64 wr_id;
-	__u8 num_sge;
-	__u8 padding[7];
-	struct rvt_wqe_sge sg_list[];
-};
-
-/*
- * This structure is used to contain the head pointer, tail pointer,
- * and receive work queue entries as a single memory allocation so
- * it can be mmap'ed into user space.
- * Note that the wq array elements are variable size so you can't
- * just index into the array to get the N'th element;
- * use get_rwqe_ptr() for user space and rvt_get_rwqe_ptr()
- * for kernel space.
- */
-struct rvt_rwq {
-	/* new work requests posted to the head */
-	RDMA_ATOMIC_UAPI(__u32, head);
-	/* receives pull requests from here. */
-	RDMA_ATOMIC_UAPI(__u32, tail);
-	struct rvt_rwqe wq[];
-};
-#endif /* RVT_ABI_USER_H */
diff --git a/original/uapi/rdma/siw-abi.h b/original/uapi/rdma/siw-abi.h
deleted file mode 100644
index af735f5..0000000
--- a/original/uapi/rdma/siw-abi.h
+++ /dev/null
@@ -1,186 +0,0 @@
-/* SPDX-License-Identifier: (GPL-2.0 WITH Linux-syscall-note) or BSD-3-Clause */
-
-/* Authors: Bernard Metzler <bmt@zurich.ibm.com> */
-/* Copyright (c) 2008-2019, IBM Corporation */
-
-#ifndef _SIW_USER_H
-#define _SIW_USER_H
-
-#include <linux/types.h>
-
-#define SIW_NODE_DESC_COMMON "Software iWARP stack"
-#define SIW_ABI_VERSION 1
-#define SIW_MAX_SGE 6
-#define SIW_UOBJ_MAX_KEY 0x08FFFF
-#define SIW_INVAL_UOBJ_KEY (SIW_UOBJ_MAX_KEY + 1)
-
-struct siw_uresp_create_cq {
-	__u32 cq_id;
-	__u32 num_cqe;
-	__aligned_u64 cq_key;
-};
-
-struct siw_uresp_create_qp {
-	__u32 qp_id;
-	__u32 num_sqe;
-	__u32 num_rqe;
-	__u32 pad;
-	__aligned_u64 sq_key;
-	__aligned_u64 rq_key;
-};
-
-struct siw_ureq_reg_mr {
-	__u8 stag_key;
-	__u8 reserved[3];
-	__u32 pad;
-};
-
-struct siw_uresp_reg_mr {
-	__u32 stag;
-	__u32 pad;
-};
-
-struct siw_uresp_create_srq {
-	__u32 num_rqe;
-	__u32 pad;
-	__aligned_u64 srq_key;
-};
-
-struct siw_uresp_alloc_ctx {
-	__u32 dev_id;
-	__u32 pad;
-};
-
-enum siw_opcode {
-	SIW_OP_WRITE,
-	SIW_OP_READ,
-	SIW_OP_READ_LOCAL_INV,
-	SIW_OP_SEND,
-	SIW_OP_SEND_WITH_IMM,
-	SIW_OP_SEND_REMOTE_INV,
-
-	/* Unsupported */
-	SIW_OP_FETCH_AND_ADD,
-	SIW_OP_COMP_AND_SWAP,
-
-	SIW_OP_RECEIVE,
-	/* provider internal SQE */
-	SIW_OP_READ_RESPONSE,
-	/*
-	 * below opcodes valid for
-	 * in-kernel clients only
-	 */
-	SIW_OP_INVAL_STAG,
-	SIW_OP_REG_MR,
-	SIW_NUM_OPCODES
-};
-
-/* Keep it same as ibv_sge to allow for memcpy */
-struct siw_sge {
-	__aligned_u64 laddr;
-	__u32 length;
-	__u32 lkey;
-};
-
-/*
- * Inline data are kept within the work request itself occupying
- * the space of sge[1] .. sge[n]. Therefore, inline data cannot be
- * supported if SIW_MAX_SGE is below 2 elements.
- */
-#define SIW_MAX_INLINE (sizeof(struct siw_sge) * (SIW_MAX_SGE - 1))
-
-#if SIW_MAX_SGE < 2
-#error "SIW_MAX_SGE must be at least 2"
-#endif
-
-enum siw_wqe_flags {
-	SIW_WQE_VALID = 1,
-	SIW_WQE_INLINE = (1 << 1),
-	SIW_WQE_SIGNALLED = (1 << 2),
-	SIW_WQE_SOLICITED = (1 << 3),
-	SIW_WQE_READ_FENCE = (1 << 4),
-	SIW_WQE_REM_INVAL = (1 << 5),
-	SIW_WQE_COMPLETED = (1 << 6)
-};
-
-/* Send Queue Element */
-struct siw_sqe {
-	__aligned_u64 id;
-	__u16 flags;
-	__u8 num_sge;
-	/* Contains enum siw_opcode values */
-	__u8 opcode;
-	__u32 rkey;
-	union {
-		__aligned_u64 raddr;
-		__aligned_u64 base_mr;
-	};
-	union {
-		struct siw_sge sge[SIW_MAX_SGE];
-		__aligned_u64 access;
-	};
-};
-
-/* Receive Queue Element */
-struct siw_rqe {
-	__aligned_u64 id;
-	__u16 flags;
-	__u8 num_sge;
-	/*
-	 * only used by kernel driver,
-	 * ignored if set by user
-	 */
-	__u8 opcode;
-	__u32 unused;
-	struct siw_sge sge[SIW_MAX_SGE];
-};
-
-enum siw_notify_flags {
-	SIW_NOTIFY_NOT = (0),
-	SIW_NOTIFY_SOLICITED = (1 << 0),
-	SIW_NOTIFY_NEXT_COMPLETION = (1 << 1),
-	SIW_NOTIFY_MISSED_EVENTS = (1 << 2),
-	SIW_NOTIFY_ALL = SIW_NOTIFY_SOLICITED | SIW_NOTIFY_NEXT_COMPLETION |
-			 SIW_NOTIFY_MISSED_EVENTS
-};
-
-enum siw_wc_status {
-	SIW_WC_SUCCESS,
-	SIW_WC_LOC_LEN_ERR,
-	SIW_WC_LOC_PROT_ERR,
-	SIW_WC_LOC_QP_OP_ERR,
-	SIW_WC_WR_FLUSH_ERR,
-	SIW_WC_BAD_RESP_ERR,
-	SIW_WC_LOC_ACCESS_ERR,
-	SIW_WC_REM_ACCESS_ERR,
-	SIW_WC_REM_INV_REQ_ERR,
-	SIW_WC_GENERAL_ERR,
-	SIW_NUM_WC_STATUS
-};
-
-struct siw_cqe {
-	__aligned_u64 id;
-	__u8 flags;
-	__u8 opcode;
-	__u16 status;
-	__u32 bytes;
-	union {
-		__aligned_u64 imm_data;
-		__u32 inval_stag;
-	};
-	/* QP number or QP pointer */
-	union {
-		struct ib_qp *base_qp;
-		__aligned_u64 qp_id;
-	};
-};
-
-/*
- * Shared structure between user and kernel
- * to control CQ arming.
- */
-struct siw_cq_ctrl {
-	__u32 flags;
-	__u32 pad;
-};
-#endif
diff --git a/original/uapi/scsi/fc/fc_els.h b/original/uapi/scsi/fc/fc_els.h
index 76f627f..b7e0a5e 100644
--- a/original/uapi/scsi/fc/fc_els.h
+++ b/original/uapi/scsi/fc/fc_els.h
@@ -2,6 +2,19 @@
 /*
  * Copyright(c) 2007 Intel Corporation. All rights reserved.
  *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms and conditions of the GNU General Public License,
+ * version 2, as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License for
+ * more details.
+ *
+ * You should have received a copy of the GNU General Public License along with
+ * this program; if not, write to the Free Software Foundation, Inc.,
+ * 51 Franklin St - Fifth Floor, Boston, MA 02110-1301 USA.
+ *
  * Maintained at www.Open-FCoE.org
  */
 
@@ -39,7 +52,6 @@
 	ELS_RRQ =	0x12,	/* reinstate recovery qualifier */
 	ELS_REC =	0x13,	/* read exchange concise */
 	ELS_SRR =	0x14,	/* sequence retransmission request */
-	ELS_FPIN =	0x16,	/* Fabric Performance Impact Notification */
 	ELS_PRLI =	0x20,	/* process login */
 	ELS_PRLO =	0x21,	/* process logout */
 	ELS_SCN =	0x22,	/* state change notification */
@@ -107,7 +119,6 @@
 	[ELS_RRQ] =	"RRQ",			\
 	[ELS_REC] =	"REC",			\
 	[ELS_SRR] =	"SRR",			\
-	[ELS_FPIN] =	"FPIN",			\
 	[ELS_PRLI] =	"PRLI",			\
 	[ELS_PRLO] =	"PRLO",			\
 	[ELS_SCN] =	"SCN",			\
@@ -818,35 +829,4 @@
 	ELS_CLID_IC_LIP =	8,	/* receiving LIP */
 };
 
-
-/*
- * Fabric Notification Descriptor Tag values
- */
-enum fc_fn_dtag {
-	ELS_FN_DTAG_LNK_INTEGRITY =	0x00020001,	/* Link Integrity */
-	ELS_FN_DTAG_PEER_CONGEST =	0x00020003,	/* Peer Congestion */
-	ELS_FN_DTAG_CONGESTION =	0x00020004,	/* Congestion */
-};
-
-/*
- * Fabric Notification Descriptor
- */
-struct fc_fn_desc {
-	__be32		fn_desc_tag;	/* Notification Descriptor Tag */
-	__be32		fn_desc_value_len; /* Length of Descriptor Value field
-					    * (in bytes)
-					    */
-	__u8		fn_desc_value[0];  /* Descriptor Value */
-};
-
-/*
- * ELS_FPIN - Fabric Performance Impact Notification
- */
-struct fc_els_fpin {
-	__u8		fpin_cmd;	/* command (0x16) */
-	__u8		fpin_zero[3];	/* specified as zero - part of cmd */
-	__be32		fpin_desc_cnt;	/* count of descriptors */
-	struct fc_fn_desc	fpin_desc[0];	/* Descriptor list */
-};
-
 #endif /* _FC_ELS_H_ */
diff --git a/original/uapi/scsi/fc/fc_fs.h b/original/uapi/scsi/fc/fc_fs.h
index 0dab49d..8c0a292 100644
--- a/original/uapi/scsi/fc/fc_fs.h
+++ b/original/uapi/scsi/fc/fc_fs.h
@@ -2,6 +2,19 @@
 /*
  * Copyright(c) 2007 Intel Corporation. All rights reserved.
  *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms and conditions of the GNU General Public License,
+ * version 2, as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License for
+ * more details.
+ *
+ * You should have received a copy of the GNU General Public License along with
+ * this program; if not, write to the Free Software Foundation, Inc.,
+ * 51 Franklin St - Fifth Floor, Boston, MA 02110-1301 USA.
+ *
  * Maintained at www.Open-FCoE.org
  */
 
diff --git a/original/uapi/scsi/fc/fc_gs.h b/original/uapi/scsi/fc/fc_gs.h
index effb4c6..2153f35 100644
--- a/original/uapi/scsi/fc/fc_gs.h
+++ b/original/uapi/scsi/fc/fc_gs.h
@@ -2,6 +2,19 @@
 /*
  * Copyright(c) 2007 Intel Corporation. All rights reserved.
  *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms and conditions of the GNU General Public License,
+ * version 2, as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License for
+ * more details.
+ *
+ * You should have received a copy of the GNU General Public License along with
+ * this program; if not, write to the Free Software Foundation, Inc.,
+ * 51 Franklin St - Fifth Floor, Boston, MA 02110-1301 USA.
+ *
  * Maintained at www.Open-FCoE.org
  */
 
diff --git a/original/uapi/scsi/fc/fc_ns.h b/original/uapi/scsi/fc/fc_ns.h
index 4cf0a40..015e5e1 100644
--- a/original/uapi/scsi/fc/fc_ns.h
+++ b/original/uapi/scsi/fc/fc_ns.h
@@ -2,6 +2,19 @@
 /*
  * Copyright(c) 2007 Intel Corporation. All rights reserved.
  *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms and conditions of the GNU General Public License,
+ * version 2, as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License for
+ * more details.
+ *
+ * You should have received a copy of the GNU General Public License along with
+ * this program; if not, write to the Free Software Foundation, Inc.,
+ * 51 Franklin St - Fifth Floor, Boston, MA 02110-1301 USA.
+ *
  * Maintained at www.Open-FCoE.org
  */
 
diff --git a/original/uapi/scsi/scsi_bsg_fc.h b/original/uapi/scsi/scsi_bsg_fc.h
index 52f32a6..62597d8 100644
--- a/original/uapi/scsi/scsi_bsg_fc.h
+++ b/original/uapi/scsi/scsi_bsg_fc.h
@@ -3,6 +3,21 @@
  *  FC Transport BSG Interface
  *
  *  Copyright (C) 2008   James Smart, Emulex Corporation
+ *
+ *  This program is free software; you can redistribute it and/or modify
+ *  it under the terms of the GNU General Public License as published by
+ *  the Free Software Foundation; either version 2 of the License, or
+ *  (at your option) any later version.
+ *
+ *  This program is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU General Public License for more details.
+ *
+ *  You should have received a copy of the GNU General Public License
+ *  along with this program; if not, write to the Free Software
+ *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+ *
  */
 
 #ifndef SCSI_BSG_FC_H
diff --git a/original/uapi/scsi/scsi_bsg_ufs.h b/original/uapi/scsi/scsi_bsg_ufs.h
index 9988db6..17c7abd 100644
--- a/original/uapi/scsi/scsi_bsg_ufs.h
+++ b/original/uapi/scsi/scsi_bsg_ufs.h
@@ -1,4 +1,4 @@
-/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
+/* SPDX-License-Identifier: GPL-2.0 */
 /*
  * UFS Transport SGIO v4 BSG Message Support
  *
diff --git a/original/uapi/scsi/scsi_netlink.h b/original/uapi/scsi/scsi_netlink.h
index 5dd3820..5ccc233 100644
--- a/original/uapi/scsi/scsi_netlink.h
+++ b/original/uapi/scsi/scsi_netlink.h
@@ -4,6 +4,21 @@
  *    Used for the posting of outbound SCSI transport events
  *
  *  Copyright (C) 2006   James Smart, Emulex Corporation
+ *
+ *  This program is free software; you can redistribute it and/or modify
+ *  it under the terms of the GNU General Public License as published by
+ *  the Free Software Foundation; either version 2 of the License, or
+ *  (at your option) any later version.
+ *
+ *  This program is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU General Public License for more details.
+ *
+ *  You should have received a copy of the GNU General Public License
+ *  along with this program; if not, write to the Free Software
+ *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+ *
  */
 #ifndef SCSI_NETLINK_H
 #define SCSI_NETLINK_H
diff --git a/original/uapi/scsi/scsi_netlink_fc.h b/original/uapi/scsi/scsi_netlink_fc.h
index a390235..060f563 100644
--- a/original/uapi/scsi/scsi_netlink_fc.h
+++ b/original/uapi/scsi/scsi_netlink_fc.h
@@ -3,6 +3,21 @@
  *  FC Transport Netlink Interface
  *
  *  Copyright (C) 2006   James Smart, Emulex Corporation
+ *
+ *  This program is free software; you can redistribute it and/or modify
+ *  it under the terms of the GNU General Public License as published by
+ *  the Free Software Foundation; either version 2 of the License, or
+ *  (at your option) any later version.
+ *
+ *  This program is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU General Public License for more details.
+ *
+ *  You should have received a copy of the GNU General Public License
+ *  along with this program; if not, write to the Free Software
+ *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+ *
  */
 #ifndef SCSI_NETLINK_FC_H
 #define SCSI_NETLINK_FC_H
diff --git a/original/uapi/sound/asound.h b/original/uapi/sound/asound.h
index df1153c..404d4b9 100644
--- a/original/uapi/sound/asound.h
+++ b/original/uapi/sound/asound.h
@@ -32,7 +32,6 @@
 
 #ifndef __KERNEL__
 #include <stdlib.h>
-#include <time.h>
 #endif
 
 /*
diff --git a/original/uapi/sound/skl-tplg-interface.h b/original/uapi/sound/skl-tplg-interface.h
index 9eee32f..f39352c 100644
--- a/original/uapi/sound/skl-tplg-interface.h
+++ b/original/uapi/sound/skl-tplg-interface.h
@@ -1,4 +1,4 @@
-/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
+/* SPDX-License-Identifier: GPL-2.0 */
 /*
  * skl-tplg-interface.h - Intel DSP FW private data interface
  *
diff --git a/original/uapi/sound/sof/abi.h b/original/uapi/sound/sof/abi.h
deleted file mode 100644
index 4a9c244..0000000
--- a/original/uapi/sound/sof/abi.h
+++ /dev/null
@@ -1,62 +0,0 @@
-/* SPDX-License-Identifier: ((GPL-2.0 WITH Linux-syscall-note) OR BSD-3-Clause) */
-/*
- * This file is provided under a dual BSD/GPLv2 license.  When using or
- * redistributing this file, you may do so under either license.
- *
- * Copyright(c) 2018 Intel Corporation. All rights reserved.
- */
-
-/**
- * SOF ABI versioning is based on Semantic Versioning where we have a given
- * MAJOR.MINOR.PATCH version number. See https://semver.org/
- *
- * Rules for incrementing or changing version :-
- *
- * 1) Increment MAJOR version if you make incompatible API changes. MINOR and
- *    PATCH should be reset to 0.
- *
- * 2) Increment MINOR version if you add backwards compatible features or
- *    changes. PATCH should be reset to 0.
- *
- * 3) Increment PATCH version if you add backwards compatible bug fixes.
- */
-
-#ifndef __INCLUDE_UAPI_SOUND_SOF_ABI_H__
-#define __INCLUDE_UAPI_SOUND_SOF_ABI_H__
-
-/* SOF ABI version major, minor and patch numbers */
-#define SOF_ABI_MAJOR 3
-#define SOF_ABI_MINOR 8
-#define SOF_ABI_PATCH 0
-
-/* SOF ABI version number. Format within 32bit word is MMmmmppp */
-#define SOF_ABI_MAJOR_SHIFT	24
-#define SOF_ABI_MAJOR_MASK	0xff
-#define SOF_ABI_MINOR_SHIFT	12
-#define SOF_ABI_MINOR_MASK	0xfff
-#define SOF_ABI_PATCH_SHIFT	0
-#define SOF_ABI_PATCH_MASK	0xfff
-
-#define SOF_ABI_VER(major, minor, patch) \
-	(((major) << SOF_ABI_MAJOR_SHIFT) | \
-	((minor) << SOF_ABI_MINOR_SHIFT) | \
-	((patch) << SOF_ABI_PATCH_SHIFT))
-
-#define SOF_ABI_VERSION_MAJOR(version) \
-	(((version) >> SOF_ABI_MAJOR_SHIFT) & SOF_ABI_MAJOR_MASK)
-#define SOF_ABI_VERSION_MINOR(version)	\
-	(((version) >> SOF_ABI_MINOR_SHIFT) & SOF_ABI_MINOR_MASK)
-#define SOF_ABI_VERSION_PATCH(version)	\
-	(((version) >> SOF_ABI_PATCH_SHIFT) & SOF_ABI_PATCH_MASK)
-
-#define SOF_ABI_VERSION_INCOMPATIBLE(sof_ver, client_ver)		\
-	(SOF_ABI_VERSION_MAJOR((sof_ver)) !=				\
-		SOF_ABI_VERSION_MAJOR((client_ver))			\
-	)
-
-#define SOF_ABI_VERSION SOF_ABI_VER(SOF_ABI_MAJOR, SOF_ABI_MINOR, SOF_ABI_PATCH)
-
-/* SOF ABI magic number "SOF\0". */
-#define SOF_ABI_MAGIC		0x00464F53
-
-#endif
diff --git a/original/uapi/sound/sof/fw.h b/original/uapi/sound/sof/fw.h
deleted file mode 100644
index e9f6974..0000000
--- a/original/uapi/sound/sof/fw.h
+++ /dev/null
@@ -1,80 +0,0 @@
-/* SPDX-License-Identifier: ((GPL-2.0 WITH Linux-syscall-note) OR BSD-3-Clause) */
-/*
- * This file is provided under a dual BSD/GPLv2 license.  When using or
- * redistributing this file, you may do so under either license.
- *
- * Copyright(c) 2018 Intel Corporation. All rights reserved.
- */
-
-/*
- * Firmware file format .
- */
-
-#ifndef __INCLUDE_UAPI_SOF_FW_H__
-#define __INCLUDE_UAPI_SOF_FW_H__
-
-#include <linux/types.h>
-
-#define SND_SOF_FW_SIG_SIZE	4
-#define SND_SOF_FW_ABI		1
-#define SND_SOF_FW_SIG		"Reef"
-
-/*
- * Firmware module is made up of 1 . N blocks of different types. The
- * Block header is used to determine where and how block is to be copied in the
- * DSP/host memory space.
- */
-enum snd_sof_fw_blk_type {
-	SOF_FW_BLK_TYPE_INVALID	= -1,
-	SOF_FW_BLK_TYPE_START	= 0,
-	SOF_FW_BLK_TYPE_RSRVD0	= SOF_FW_BLK_TYPE_START,
-	SOF_FW_BLK_TYPE_IRAM	= 1,	/* local instruction RAM */
-	SOF_FW_BLK_TYPE_DRAM	= 2,	/* local data RAM */
-	SOF_FW_BLK_TYPE_SRAM	= 3,	/* system RAM */
-	SOF_FW_BLK_TYPE_ROM	= 4,
-	SOF_FW_BLK_TYPE_IMR	= 5,
-	SOF_FW_BLK_TYPE_RSRVD6	= 6,
-	SOF_FW_BLK_TYPE_RSRVD7	= 7,
-	SOF_FW_BLK_TYPE_RSRVD8	= 8,
-	SOF_FW_BLK_TYPE_RSRVD9	= 9,
-	SOF_FW_BLK_TYPE_RSRVD10	= 10,
-	SOF_FW_BLK_TYPE_RSRVD11	= 11,
-	SOF_FW_BLK_TYPE_RSRVD12	= 12,
-	SOF_FW_BLK_TYPE_RSRVD13	= 13,
-	SOF_FW_BLK_TYPE_RSRVD14	= 14,
-	/* use SOF_FW_BLK_TYPE_RSVRDX for new block types */
-	SOF_FW_BLK_TYPE_NUM
-};
-
-struct snd_sof_blk_hdr {
-	enum snd_sof_fw_blk_type type;
-	__u32 size;		/* bytes minus this header */
-	__u32 offset;		/* offset from base */
-} __packed;
-
-/*
- * Firmware file is made up of 1 .. N different modules types. The module
- * type is used to determine how to load and parse the module.
- */
-enum snd_sof_fw_mod_type {
-	SOF_FW_BASE	= 0,	/* base firmware image */
-	SOF_FW_MODULE	= 1,	/* firmware module */
-};
-
-struct snd_sof_mod_hdr {
-	enum snd_sof_fw_mod_type type;
-	__u32 size;		/* bytes minus this header */
-	__u32 num_blocks;	/* number of blocks */
-} __packed;
-
-/*
- * Firmware file header.
- */
-struct snd_sof_fw_header {
-	unsigned char sig[SND_SOF_FW_SIG_SIZE]; /* "Reef" */
-	__u32 file_size;	/* size of file minus this header */
-	__u32 num_modules;	/* number of modules */
-	__u32 abi;		/* version of header format */
-} __packed;
-
-#endif
diff --git a/original/uapi/sound/sof/header.h b/original/uapi/sound/sof/header.h
deleted file mode 100644
index 5f4518e..0000000
--- a/original/uapi/sound/sof/header.h
+++ /dev/null
@@ -1,29 +0,0 @@
-/* SPDX-License-Identifier: ((GPL-2.0 WITH Linux-syscall-note) OR BSD-3-Clause) */
-/*
- * This file is provided under a dual BSD/GPLv2 license.  When using or
- * redistributing this file, you may do so under either license.
- *
- * Copyright(c) 2018 Intel Corporation. All rights reserved.
- */
-
-#ifndef __INCLUDE_UAPI_SOUND_SOF_USER_HEADER_H__
-#define __INCLUDE_UAPI_SOUND_SOF_USER_HEADER_H__
-
-#include <linux/types.h>
-
-/*
- * Header for all non IPC ABI data.
- *
- * Identifies data type, size and ABI.
- * Used by any bespoke component data structures or binary blobs.
- */
-struct sof_abi_hdr {
-	__u32 magic;		/**< 'S', 'O', 'F', '\0' */
-	__u32 type;		/**< component specific type */
-	__u32 size;		/**< size in bytes of data excl. this struct */
-	__u32 abi;		/**< SOF ABI version */
-	__u32 reserved[4];	/**< reserved for future use */
-	__u32 data[0];		/**< Component data - opaque to core */
-}  __packed;
-
-#endif
diff --git a/original/uapi/sound/sof/tokens.h b/original/uapi/sound/sof/tokens.h
deleted file mode 100644
index dc1b27d..0000000
--- a/original/uapi/sound/sof/tokens.h
+++ /dev/null
@@ -1,108 +0,0 @@
-/* SPDX-License-Identifier: ((GPL-2.0 WITH Linux-syscall-note) OR BSD-3-Clause) */
-/*
- * This file is provided under a dual BSD/GPLv2 license.  When using or
- * redistributing this file, you may do so under either license.
- *
- * Copyright(c) 2018 Intel Corporation. All rights reserved.
- * Author: Liam Girdwood <liam.r.girdwood@linux.intel.com>
- *         Keyon Jie <yang.jie@linux.intel.com>
- */
-
-/*
- * Topology IDs and tokens.
- *
- * ** MUST BE ALIGNED WITH TOPOLOGY CONFIGURATION TOKEN VALUES **
- */
-
-#ifndef __INCLUDE_UAPI_SOF_TOPOLOGY_H__
-#define __INCLUDE_UAPI_SOF_TOPOLOGY_H__
-
-/*
- * Kcontrol IDs
- */
-#define SOF_TPLG_KCTL_VOL_ID	256
-#define SOF_TPLG_KCTL_ENUM_ID	257
-#define SOF_TPLG_KCTL_BYTES_ID	258
-#define SOF_TPLG_KCTL_SWITCH_ID	259
-
-/*
- * Tokens - must match values in topology configurations
- */
-
-/* buffers */
-#define SOF_TKN_BUF_SIZE			100
-#define SOF_TKN_BUF_CAPS			101
-
-/* DAI */
-/* Token retired with ABI 3.2, do not use for new capabilities
- * #define	SOF_TKN_DAI_DMAC_CONFIG			153
- */
-#define SOF_TKN_DAI_TYPE			154
-#define SOF_TKN_DAI_INDEX			155
-#define SOF_TKN_DAI_DIRECTION			156
-
-/* scheduling */
-#define SOF_TKN_SCHED_PERIOD			200
-#define SOF_TKN_SCHED_PRIORITY			201
-#define SOF_TKN_SCHED_MIPS			202
-#define SOF_TKN_SCHED_CORE			203
-#define SOF_TKN_SCHED_FRAMES			204
-#define SOF_TKN_SCHED_TIME_DOMAIN		205
-
-/* volume */
-#define SOF_TKN_VOLUME_RAMP_STEP_TYPE		250
-#define SOF_TKN_VOLUME_RAMP_STEP_MS		251
-
-/* SRC */
-#define SOF_TKN_SRC_RATE_IN			300
-#define SOF_TKN_SRC_RATE_OUT			301
-
-/* PCM */
-#define SOF_TKN_PCM_DMAC_CONFIG			353
-
-/* Generic components */
-#define SOF_TKN_COMP_PERIOD_SINK_COUNT		400
-#define SOF_TKN_COMP_PERIOD_SOURCE_COUNT	401
-#define SOF_TKN_COMP_FORMAT			402
-/* Token retired with ABI 3.2, do not use for new capabilities
- * #define SOF_TKN_COMP_PRELOAD_COUNT		403
- */
-
-/* SSP */
-#define SOF_TKN_INTEL_SSP_CLKS_CONTROL		500
-#define SOF_TKN_INTEL_SSP_MCLK_ID		501
-#define SOF_TKN_INTEL_SSP_SAMPLE_BITS		502
-#define SOF_TKN_INTEL_SSP_FRAME_PULSE_WIDTH	503
-#define SOF_TKN_INTEL_SSP_QUIRKS		504
-#define SOF_TKN_INTEL_SSP_TDM_PADDING_PER_SLOT	505
-
-/* DMIC */
-#define SOF_TKN_INTEL_DMIC_DRIVER_VERSION	600
-#define SOF_TKN_INTEL_DMIC_CLK_MIN		601
-#define SOF_TKN_INTEL_DMIC_CLK_MAX		602
-#define SOF_TKN_INTEL_DMIC_DUTY_MIN		603
-#define SOF_TKN_INTEL_DMIC_DUTY_MAX		604
-#define SOF_TKN_INTEL_DMIC_NUM_PDM_ACTIVE	605
-#define SOF_TKN_INTEL_DMIC_SAMPLE_RATE		608
-#define SOF_TKN_INTEL_DMIC_FIFO_WORD_LENGTH	609
-#define SOF_TKN_INTEL_DMIC_UNMUTE_RAMP_TIME_MS  610
-
-/* DMIC PDM */
-#define SOF_TKN_INTEL_DMIC_PDM_CTRL_ID		700
-#define SOF_TKN_INTEL_DMIC_PDM_MIC_A_Enable	701
-#define SOF_TKN_INTEL_DMIC_PDM_MIC_B_Enable	702
-#define SOF_TKN_INTEL_DMIC_PDM_POLARITY_A	703
-#define SOF_TKN_INTEL_DMIC_PDM_POLARITY_B	704
-#define SOF_TKN_INTEL_DMIC_PDM_CLK_EDGE		705
-#define SOF_TKN_INTEL_DMIC_PDM_SKEW		706
-
-/* Tone */
-#define SOF_TKN_TONE_SAMPLE_RATE		800
-
-/* Processing Components */
-#define SOF_TKN_PROCESS_TYPE                    900
-
-/* for backward compatibility */
-#define SOF_TKN_EFFECT_TYPE	SOF_TKN_PROCESS_TYPE
-
-#endif