iPXE
Macros | Functions
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. More...
 
#define INTELXVF_CTRL_RST   0x04000000UL
 Function-level reset. More...
 
#define INTELXVF_LINKS   0x0010UL
 Link Status Register. More...
 
#define INTELXVF_LINKS_UP   0x40000000UL
 Link up. More...
 
#define INTELXVF_EICR   0x0100UL
 Extended Interrupt Cause Read Register. More...
 
#define INTELXVF_EIRQ_RX0   0x00000001UL
 RX queue 0 (via IVAR) More...
 
#define INTELXVF_EIRQ_TX0   0x00000002UL
 TX queue 0 (via IVAR) More...
 
#define INTELXVF_EIRQ_MBOX   0x00000004UL
 Mailbox (via IVARM) More...
 
#define INTELXVF_EIMS   0x0108UL
 Extended Interrupt Mask Set/Read Register. More...
 
#define INTELXVF_EIMC   0x010cUL
 Extended Interrupt Mask Clear Register. More...
 
#define INTELXVF_IVAR   0x0120UL
 Interrupt Vector Allocation Register. More...
 
#define INTELXVF_IVAR_RX0(bit)   ( (bit) << 0 )
 RX queue 0 allocation. More...
 
#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. More...
 
#define INTELXVF_IVAR_TX0(bit)   ( (bit) << 8 )
 TX queue 0 allocation. More...
 
#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. More...
 
#define INTELXVF_IVARM   0x0140UL
 Interrupt Vector Allocation Miscellaneous Register. More...
 
#define INTELXVF_IVARM_MBOX(bit)   ( (bit) << 0 )
 Mailbox allocation. More...
 
#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. More...
 
#define INTELXVF_MBMEM   0x0200UL
 Mailbox Memory Register Base. More...
 
#define INTELXVF_MBCTRL   0x02fcUL
 Mailbox Control Register. More...
 
#define INTELXVF_PSRTYPE   0x0300UL
 Packet Split Receive Type. More...
 
#define INTELXVF_RD(n)   ( 0x1000UL + ( 0x40 * (n) ) )
 Receive Descriptor register block. More...
 
#define INTELXVF_DCA_RXCTRL   0x100cUL
 RX DCA Control Register. More...
 
#define INTELXVF_DCA_RXCTRL_MUST_BE_ZERO   0x00001000UL
 Must be zero. More...
 
#define INTELXVF_SRRCTL   0x1014UL
 Split Receive Control Register. More...
 
#define INTELXVF_SRRCTL_BSIZE(kb)   ( (kb) << 0 )
 Receive buffer size. More...
 
#define INTELXVF_SRRCTL_BSIZE_DEFAULT   INTELXVF_SRRCTL_BSIZE ( 0x02 )
 
#define INTELXVF_SRRCTL_BSIZE_MASK   INTELXVF_SRRCTL_BSIZE ( 0x1f )
 
#define INTELXVF_SRRCTL_BHDRSIZE(kb)   ( (kb) << 8 )
 Header size. More...
 
#define INTELXVF_SRRCTL_BHDRSIZE_DEFAULT   INTELXVF_SRRCTL_BHDRSIZE ( 0x04 )
 
#define INTELXVF_SRRCTL_BHDRSIZE_MASK   INTELXVF_SRRCTL_BHDRSIZE ( 0x0f )
 
#define INTELXVF_SRRCTL_DESCTYPE(typ)   ( (typ) << 25 )
 Descriptor type. More...
 
#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. More...
 
#define INTELXVF_GORCL   0x1020
 Good Packets Received Count Low. More...
 
#define INTELXVF_GORCH   0x1024
 Good Packets Received Count High. More...
 
#define INTELXVF_MPRC   0x1034
 
#define INTELXVF_TD(n)   ( 0x2000UL + ( 0x40 * (n) ) )
 Transmit Descriptor register block. More...
 
#define INTELXVF_GPTC   0x201c
 Good Packets Transmitted Count. More...
 
#define INTELXVF_GOTCL   0x2020
 Good Packets Transmitted Count Low. More...
 
#define INTELXVF_GOTCH   0x2024
 Good Packets Transmitted Count High. More...
 
#define INTELXVF_MSG_TYPE_VERSION   0x00000008UL
 Negotiate API version mailbox message. More...
 
#define INTELXVF_MSG_VERSION_1_1   0x00000002UL
 API version 1.1. More...
 
#define INTELXVF_NUM_RINGS   8
 Number of queues. More...
 

Functions

 FILE_LICENCE (GPL2_OR_LATER_OR_UBDL)
 

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 15 of file intelxvf.h.

◆ INTELXVF_CTRL_RST

#define INTELXVF_CTRL_RST   0x04000000UL

Function-level reset.

Definition at line 16 of file intelxvf.h.

◆ INTELXVF_LINKS

#define INTELXVF_LINKS   0x0010UL

