e25b63eed6
The cxgbev/cxlv driver supports Virtual Function devices for Chelsio T4 and T4 adapters. The VF devices share most of their code with the existing PF4 driver (cxgbe/cxl) and as such the VF device driver currently depends on the PF4 driver. Similar to the cxgbe/cxl drivers, the VF driver includes a t4vf/t5vf PCI device driver that attaches to the VF device. It then creates child cxgbev/cxlv devices representing ports assigned to the VF. By default, the PF driver assigns a single port to each VF. t4vf_hw.c contains VF-specific routines from the shared code used to fetch VF-specific parameters from the firmware. t4_vf.c contains the VF-specific PCI device driver and includes its own attach routine. VF devices are required to use a different firmware request when transmitting packets (which in turn requires a different CPL message to encapsulate messages). This alternate firmware request does not permit chaining multiple packets in a single message, so each packet results in a firmware request. In addition, the different CPL message requires more detailed information when enabling hardware checksums, so parse_pkt() on VF devices must examine L2 and L3 headers for all packets (not just TSO packets) for VF devices. Finally, L2 checksums on non-UDP/non-TCP packets do not work reliably (the firmware trashes the IPv4 fragment field), so IPv4 checksums for such packets are calculated in software. Most of the other changes in the non-VF-specific code are to expose various variables and functions private to the PF driver so that they can be used by the VF driver. Note that a limited subset of cxgbetool functions are supported on VF devices including register dumps, scheduler classes, and clearing of statistics. In addition, TOE is not supported on VF devices, only for the PF interfaces. Reviewed by: np MFC after: 2 months Sponsored by: Chelsio Communications Differential Revision: https://reviews.freebsd.org/D7599
107 lines
2.1 KiB
Plaintext
107 lines
2.1 KiB
Plaintext
# $FreeBSD$
|
|
|
|
machine arm
|
|
|
|
cpu CPU_ARM9
|
|
cpu CPU_ARM9E
|
|
cpu CPU_FA526
|
|
cpu CPU_XSCALE_81342
|
|
cpu CPU_XSCALE_IXP425
|
|
cpu CPU_XSCALE_IXP435
|
|
cpu CPU_XSCALE_PXA2X0
|
|
|
|
files "../at91/files.at91"
|
|
files "../cavium/cns11xx/files.econa"
|
|
files "../mv/files.mv"
|
|
files "../mv/discovery/files.db78xxx"
|
|
files "../mv/kirkwood/files.kirkwood"
|
|
files "../mv/orion/files.db88f5xxx"
|
|
files "../mv/orion/files.ts7800"
|
|
files "../xscale/i8134x/files.crb"
|
|
files "../xscale/i8134x/files.i81342"
|
|
files "../xscale/ixp425/files.avila"
|
|
files "../xscale/ixp425/files.ixp425"
|
|
files "../xscale/pxa/files.pxa"
|
|
|
|
options PHYSADDR=0x00000000
|
|
options KERNVIRTADDR=0xc0000000
|
|
|
|
makeoptions LDFLAGS="-zmuldefs"
|
|
makeoptions KERNPHYSADDR=0x00000000
|
|
makeoptions KERNVIRTADDR=0xc0000000
|
|
|
|
options FDT
|
|
|
|
options SOC_MV_DISCOVERY
|
|
options SOC_MV_KIRKWOOD
|
|
options SOC_MV_ORION
|
|
|
|
device at91_board_bwct
|
|
device at91_board_ethernut5
|
|
device at91_board_hl200
|
|
device at91_board_hl201
|
|
device at91_board_kb920x
|
|
device at91_board_qila9g20
|
|
device at91_board_sam9260ek
|
|
device at91_board_sam9g20ek
|
|
device at91_board_sam9x25ek
|
|
device at91_board_tsc4370
|
|
device at91rm9200
|
|
device nand
|
|
|
|
# IIC
|
|
device twsi
|
|
|
|
nooptions SMP
|
|
nooptions MAXCPU
|
|
|
|
nooptions COMPAT_FREEBSD4
|
|
nooptions COMPAT_FREEBSD5
|
|
nooptions COMPAT_FREEBSD6
|
|
nooptions COMPAT_FREEBSD7
|
|
nooptions COMPAT_FREEBSD9
|
|
nooption PPC_PROBE_CHIPSET
|
|
|
|
nodevice fdc
|
|
nodevice sym
|
|
nodevice ukbd
|
|
|
|
nodevice sc
|
|
nodevice blank_saver
|
|
nodevice daemon_saver
|
|
nodevice dragon_saver
|
|
nodevice fade_saver
|
|
nodevice fire_saver
|
|
nodevice green_saver
|
|
nodevice logo_saver
|
|
nodevice rain_saver
|
|
nodevice snake_saver
|
|
nodevice star_saver
|
|
nodevice warp_saver
|
|
|
|
nodevice cxgbe
|
|
nodevice cxgbev
|
|
nodevice snd_cmi
|
|
|
|
#
|
|
# Enable the kernel DTrace hooks which are required to load the DTrace
|
|
# kernel modules.
|
|
#
|
|
options KDTRACE_HOOKS
|
|
|
|
# DTrace core
|
|
# NOTE: introduces CDDL-licensed components into the kernel
|
|
#device dtrace
|
|
|
|
# DTrace modules
|
|
#device dtrace_profile
|
|
#device dtrace_sdt
|
|
#device dtrace_fbt
|
|
#device dtrace_systrace
|
|
#device dtrace_prototype
|
|
#device dtnfscl
|
|
#device dtmalloc
|
|
|
|
# Alternatively include all the DTrace modules
|
|
#device dtraceall
|