freebsd-nq/sys/arm/conf/NOTES
John Baldwin 6af45170c1 Chelsio T4/T5 VF driver.
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
2016-09-07 18:13:57 +00:00

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