Link Status Register.

Definition at line 19 of file intelxvf.h.

◆ INTELXVF_LINKS_UP

#define INTELXVF_LINKS_UP   0x40000000UL

Link up.

Definition at line 20 of file intelxvf.h.

◆ INTELXVF_EICR

#define INTELXVF_EICR   0x0100UL

Extended Interrupt Cause Read Register.

Definition at line 23 of file intelxvf.h.

◆ INTELXVF_EIRQ_RX0

#define INTELXVF_EIRQ_RX0   0x00000001UL

RX queue 0 (via IVAR)

Definition at line 24 of file intelxvf.h.

◆ INTELXVF_EIRQ_TX0

#define INTELXVF_EIRQ_TX0   0x00000002UL

TX queue 0 (via IVAR)

Definition at line 25 of file intelxvf.h.

◆ INTELXVF_EIRQ_MBOX

#define INTELXVF_EIRQ_MBOX   0x00000004UL

Mailbox (via IVARM)

Definition at line 26 of file intelxvf.h.

◆ INTELXVF_EIMS

#define INTELXVF_EIMS   0x0108UL

Extended Interrupt Mask Set/Read Register.

Definition at line 29 of file intelxvf.h.

◆ INTELXVF_EIMC

#define INTELXVF_EIMC   0x010cUL

Extended Interrupt Mask Clear Register.

Definition at line 32 of file intelxvf.h.

◆ INTELXVF_IVAR

#define INTELXVF_IVAR   0x0120UL

Interrupt Vector Allocation Register.

Definition at line 35 of file intelxvf.h.

◆ INTELXVF_IVAR_RX0

#define INTELXVF_IVAR_RX0 (   bit)    ( (bit) << 0 )

RX queue 0 allocation.

Definition at line 36 of file intelxvf.h.

◆ INTELXVF_IVAR_RX0_DEFAULT

#define INTELXVF_IVAR_RX0_DEFAULT   INTELXVF_IVAR_RX0 ( 0x00 )

Definition at line 37 of file intelxvf.h.

◆ INTELXVF_IVAR_RX0_MASK

#define INTELXVF_IVAR_RX0_MASK   INTELXVF_IVAR_RX0 ( 0x01 )

Definition at line 38 of file intelxvf.h.

◆ INTELXVF_IVAR_RX0_VALID

#define INTELXVF_IVAR_RX0_VALID   0x00000080UL

RX queue 0 valid.

Definition at line 39 of file intelxvf.h.

◆ INTELXVF_IVAR_TX0

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

TX queue 0 allocation.

Definition at line 40 of file intelxvf.h.

◆ INTELXVF_IVAR_TX0_DEFAULT

#define INTELXVF_IVAR_TX0_DEFAULT   INTELXVF_IVAR_TX0 ( 0x01 )

Definition at line 41 of file intelxvf.h.

◆ INTELXVF_IVAR_TX0_MASK

#define INTELXVF_IVAR_TX0_MASK   INTELXVF_IVAR_TX0 ( 0x01 )

Definition at line 42 of file intelxvf.h.

◆ INTELXVF_IVAR_TX0_VALID

#define INTELXVF_IVAR_TX0_VALID   0x00008000UL

TX queue 0 valid.

Definition at line 43 of file intelxvf.h.

◆ INTELXVF_IVARM

#define INTELXVF_IVARM   0x0140UL

Interrupt Vector Allocation Miscellaneous Register.

Definition at line 46 of file intelxvf.h.

◆ INTELXVF_IVARM_MBOX

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

Mailbox allocation.

Definition at line 47 of file intelxvf.h.

◆ INTELXVF_IVARM_MBOX_DEFAULT

#define INTELXVF_IVARM_MBOX_DEFAULT   INTELXVF_IVARM_MBOX ( 0x02 )

Definition at line 48 of file intelxvf.h.

◆ INTELXVF_IVARM_MBOX_MASK

#define INTELXVF_IVARM_MBOX_MASK   INTELXVF_IVARM_MBOX ( 0x03 )

Definition at line 49 of file intelxvf.h.

◆ INTELXVF_IVARM_MBOX_VALID

#define INTELXVF_IVARM_MBOX_VALID   0x00000080UL

Mailbox valid.

Definition at line 50 of file intelxvf.h.

◆ INTELXVF_MBMEM

#define INTELXVF_MBMEM   0x0200UL

Mailbox Memory Register Base.

Definition at line 53 of file intelxvf.h.

◆ INTELXVF_MBCTRL

#define INTELXVF_MBCTRL   0x02fcUL

Mailbox Control Register.

Definition at line 56 of file intelxvf.h.

◆ INTELXVF_PSRTYPE

#define INTELXVF_PSRTYPE   0x0300UL

Packet Split Receive Type.

Definition at line 59 of file intelxvf.h.

◆ INTELXVF_RD

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

Receive Descriptor register block.

