Update to v5.7 kernel headers.

Kernel headers coming from:

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

Update the generate_uapi_headers.sh where the types.h file is now in
the right place, but kvm.h is not.

Test: Booted cuttlefish/bonito.
Test: Ran bionic-unit-tests on cuttlefish/bonito.
Change-Id: Ice9ce370a658e320b80f564b34a4431927fcf100
diff --git a/libc/kernel/uapi/linux/io_uring.h b/libc/kernel/uapi/linux/io_uring.h
index 5885312..ef3ee51 100644
--- a/libc/kernel/uapi/linux/io_uring.h
+++ b/libc/kernel/uapi/linux/io_uring.h
@@ -29,7 +29,10 @@
     __u64 off;
     __u64 addr2;
   };
-  __u64 addr;
+  union {
+    __u64 addr;
+    __u64 splice_off_in;
+  };
   __u32 len;
   union {
     __kernel_rwf_t rw_flags;
@@ -43,12 +46,17 @@
     __u32 open_flags;
     __u32 statx_flags;
     __u32 fadvise_advice;
+    __u32 splice_flags;
   };
   __u64 user_data;
   union {
     struct {
-      __u16 buf_index;
+      union {
+        __u16 buf_index;
+        __u16 buf_group;
+      } __attribute__((packed));
       __u16 personality;
+      __s32 splice_fd_in;
     };
     __u64 __pad2[3];
   };
@@ -59,12 +67,14 @@
   IOSQE_IO_LINK_BIT,
   IOSQE_IO_HARDLINK_BIT,
   IOSQE_ASYNC_BIT,
+  IOSQE_BUFFER_SELECT_BIT,
 };
 #define IOSQE_FIXED_FILE (1U << IOSQE_FIXED_FILE_BIT)
 #define IOSQE_IO_DRAIN (1U << IOSQE_IO_DRAIN_BIT)
 #define IOSQE_IO_LINK (1U << IOSQE_IO_LINK_BIT)
 #define IOSQE_IO_HARDLINK (1U << IOSQE_IO_HARDLINK_BIT)
 #define IOSQE_ASYNC (1U << IOSQE_ASYNC_BIT)
+#define IOSQE_BUFFER_SELECT (1U << IOSQE_BUFFER_SELECT_BIT)
 #define IORING_SETUP_IOPOLL (1U << 0)
 #define IORING_SETUP_SQPOLL (1U << 1)
 #define IORING_SETUP_SQ_AFF (1U << 2)
@@ -102,15 +112,23 @@
   IORING_OP_RECV,
   IORING_OP_OPENAT2,
   IORING_OP_EPOLL_CTL,
+  IORING_OP_SPLICE,
+  IORING_OP_PROVIDE_BUFFERS,
+  IORING_OP_REMOVE_BUFFERS,
   IORING_OP_LAST,
 };
 #define IORING_FSYNC_DATASYNC (1U << 0)
 #define IORING_TIMEOUT_ABS (1U << 0)
+#define SPLICE_F_FD_IN_FIXED (1U << 31)
 struct io_uring_cqe {
   __u64 user_data;
   __s32 res;
   __u32 flags;
 };
+#define IORING_CQE_F_BUFFER (1U << 0)
+enum {
+  IORING_CQE_BUFFER_SHIFT = 16,
+};
 #define IORING_OFF_SQ_RING 0ULL
 #define IORING_OFF_CQ_RING 0x8000000ULL
 #define IORING_OFF_SQES 0x10000000ULL
@@ -154,6 +172,7 @@
 #define IORING_FEAT_SUBMIT_STABLE (1U << 2)
 #define IORING_FEAT_RW_CUR_POS (1U << 3)
 #define IORING_FEAT_CUR_PERSONALITY (1U << 4)
+#define IORING_FEAT_FAST_POLL (1U << 5)
 #define IORING_REGISTER_BUFFERS 0
 #define IORING_UNREGISTER_BUFFERS 1
 #define IORING_REGISTER_FILES 2