📄 e1000_hw.h
字号:
#define E1000_IP4AT_SIZE E1000_WAKEUP_IP_ADDRESS_COUNT_MAX#define E1000_IP6AT_SIZE 1/* IPv6 Address Table Entry */struct e1000_ipv6_at_entry { volatile uint8_t ipv6_addr[16];};/* Flexible Filter Length Table Entry */struct e1000_fflt_entry { volatile uint32_t length; /* Flexible Filter Length (RW) */ volatile uint32_t reserved;};/* Flexible Filter Mask Table Entry */struct e1000_ffmt_entry { volatile uint32_t mask; /* Flexible Filter Mask (RW) */ volatile uint32_t reserved;};/* Flexible Filter Value Table Entry */struct e1000_ffvt_entry { volatile uint32_t value; /* Flexible Filter Value (RW) */ volatile uint32_t reserved;};/* Four Flexible Filters are supported */#define E1000_FLEXIBLE_FILTER_COUNT_MAX 4/* Each Flexible Filter is at most 128 (0x80) bytes in length */#define E1000_FLEXIBLE_FILTER_SIZE_MAX 128#define E1000_FFLT_SIZE E1000_FLEXIBLE_FILTER_COUNT_MAX#define E1000_FFMT_SIZE E1000_FLEXIBLE_FILTER_SIZE_MAX#define E1000_FFVT_SIZE E1000_FLEXIBLE_FILTER_SIZE_MAX/* Register Set. (82543, 82544) * * Registers are defined to be 32 bits and should be accessed as 32 bit values. * These registers are physically located on the NIC, but are mapped into the * host memory address space. * * RW - register is both readable and writable * RO - register is read only * WO - register is write only * R/clr - register is read only and is cleared when read * A - register array */#define E1000_CTRL 0x00000 /* Device Control - RW */#define E1000_CTRL_DUP 0x00004 /* Device Control Duplicate (Shadow) - RW */#define E1000_STATUS 0x00008 /* Device Status - RO */#define E1000_EECD 0x00010 /* EEPROM/Flash Control - RW */#define E1000_EERD 0x00014 /* EEPROM Read - RW */#define E1000_CTRL_EXT 0x00018 /* Extended Device Control - RW */#define E1000_FLA 0x0001C /* Flash Access - RW */#define E1000_MDIC 0x00020 /* MDI Control - RW */#define E1000_FCAL 0x00028 /* Flow Control Address Low - RW */#define E1000_FCAH 0x0002C /* Flow Control Address High -RW */#define E1000_FCT 0x00030 /* Flow Control Type - RW */#define E1000_VET 0x00038 /* VLAN Ether Type - RW */#define E1000_ICR 0x000C0 /* Interrupt Cause Read - R/clr */#define E1000_ITR 0x000C4 /* Interrupt Throttling Rate - RW */#define E1000_ICS 0x000C8 /* Interrupt Cause Set - WO */#define E1000_IMS 0x000D0 /* Interrupt Mask Set - RW */#define E1000_IMC 0x000D8 /* Interrupt Mask Clear - WO */#define E1000_RCTL 0x00100 /* RX Control - RW */#define E1000_FCTTV 0x00170 /* Flow Control Transmit Timer Value - RW */#define E1000_TXCW 0x00178 /* TX Configuration Word - RW */#define E1000_RXCW 0x00180 /* RX Configuration Word - RO */#define E1000_TCTL 0x00400 /* TX Control - RW */#define E1000_TIPG 0x00410 /* TX Inter-packet gap -RW */#define E1000_TBT 0x00448 /* TX Burst Timer - RW */#define E1000_AIT 0x00458 /* Adaptive Interframe Spacing Throttle - RW */#define E1000_LEDCTL 0x00E00 /* LED Control - RW */#define E1000_PBA 0x01000 /* Packet Buffer Allocation - RW */#define E1000_FCRTL 0x02160 /* Flow Control Receive Threshold Low - RW */#define E1000_FCRTH 0x02168 /* Flow Control Receive Threshold High - RW */#define E1000_RDBAL 0x02800 /* RX Descriptor Base Address Low - RW */#define E1000_RDBAH 0x02804 /* RX Descriptor Base Address High - RW */#define E1000_RDLEN 0x02808 /* RX Descriptor Length - RW */#define E1000_RDH 0x02810 /* RX Descriptor Head - RW */#define E1000_RDT 0x02818 /* RX Descriptor Tail - RW */#define E1000_RDTR 0x02820 /* RX Delay Timer - RW */#define E1000_RXDCTL 0x02828 /* RX Descriptor Control - RW */#define E1000_RADV 0x0282C /* RX Interrupt Absolute Delay Timer - RW */#define E1000_RSRPD 0x02C00 /* RX Small Packet Detect - RW */#define E1000_TXDMAC 0x03000 /* TX DMA Control - RW */#define E1000_TDFH 0x03410 /* TX Data FIFO Head - RW */#define E1000_TDFT 0x03418 /* TX Data FIFO Tail - RW */#define E1000_TDFHS 0x03420 /* TX Data FIFO Head Saved - RW */#define E1000_TDFTS 0x03428 /* TX Data FIFO Tail Saved - RW */#define E1000_TDFPC 0x03430 /* TX Data FIFO Packet Count - RW */#define E1000_TDBAL 0x03800 /* TX Descriptor Base Address Low - RW */#define E1000_TDBAH 0x03804 /* TX Descriptor Base Address High - RW */#define E1000_TDLEN 0x03808 /* TX Descriptor Length - RW */#define E1000_TDH 0x03810 /* TX Descriptor Head - RW */#define E1000_TDT 0x03818 /* TX Descripotr Tail - RW */#define E1000_TIDV 0x03820 /* TX Interrupt Delay Value - RW */#define E1000_TXDCTL 0x03828 /* TX Descriptor Control - RW */#define E1000_TADV 0x0382C /* TX Interrupt Absolute Delay Val - RW */#define E1000_TSPMT 0x03830 /* TCP Segmentation PAD & Min Threshold - RW */#define E1000_CRCERRS 0x04000 /* CRC Error Count - R/clr */#define E1000_ALGNERRC 0x04004 /* Alignment Error Count - R/clr */#define E1000_SYMERRS 0x04008 /* Symbol Error Count - R/clr */#define E1000_RXERRC 0x0400C /* Receive Error Count - R/clr */#define E1000_MPC 0x04010 /* Missed Packet Count - R/clr */#define E1000_SCC 0x04014 /* Single Collision Count - R/clr */#define E1000_ECOL 0x04018 /* Excessive Collision Count - R/clr */#define E1000_MCC 0x0401C /* Multiple Collision Count - R/clr */#define E1000_LATECOL 0x04020 /* Late Collision Count - R/clr */#define E1000_COLC 0x04028 /* Collision Count - R/clr */#define E1000_DC 0x04030 /* Defer Count - R/clr */#define E1000_TNCRS 0x04034 /* TX-No CRS - R/clr */#define E1000_SEC 0x04038 /* Sequence Error Count - R/clr */#define E1000_CEXTERR 0x0403C /* Carrier Extension Error Count - R/clr */#define E1000_RLEC 0x04040 /* Receive Length Error Count - R/clr */#define E1000_XONRXC 0x04048 /* XON RX Count - R/clr */#define E1000_XONTXC 0x0404C /* XON TX Count - R/clr */#define E1000_XOFFRXC 0x04050 /* XOFF RX Count - R/clr */#define E1000_XOFFTXC 0x04054 /* XOFF TX Count - R/clr */#define E1000_FCRUC 0x04058 /* Flow Control RX Unsupported Count- R/clr */#define E1000_PRC64 0x0405C /* Packets RX (64 bytes) - R/clr */#define E1000_PRC127 0x04060 /* Packets RX (65-127 bytes) - R/clr */#define E1000_PRC255 0x04064 /* Packets RX (128-255 bytes) - R/clr */#define E1000_PRC511 0x04068 /* Packets RX (255-511 bytes) - R/clr */#define E1000_PRC1023 0x0406C /* Packets RX (512-1023 bytes) - R/clr */#define E1000_PRC1522 0x04070 /* Packets RX (1024-1522 bytes) - R/clr */#define E1000_GPRC 0x04074 /* Good Packets RX Count - R/clr */#define E1000_BPRC 0x04078 /* Broadcast Packets RX Count - R/clr */#define E1000_MPRC 0x0407C /* Multicast Packets RX Count - R/clr */#define E1000_GPTC 0x04080 /* Good Packets TX Count - R/clr */#define E1000_GORCL 0x04088 /* Good Octets RX Count Low - R/clr */#define E1000_GORCH 0x0408C /* Good Octets RX Count High - R/clr */#define E1000_GOTCL 0x04090 /* Good Octets TX Count Low - R/clr */#define E1000_GOTCH 0x04094 /* Good Octets TX Count High - R/clr */#define E1000_RNBC 0x040A0 /* RX No Buffers Count - R/clr */#define E1000_RUC 0x040A4 /* RX Undersize Count - R/clr */#define E1000_RFC 0x040A8 /* RX Fragment Count - R/clr */#define E1000_ROC 0x040AC /* RX Oversize Count - R/clr */#define E1000_RJC 0x040B0 /* RX Jabber Count - R/clr */#define E1000_MGTPRC 0x040B4 /* Management Packets RX Count - R/clr */#define E1000_MGTPDC 0x040B8 /* Management Packets Dropped Count - R/clr */#define E1000_MGTPTC 0x040BC /* Management Packets TX Count - R/clr */#define E1000_TORL 0x040C0 /* Total Octets RX Low - R/clr */#define E1000_TORH 0x040C4 /* Total Octets RX High - R/clr */#define E1000_TOTL 0x040C8 /* Total Octets TX Low - R/clr */#define E1000_TOTH 0x040CC /* Total Octets TX High - R/clr */#define E1000_TPR 0x040D0 /* Total Packets RX - R/clr */#define E1000_TPT 0x040D4 /* Total Packets TX - R/clr */#define E1000_PTC64 0x040D8 /* Packets TX (64 bytes) - R/clr */#define E1000_PTC127 0x040DC /* Packets TX (65-127 bytes) - R/clr */#define E1000_PTC255 0x040E0 /* Packets TX (128-255 bytes) - R/clr */#define E1000_PTC511 0x040E4 /* Packets TX (256-511 bytes) - R/clr */#define E1000_PTC1023 0x040E8 /* Packets TX (512-1023 bytes) - R/clr */#define E1000_PTC1522 0x040EC /* Packets TX (1024-1522 Bytes) - R/clr */#define E1000_MPTC 0x040F0 /* Multicast Packets TX Count - R/clr */#define E1000_BPTC 0x040F4 /* Broadcast Packets TX Count - R/clr */#define E1000_TSCTC 0x040F8 /* TCP Segmentation Context TX - R/clr */#define E1000_TSCTFC 0x040FC /* TCP Segmentation Context TX Fail - R/clr */#define E1000_RXCSUM 0x05000 /* RX Checksum Control - RW */#define E1000_MTA 0x05200 /* Multicast Table Array - RW Array */#define E1000_RA 0x05400 /* Receive Address - RW Array */#define E1000_VFTA 0x05600 /* VLAN Filter Table Array - RW Array */#define E1000_WUC 0x05800 /* Wakeup Control - RW */#define E1000_WUFC 0x05808 /* Wakeup Filter Control - RW */#define E1000_WUS 0x05810 /* Wakeup Status - RO */#define E1000_MANC 0x05820 /* Management Control - RW */#define E1000_IPAV 0x05838 /* IP Address Valid - RW */#define E1000_IP4AT 0x05840 /* IPv4 Address Table - RW Array */#define E1000_IP6AT 0x05880 /* IPv6 Address Table - RW Array */#define E1000_WUPL 0x05900 /* Wakeup Packet Length - RW */#define E1000_WUPM 0x05A00 /* Wakeup Packet Memory - RO A */#define E1000_FFLT 0x05F00 /* Flexible Filter Length Table - RW Array */#define E1000_HOST_IF 0x08800 /* Host Interface */#define E1000_FFMT 0x09000 /* Flexible Filter Mask Table - RW Array */#define E1000_FFVT 0x09800 /* Flexible Filter Value Table - RW Array *//* Register Set (82542) * * Some of the 82542 registers are located at different offsets than they are * in more current versions of the 8254x. Despite the difference in location, * the registers function in the same manner. */#define E1000_82542_CTRL E1000_CTRL#define E1000_82542_CTRL_DUP E1000_CTRL_DUP#define E1000_82542_STATUS E1000_STATUS#define E1000_82542_EECD E1000_EECD#define E1000_82542_EERD E1000_EERD#define E1000_82542_CTRL_EXT E1000_CTRL_EXT#define E1000_82542_FLA E1000_FLA#define E1000_82542_MDIC E1000_MDIC#define E1000_82542_FCAL E1000_FCAL#define E1000_82542_FCAH E1000_FCAH#define E1000_82542_FCT E1000_FCT#define E1000_82542_VET E1000_VET#define E1000_82542_RA 0x00040#define E1000_82542_ICR E1000_ICR#define E1000_82542_ITR E1000_ITR#define E1000_82542_ICS E1000_ICS#define E1000_82542_IMS E1000_IMS#define E1000_82542_IMC E1000_IMC#define E1000_82542_RCTL E1000_RCTL#define E1000_82542_RDTR 0x00108#define E1000_82542_RDBAL 0x00110#define E1000_82542_RDBAH 0x00114#define E1000_82542_RDLEN 0x00118#define E1000_82542_RDH 0x00120#define E1000_82542_RDT 0x00128#define E1000_82542_FCRTH 0x00160#define E1000_82542_FCRTL 0x00168#define E1000_82542_FCTTV E1000_FCTTV#define E1000_82542_TXCW E1000_TXCW#define E1000_82542_RXCW E1000_RXCW#define E1000_82542_MTA 0x00200#define E1000_82542_TCTL E1000_TCTL#define E1000_82542_TIPG E1000_TIPG#define E1000_82542_TDBAL 0x00420#define E1000_82542_TDBAH 0x00424#define E1000_82542_TDLEN 0x00428#define E1000_82542_TDH 0x00430#define E1000_82542_TDT 0x00438#define E1000_82542_TIDV 0x00440#define E1000_82542_TBT E1000_TBT#define E1000_82542_AIT E1000_AIT#define E1000_82542_VFTA 0x00600#define E1000_82542_LEDCTL E1000_LEDCTL#define E1000_82542_PBA E1000_PBA#define E1000_82542_RXDCTL E1000_RXDCTL#define E1000_82542_RADV E1000_RADV#define E1000_82542_RSRPD E1000_RSRPD#define E1000_82542_TXDMAC E1000_TXDMAC#define E1000_82542_TDFHS E1000_TDFHS#define E1000_82542_TDFTS E1000_TDFTS#define E1000_82542_TDFPC E1000_TDFPC#define E1000_82542_TXDCTL E1000_TXDCTL#define E1000_82542_TADV E1000_TADV#define E1000_82542_TSPMT E1000_TSPMT#define E1000_82542_CRCERRS E1000_CRCERRS#define E1000_82542_ALGNERRC E1000_ALGNERRC#define E1000_82542_SYMERRS E1000_SYMERRS#define E1000_82542_RXERRC E1000_RXERRC#define E1000_82542_MPC E1000_MPC#define E1000_82542_SCC E1000_SCC#define E1000_82542_ECOL E1000_ECOL#define E1000_82542_MCC E1000_MCC#define E1000_82542_LATECOL E1000_LATECOL#define E1000_82542_COLC E1000_COLC#define E1000_82542_DC E1000_DC#define E1000_82542_TNCRS E1000_TNCRS#define E1000_82542_SEC E1000_SEC#define E1000_82542_CEXTERR E1000_CEXTERR#define E1000_82542_RLEC E1000_RLEC#define E1000_82542_XONRXC E1000_XONRXC#define E1000_82542_XONTXC E1000_XONTXC#define E1000_82542_XOFFRXC E1000_XOFFRXC#define E1000_82542_XOFFTXC E1000_XOFFTXC#define E1000_82542_FCRUC E1000_FCRUC#define E1000_82542_PRC64 E1000_PRC64#define E1000_82542_PRC127 E1000_PRC127#define E1000_82542_PRC255 E1000_PRC255#define E1000_82542_PRC511 E1000_PRC511#define E1000_82542_PRC1023 E1000_PRC1023#define E1000_82542_PRC1522 E1000_PRC1522#define E1000_82542_GPRC E1000_GPRC#define E1000_82542_BPRC E1000_BPRC#define E1000_82542_MPRC E1000_MPRC#define E1000_82542_GPTC E1000_GPTC#define E1000_82542_GORCL E1000_GORCL#define E1000_82542_GORCH E1000_GORCH#define E1000_82542_GOTCL E1000_GOTCL#define E1000_82542_GOTCH E1000_GOTCH#define E1000_82542_RNBC E1000_RNBC#define E1000_82542_RUC E1000_RUC#define E1000_82542_RFC E1000_RFC#define E1000_82542_ROC E1000_ROC#define E1000_82542_RJC E1000_RJC#define E1000_82542_MGTPRC E1000_MGTPRC#define E1000_82542_MGTPDC E1000_MGTPDC#define E1000_82542_MGTPTC E1000_MGTPTC#define E1000_82542_TORL E1000_TORL#define E1000_82542_TORH E1000_TORH#define E1000_82542_TOTL E1000_TOTL#define E1000_82542_TOTH E1000_TOTH#define E1000_82542_TPR E1000_TPR#define E1000_82542_TPT E1000_TPT#define E1000_82542_PTC64 E1000_PTC64#define E1000_82542_PTC127 E1000_PTC127#define E1000_82542_PTC255 E1000_PTC255#define E1000_82542_PTC511 E1000_PTC511#define E1000_82542_PTC1023 E1000_PTC1023#define E1000_82542_PTC1522 E1000_PTC1522#define E1000_82542_MPTC E1000_MPTC#define E1000_82542_BPTC E1000_BPTC#define E1000_82542_TSCTC E1000_TSCTC#define E1000_82542_TSCTFC E1000_TSCTFC#define E1000_82542_RXCSUM E1000_RXCSUM#define E1000_82542_WUC E1000_WUC#define E1000_82542_WUFC E1000_WUFC#define E1000_82542_WUS E1000_WUS#define E1000_82542_MANC E1000_MANC#define E1000_82542_IPAV E1000_IPAV#define E1000_82542_IP4AT E1000_IP4AT
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -