Update to v5.5 kernel headers.

Kernel headers coming from:

Git: https://android.googlesource.com/kernel/common/
Branch: android-mainline
Tag: android-mainline-5.5

Test: Boots on walleye.
Test: Ran bionic-unit-tests on walleye.
Test: Boots on cuttlefish.
Test: Ran bionic-unit-tests on cuttlefish.
Change-Id: I57387d3c31e0ba5ad125ffe291cecf365c7b374e
Merged-In: I57387d3c31e0ba5ad125ffe291cecf365c7b374e
diff --git a/libc/kernel/uapi/rdma/cxgb3-abi.h b/libc/kernel/uapi/rdma/cxgb3-abi.h
deleted file mode 100644
index 205d748..0000000
--- a/libc/kernel/uapi/rdma/cxgb3-abi.h
+++ /dev/null
@@ -1,52 +0,0 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
-#ifndef CXGB3_ABI_USER_H
-#define CXGB3_ABI_USER_H
-#include <linux/types.h>
-#define IWCH_UVERBS_ABI_VERSION 1
-struct iwch_create_cq_req {
-  __aligned_u64 user_rptr_addr;
-};
-struct iwch_create_cq_resp_v0 {
-  __aligned_u64 key;
-  __u32 cqid;
-  __u32 size_log2;
-};
-struct iwch_create_cq_resp {
-  __aligned_u64 key;
-  __u32 cqid;
-  __u32 size_log2;
-  __u32 memsize;
-  __u32 reserved;
-};
-struct iwch_create_qp_resp {
-  __aligned_u64 key;
-  __aligned_u64 db_key;
-  __u32 qpid;
-  __u32 size_log2;
-  __u32 sq_size_log2;
-  __u32 rq_size_log2;
-};
-struct iwch_reg_user_mr_resp {
-  __u32 pbl_addr;
-};
-struct iwch_alloc_pd_resp {
-  __u32 pdid;
-};
-#endif
diff --git a/libc/kernel/uapi/rdma/efa-abi.h b/libc/kernel/uapi/rdma/efa-abi.h
index 1445c9c..39fd55b 100644
--- a/libc/kernel/uapi/rdma/efa-abi.h
+++ b/libc/kernel/uapi/rdma/efa-abi.h
@@ -78,11 +78,16 @@
   __u16 efa_address_handle;
   __u8 reserved_30[2];
 };
+enum {
+  EFA_QUERY_DEVICE_CAPS_RDMA_READ = 1 << 0,
+};
 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;
+  __u32 max_rdma_size;
+  __u32 device_caps;
 };
 #endif
diff --git a/libc/kernel/uapi/rdma/ib_user_ioctl_verbs.h b/libc/kernel/uapi/rdma/ib_user_ioctl_verbs.h
index 47a548e..1394ed7 100644
--- a/libc/kernel/uapi/rdma/ib_user_ioctl_verbs.h
+++ b/libc/kernel/uapi/rdma/ib_user_ioctl_verbs.h
@@ -125,4 +125,25 @@
   __u16 port_cap_flags2;
   __u8 reserved[6];
 };
+enum rdma_driver_id {
+  RDMA_DRIVER_UNKNOWN,
+  RDMA_DRIVER_MLX5,
+  RDMA_DRIVER_MLX4,
+  RDMA_DRIVER_CXGB3,
+  RDMA_DRIVER_CXGB4,
+  RDMA_DRIVER_MTHCA,
+  RDMA_DRIVER_BNXT_RE,
+  RDMA_DRIVER_OCRDMA,
+  RDMA_DRIVER_NES,
+  RDMA_DRIVER_I40IW,
+  RDMA_DRIVER_VMW_PVRDMA,
+  RDMA_DRIVER_QEDR,
+  RDMA_DRIVER_HNS,
+  RDMA_DRIVER_USNIC,
+  RDMA_DRIVER_RXE,
+  RDMA_DRIVER_HFI1,
+  RDMA_DRIVER_QIB,
+  RDMA_DRIVER_EFA,
+  RDMA_DRIVER_SIW,
+};
 #endif
diff --git a/libc/kernel/uapi/rdma/mlx5_user_ioctl_cmds.h b/libc/kernel/uapi/rdma/mlx5_user_ioctl_cmds.h
index dcd281a..1cd3339 100644
--- a/libc/kernel/uapi/rdma/mlx5_user_ioctl_cmds.h
+++ b/libc/kernel/uapi/rdma/mlx5_user_ioctl_cmds.h
@@ -154,6 +154,7 @@
   MLX5_IB_ATTR_CREATE_FLOW_ARR_FLOW_ACTIONS,
   MLX5_IB_ATTR_CREATE_FLOW_TAG,
   MLX5_IB_ATTR_CREATE_FLOW_ARR_COUNTERS_DEVX,
