⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 e1000_hw.h

📁 xen虚拟机源代码安装包
💻 H
📖 第 1 页 / 共 4 页
字号:
#define EEPROM_COMPAT                 0x0003#define EEPROM_ID_LED_SETTINGS        0x0004#define EEPROM_VERSION                0x0005#define EEPROM_SERDES_AMPLITUDE       0x0006 /* For SERDES output amplitude adjustment. */#define EEPROM_PHY_CLASS_WORD         0x0007#define EEPROM_INIT_CONTROL1_REG      0x000A#define EEPROM_INIT_CONTROL2_REG      0x000F#define EEPROM_SWDEF_PINS_CTRL_PORT_1 0x0010#define EEPROM_INIT_CONTROL3_PORT_B   0x0014#define EEPROM_INIT_3GIO_3            0x001A#define EEPROM_SWDEF_PINS_CTRL_PORT_0 0x0020#define EEPROM_INIT_CONTROL3_PORT_A   0x0024#define EEPROM_CFG                    0x0012#define EEPROM_FLASH_VERSION          0x0032#define EEPROM_CHECKSUM_REG           0x003F#define E1000_EEPROM_CFG_DONE         0x00040000   /* MNG config cycle done */#define E1000_EEPROM_CFG_DONE_PORT_1  0x00080000   /* ...for second port *//* Transmit Descriptor */struct e1000_tx_desc {    uint64_t buffer_addr;       /* Address of the descriptor's data buffer */    union {        uint32_t data;        struct {            uint16_t length;    /* Data buffer length */            uint8_t cso;        /* Checksum offset */            uint8_t cmd;        /* Descriptor control */        } flags;    } lower;    union {        uint32_t data;        struct {            uint8_t status;     /* Descriptor status */            uint8_t css;        /* Checksum start */            uint16_t special;        } fields;    } upper;};/* Transmit Descriptor bit definitions */#define E1000_TXD_DTYP_D     0x00100000 /* Data Descriptor */#define E1000_TXD_DTYP_C     0x00000000 /* Context Descriptor */#define E1000_TXD_POPTS_IXSM 0x01       /* Insert IP checksum */#define E1000_TXD_POPTS_TXSM 0x02       /* Insert TCP/UDP checksum */#define E1000_TXD_CMD_EOP    0x01000000 /* End of Packet */#define E1000_TXD_CMD_IFCS   0x02000000 /* Insert FCS (Ethernet CRC) */#define E1000_TXD_CMD_IC     0x04000000 /* Insert Checksum */#define E1000_TXD_CMD_RS     0x08000000 /* Report Status */#define E1000_TXD_CMD_RPS    0x10000000 /* Report Packet Sent */#define E1000_TXD_CMD_DEXT   0x20000000 /* Descriptor extension (0 = legacy) */#define E1000_TXD_CMD_VLE    0x40000000 /* Add VLAN tag */#define E1000_TXD_CMD_IDE    0x80000000 /* Enable Tidv register */#define E1000_TXD_STAT_DD    0x00000001 /* Descriptor Done */#define E1000_TXD_STAT_EC    0x00000002 /* Excess Collisions */#define E1000_TXD_STAT_LC    0x00000004 /* Late Collisions */#define E1000_TXD_STAT_TU    0x00000008 /* Transmit underrun */#define E1000_TXD_CMD_TCP    0x01000000 /* TCP packet */#define E1000_TXD_CMD_IP     0x02000000 /* IP packet */#define E1000_TXD_CMD_TSE    0x04000000 /* TCP Seg enable */#define E1000_TXD_STAT_TC    0x00000004 /* Tx Underrun *//* Transmit Control */#define E1000_TCTL_RST    0x00000001    /* software reset */#define E1000_TCTL_EN     0x00000002    /* enable tx */#define E1000_TCTL_BCE    0x00000004    /* busy check enable */#define E1000_TCTL_PSP    0x00000008    /* pad short packets */#define E1000_TCTL_CT     0x00000ff0    /* collision threshold */#define E1000_TCTL_COLD   0x003ff000    /* collision distance */#define E1000_TCTL_SWXOFF 0x00400000    /* SW Xoff transmission */#define E1000_TCTL_PBE    0x00800000    /* Packet Burst Enable */#define E1000_TCTL_RTLC   0x01000000    /* Re-transmit on late collision */#define E1000_TCTL_NRTU   0x02000000    /* No Re-transmit on underrun */#define E1000_TCTL_MULR   0x10000000    /* Multiple request support *//* Receive Descriptor */struct e1000_rx_desc {    uint64_t buffer_addr; /* Address of the descriptor's data buffer */    uint16_t length;     /* Length of data DMAed into data buffer */    uint16_t csum;       /* Packet checksum */    uint8_t status;      /* Descriptor status */    uint8_t errors;      /* Descriptor Errors */    uint16_t special;};/* Receive Decriptor bit definitions */#define E1000_RXD_STAT_DD       0x01    /* Descriptor Done */#define E1000_RXD_STAT_EOP      0x02    /* End of Packet */#define E1000_RXD_STAT_IXSM     0x04    /* Ignore checksum */#define E1000_RXD_STAT_VP       0x08    /* IEEE VLAN Packet */#define E1000_RXD_STAT_UDPCS    0x10    /* UDP xsum caculated */#define E1000_RXD_STAT_TCPCS    0x20    /* TCP xsum calculated */#define E1000_RXD_STAT_IPCS     0x40    /* IP xsum calculated */#define E1000_RXD_STAT_PIF      0x80    /* passed in-exact filter */#define E1000_RXD_STAT_IPIDV    0x200   /* IP identification valid */#define E1000_RXD_STAT_UDPV     0x400   /* Valid UDP checksum */#define E1000_RXD_STAT_ACK      0x8000  /* ACK Packet indication */#define E1000_RXD_ERR_CE        0x01    /* CRC Error */#define E1000_RXD_ERR_SE        0x02    /* Symbol Error */#define E1000_RXD_ERR_SEQ       0x04    /* Sequence Error */#define E1000_RXD_ERR_CXE       0x10    /* Carrier Extension Error */#define E1000_RXD_ERR_TCPE      0x20    /* TCP/UDP Checksum Error */#define E1000_RXD_ERR_IPE       0x40    /* IP Checksum Error */#define E1000_RXD_ERR_RXE       0x80    /* Rx Data Error */#define E1000_RXD_SPC_VLAN_MASK 0x0FFF  /* VLAN ID is in lower 12 bits */#define E1000_RXD_SPC_PRI_MASK  0xE000  /* Priority is in upper 3 bits */#define E1000_RXD_SPC_PRI_SHIFT 13#define E1000_RXD_SPC_CFI_MASK  0x1000  /* CFI is bit 12 */#define E1000_RXD_SPC_CFI_SHIFT 12#define E1000_RXDEXT_STATERR_CE    0x01000000#define E1000_RXDEXT_STATERR_SE    0x02000000#define E1000_RXDEXT_STATERR_SEQ   0x04000000#define E1000_RXDEXT_STATERR_CXE   0x10000000#define E1000_RXDEXT_STATERR_TCPE  0x20000000#define E1000_RXDEXT_STATERR_IPE   0x40000000#define E1000_RXDEXT_STATERR_RXE   0x80000000#define E1000_RXDPS_HDRSTAT_HDRSP        0x00008000#define E1000_RXDPS_HDRSTAT_HDRLEN_MASK  0x000003FF/* Receive Address */#define E1000_RAH_AV  0x80000000        /* Receive descriptor valid *//* Offload Context Descriptor */struct e1000_context_desc {    union {        uint32_t ip_config;        struct {            uint8_t ipcss;      /* IP checksum start */            uint8_t ipcso;      /* IP checksum offset */            uint16_t ipcse;     /* IP checksum end */        } ip_fields;    } lower_setup;    union {        uint32_t tcp_config;        struct {            uint8_t tucss;      /* TCP checksum start */            uint8_t tucso;      /* TCP checksum offset */            uint16_t tucse;     /* TCP checksum end */        } tcp_fields;    } upper_setup;    uint32_t cmd_and_length;    /* */    union {        uint32_t data;        struct {            uint8_t status;     /* Descriptor status */            uint8_t hdr_len;    /* Header length */            uint16_t mss;       /* Maximum segment size */        } fields;    } tcp_seg_setup;};/* Offload data descriptor */struct e1000_data_desc {    uint64_t buffer_addr;       /* Address of the descriptor's buffer address */    union {        uint32_t data;        struct {            uint16_t length;    /* Data buffer length */            uint8_t typ_len_ext;        /* */            uint8_t cmd;        /* */        } flags;    } lower;    union {        uint32_t data;        struct {            uint8_t status;     /* Descriptor status */            uint8_t popts;      /* Packet Options */            uint16_t special;   /* */        } fields;    } upper;};/* Management Control */#define E1000_MANC_SMBUS_EN      0x00000001 /* SMBus Enabled - RO */#define E1000_MANC_ASF_EN        0x00000002 /* ASF Enabled - RO */#define E1000_MANC_R_ON_FORCE    0x00000004 /* Reset on Force TCO - RO */#define E1000_MANC_RMCP_EN       0x00000100 /* Enable RCMP 026Fh Filtering */#define E1000_MANC_0298_EN       0x00000200 /* Enable RCMP 0298h Filtering */#define E1000_MANC_IPV4_EN       0x00000400 /* Enable IPv4 */#define E1000_MANC_IPV6_EN       0x00000800 /* Enable IPv6 */#define E1000_MANC_SNAP_EN       0x00001000 /* Accept LLC/SNAP */#define E1000_MANC_ARP_EN        0x00002000 /* Enable ARP Request Filtering */#define E1000_MANC_NEIGHBOR_EN   0x00004000 /* Enable Neighbor Discovery                                             * Filtering */#define E1000_MANC_ARP_RES_EN    0x00008000 /* Enable ARP response Filtering */#define E1000_MANC_TCO_RESET     0x00010000 /* TCO Reset Occurred */#define E1000_MANC_RCV_TCO_EN    0x00020000 /* Receive TCO Packets Enabled */#define E1000_MANC_REPORT_STATUS 0x00040000 /* Status Reporting Enabled */#define E1000_MANC_RCV_ALL       0x00080000 /* Receive All Enabled */#define E1000_MANC_BLK_PHY_RST_ON_IDE   0x00040000 /* Block phy resets */#define E1000_MANC_EN_MAC_ADDR_FILTER   0x00100000 /* Enable MAC address                                                    * filtering */#define E1000_MANC_EN_MNG2HOST   0x00200000 /* Enable MNG packets to host                                             * memory */#define E1000_MANC_EN_IP_ADDR_FILTER    0x00400000 /* Enable IP address                                                    * filtering */#define E1000_MANC_EN_XSUM_FILTER   0x00800000 /* Enable checksum filtering */#define E1000_MANC_BR_EN         0x01000000 /* Enable broadcast filtering */#define E1000_MANC_SMB_REQ       0x01000000 /* SMBus Request */#define E1000_MANC_SMB_GNT       0x02000000 /* SMBus Grant */#define E1000_MANC_SMB_CLK_IN    0x04000000 /* SMBus Clock In */#define E1000_MANC_SMB_DATA_IN   0x08000000 /* SMBus Data In */#define E1000_MANC_SMB_DATA_OUT  0x10000000 /* SMBus Data Out */#define E1000_MANC_SMB_CLK_OUT   0x20000000 /* SMBus Clock Out */#define E1000_MANC_SMB_DATA_OUT_SHIFT  28 /* SMBus Data Out Shift */#define E1000_MANC_SMB_CLK_OUT_SHIFT   29 /* SMBus Clock Out Shift *//* For checksumming, the sum of all words in the EEPROM should equal 0xBABA. */#define EEPROM_SUM 0xBABA#endif /* _E1000_HW_H_ */

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -