iPXE
intelxvf.h File Reference

Intel 10 Gigabit Ethernet virtual function network card driver. More...

#include "intelvf.h"

Go to the source code of this file.

Macros

#define INTELXVF_CTRL   0x0000UL
 Control Register.
#define INTELXVF_CTRL_RST   0x04000000UL
 Function-level reset.
#define INTELXVF_LINKS   0x0010UL
 Link Status Register.
#define INTELXVF_LINKS_UP   0x40000000UL
 Link up.
#define INTELXVF_EICR   0x0100UL
 Extended Interrupt Cause Read Register.
#define INTELXVF_EIRQ_RX0   0x00000001UL
 RX queue 0 (via IVAR)
#define INTELXVF_EIRQ_TX0   0x00000002UL
 TX queue 0 (via IVAR)
#define INTELXVF_EIRQ_MBOX   0x00000004UL
 Mailbox (via IVARM)
#define INTELXVF_EIMS   0x0108UL
 Extended Interrupt Mask Set/Read Register.
#define INTELXVF_EIMC   0x010cUL
 Extended Interrupt Mask Clear Register.
#define INTELXVF_IVAR   0x0120UL
 Interrupt Vector Allocation Register.
#define INTELXVF_IVAR_RX0(bit)
 RX queue 0 allocation.
#define INTELXVF_IVAR_RX0_DEFAULT   INTELXVF_IVAR_RX0 ( 0x00 )
#define INTELXVF_IVAR_RX0_MASK   INTELXVF_IVAR_RX0 ( 0x01 )
#define INTELXVF_IVAR_RX0_VALID   0x00000080UL
 RX queue 0 valid.
#define INTELXVF_IVAR_TX0(bit)
 TX queue 0 allocation.
#define INTELXVF_IVAR_TX0_DEFAULT   INTELXVF_IVAR_TX0 ( 0x01 )
#define INTELXVF_IVAR_TX0_MASK   INTELXVF_IVAR_TX0 ( 0x01 )
#define INTELXVF_IVAR_TX0_VALID   0x00008000UL
 TX queue 0 valid.
#define INTELXVF_IVARM   0x0140UL
 Interrupt Vector Allocation Miscellaneous Register.
#define INTELXVF_IVARM_MBOX(bit)
 Mailbox allocation.
#define INTELXVF_IVARM_MBOX_DEFAULT   INTELXVF_IVARM_MBOX ( 0x02 )
#define INTELXVF_IVARM_MBOX_MASK   INTELXVF_IVARM_MBOX ( 0x03 )
#define INTELXVF_IVARM_MBOX_VALID   0x00000080UL
 Mailbox valid.
#define INTELXVF_MBMEM   0x0200UL
 Mailbox Memory Register Base.
#define INTELXVF_MBCTRL   0x02fcUL
 Mailbox Control Register.
#define INTELXVF_PSRTYPE   0x0300UL
 Packet Split Receive Type.
#define INTELXVF_RD(n)
 Receive Descriptor register block.
#define INTELXVF_DCA_RXCTRL   0x100cUL
 RX DCA Control Register.
#define INTELXVF_DCA_RXCTRL_MUST_BE_ZERO   0x00001000UL
 Must be zero.
#define INTELXVF_SRRCTL   0x1014UL
 Split Receive Control Register.
#define INTELXVF_SRRCTL_BSIZE(kb)
 Receive buffer size.
#define INTELXVF_SRRCTL_BSIZE_DEFAULT   INTELXVF_SRRCTL_BSIZE ( 0x02 )
#define INTELXVF_SRRCTL_BSIZE_MASK   INTELXVF_SRRCTL_BSIZE ( 0x1f )
#define INTELXVF_SRRCTL_BHDRSIZE(kb)
 Header size.
#define INTELXVF_SRRCTL_BHDRSIZE_DEFAULT   INTELXVF_SRRCTL_BHDRSIZE ( 0x04 )
#define INTELXVF_SRRCTL_BHDRSIZE_MASK   INTELXVF_SRRCTL_BHDRSIZE ( 0x0f )
#define INTELXVF_SRRCTL_DESCTYPE(typ)
 Descriptor type.
#define INTELXVF_SRRCTL_DESCTYPE_DEFAULT   INTELXVF_SRRCTL_DESCTYPE ( 0x00 )
#define INTELXVF_SRRCTL_DESCTYPE_MASK   INTELXVF_SRRCTL_DESCTYPE ( 0x07 )
#define INTELXVF_SRRCTL_DROP_EN   0x10000000UL
#define INTELXVF_GPRC   0x101c
 Good Packets Received Count.
