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/scsi/fc/fc_els.h b/libc/kernel/uapi/scsi/fc/fc_els.h
index 1cabadd..843bc4e 100644
--- a/libc/kernel/uapi/scsi/fc/fc_els.h
+++ b/libc/kernel/uapi/scsi/fc/fc_els.h
@@ -19,6 +19,7 @@
 #ifndef _FC_ELS_H_
 #define _FC_ELS_H_
 #include <linux/types.h>
+#include <asm/byteorder.h>
 enum fc_els_cmd {
   ELS_LS_RJT = 0x01,
   ELS_LS_ACC = 0x02,
@@ -41,6 +42,7 @@
   ELS_REC = 0x13,
   ELS_SRR = 0x14,
   ELS_FPIN = 0x16,
+  ELS_RDF = 0x19,
   ELS_PRLI = 0x20,
   ELS_PRLO = 0x21,
   ELS_SCN = 0x22,
@@ -82,7 +84,7 @@
   ELS_LKA = 0x80,
   ELS_AUTH_ELS = 0x90,
 };
-#define FC_ELS_CMDS_INIT {[ELS_LS_RJT] = "LS_RJT",[ELS_LS_ACC] = "LS_ACC",[ELS_PLOGI] = "PLOGI",[ELS_FLOGI] = "FLOGI",[ELS_LOGO] = "LOGO",[ELS_ABTX] = "ABTX",[ELS_RCS] = "RCS",[ELS_RES] = "RES",[ELS_RSS] = "RSS",[ELS_RSI] = "RSI",[ELS_ESTS] = "ESTS",[ELS_ESTC] = "ESTC",[ELS_ADVC] = "ADVC",[ELS_RTV] = "RTV",[ELS_RLS] = "RLS",[ELS_ECHO] = "ECHO",[ELS_TEST] = "TEST",[ELS_RRQ] = "RRQ",[ELS_REC] = "REC",[ELS_SRR] = "SRR",[ELS_FPIN] = "FPIN",[ELS_PRLI] = "PRLI",[ELS_PRLO] = "PRLO",[ELS_SCN] = "SCN",[ELS_TPLS] = "TPLS",[ELS_TPRLO] = "TPRLO",[ELS_LCLM] = "LCLM",[ELS_GAID] = "GAID",[ELS_FACT] = "FACT",[ELS_FDACDT] = "FDACDT",[ELS_NACT] = "NACT",[ELS_NDACT] = "NDACT",[ELS_QOSR] = "QOSR",[ELS_RVCS] = "RVCS",[ELS_PDISC] = "PDISC",[ELS_FDISC] = "FDISC",[ELS_ADISC] = "ADISC",[ELS_RNC] = "RNC",[ELS_FARP_REQ] = "FARP_REQ",[ELS_FARP_REPL] = "FARP_REPL",[ELS_RPS] = "RPS",[ELS_RPL] = "RPL",[ELS_RPBC] = "RPBC",[ELS_FAN] = "FAN",[ELS_RSCN] = "RSCN",[ELS_SCR] = "SCR",[ELS_RNFT] = "RNFT",[ELS_CSR] = "CSR",[ELS_CSU] = "CSU",[ELS_LINIT] = "LINIT",[ELS_LSTS] = "LSTS",[ELS_RNID] = "RNID",[ELS_RLIR] = "RLIR",[ELS_LIRR] = "LIRR",[ELS_SRL] = "SRL",[ELS_SBRP] = "SBRP",[ELS_RPSC] = "RPSC",[ELS_QSA] = "QSA",[ELS_EVFP] = "EVFP",[ELS_LKA] = "LKA",[ELS_AUTH_ELS] = "AUTH_ELS", \
+#define FC_ELS_CMDS_INIT {[ELS_LS_RJT] = "LS_RJT",[ELS_LS_ACC] = "LS_ACC",[ELS_PLOGI] = "PLOGI",[ELS_FLOGI] = "FLOGI",[ELS_LOGO] = "LOGO",[ELS_ABTX] = "ABTX",[ELS_RCS] = "RCS",[ELS_RES] = "RES",[ELS_RSS] = "RSS",[ELS_RSI] = "RSI",[ELS_ESTS] = "ESTS",[ELS_ESTC] = "ESTC",[ELS_ADVC] = "ADVC",[ELS_RTV] = "RTV",[ELS_RLS] = "RLS",[ELS_ECHO] = "ECHO",[ELS_TEST] = "TEST",[ELS_RRQ] = "RRQ",[ELS_REC] = "REC",[ELS_SRR] = "SRR",[ELS_FPIN] = "FPIN",[ELS_RDF] = "RDF",[ELS_PRLI] = "PRLI",[ELS_PRLO] = "PRLO",[ELS_SCN] = "SCN",[ELS_TPLS] = "TPLS",[ELS_TPRLO] = "TPRLO",[ELS_LCLM] = "LCLM",[ELS_GAID] = "GAID",[ELS_FACT] = "FACT",[ELS_FDACDT] = "FDACDT",[ELS_NACT] = "NACT",[ELS_NDACT] = "NDACT",[ELS_QOSR] = "QOSR",[ELS_RVCS] = "RVCS",[ELS_PDISC] = "PDISC",[ELS_FDISC] = "FDISC",[ELS_ADISC] = "ADISC",[ELS_RNC] = "RNC",[ELS_FARP_REQ] = "FARP_REQ",[ELS_FARP_REPL] = "FARP_REPL",[ELS_RPS] = "RPS",[ELS_RPL] = "RPL",[ELS_RPBC] = "RPBC",[ELS_FAN] = "FAN",[ELS_RSCN] = "RSCN",[ELS_SCR] = "SCR",[ELS_RNFT] = "RNFT",[ELS_CSR] = "CSR",[ELS_CSU] = "CSU",[ELS_LINIT] = "LINIT",[ELS_LSTS] = "LSTS",[ELS_RNID] = "RNID",[ELS_RLIR] = "RLIR",[ELS_LIRR] = "LIRR",[ELS_SRL] = "SRL",[ELS_SBRP] = "SBRP",[ELS_RPSC] = "RPSC",[ELS_QSA] = "QSA",[ELS_EVFP] = "EVFP",[ELS_LKA] = "LKA",[ELS_AUTH_ELS] = "AUTH_ELS", \
 }
 struct fc_els_ls_acc {
   __u8 la_cmd;
@@ -123,6 +125,32 @@
   ELS_EXPL_INV_LEN = 0x2d,
   ELS_EXPL_NOT_NEIGHBOR = 0x62,
 };