+  MLX5_IB_ATTR_CREATE_FLOW_ARR_COUNTERS_DEVX_OFFSET,
 };
 enum mlx5_ib_destoy_flow_attrs {
   MLX5_IB_ATTR_DESTROY_FLOW_HANDLE = (1U << UVERBS_ID_NS_SHIFT),
diff --git a/libc/kernel/uapi/rdma/nes-abi.h b/libc/kernel/uapi/rdma/nes-abi.h
deleted file mode 100644
index 724852e..0000000
--- a/libc/kernel/uapi/rdma/nes-abi.h
+++ /dev/null
@@ -1,76 +0,0 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
-#ifndef NES_ABI_USER_H
-#define NES_ABI_USER_H
-#include <linux/types.h>
-#define NES_ABI_USERSPACE_VER 2
-#define NES_ABI_KERNEL_VER 2
-struct nes_alloc_ucontext_req {
-  __u32 reserved32;
-  __u8 userspace_ver;
-  __u8 reserved8[3];
-};
-struct nes_alloc_ucontext_resp {
-  __u32 max_pds;
-  __u32 max_qps;
-  __u32 wq_size;
-  __u8 virtwq;
-  __u8 kernel_ver;
-  __u8 reserved[2];
-};
-struct nes_alloc_pd_resp {
-  __u32 pd_id;
-  __u32 mmap_db_index;
-};
-struct nes_create_cq_req {
-  __aligned_u64 user_cq_buffer;
-  __u32 mcrqf;
-  __u8 reserved[4];
-};
-struct nes_create_qp_req {
-  __aligned_u64 user_wqe_buffers;
-  __aligned_u64 user_qp_buffer;
-};
-enum iwnes_memreg_type {
-  IWNES_MEMREG_TYPE_MEM = 0x0000,
-  IWNES_MEMREG_TYPE_QP = 0x0001,
-  IWNES_MEMREG_TYPE_CQ = 0x0002,
-  IWNES_MEMREG_TYPE_MW = 0x0003,
-  IWNES_MEMREG_TYPE_FMR = 0x0004,
-  IWNES_MEMREG_TYPE_FMEM = 0x0005,
-};
-struct nes_mem_reg_req {
-  __u32 reg_type;
-  __u32 reserved;
-};
-struct nes_create_cq_resp {
-  __u32 cq_id;
-  __u32 cq_size;
-  __u32 mmap_db_index;
-  __u32 reserved;
-};
-struct nes_create_qp_resp {
-  __u32 qp_id;
-  __u32 actual_sq_size;
-  __u32 actual_rq_size;
-  __u32 mmap_sq_db_index;
-  __u32 mmap_rq_db_index;
-  __u32 nes_drv_opt;
-};
-#endif
diff --git a/libc/kernel/uapi/rdma/qedr-abi.h b/libc/kernel/uapi/rdma/qedr-abi.h
index 57ad827..fd96309 100644
--- a/libc/kernel/uapi/rdma/qedr-abi.h
+++ b/libc/kernel/uapi/rdma/qedr-abi.h
@@ -20,6 +20,14 @@
 #define __QEDR_USER_H__
 #include <linux/types.h>
 #define QEDR_ABI_VERSION (8)
+enum qedr_alloc_ucontext_flags {
+  QEDR_ALLOC_UCTX_RESERVED = 1 << 0,
+  QEDR_ALLOC_UCTX_DB_REC = 1 << 1
+};
+struct qedr_alloc_ucontext_req {
+  __u32 context_flags;
+  __u32 reserved;
+};
 struct qedr_alloc_ucontext_resp {
   __aligned_u64 db_pa;
   __u32 db_size;
@@ -50,6 +58,7 @@
   __u32 db_offset;
   __u16 icid;
   __u16 reserved;
+  __aligned_u64 db_rec_addr;
 };
 struct qedr_create_qp_ureq {
   __u32 qp_handle_hi;
@@ -68,6 +77,8 @@
   __u16 rq_icid;
   __u32 rq_db2_offset;
   __u32 reserved;
+  __aligned_u64 sq_db_rec_addr;
+  __aligned_u64 rq_db_rec_addr;
 };
 struct qedr_create_srq_ureq {
   __aligned_u64 prod_pair_addr;
@@ -79,4 +90,7 @@
   __u16 reserved0;
   __u32 reserved1;
 };
+struct qedr_user_db_rec {
+  __aligned_u64 db_data;
+};
 #endif
diff --git a/libc/kernel/uapi/rdma/rdma_user_ioctl_cmds.h b/libc/kernel/uapi/rdma/rdma_user_ioctl_cmds.h
index b779bc8..22adfaa 100644
--- a/libc/kernel/uapi/rdma/rdma_user_ioctl_cmds.h
+++ b/libc/kernel/uapi/rdma/rdma_user_ioctl_cmds.h
@@ -52,25 +52,4 @@
   __u32 reserved2;
   struct ib_uverbs_attr attrs[0];
 };
-enum rdma_driver_id {
-  RDMA_DRIVER_UNKNOWN,
-  RDMA_DRIVER_MLX5,
-  RDMA_DRIVER_MLX4,
-  RDMA_DRIVER_CXGB3,
-  RDMA_DRIVER_CXGB4,
-  RDMA_DRIVER_MTHCA,
-  RDMA_DRIVER_BNXT_RE,
-  RDMA_DRIVER_OCRDMA,
-  RDMA_DRIVER_NES,
-  RDMA_DRIVER_I40IW,
-  RDMA_DRIVER_VMW_PVRDMA,
-  RDMA_DRIVER_QEDR,
-  RDMA_DRIVER_HNS,
-  RDMA_DRIVER_USNIC,
-  RDMA_DRIVER_RXE,
-  RDMA_DRIVER_HFI1,
-  RDMA_DRIVER_QIB,
-  RDMA_DRIVER_EFA,
-  RDMA_DRIVER_SIW,
-};
 #endif
diff --git a/libc/kernel/uapi/rdma/vmw_pvrdma-abi.h b/libc/kernel/uapi/rdma/vmw_pvrdma-abi.h
index fc86778..3b86798 100644
--- a/libc/kernel/uapi/rdma/vmw_pvrdma-abi.h
+++ b/libc/kernel/uapi/rdma/vmw_pvrdma-abi.h
@@ -136,6 +136,10 @@
   __u32 sbuf_size;
   __aligned_u64 qp_addr;
 };
+struct pvrdma_create_qp_resp {
+  __u32 qpn;
+  __u32 qp_handle;
+};
 struct pvrdma_ex_cmp_swap {
   __aligned_u64 swap_val;
   __aligned_u64 compare_val;