1
0
mirror of https://git.FreeBSD.org/src.git synced 2025-01-26 16:18:31 +00:00
freebsd/sys/modules
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
..
3dfx
3dfx_linux
aac
aacraid
accf_data
accf_dns
accf_http
acl_nfs4
acl_posix1e
acpi Sort SUBDIR. 2016-04-27 19:38:24 +00:00
ae
aesni
age
agp
aha
ahb
ahci
aic
aic7xxx WITH_META_MODE: Avoid false-positive error due to missing .meta with build commands. 2016-06-29 22:39:22 +00:00
alc
ale
alq
am335x_dmtpps
amdsbwd
amdtemp
amr
an
aout
apm
ar71xx
arcmsr
arcnet
asmc
ata
ath [ath] commit initial bluetooth coexistence support for the MCI NICs. 2016-06-02 00:51:36 +00:00
ath_ahb
ath_pci
autofs
auxio
bce
bfe
bge
bhnd Migrate bhndb(4) to the new bhnd_erom API. 2016-09-04 00:58:19 +00:00
bios
bktr
bm
bridgestp
bwi
bwn Make some additional -Wconstant-conversion warnings from clang 3.9.0 in 2016-09-04 17:56:55 +00:00
bwn_pci bwn, bwn_pci, siba_bwn: add missing opt_*.h dependencies. 2016-06-08 20:01:10 +00:00
bxe 1. Removed -Wno-shift-negative-value from Makefile 2016-04-25 18:55:01 +00:00
cam Make cam.ko loadable. 2016-07-22 06:21:03 +00:00
canbepm
canbus
cardbus
carp
cas
cbb
cc
cd9660
cd9660_iconv
ce
cfi
ciss
cloudabi Provide the CloudABI vDSO to its executables. 2016-08-10 21:02:41 +00:00
cloudabi32 Use both the MACHINE and MACHINE_CPUARCH directories for finding sources. 2016-08-29 07:48:35 +00:00
cloudabi64 Use both the MACHINE and MACHINE_CPUARCH directories for finding sources. 2016-08-29 07:48:35 +00:00
cm
cmx
coff
coretemp
cp
cpsw
cpuctl
cpufreq
crypto Import the skein hashing algorithm, based on the threefish block cipher 2016-05-29 01:15:36 +00:00
cryptodev
cs
ct
ctau
ctl
cuse
cx
cxgb
cxgbe Chelsio T4/T5 VF driver. 2016-09-07 18:13:57 +00:00
dc
dcons
dcons_crom
de
dpms
dpt
drm
drm2 drm/i915: Update to match Linux 3.8.13 2016-03-08 20:33:02 +00:00
dtb Add sun5i-a13-olinuxino to the build. 2016-08-17 17:59:09 +00:00
dtrace Revert r303911 "Remove extra -msoft-float flags settings." 2016-08-11 13:42:31 +00:00
dummynet Now that PIE is free of runtime floating point, revert r300853 to 2016-05-29 07:29:35 +00:00
ed
elink
em
en
ep
epic
esp
et
ex
exca
ext2fs
fatm
fdc
fdescfs
fe
filemon DIRDEPS_BUILD: Regenerate without local dependencies. 2016-02-24 17:20:11 +00:00
firewire
firmware
fuse
fxp
gem
geom Obsolete mkulzma(8) and geom_uncompress(4), their functionality 2016-02-24 00:39:36 +00:00
glxiic
glxsb
gpio Add gpiokeys to the list of GPIO modules built only if FDT is enabled 2016-05-28 00:22:39 +00:00
hatm
hifn
hme
hpt27xx
hptiop
hptmv
hptnr
hptrr
hwpmc
hyperv hyperv/vmbus: Add APIs for various types of transactions. 2016-08-11 05:49:49 +00:00
i2c Build ofw_bus_if.h for modules for RISC-V. 2016-07-28 13:21:45 +00:00
ibcore
ibcs2
ichwd
ida
if_bridge
if_disc
if_edsc
if_enc
if_epair
if_gif
if_gre
if_lagg
if_me
if_ndis
if_stf
if_tap
if_tun
if_vlan
if_vxlan
igb Misc. build: minor spelling fixes. 2016-05-03 22:01:48 +00:00
iir
imgact_binmisc
io
ioat
ip6_mroute_mod
ip_mroute_mod
ipdivert
ipfilter
ipfw Move logging via BPF support into separate file. 2016-08-13 15:41:04 +00:00
ipfw_nat
ipfw_nat64 Add ipfw_nat64 module that implements stateless and stateful NAT64. 2016-08-13 16:09:49 +00:00
ipfw_nptv6 Add ipfw_nptv6 module that implements Network Prefix Translation for IPv6 2016-07-18 19:46:31 +00:00
ipmi
ipoib
ips
ipw
ipwfw
isci
iscsi Build iscsi(4) with ICL_KERNEL_PROXY when building with WITH_OFED. 2016-05-27 11:37:56 +00:00
iscsi_initiator
iser Bring in the Mellanox implementation of iSER (iSCSI over RDMA) initiator, 2016-05-26 09:49:29 +00:00
isp
ispfw
iwi
iwifw
iwm [iwm] add if_iwm_led.c into the build. 2016-06-02 04:42:45 +00:00
iwmfw Update iwmfw(4) to include support for 8260 series units and update 2016-07-25 23:05:25 +00:00
iwn
iwnfw
ix
ixgb
ixl ixl(4): Update to ixl-1.6.6-k. 2016-08-07 18:12:36 +00:00
ixlv ixl(4): Update to ixl-1.6.6-k. 2016-08-07 18:12:36 +00:00
ixv
jme
joy
kbdmux Add option to specify built-in keymap for kbdmux 2016-04-07 20:12:45 +00:00
kgssapi
kgssapi_krb5
khelp
krpc
ksyms
le
lge
libalias
libiconv
libmbpool
libmchain
linprocfs
linsysfs
linux Fix a copy/paste bug introduced during X86_64 Linuxulator work. 2016-07-10 08:22:04 +00:00
linux64 opt_apic.h is only used on i386. 2016-07-27 20:45:00 +00:00
linux_common Fix a copy/paste bug introduced during X86_64 Linuxulator work. 2016-07-10 08:22:04 +00:00
linuxkpi
lmc
lpt
mac_biba
mac_bsdextended
mac_ifoff
mac_lomac
mac_mls
mac_none
mac_partition
mac_portacl
mac_seeotheruids
mac_stub
mac_test
malo
md For the MD_ROOT option don't inject /dev/md0 as root dev when ROOTDEVNAME 2016-03-09 19:36:25 +00:00
mdio
mem
mfi
mii
mlx
mlx4
mlx4ib
mlx5 opt_random.h was removed in r287558 for opt_global.h 2016-07-27 20:44:53 +00:00
mlx5en Switch to the new block based LRO input function for the mlx5en 2016-08-08 16:22:16 +00:00
mlxen
mly
mmc
mmcsd
mpr
mps
mpt
mqueue
mrsas
msdosfs
msdosfs_iconv
mse
msk
mthca
mvs
mwl
mwlfw
mxge
my
nand
nandfs
nandsim
ncr
nctgpio Add support for the Nuvoton NCT5104D. 2016-03-31 04:57:38 +00:00
ncv
ndis
netfpga10g
netgraph netgraph module for reconstructing checksums 2016-08-01 12:09:04 +00:00
netmap
nfe
nfscl
nfscommon
nfsd
nfslock
nfslockd
nfssvc
nge
nmdm
nsp
ntb NewBus'ify NTB subsystem. 2016-07-09 11:20:42 +00:00
nullfs
nvd
nvme
nvram
nxge
oce
opensolaris
otus
otusfw
ow
padlock
padlock_rng
patm
pccard
pcfclock
pcn
pf
pflog Remove the old depend (mkdep) code and make FAST_DEPEND the one true way. 2016-03-30 23:50:23 +00:00
pfsync Remove the old depend (mkdep) code and make FAST_DEPEND the one true way. 2016-03-30 23:50:23 +00:00
plip
pmc
pms
powermac_nvram
ppbus
ppc
ppi
pps
procfs
proto
pseudofs
pst
pty
puc
qlxgb
qlxgbe
qlxge
ral
ralfw
random_fortuna
random_other
random_yarrow
rc
rc4
rccgpio
rdma
rdrand_rng
re
rl
rndtest
rp
rtwn
rtwnfw
s3
safe
sbni
scc
scsi_low
sdhci
sdhci_pci
sem
send
sf
sfxge sfxge(4): prepare sfxge to be RSS API aware 2016-06-06 09:04:20 +00:00
sge
siba_bwn bwn, bwn_pci, siba_bwn: add missing opt_*.h dependencies. 2016-06-08 20:01:10 +00:00
siftr
siis
sio
sis
sk
smbfs
sn
snc
snp
sound
speaker
splash
sppp
ste
stg
stge
streams Fix streams and svr4 module dependency. Both modules are complaining about 2016-04-23 20:29:55 +00:00
svr4 Fix streams and svr4 module dependency. Both modules are complaining about 2016-04-23 20:29:55 +00:00
sym
syscons
sysvipc
tcp/fastpath Cleanup unneded include "opt_ipfw.h". 2016-06-09 05:48:34 +00:00
tests Merge ^/user/ngie/release-pkg-fix-tests to unbreak how test files are installed 2016-05-04 23:20:53 +00:00
ti
tl
tmpfs
toecore
tpm
trm
tsec
twa
twe
tws
tx
txp
uart Build ofw_bus_if.h for modules for RISC-V. 2016-07-28 13:21:45 +00:00
ubsec
ubser
uchcom
ucycom
udf
udf_iconv
ufs
unionfs
urtwn Use proper kern.opts.mk rather than src.opts.mk from r297058. 2016-03-29 15:26:53 +00:00
urtwnfw [urtwn] migrate urtwn out into sys/dev/urtwn/ . 2016-03-20 03:54:57 +00:00
usb [urtwn] migrate urtwn out into sys/dev/urtwn/ . 2016-03-20 03:54:57 +00:00
utopia
vesa
vge
viawd
videomode
virtio
vkbd
vmm
vmware
vnic Allow building VNIC as a module 2016-05-20 11:00:06 +00:00
vpo
vr
vte
vx
vxge
wb
wbwd
wi
wlan
wlan_acl
wlan_amrr
wlan_ccmp
wlan_rssadapt
wlan_tkip
wlan_wep
wlan_xauth
wpi
wpifw
wtap Remove the old depend (mkdep) code and make FAST_DEPEND the one true way. 2016-03-30 23:50:23 +00:00
x86bios
xe
xl
zfs Connect the SHA-512t256 and Skein hashing algorithms to ZFS 2016-05-31 04:12:14 +00:00
zlib
Makefile Back out r304907, Ed had fixed it apparently earlier in the cloudabi* 2016-08-28 12:05:34 +00:00
Makefile.inc