+enum fc_ls_tlv_dtag {
+  ELS_DTAG_LS_REQ_INFO = 0x00000001,
+  ELS_DTAG_LNK_INTEGRITY = 0x00020001,
+  ELS_DTAG_DELIVERY = 0x00020002,
+  ELS_DTAG_PEER_CONGEST = 0x00020003,
+  ELS_DTAG_CONGESTION = 0x00020004,
+  ELS_DTAG_FPIN_REGISTER = 0x00030001,
+};
+#define FC_LS_TLV_DTAG_INIT { { ELS_DTAG_LS_REQ_INFO, "Link Service Request Information" }, { ELS_DTAG_LNK_INTEGRITY, "Link Integrity Notification" }, { ELS_DTAG_DELIVERY, "Delivery Notification Present" }, { ELS_DTAG_PEER_CONGEST, "Peer Congestion Notification" }, { ELS_DTAG_CONGESTION, "Congestion Notification" }, { ELS_DTAG_FPIN_REGISTER, "FPIN Registration" }, \
+}
+struct fc_tlv_desc {
+  __be32 desc_tag;
+  __be32 desc_len;
+  __u8 desc_value[0];
+};
+#define FC_TLV_DESC_HDR_SZ sizeof(struct fc_tlv_desc)
+#define FC_TLV_DESC_LENGTH_FROM_SZ(desc) (sizeof(desc) - FC_TLV_DESC_HDR_SZ)
+#define FC_TLV_DESC_SZ_FROM_LENGTH(tlv) (__be32_to_cpu((tlv)->desc_len) + FC_TLV_DESC_HDR_SZ)
+struct fc_els_lsri_desc {
+  __be32 desc_tag;
+  __be32 desc_len;
+  struct {
+    __u8 cmd;
+    __u8 bytes[3];
+  } rqst_w0;
+};
 struct fc_els_csp {
   __u8 sp_hi_ver;
   __u8 sp_lo_ver;
@@ -543,20 +571,52 @@
   ELS_CLID_IC_LOOP_TO = 7,
   ELS_CLID_IC_LIP = 8,
 };
-enum fc_fn_dtag {
-  ELS_FN_DTAG_LNK_INTEGRITY = 0x00020001,
-  ELS_FN_DTAG_PEER_CONGEST = 0x00020003,
-  ELS_FN_DTAG_CONGESTION = 0x00020004,
+enum fc_fpin_li_event_types {
+  FPIN_LI_UNKNOWN = 0x0,
+  FPIN_LI_LINK_FAILURE = 0x1,
+  FPIN_LI_LOSS_OF_SYNC = 0x2,
+  FPIN_LI_LOSS_OF_SIG = 0x3,
+  FPIN_LI_PRIM_SEQ_ERR = 0x4,
+  FPIN_LI_INVALID_TX_WD = 0x5,
+  FPIN_LI_INVALID_CRC = 0x6,
+  FPIN_LI_DEVICE_SPEC = 0xF,
 };
-struct fc_fn_desc {
-  __be32 fn_desc_tag;
-  __be32 fn_desc_value_len;
-  __u8 fn_desc_value[0];
+#define FC_FPIN_LI_EVT_TYPES_INIT { { FPIN_LI_UNKNOWN, "Unknown" }, { FPIN_LI_LINK_FAILURE, "Link Failure" }, { FPIN_LI_LOSS_OF_SYNC, "Loss of Synchronization" }, { FPIN_LI_LOSS_OF_SIG, "Loss of Signal" }, { FPIN_LI_PRIM_SEQ_ERR, "Primitive Sequence Protocol Error" }, { FPIN_LI_INVALID_TX_WD, "Invalid Transmission Word" }, { FPIN_LI_INVALID_CRC, "Invalid CRC" }, { FPIN_LI_DEVICE_SPEC, "Device Specific" }, \
+}
+struct fc_fn_li_desc {
+  __be32 desc_tag;
+  __be32 desc_len;
+  __be64 detecting_wwpn;
+  __be64 attached_wwpn;
+  __be16 event_type;
+  __be16 event_modifier;
+  __be32 event_threshold;
+  __be32 event_count;
+  __be32 pname_count;
+  __be64 pname_list[0];
 };
 struct fc_els_fpin {
   __u8 fpin_cmd;
   __u8 fpin_zero[3];
-  __be32 fpin_desc_cnt;
-  struct fc_fn_desc fpin_desc[0];
+  __be32 desc_len;
+  struct fc_tlv_desc fpin_desc[0];
+};
+struct fc_df_desc_fpin_reg {
+  __be32 desc_tag;
+  __be32 desc_len;
+  __be32 count;
+  __be32 desc_tags[0];
+};
+struct fc_els_rdf {
+  __u8 fpin_cmd;
+  __u8 fpin_zero[3];
+  __be32 desc_len;
+  struct fc_tlv_desc desc[0];
+};
+struct fc_els_rdf_resp {
+  struct fc_els_ls_acc acc_hdr;
+  __be32 desc_list_len;
+  struct fc_els_lsri_desc lsri;
+  struct fc_tlv_desc desc[0];
 };
 #endif