|
iPXE
|
VMware vmxnet3 virtual NIC driver. More...
#include <ipxe/pci.h>Go to the source code of this file.
Data Structures | |
| struct | vmxnet3_misc_config |
| Miscellaneous configuration descriptor. More... | |
| struct | vmxnet3_interrupt_config |
| Interrupt configuration. More... | |
| struct | vmxnet3_rx_filter_config |
| Receive filter configuration. More... | |
| struct | vmxnet3_variable_config |
| Variable-length configuration descriptor. More... | |
| struct | vmxnet3_shared |
| Driver shared area. More... | |
| struct | vmxnet3_tx_desc |
| Transmit descriptor. More... | |
| struct | vmxnet3_tx_comp |
| Transmit completion descriptor. More... | |
| struct | vmxnet3_tx_queue_control |
| Transmit queue control. More... | |
| struct | vmxnet3_tx_queue_config |
| Transmit queue configuration. More... | |
| struct | vmxnet3_tx_stats |
| Transmit queue statistics. More... | |
| struct | vmxnet3_rx_desc |
| Receive descriptor. More... | |
| struct | vmxnet3_rx_comp |
| Receive completion descriptor. More... | |
| struct | vmxnet3_rx_queue_control |
| Receive queue control. More... | |
| struct | vmxnet3_rx_queue_config |
| Receive queue configuration. More... | |
| struct | vmxnet3_rx_stats |
| Receive queue statistics. More... | |
| struct | vmxnet3_queue_status |
| Queue status. More... | |
| struct | vmxnet3_tx_queue |
| Transmit queue descriptor. More... | |
| struct | vmxnet3_rx_queue |
| Receive queue descriptor. More... | |
| struct | vmxnet3_queues |
| Queue descriptor set. More... | |
| struct | vmxnet3_dma |
| DMA areas. More... | |
| struct | vmxnet3_counters |
| Producer and consumer counters. More... | |
| struct | vmxnet3_nic |
| A vmxnet3 NIC. More... | |
Macros | |
| #define | VMXNET3_MAX_TX_QUEUES 8 |
| Maximum number of TX queues. | |
| #define | VMXNET3_MAX_RX_QUEUES 16 |
| Maximum number of RX queues. | |
| #define | VMXNET3_MAX_INTRS 25 |
| Maximum number of interrupts. | |
| #define | VMXNET3_MAX_PACKET_LEN 0x4000 |
| Maximum packet size. | |
| #define | VMXNET3_PT_BAR PCI_BASE_ADDRESS_0 |
| "PT" PCI BAR address | |
| #define | VMXNET3_PT_LEN 0x1000 |
| "PT" PCI BAR size | |
| #define | VMXNET3_PT_IMR 0x0 |
| Interrupt Mask Register. | |
| #define | VMXNET3_PT_TXPROD 0x600 |
| Transmit producer index. | |
| #define | VMXNET3_PT_RXPROD 0x800 |
| Rx producer index for ring 1. | |
| #define | VMXNET3_PT_RXPROD2 0xa00 |
| Rx producer index for ring 2. | |
| #define | VMXNET3_VD_BAR PCI_BASE_ADDRESS_1 |
| "VD" PCI BAR address | |
| #define | VMXNET3_VD_LEN 0x1000 |
| "VD" PCI BAR size | |
| #define | VMXNET3_VD_VRRS 0x0 |
| vmxnet3 Revision Report Selection | |
| #define | VMXNET3_VD_UVRS 0x8 |
| UPT Version Report Selection. | |
| #define | VMXNET3_VD_DSAL 0x10 |
| Driver Shared Address Low. | |
| #define | VMXNET3_VD_DSAH 0x18 |
| Driver Shared Address High. | |
| #define | VMXNET3_VD_CMD 0x20 |
| Command. | |
| #define | VMXNET3_VD_MACL 0x28 |
| MAC Address Low. | |
| #define | VMXNET3_VD_MACH 0x30 |
| MAC Address High. | |
| #define | VMXNET3_VD_ICR 0x38 |
| Interrupt Cause Register. | |
| #define | VMXNET3_VD_ECR 0x40 |
| Event Cause Register. | |
| #define | VMXNET3_VERSION_MAGIC 0x69505845 |
| Driver version magic. | |
| #define | VMXNET3_IC_DISABLE_ALL 0x1 |
| Interrupt control - disable all interrupts. | |
| #define | VMXNET3_SHARED_ALIGN 8 |
| Alignment of driver shared area. | |
| #define | VMXNET3_SHARED_MAGIC 0xbabefee1 |
| Driver shared area magic. | |
| #define | VMXNET3_TXF_GEN 0x00004000UL |
| Transmit generation flag. | |
| #define | VMXNET3_TXF_EOP 0x000001000UL |
| Transmit end-of-packet flag. | |
| #define | VMXNET3_TXF_CQ 0x000002000UL |
| Transmit completion request flag. | |
| #define | VMXNET3_TXCF_GEN 0x80000000UL |
| Transmit completion generation flag. | |
| #define | VMXNET3_RXF_GEN 0x80000000UL |
| Receive generation flag. | |
| #define | VMXNET3_RXCF_GEN 0x80000000UL |
| Receive completion generation flag. | |
| #define | VMXNET3_QUEUES_ALIGN 128 |
| Alignment of queue descriptor set. | |
| #define | VMXNET3_RING_ALIGN 512 |
| Alignment of rings. | |
| #define | VMXNET3_NUM_TX_DESC 32 |
| Number of TX descriptors. | |
| #define | VMXNET3_NUM_TX_COMP 32 |
| Number of TX completion descriptors. | |
| #define | VMXNET3_NUM_RX_DESC 32 |
| Number of RX descriptors. | |
| #define | VMXNET3_NUM_RX_COMP 32 |
| Number of RX completion descriptors. | |
| #define | VMXNET3_DMA_ALIGN 512 |
| DMA area alignment. | |
| #define | VMXNET3_VERSION_SELECT 1 |
| vmxnet3 version that we support | |
| #define | VMXNET3_UPT_VERSION_SELECT 1 |
| UPT version that we support. | |
| #define | VMXNET3_MTU ( ETH_FRAME_LEN + 4 /* VLAN */ + 4 /* FCS */ ) |
| MTU size. | |
| #define | VMXNET3_TX_FILL ( VMXNET3_NUM_TX_DESC - 1 ) |
| Transmit ring maximum fill level. | |
| #define | VMXNET3_RX_FILL 8 |
| Receive ring maximum fill level. | |
| #define | NET_IP_ALIGN 2 |
| Received packet alignment padding. | |
Functions | |
| FILE_LICENCE (GPL2_OR_LATER_OR_UBDL) | |
| FILE_SECBOOT (PERMITTED) | |
VMware vmxnet3 virtual NIC driver.
Definition in file vmxnet3.h.
| #define VMXNET3_MAX_TX_QUEUES 8 |
| #define VMXNET3_MAX_RX_QUEUES 16 |
| #define VMXNET3_MAX_PACKET_LEN 0x4000 |
| #define VMXNET3_PT_BAR PCI_BASE_ADDRESS_0 |
| #define VMXNET3_PT_LEN 0x1000 |
| #define VMXNET3_PT_TXPROD 0x600 |
| #define VMXNET3_PT_RXPROD 0x800 |
Rx producer index for ring 1.
Definition at line 64 of file vmxnet3.h.
Referenced by vmxnet3_refill_rx().
| #define VMXNET3_PT_RXPROD2 0xa00 |
| #define VMXNET3_VD_BAR PCI_BASE_ADDRESS_1 |
| #define VMXNET3_VD_LEN 0x1000 |
| #define VMXNET3_VD_VRRS 0x0 |
vmxnet3 Revision Report Selection
Definition at line 76 of file vmxnet3.h.
Referenced by vmxnet3_check_version().
| #define VMXNET3_VD_UVRS 0x8 |
UPT Version Report Selection.
Definition at line 79 of file vmxnet3.h.
Referenced by vmxnet3_check_version().
| #define VMXNET3_VD_DSAL 0x10 |
| #define VMXNET3_VD_DSAH 0x18 |
| #define VMXNET3_VD_CMD 0x20 |
| #define VMXNET3_VD_MACL 0x28 |
| #define VMXNET3_VD_MACH 0x30 |
| #define VMXNET3_VD_ECR 0x40 |
Event Cause Register.
Definition at line 100 of file vmxnet3.h.
Referenced by vmxnet3_poll_events().
| #define VMXNET3_VERSION_MAGIC 0x69505845 |
| #define VMXNET3_IC_DISABLE_ALL 0x1 |
Interrupt control - disable all interrupts.
Definition at line 184 of file vmxnet3.h.
Referenced by vmxnet3_open().
| #define VMXNET3_SHARED_ALIGN 8 |
| #define VMXNET3_SHARED_MAGIC 0xbabefee1 |
| #define VMXNET3_TXF_GEN 0x00004000UL |
Transmit generation flag.
Definition at line 255 of file vmxnet3.h.
Referenced by vmxnet3_transmit().
| #define VMXNET3_TXF_EOP 0x000001000UL |
Transmit end-of-packet flag.
Definition at line 258 of file vmxnet3.h.
Referenced by vmxnet3_transmit().
| #define VMXNET3_TXF_CQ 0x000002000UL |
Transmit completion request flag.
Definition at line 261 of file vmxnet3.h.
Referenced by vmxnet3_transmit().
| #define VMXNET3_TXCF_GEN 0x80000000UL |
Transmit completion generation flag.
Definition at line 274 of file vmxnet3.h.
Referenced by vmxnet3_poll_tx().
| #define VMXNET3_RXF_GEN 0x80000000UL |
Receive generation flag.
Definition at line 326 of file vmxnet3.h.
Referenced by vmxnet3_refill_rx().
| #define VMXNET3_RXCF_GEN 0x80000000UL |
Receive completion generation flag.
Definition at line 341 of file vmxnet3.h.
Referenced by vmxnet3_poll_rx().
| #define VMXNET3_QUEUES_ALIGN 128 |
| #define VMXNET3_NUM_TX_DESC 32 |
Number of TX descriptors.
Definition at line 422 of file vmxnet3.h.
Referenced by vmxnet3_flush_tx(), vmxnet3_open(), vmxnet3_poll_tx(), and vmxnet3_transmit().
| #define VMXNET3_NUM_TX_COMP 32 |
Number of TX completion descriptors.
Definition at line 425 of file vmxnet3.h.
Referenced by vmxnet3_open(), and vmxnet3_poll_tx().
| #define VMXNET3_NUM_RX_DESC 32 |
Number of RX descriptors.
Definition at line 428 of file vmxnet3.h.
Referenced by vmxnet3_flush_rx(), vmxnet3_open(), vmxnet3_poll_rx(), and vmxnet3_refill_rx().
| #define VMXNET3_NUM_RX_COMP 32 |
Number of RX completion descriptors.
Definition at line 431 of file vmxnet3.h.
Referenced by vmxnet3_open(), and vmxnet3_poll_rx().
| #define VMXNET3_DMA_ALIGN 512 |
| #define VMXNET3_VERSION_SELECT 1 |
vmxnet3 version that we support
Definition at line 489 of file vmxnet3.h.
Referenced by vmxnet3_check_version(), and vmxnet3_open().
| #define VMXNET3_UPT_VERSION_SELECT 1 |
UPT version that we support.
Definition at line 492 of file vmxnet3.h.
Referenced by vmxnet3_check_version(), and vmxnet3_open().
| #define VMXNET3_MTU ( ETH_FRAME_LEN + 4 /* VLAN */ + 4 /* FCS */ ) |
MTU size.
Definition at line 495 of file vmxnet3.h.
Referenced by vmxnet3_open(), and vmxnet3_refill_rx().
| #define VMXNET3_TX_FILL ( VMXNET3_NUM_TX_DESC - 1 ) |
Transmit ring maximum fill level.
Definition at line 498 of file vmxnet3.h.
Referenced by vmxnet3_transmit().
| #define VMXNET3_RX_FILL 8 |
Receive ring maximum fill level.
Definition at line 501 of file vmxnet3.h.
Referenced by vmxnet3_refill_rx().
| enum vmxnet3_command |
Definition at line 103 of file vmxnet3.h.
| enum vmxnet3_event |
Events.
| Enumerator | |
|---|---|
| VMXNET3_ECR_RQERR | |
| VMXNET3_ECR_TQERR | |
| VMXNET3_ECR_LINK | |
| VMXNET3_ECR_DIC | |
| VMXNET3_ECR_DEBUG | |
Definition at line 130 of file vmxnet3.h.
| FILE_LICENCE | ( | GPL2_OR_LATER_OR_UBDL | ) |
| FILE_SECBOOT | ( | PERMITTED | ) |