#define INTELXVF_GORCL   0x1020
 Good Packets Received Count Low.
#define INTELXVF_GORCH   0x1024
 Good Packets Received Count High.
#define INTELXVF_MPRC   0x1034
#define INTELXVF_TD(n)
 Transmit Descriptor register block.
#define INTELXVF_GPTC   0x201c
 Good Packets Transmitted Count.
#define INTELXVF_GOTCL   0x2020
 Good Packets Transmitted Count Low.
#define INTELXVF_GOTCH   0x2024
 Good Packets Transmitted Count High.
#define INTELXVF_MSG_TYPE_VERSION   0x00000008UL
 Negotiate API version mailbox message.
#define INTELXVF_MSG_VERSION_1_1   0x00000002UL
 API version 1.1.
#define INTELXVF_NUM_RINGS   8
 Number of queues.

Functions

 FILE_LICENCE (GPL2_OR_LATER_OR_UBDL)
 FILE_SECBOOT (PERMITTED)

Detailed Description

Intel 10 Gigabit Ethernet virtual function network card driver.

Definition in file intelxvf.h.

Macro Definition Documentation

◆ INTELXVF_CTRL

#define INTELXVF_CTRL   0x0000UL

Control Register.

Definition at line 16 of file intelxvf.h.

Referenced by intelxvf_reset().

◆ INTELXVF_CTRL_RST

#define INTELXVF_CTRL_RST   0x04000000UL

Function-level reset.

Definition at line 17 of file intelxvf.h.

Referenced by intelxvf_reset().

◆ INTELXVF_LINKS

#define INTELXVF_LINKS   0x0010UL

Link Status Register.

Definition at line 20 of file intelxvf.h.

Referenced by intelxvf_check_link().

◆ INTELXVF_LINKS_UP

#define INTELXVF_LINKS_UP   0x40000000UL

Link up.

Definition at line 21 of file intelxvf.h.

Referenced by intelxvf_check_link().

◆ INTELXVF_EICR

#define INTELXVF_EICR   0x0100UL

Extended Interrupt Cause Read Register.

Definition at line 24 of file intelxvf.h.

Referenced by intelxvf_poll().

◆ INTELXVF_EIRQ_RX0

#define INTELXVF_EIRQ_RX0   0x00000001UL

RX queue 0 (via IVAR)

Definition at line 25 of file intelxvf.h.

Referenced by intelxvf_irq(), and intelxvf_poll().

◆ INTELXVF_EIRQ_TX0

#define INTELXVF_EIRQ_TX0   0x00000002UL

TX queue 0 (via IVAR)

Definition at line 26 of file intelxvf.h.

Referenced by intelxvf_irq(), and intelxvf_poll().

◆ INTELXVF_EIRQ_MBOX

#define INTELXVF_EIRQ_MBOX   0x00000004UL

Mailbox (via IVARM)

Definition at line 27 of file intelxvf.h.

Referenced by intelxvf_irq(), and intelxvf_poll().

◆ INTELXVF_EIMS

#define INTELXVF_EIMS   0x0108UL

Extended Interrupt Mask Set/Read Register.

Definition at line 30 of file intelxvf.h.

Referenced by intelxvf_irq().

◆ INTELXVF_EIMC

#define INTELXVF_EIMC   0x010cUL

Extended Interrupt Mask Clear Register.

Definition at line 33 of file intelxvf.h.

Referenced by intelxvf_irq().

◆ INTELXVF_IVAR

#define INTELXVF_IVAR   0x0120UL

Interrupt Vector Allocation Register.

Definition at line 36 of file intelxvf.h.

Referenced by intelxvf_open().

◆ INTELXVF_IVAR_RX0

#define INTELXVF_IVAR_RX0 ( bit)
Value:
( (bit) << 0 )
static unsigned int unsigned int bit
Definition bigint.h:392

RX queue 0 allocation.

Definition at line 37 of file intelxvf.h.

◆ INTELXVF_IVAR_RX0_DEFAULT

#define INTELXVF_IVAR_RX0_DEFAULT   INTELXVF_IVAR_RX0 ( 0x00 )

Definition at line 38 of file intelxvf.h.

Referenced by intelxvf_open().

◆ INTELXVF_IVAR_RX0_MASK

#define INTELXVF_IVAR_RX0_MASK   INTELXVF_IVAR_RX0 ( 0x01 )

Definition at line 39 of file intelxvf.h.

◆ INTELXVF_IVAR_RX0_VALID

#define INTELXVF_IVAR_RX0_VALID   0x00000080UL

RX queue 0 valid.

Definition at line 40 of file intelxvf.h.

Referenced by intelxvf_open().

◆ INTELXVF_IVAR_TX0

#define INTELXVF_IVAR_TX0 ( bit)
Value:
( (bit) << 8 )

TX queue 0 allocation.

Definition at line 41 of file intelxvf.h.

◆ INTELXVF_IVAR_TX0_DEFAULT

#define INTELXVF_IVAR_TX0_DEFAULT   INTELXVF_IVAR_TX0 ( 0x01 )

Definition at line 42 of file intelxvf.h.

Referenced by intelxvf_open().

◆ INTELXVF_IVAR_TX0_MASK

#define INTELXVF_IVAR_TX0_MASK   INTELXVF_IVAR_TX0 ( 0x01 )

Definition at line 43 of file intelxvf.h.

◆ INTELXVF_IVAR_TX0_VALID

#define INTELXVF_IVAR_TX0_VALID   0x00008000UL

TX queue 0 valid.

Definition at line 44 of file intelxvf.h.

Referenced by intelxvf_open().

◆ INTELXVF_IVARM

#define INTELXVF_IVARM   0x0140UL

Interrupt Vector Allocation Miscellaneous Register.

Definition at line 47 of file intelxvf.h.

Referenced by intelxvf_open().

◆ INTELXVF_IVARM_MBOX

#define INTELXVF_IVARM_MBOX ( bit)
Value:
( (bit) << 0 )

Mailbox allocation.

Definition at line 48 of file intelxvf.h.

◆ INTELXVF_IVARM_MBOX_DEFAULT

#define INTELXVF_IVARM_MBOX_DEFAULT   INTELXVF_IVARM_MBOX ( 0x02 )

Definition at line 49 of file intelxvf.h.

Referenced by intelxvf_open().

◆ INTELXVF_IVARM_MBOX_MASK

#define INTELXVF_IVARM_MBOX_MASK   INTELXVF_IVARM_MBOX ( 0x03 )

Definition at line 50 of file intelxvf.h.

◆ INTELXVF_IVARM_MBOX_VALID

#define INTELXVF_IVARM_MBOX_VALID   0x00000080UL

Mailbox valid.

Definition at line 51 of file intelxvf.h.

Referenced by intelxvf_open().

◆ INTELXVF_MBMEM

#define INTELXVF_MBMEM   0x0200UL

Mailbox Memory Register Base.

Definition at line 54 of file intelxvf.h.

Referenced by intelxvf_probe().

◆ INTELXVF_MBCTRL

#define INTELXVF_MBCTRL   0x02fcUL

Mailbox Control Register.

Definition at line 57 of file intelxvf.h.

Referenced by intelxvf_probe().

◆ INTELXVF_PSRTYPE

#define INTELXVF_PSRTYPE   0x0300UL

Packet Split Receive Type.

Definition at line 60 of file intelxvf.h.

Referenced by intelxvf_open().

◆ INTELXVF_RD

#define INTELXVF_RD ( n)
Value:
( 0x1000UL + ( 0x40 * (n) ) )

Receive Descriptor register block.

Definition at line 63 of file intelxvf.h.

Referenced by intelxvf_open(), and intelxvf_probe().

◆ INTELXVF_DCA_RXCTRL

#define INTELXVF_DCA_RXCTRL   0x100cUL

RX DCA Control Register.

Definition at line 66 of file intelxvf.h.

Referenced by intelxvf_open().

◆ INTELXVF_DCA_RXCTRL_MUST_BE_ZERO

#define INTELXVF_DCA_RXCTRL_MUST_BE_ZERO   0x00001000UL

Must be zero.

Definition at line 67 of file intelxvf.h.

Referenced by intelxvf_open().

◆ INTELXVF_SRRCTL

#define INTELXVF_SRRCTL   0x1014UL

Split Receive Control Register.

Definition at line 70 of file intelxvf.h.

Referenced by intelxvf_open().

◆ INTELXVF_SRRCTL_BSIZE

#define INTELXVF_SRRCTL_BSIZE ( kb)
Value:
( (kb) << 0 )

Receive buffer size.

Definition at line 71 of file intelxvf.h.

◆ INTELXVF_SRRCTL_BSIZE_DEFAULT

#define INTELXVF_SRRCTL_BSIZE_DEFAULT   INTELXVF_SRRCTL_BSIZE ( 0x02 )

Definition at line 72 of file intelxvf.h.

Referenced by intelxvf_open().

◆ INTELXVF_SRRCTL_BSIZE_MASK

#define INTELXVF_SRRCTL_BSIZE_MASK   INTELXVF_SRRCTL_BSIZE ( 0x1f )

Definition at line 73 of file intelxvf.h.

