cachepc-linux

Fork of AMDESE/linux with modifications for CachePC side-channel attack
git clone https://git.sinitax.com/sinitax/cachepc-linux
Log | Files | Refs | README | LICENSE | sfeed.txt

myri10ge_mcp_gen_header.h (1923B)


      1/* SPDX-License-Identifier: GPL-2.0 */
      2#ifndef __MYRI10GE_MCP_GEN_HEADER_H__
      3#define __MYRI10GE_MCP_GEN_HEADER_H__
      4
      5
      6#define MCP_HEADER_PTR_OFFSET  0x3c
      7
      8#define MCP_TYPE_MX 0x4d582020	/* "MX  " */
      9#define MCP_TYPE_PCIE 0x70636965	/* "PCIE" pcie-only MCP */
     10#define MCP_TYPE_ETH 0x45544820	/* "ETH " */
     11#define MCP_TYPE_MCP0 0x4d435030	/* "MCP0" */
     12#define MCP_TYPE_DFLT 0x20202020	/* "    " */
     13#define MCP_TYPE_ETHZ 0x4554485a	/* "ETHZ" */
     14
     15struct mcp_gen_header {
     16	/* the first 4 fields are filled at compile time */
     17	unsigned header_length;
     18	__be32 mcp_type;
     19	char version[128];
     20	unsigned mcp_private;	/* pointer to mcp-type specific structure */
     21
     22	/* filled by the MCP at run-time */
     23	unsigned sram_size;
     24	unsigned string_specs;	/* either the original STRING_SPECS or a superset */
     25	unsigned string_specs_len;
     26
     27	/* Fields above this comment are guaranteed to be present.
     28	 *
     29	 * Fields below this comment are extensions added in later versions
     30	 * of this struct, drivers should compare the header_length against
     31	 * offsetof(field) to check whether a given MCP implements them.
     32	 *
     33	 * Never remove any field.  Keep everything naturally align.
     34	 */
     35
     36	/* Specifies if the running mcp is mcp0, 1, or 2. */
     37	unsigned char mcp_index;
     38	unsigned char disable_rabbit;
     39	unsigned char unaligned_tlp;
     40	unsigned char pcie_link_algo;
     41	unsigned counters_addr;
     42	unsigned copy_block_info;	/* for small mcps loaded with "lload -d" */
     43	unsigned short handoff_id_major;	/* must be equal */
     44	unsigned short handoff_id_caps;	/* bitfield: new mcp must have superset */
     45	unsigned msix_table_addr;	/* start address of msix table in firmware */
     46	unsigned bss_addr;	/* start of bss */
     47	unsigned features;
     48	unsigned ee_hdr_addr;
     49	unsigned led_pattern;
     50	unsigned led_pattern_dflt;
     51	/* 8 */
     52};
     53
     54struct zmcp_info {
     55	unsigned info_len;
     56	unsigned zmcp_addr;
     57	unsigned zmcp_len;
     58	unsigned mcp_edata;
     59};
     60
     61#endif				/* __MYRI10GE_MCP_GEN_HEADER_H__ */