📄 e1000.h
字号:
#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_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#define E1000_82542_IP6AT E1000_IP6AT#define E1000_82542_WUPL E1000_WUPL#define E1000_82542_WUPM E1000_WUPM#define E1000_82542_FFLT E1000_FFLT#define E1000_82542_FFMT E1000_FFMT#define E1000_82542_FFVT E1000_FFVT/* Statistics counters collected by the MAC */struct e1000_hw_stats { uint64_t crcerrs; uint64_t algnerrc; uint64_t symerrs; uint64_t rxerrc; uint64_t mpc; uint64_t scc; uint64_t ecol; uint64_t mcc; uint64_t latecol; uint64_t colc; uint64_t dc; uint64_t tncrs; uint64_t sec; uint64_t cexterr; uint64_t rlec; uint64_t xonrxc; uint64_t xontxc; uint64_t xoffrxc; uint64_t xofftxc; uint64_t fcruc; uint64_t prc64; uint64_t prc127; uint64_t prc255; uint64_t prc511; uint64_t prc1023; uint64_t prc1522; uint64_t gprc; uint64_t bprc; uint64_t mprc; uint64_t gptc; uint64_t gorcl; uint64_t gorch; uint64_t gotcl; uint64_t gotch; uint64_t rnbc; uint64_t ruc; uint64_t rfc; uint64_t roc; uint64_t rjc; uint64_t mgprc; uint64_t mgpdc; uint64_t mgptc; uint64_t torl; uint64_t torh; uint64_t totl; uint64_t toth; uint64_t tpr; uint64_t tpt; uint64_t ptc64; uint64_t ptc127; uint64_t ptc255; uint64_t ptc511; uint64_t ptc1023; uint64_t ptc1522; uint64_t mptc; uint64_t bptc; uint64_t tsctc; uint64_t tsctfc;};/* Structure containing variables used by the shared code (e1000_hw.c) */struct e1000_hw { pci_dev_t pdev; uint8_t *hw_addr; e1000_mac_type mac_type; e1000_media_type media_type; e1000_lan_loc lan_loc; e1000_fc_type fc;#if 0 e1000_bus_speed bus_speed; e1000_bus_width bus_width; e1000_bus_type bus_type; uint32_t io_base;#endif uint32_t phy_id; uint32_t phy_addr; uint32_t original_fc; uint32_t txcw; uint32_t autoneg_failed;#if 0 uint32_t max_frame_size; uint32_t min_frame_size; uint32_t mc_filter_type; uint32_t num_mc_addrs; uint32_t collision_delta; uint32_t tx_packet_delta; uint32_t ledctl_default; uint32_t ledctl_mode1; uint32_t ledctl_mode2;#endif uint16_t autoneg_advertised; uint16_t pci_cmd_word; uint16_t fc_high_water; uint16_t fc_low_water; uint16_t fc_pause_time;#if 0 uint16_t current_ifs_val; uint16_t ifs_min_val; uint16_t ifs_max_val; uint16_t ifs_step_size; uint16_t ifs_ratio;#endif uint16_t device_id; uint16_t vendor_id; uint16_t subsystem_id; uint16_t subsystem_vendor_id; uint8_t revision_id;#if 0 uint8_t autoneg; uint8_t mdix; uint8_t forced_speed_duplex; uint8_t wait_autoneg_complete; uint8_t dma_fairness;#endif#if 0 uint8_t perm_mac_addr[NODE_ADDRESS_SIZE]; boolean_t disable_polarity_correction;#endif boolean_t get_link_status; boolean_t tbi_compatibility_en; boolean_t tbi_compatibility_on; boolean_t fc_send_xon; boolean_t report_tx_early;#if 0 boolean_t adaptive_ifs; boolean_t ifs_params_forced; boolean_t in_ifs_mode;#endif};#define E1000_EEPROM_SWDPIN0 0x0001 /* SWDPIN 0 EEPROM Value */#define E1000_EEPROM_LED_LOGIC 0x0020 /* Led Logic Word *//* Register Bit Masks *//* Device Control */#define E1000_CTRL_FD 0x00000001 /* Full duplex.0=half; 1=full */#define E1000_CTRL_BEM 0x00000002 /* Endian Mode.0=little,1=big */#define E1000_CTRL_PRIOR 0x00000004 /* Priority on PCI. 0=rx,1=fair */#define E1000_CTRL_LRST 0x00000008 /* Link reset. 0=normal,1=reset */#define E1000_CTRL_TME 0x00000010 /* Test mode. 0=normal,1=test */#define E1000_CTRL_SLE 0x00000020 /* Serial Link on 0=dis,1=en */#define E1000_CTRL_ASDE 0x00000020 /* Auto-speed detect enable */#define E1000_CTRL_SLU 0x00000040 /* Set link up (Force Link) */#define E1000_CTRL_ILOS 0x00000080 /* Invert Loss-Of Signal */#define E1000_CTRL_SPD_SEL 0x00000300 /* Speed Select Mask */#define E1000_CTRL_SPD_10 0x00000000 /* Force 10Mb */#define E1000_CTRL_SPD_100 0x00000100 /* Force 100Mb */#define E1000_CTRL_SPD_1000 0x00000200 /* Force 1Gb */#define E1000_CTRL_BEM32 0x00000400 /* Big Endian 32 mode */#define E1000_CTRL_FRCSPD 0x00000800 /* Force Speed */#define E1000_CTRL_FRCDPX 0x00001000 /* Force Duplex */#define E1000_CTRL_SWDPIN0 0x00040000 /* SWDPIN 0 value */#define E1000_CTRL_SWDPIN1 0x00080000 /* SWDPIN 1 value */#define E1000_CTRL_SWDPIN2 0x00100000 /* SWDPIN 2 value */#define E1000_CTRL_SWDPIN3 0x00200000 /* SWDPIN 3 value */#define E1000_CTRL_SWDPIO0 0x00400000 /* SWDPIN 0 Input or output */#define E1000_CTRL_SWDPIO1 0x00800000 /* SWDPIN 1 input or output */#define E1000_CTRL_SWDPIO2 0x01000000 /* SWDPIN 2 input or output */#define E1000_CTRL_SWDPIO3 0x02000000 /* SWDPIN 3 input or output */#define E1000_CTRL_RST 0x04000000 /* Global reset */#define E1000_CTRL_RFCE 0x08000000 /* Receive Flow Control enable */#define E1000_CTRL_TFCE 0x10000000 /* Transmit flow control enable */#define E1000_CTRL_RTE 0x20000000 /* Routing tag enable */#define E1000_CTRL_VME 0x40000000 /* IEEE VLAN mode enable */#define E1000_CTRL_PHY_RST 0x80000000 /* PHY Reset *//* Device Status */#define E1000_STATUS_FD 0x00000001 /* Full duplex.0=half,1=full */#define E1000_STATUS_LU 0x00000002 /* Link up.0=no,1=link */#define E1000_STATUS_FUNC_MASK 0x0000000C /* PCI Function Mask */#define E1000_STATUS_FUNC_0 0x00000000 /* Function 0 */#define E1000_STATUS_FUNC_1 0x00000004 /* Function 1 */#define E1000_STATUS_TXOFF 0x00000010 /* transmission paused */#define E1000_STATUS_TBIMODE 0x00000020 /* TBI mode */#define E1000_STATUS_SPEED_MASK 0x000000C0#define E1000_STATUS_SPEED_10 0x00000000 /* Speed 10Mb/s */#define E1000_STATUS_SPEED_100 0x00000040 /* Speed 100Mb/s */#define E1000_STATUS_SPEED_1000 0x00000080 /* Speed 1000Mb/s */#define E1000_STATUS_ASDV 0x00000300 /* Auto speed detect value */#define E1000_STATUS_MTXCKOK 0x00000400 /* MTX clock running OK */#define E1000_STATUS_PCI66 0x00000800 /* In 66Mhz slot */#define E1000_STATUS_BUS64 0x00001000 /* In 64 bit slot */#define E1000_STATUS_PCIX_MODE 0x00002000 /* PCI-X mode */#define E1000_STATUS_PCIX_SPEED 0x0000C000 /* PCI-X bus speed *//* Constants used to intrepret the masked PCI-X bus speed. */#define E1000_STATUS_PCIX_SPEED_66 0x00000000 /* PCI-X bus speed 50-66 MHz */#define E1000_STATUS_PCIX_SPEED_100 0x00004000 /* PCI-X bus speed 66-100 MHz */#define E1000_STATUS_PCIX_SPEED_133 0x00008000 /* PCI-X bus speed 100-133 MHz *//* EEPROM/Flash Control */#define E1000_EECD_SK 0x00000001 /* EEPROM Clock */#define E1000_EECD_CS 0x00000002 /* EEPROM Chip Select */#define E1000_EECD_DI 0x00000004 /* EEPROM Data In */#define E1000_EECD_DO 0x00000008 /* EEPROM Data Out */#define E1000_EECD_FWE_MASK 0x00000030#define E1000_EECD_FWE_DIS 0x00000010 /* Disable FLASH writes */#define E1000_EECD_FWE_EN 0x00000020 /* Enable FLASH writes */#define E1000_EECD_FWE_SHIFT 4#define E1000_EECD_SIZE 0x00000200 /* EEPROM Size (0=64 word 1=256 word) */#define E1000_EECD_REQ 0x00000040 /* EEPROM Access Request */#define E1000_EECD_GNT 0x00000080 /* EEPROM Access Grant */#define E1000_EECD_PRES 0x00000100 /* EEPROM Present *//* EEPROM Read */#define E1000_EERD_START 0x00000001 /* Start Read */#define E1000_EERD_DONE 0x00000010 /* Read Done */#define E1000_EERD_ADDR_SHIFT 8#define E1000_EERD_ADDR_MASK 0x0000FF00 /* Read Address */#define E1000_EERD_DATA_SHIFT 16#define E1000_EERD_DATA_MASK 0xFFFF0000 /* Read Data */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -