Add the rt linux 4.1.3-rt3 as base
[kvmfornfv.git] / kernel / drivers / net / ethernet / myricom / myri10ge / myri10ge_mcp_gen_header.h
diff --git a/kernel/drivers/net/ethernet/myricom/myri10ge/myri10ge_mcp_gen_header.h b/kernel/drivers/net/ethernet/myricom/myri10ge/myri10ge_mcp_gen_header.h
new file mode 100644 (file)
index 0000000..75ec5e7
--- /dev/null
@@ -0,0 +1,60 @@
+#ifndef __MYRI10GE_MCP_GEN_HEADER_H__
+#define __MYRI10GE_MCP_GEN_HEADER_H__
+
+
+#define MCP_HEADER_PTR_OFFSET  0x3c
+
+#define MCP_TYPE_MX 0x4d582020 /* "MX  " */
+#define MCP_TYPE_PCIE 0x70636965       /* "PCIE" pcie-only MCP */
+#define MCP_TYPE_ETH 0x45544820        /* "ETH " */
+#define MCP_TYPE_MCP0 0x4d435030       /* "MCP0" */
+#define MCP_TYPE_DFLT 0x20202020       /* "    " */
+#define MCP_TYPE_ETHZ 0x4554485a       /* "ETHZ" */
+
+struct mcp_gen_header {
+       /* the first 4 fields are filled at compile time */
+       unsigned header_length;
+       __be32 mcp_type;
+       char version[128];
+       unsigned mcp_private;   /* pointer to mcp-type specific structure */
+
+       /* filled by the MCP at run-time */
+       unsigned sram_size;
+       unsigned string_specs;  /* either the original STRING_SPECS or a superset */
+       unsigned string_specs_len;
+
+       /* Fields above this comment are guaranteed to be present.
+        *
+        * Fields below this comment are extensions added in later versions
+        * of this struct, drivers should compare the header_length against
+        * offsetof(field) to check whether a given MCP implements them.
+        *
+        * Never remove any field.  Keep everything naturally align.
+        */
+
+       /* Specifies if the running mcp is mcp0, 1, or 2. */
+       unsigned char mcp_index;
+       unsigned char disable_rabbit;
+       unsigned char unaligned_tlp;
+       unsigned char pcie_link_algo;
+       unsigned counters_addr;
+       unsigned copy_block_info;       /* for small mcps loaded with "lload -d" */
+       unsigned short handoff_id_major;        /* must be equal */
+       unsigned short handoff_id_caps; /* bitfield: new mcp must have superset */
+       unsigned msix_table_addr;       /* start address of msix table in firmware */
+       unsigned bss_addr;      /* start of bss */
+       unsigned features;
+       unsigned ee_hdr_addr;
+       unsigned led_pattern;
+       unsigned led_pattern_dflt;
+       /* 8 */
+};
+
+struct zmcp_info {
+       unsigned info_len;
+       unsigned zmcp_addr;
+       unsigned zmcp_len;
+       unsigned mcp_edata;
+};
+
+#endif                         /* __MYRI10GE_MCP_GEN_HEADER_H__ */