Referenced by intelxvf_open().

◆ INTELXVF_SRRCTL_BHDRSIZE

#define INTELXVF_SRRCTL_BHDRSIZE ( kb)
Value:
( (kb) << 8 )

Header size.

Definition at line 74 of file intelxvf.h.

◆ INTELXVF_SRRCTL_BHDRSIZE_DEFAULT

#define INTELXVF_SRRCTL_BHDRSIZE_DEFAULT   INTELXVF_SRRCTL_BHDRSIZE ( 0x04 )

Definition at line 75 of file intelxvf.h.

Referenced by intelxvf_open().

◆ INTELXVF_SRRCTL_BHDRSIZE_MASK

#define INTELXVF_SRRCTL_BHDRSIZE_MASK   INTELXVF_SRRCTL_BHDRSIZE ( 0x0f )

Definition at line 76 of file intelxvf.h.

Referenced by intelxvf_open().

◆ INTELXVF_SRRCTL_DESCTYPE

#define INTELXVF_SRRCTL_DESCTYPE ( typ)
Value:
( (typ) << 25 )

Descriptor type.

Definition at line 77 of file intelxvf.h.

◆ INTELXVF_SRRCTL_DESCTYPE_DEFAULT

#define INTELXVF_SRRCTL_DESCTYPE_DEFAULT   INTELXVF_SRRCTL_DESCTYPE ( 0x00 )

Definition at line 78 of file intelxvf.h.

Referenced by intelxvf_open().

◆ INTELXVF_SRRCTL_DESCTYPE_MASK

#define INTELXVF_SRRCTL_DESCTYPE_MASK   INTELXVF_SRRCTL_DESCTYPE ( 0x07 )

Definition at line 79 of file intelxvf.h.

Referenced by intelxvf_open().

◆ INTELXVF_SRRCTL_DROP_EN

#define INTELXVF_SRRCTL_DROP_EN   0x10000000UL

Definition at line 80 of file intelxvf.h.

Referenced by intelxvf_open().

◆ INTELXVF_GPRC

#define INTELXVF_GPRC   0x101c

Good Packets Received Count.

Definition at line 83 of file intelxvf.h.

Referenced by intelxvf_stats().

◆ INTELXVF_GORCL

#define INTELXVF_GORCL   0x1020

Good Packets Received Count Low.

Definition at line 86 of file intelxvf.h.

Referenced by intelxvf_stats().

◆ INTELXVF_GORCH

#define INTELXVF_GORCH   0x1024

Good Packets Received Count High.

Definition at line 89 of file intelxvf.h.

Referenced by intelxvf_stats().

◆ INTELXVF_MPRC

#define INTELXVF_MPRC   0x1034

Definition at line 92 of file intelxvf.h.

Referenced by intelxvf_stats().

◆ INTELXVF_TD

#define INTELXVF_TD ( n)
Value:
( 0x2000UL + ( 0x40 * (n) ) )

Transmit Descriptor register block.

Definition at line 95 of file intelxvf.h.

Referenced by intelxvf_open(), and intelxvf_probe().

◆ INTELXVF_GPTC

#define INTELXVF_GPTC   0x201c

Good Packets Transmitted Count.

Definition at line 98 of file intelxvf.h.

Referenced by intelxvf_stats().

◆ INTELXVF_GOTCL

#define INTELXVF_GOTCL   0x2020

Good Packets Transmitted Count Low.

Definition at line 101 of file intelxvf.h.

Referenced by intelxvf_stats().

◆ INTELXVF_GOTCH

#define INTELXVF_GOTCH   0x2024

Good Packets Transmitted Count High.

Definition at line 104 of file intelxvf.h.

Referenced by intelxvf_stats().

◆ INTELXVF_MSG_TYPE_VERSION

#define INTELXVF_MSG_TYPE_VERSION   0x00000008UL

Negotiate API version mailbox message.

Definition at line 107 of file intelxvf.h.

Referenced by intelxvf_mbox_version().

◆ INTELXVF_MSG_VERSION_1_1

#define INTELXVF_MSG_VERSION_1_1   0x00000002UL

API version 1.1.

Definition at line 110 of file intelxvf.h.

Referenced by intelxvf_open().

◆ INTELXVF_NUM_RINGS

#define INTELXVF_NUM_RINGS   8

Number of queues.

Definition at line 113 of file intelxvf.h.

Referenced by intelxvf_open().

Function Documentation

◆ FILE_LICENCE()

FILE_LICENCE ( GPL2_OR_LATER_OR_UBDL )

◆ FILE_SECBOOT()

FILE_SECBOOT ( PERMITTED )