Definition at line 62 of file intelxvf.h.

◆ INTELXVF_DCA_RXCTRL

#define INTELXVF_DCA_RXCTRL   0x100cUL

RX DCA Control Register.

Definition at line 65 of file intelxvf.h.

◆ INTELXVF_DCA_RXCTRL_MUST_BE_ZERO

#define INTELXVF_DCA_RXCTRL_MUST_BE_ZERO   0x00001000UL

Must be zero.

Definition at line 66 of file intelxvf.h.

◆ INTELXVF_SRRCTL

#define INTELXVF_SRRCTL   0x1014UL

Split Receive Control Register.

Definition at line 69 of file intelxvf.h.

◆ INTELXVF_SRRCTL_BSIZE

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

Receive buffer size.

Definition at line 70 of file intelxvf.h.

◆ INTELXVF_SRRCTL_BSIZE_DEFAULT

#define INTELXVF_SRRCTL_BSIZE_DEFAULT   INTELXVF_SRRCTL_BSIZE ( 0x02 )

Definition at line 71 of file intelxvf.h.

◆ INTELXVF_SRRCTL_BSIZE_MASK

#define INTELXVF_SRRCTL_BSIZE_MASK   INTELXVF_SRRCTL_BSIZE ( 0x1f )

Definition at line 72 of file intelxvf.h.

◆ INTELXVF_SRRCTL_BHDRSIZE

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

Header size.

Definition at line 73 of file intelxvf.h.

◆ INTELXVF_SRRCTL_BHDRSIZE_DEFAULT

#define INTELXVF_SRRCTL_BHDRSIZE_DEFAULT   INTELXVF_SRRCTL_BHDRSIZE ( 0x04 )

Definition at line 74 of file intelxvf.h.

◆ INTELXVF_SRRCTL_BHDRSIZE_MASK

#define INTELXVF_SRRCTL_BHDRSIZE_MASK   INTELXVF_SRRCTL_BHDRSIZE ( 0x0f )

Definition at line 75 of file intelxvf.h.

◆ INTELXVF_SRRCTL_DESCTYPE

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

Descriptor type.

Definition at line 76 of file intelxvf.h.

◆ INTELXVF_SRRCTL_DESCTYPE_DEFAULT

#define INTELXVF_SRRCTL_DESCTYPE_DEFAULT   INTELXVF_SRRCTL_DESCTYPE ( 0x00 )

Definition at line 77 of file intelxvf.h.

◆ INTELXVF_SRRCTL_DESCTYPE_MASK

#define INTELXVF_SRRCTL_DESCTYPE_MASK   INTELXVF_SRRCTL_DESCTYPE ( 0x07 )

Definition at line 78 of file intelxvf.h.

◆ INTELXVF_SRRCTL_DROP_EN

#define INTELXVF_SRRCTL_DROP_EN   0x10000000UL

Definition at line 79 of file intelxvf.h.

◆ INTELXVF_GPRC

#define INTELXVF_GPRC   0x101c

Good Packets Received Count.

Definition at line 82 of file intelxvf.h.

◆ INTELXVF_GORCL

#define INTELXVF_GORCL   0x1020

Good Packets Received Count Low.

Definition at line 85 of file intelxvf.h.

◆ INTELXVF_GORCH

#define INTELXVF_GORCH   0x1024

Good Packets Received Count High.

Definition at line 88 of file intelxvf.h.

◆ INTELXVF_MPRC

#define INTELXVF_MPRC   0x1034

Definition at line 91 of file intelxvf.h.

◆ INTELXVF_TD

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

Transmit Descriptor register block.

Definition at line 94 of file intelxvf.h.

◆ INTELXVF_GPTC

#define INTELXVF_GPTC   0x201c

Good Packets Transmitted Count.

Definition at line 97 of file intelxvf.h.

◆ INTELXVF_GOTCL

#define INTELXVF_GOTCL   0x2020

Good Packets Transmitted Count Low.

Definition at line 100 of file intelxvf.h.

◆ INTELXVF_GOTCH

#define INTELXVF_GOTCH   0x2024

Good Packets Transmitted Count High.

Definition at line 103 of file intelxvf.h.

◆ INTELXVF_MSG_TYPE_VERSION

#define INTELXVF_MSG_TYPE_VERSION   0x00000008UL

Negotiate API version mailbox message.

Definition at line 106 of file intelxvf.h.

◆ INTELXVF_MSG_VERSION_1_1

#define INTELXVF_MSG_VERSION_1_1   0x00000002UL

API version 1.1.

Definition at line 109 of file intelxvf.h.

◆ INTELXVF_NUM_RINGS

#define INTELXVF_NUM_RINGS   8

Number of queues.

Definition at line 112 of file intelxvf.h.

Function Documentation

◆ FILE_LICENCE()

FILE_LICENCE ( GPL2_OR_LATER_OR_UBDL  )