freebsd-nq/sys/modules
Hans Petter Selasky b633e08c70 ibcore: Kernel space update based on Linux 5.7-rc1.
Overview:

This is the first stage of a RDMA stack upgrade introducing kernel
changes only based on Linux 5.7-rc1.

This patch is based on about four main areas of work:
- Update of the IB uobjects system:
  - The memory holding so-called AH, CQ, PD, SRQ and UCONTEXT objects
    is now managed by ibcore. This also require some changes in the
    kernel verbs API. The updated verbs changes are typically about
    initialize and deinitialize objects, and remove allocation and
    free of memory.

- Update of the uverbs IOCTL framework:
  - The parsing and handling of user-space commands has been
    completely refactored to integrate with the updated IB uobjects
    system.

- Various changes and updates to the generic uverbs interfaces in
  device drivers including the new uAPI surface.

- The mlx5_ib_devx.c in mlx5ib and related mlx5 core changes.

Dependencies:

- The mlx4ib driver code has been updated with the minimum changes
needed.

- The mlx5ib driver code has been updated with the minimum changes
needed including DV support.

Compatibility:

- All user-space facing APIs are backwards compatible after this
  change.

- All kernel-space facing RDMA APIs are backwards compatible after
  this change, with exception of ib_create_ah() and ib_destroy_ah()
  which takes a new flag.

- The "ib_device_ops" structure exist, but only contains the driver ID
  and some structure sizes.

Differences from Linux:

- Infiniband drivers must use the INIT_IB_DEVICE_OPS() macro to set
  the sizes needed for allocating various IB objects, when adding
  IB device instances.

Security:

- PRIV_NET_RAW is needed to use raw ethernet transmit features.
- PRIV_DRIVER is needed to use other privileged operations.

Based on upstream Linux, Torvalds (5.7-rc1):
8632e9b5645bbc2331d21d892b0d6961c1a08429

MFC after:	1 week
Reviewed by:	kib
Differential Revision:	https://reviews.freebsd.org/D31149
Sponsored by:	NVIDIA Networking
2021-07-28 13:28:29 +02:00
..
3dfx
3dfx_linux
aac
aacraid [aacraid] Port driver to big-endian 2020-03-05 20:04:41 +00:00
accf_data
accf_dns
accf_http
acl_nfs4
acl_posix1e
acpi
adlink
ae
aesni Move all sources from the llvm project into contrib/llvm-project. 2019-12-20 19:53:05 +00:00
age
agp
ahci
aic7xxx META_MODE: Fix wanting a meta file in source tree. 2018-07-04 00:18:40 +00:00
alc
ale
allwinner arm: allwinner: aw_mmc: Make it possible to unload the module 2020-04-16 16:00:21 +00:00
alq
am335x_dmtpps
amd_ecc_inject
amdgpio Add amdgpio, driver for GPIO controller on AMD-based x86_64 platforms 2018-10-21 04:52:37 +00:00
amdsbwd Add missing generated header file. 2018-07-09 14:18:03 +00:00
amdsmb Update AMDSMB to use PCI_MATCH 2018-07-07 15:55:52 +00:00
amdsmn
amdtemp
amr
aout
ar71xx
arcmsr
arm_ti Add module makefiles for Texas Instruments ARM SoCs. 2019-06-16 01:22:44 +00:00
armv8crypto armv8crypto: add AES-GCM support 2021-01-21 21:41:27 -08:00
asmc Yank crufty INTR_FILTER option 2018-05-24 17:06:00 +00:00
ata pccard: Remove ata(4) PC Card attachemnt 2021-01-07 20:23:14 -07:00
ath
ath_ahb
ath_dfs
ath_hal
ath_hal_ar5210
ath_hal_ar5211
ath_hal_ar5212
ath_hal_ar5416 Garbage collect AH_SUPPORT_AR5416 config option. 2019-01-25 13:48:40 +00:00
ath_hal_ar9300
ath_main
ath_pci
ath_rate
autofs
axgbe 10Gigabit Ethernet driver for AMD SoC 2020-10-11 16:01:16 +00:00
backlight Add backlight subsystem 2020-10-02 18:18:01 +00:00
bce
bcm283x_clkman
bcm283x_pwm
bfe
bge Remove sparc64 kernel support 2020-02-03 17:35:11 +00:00
bhnd
bios smbios: Move smbios driver out from x86 machdep code 2021-02-23 21:17:09 +00:00
blake2 Move all sources from the llvm project into contrib/llvm-project. 2019-12-20 19:53:05 +00:00
bnxt
bridgestp
bwi
bwn
bxe disable set but not used on code that can't be changed 2018-05-19 04:46:34 +00:00
bytgpio
cam We don't need $M/$M in the path anymore. 2020-03-15 17:40:14 +00:00
cardbus
carp
cas Remove sparc64 kernel support 2020-02-03 17:35:11 +00:00
cbb We'll never have multiple slots a cardbus bridge. So, replace exca 2019-12-16 21:34:51 +00:00
cc
ccp
cd9660
cd9660_iconv
ce Disable new clang 10.0.0 warnings about misleading indentation in ce(4) 2020-02-13 19:25:49 +00:00
cfi Remove kernel support for armeb 2018-07-17 23:23:45 +00:00
cfiscsi
chromebook_platform
chvgpio
ciss
cloudabi
cloudabi32 Pass -fuse-ld=/path/to/ld if ${LD} != "ld" 2020-08-25 13:30:03 +00:00
cloudabi64 Pass -fuse-ld=/path/to/ld if ${LD} != "ld" 2020-08-25 13:30:03 +00:00
coretemp
cp Disable new clang 10.0.0 warnings about misleading indentation in ce(4) 2020-02-13 19:25:49 +00:00
cpsw Add missing dependency for cpsw module. 2020-08-01 09:06:16 +00:00
cpuctl
cpufreq cpufreq(4): Add support for Intel Speed Shift 2020-01-22 23:28:42 +00:00
crypto Add an implementation of CHACHA20_POLY1305 to cryptosoft. 2021-02-18 09:26:23 -08:00
cryptodev
ctl
cuse
cxgb None of these use opt_sched.h 2020-04-28 16:09:18 +00:00
cxgbe cxgbe(4): Update firmwares to 1.26.0.0. 2021-07-12 21:25:36 -07:00
dc
dcons
dcons_crom
dpdk_lpm4 Bring DPDK route lookups to FreeBSD. 2021-01-09 12:41:04 +00:00
dpdk_lpm6 Bring DPDK route lookups to FreeBSD. 2021-01-09 12:41:04 +00:00
dpms
dtb arm64: allwinner: dtbo: Add dtb overlays to disable mmc node 2021-07-24 22:53:33 +02:00
dtrace dtrace: Fix /"string" == NULL/ comparisons using an uninitialized value. 2021-01-08 14:37:17 -08:00
dummynet
dwwdt Add driver for Synopsys Designware Watchdog timer. 2021-01-13 18:43:47 +01:00
efirt Add missing DPSRCS entry for assym.inc. 2019-06-11 23:35:49 +00:00
em if_em.ko: fix module build outside of kernel build environment 2020-12-06 17:44:28 +00:00
ena Add SPDX license tag to the ENA driver files 2020-11-18 15:07:34 +00:00
epoch_test Fix build of epoch_test module. 2020-09-02 09:17:29 +00:00
esp - Cleanups related to sparc64 removal. 2020-07-28 10:58:37 +00:00
et
evdev
exca
ext2fs
fdc pccard: Remove fdc(4) PC Card attachment point 2021-01-07 20:22:56 -07:00
fdescfs
fdt Add another required header file. 2019-03-01 04:17:43 +00:00
ffec
fib_dxr Introduce DXR as an IPv4 longest prefix matching / FIB module 2021-05-05 13:45:52 +02:00
filemon
firewire
firmware
ftwd Add watchdog(9) driver for the Fintek F81803 SuperIO chip 2020-11-28 22:34:33 +00:00
fusefs Remove the fuse.ko -> fusefs.ko symlink 2019-08-07 20:28:27 +00:00
fxp Remove a use of a negative array index from fxp(4). 2018-12-19 04:54:32 +00:00
gem Remove sparc64 kernel support 2020-02-03 17:35:11 +00:00
geom Remove GEOM_SCHED class and gsched tool. 2019-12-29 21:16:03 +00:00
glxiic
glxsb
gpio Add module build stuff for gpioths(4), a driver for DHT11/DHT22 sensors. 2019-12-07 17:54:40 +00:00
hid hidmap: add missing opt_hid.h to module Makefile 2021-04-14 23:05:59 +03:00
hifn
hpt27xx hpt27xx: Use EXTRA_OBJS instead of OBJS 2021-06-02 10:39:58 -06:00
hptiop
hptmv hptmv: use BLOB_OBJS for pre-built .o's 2021-06-02 10:39:58 -06:00
hptnr hptnr: use BLOB_OBJS for pre-built .o's 2021-06-02 10:39:58 -06:00
hptrr hptrr: use BLOB_OBJS for pre-built .o's 2021-06-02 19:07:38 -04:00
hwpmc [PowerPC] hwpmc: add support for POWER8/9 PMCs 2020-11-05 16:36:39 +00:00
hwpmc_mips24k Add dependent header files 2019-03-28 08:30:45 +00:00
hwpmc_mips74k Add dependent header files 2019-03-28 08:30:45 +00:00
hyperv hyperv: Fix vmbus after the i386 4/4 split 2021-06-08 09:40:30 -04:00
i2c htu21: driver for HTU21D I2C temperature and humidity sensor 2021-01-19 15:08:51 +02:00
iavf Use symlinks for kernel modules rather than hardlinks 2019-04-20 12:51:05 +00:00
ibcore ibcore: Kernel space update based on Linux 5.7-rc1. 2021-07-28 13:28:29 +02:00
ice ice(4): Update to version 0.28.1-k 2021-03-05 17:33:39 -08:00
ice_ddp ice_ddp: Update to 1.3.24.0 2021-06-25 10:21:39 -07:00
ichwd
ida
if_bridge
if_disc
if_edsc
if_enc Add opt_ipsec.h to fix standalone builds after r361633. 2020-05-29 19:29:10 +00:00
if_epair
if_gif
if_gre Add GRE-in-UDP encapsulation support as defined in RFC8086. 2019-04-24 09:05:45 +00:00
if_infiniband Factor out generic IP over infiniband, IPoIB, definitions and code 2020-10-22 09:09:53 +00:00
if_lagg modules: adding some missing opt_* dependencies 2020-01-29 22:43:56 +00:00
if_me
if_stf
if_tuntap if_tuntap: remove if_{tun,tap}.ko -> if_tuntap.ko links 2019-10-21 20:28:38 +00:00
if_vlan modules: adding some missing opt_* dependencies 2020-01-29 22:43:56 +00:00
if_vxlan
iflib Fix make in sys/modules 2019-03-28 08:59:11 +00:00
igc igc(4): Introduce new driver for the Intel I225 Ethernet controller. 2021-07-12 14:57:18 +10:00
iir
imgact_binmisc
imx Convert the imx6_snvs RTC driver to access registers via the syscon device. 2020-11-25 19:10:20 +00:00
intelspi
io
ioat
ip6_mroute_mod
ip_mroute_mod
ipdivert
ipfilter Whitespace adjustment. 2019-06-06 03:02:25 +00:00
ipfw
ipfw_nat
ipfw_nat64 Follow RFC 4443 p2.2 and always use own addresses for reflected ICMPv6 2019-12-12 13:28:46 +00:00
ipfw_nptv6
ipfw_pmod
ipmi arm64: enable build of the ipmi module 2021-01-07 15:45:25 -04:00
ipoib Introduce LINUXKPI_GENSRCS. 2020-03-20 21:06:58 +00:00
ips
ipsec Honor opt_ipsec.h from kernel builds. 2020-05-29 19:21:35 +00:00
ipw
ipwfw
isci
iscsi
iscsi_initiator
iser Introduce LINUXKPI_GENSRCS. 2020-03-20 21:06:58 +00:00
isp Remove sparc64 kernel support 2020-02-03 17:35:11 +00:00
ispfw Remove parallel SCSI and 1/2Gb FC support from isp(4). 2020-11-20 01:15:48 +00:00
itwd itwd(4): driver for watchdog function in ITE Super I/O chips 2019-10-16 14:57:38 +00:00
iwi
iwifw
iwm iwm: Add device configuration definitions for 9000-series chips. 2019-11-07 23:35:54 +00:00
iwmfw Downgrade the firmware images imported in r354201. 2019-11-03 03:23:27 +00:00
iwn
iwnfw Stop using .OODATE for extracting firmware. 2019-06-12 00:03:00 +00:00
ix Remove more manual additions of -DSMP. 2020-02-06 21:01:19 +00:00
ixl ixl(4): Add FW recovery mode support and other things 2020-06-09 22:42:54 +00:00
ixv Remove more manual additions of -DSMP. 2020-02-06 21:01:19 +00:00
jme
kbdmux
kgssapi
kgssapi_krb5 Remove support for Kernel GSS algorithms deprecated in r348875. 2020-04-10 23:08:41 +00:00
khelp
krpc Add TLS support to the kernel RPC. 2020-08-22 03:57:55 +00:00
ksyms
le Remove sparc64 kernel support 2020-02-03 17:35:11 +00:00
lge
libalias libalias: retire cuseeme support 2020-05-16 02:29:10 +00:00
libiconv
libmchain
lindebugfs Introduce LINUXKPI_GENSRCS. 2020-03-20 21:06:58 +00:00
linprocfs Add warning to the Linuxulator makefiles that building it outside of a 2019-05-13 18:28:40 +00:00
linsysfs Add warning to the Linuxulator makefiles that building it outside of a 2019-05-13 18:28:40 +00:00
linux linux(4): Fix amd64 gcc build. 2021-07-26 22:28:21 +03:00
linux64 linux(4): Fix amd64 gcc build. 2021-07-26 22:28:21 +03:00
linux_common linux(4): Deduplicate unimpl/dummy syscall handlers 2020-11-05 19:30:31 +00:00
linuxkpi Implement basic support for allocating memory from a specific numa node 2021-03-09 21:01:47 +01:00
lio Remove more manual additions of -DSMP. 2020-02-06 21:01:19 +00:00
lpt
mac_biba
mac_bsdextended
mac_ifoff
mac_lomac
mac_mls
mac_none
mac_ntpd Make it possible to run ntpd as a non-root user, add ntpd uid and gid. 2018-07-19 23:55:29 +00:00
mac_partition
mac_portacl
mac_seeotheruids
mac_stub
mac_test
mac_veriexec MAC/veriexec implements a verified execution environment using the MAC 2018-06-20 00:41:30 +00:00
mac_veriexec_sha1 MAC/veriexec implements a verified execution environment using the MAC 2018-06-20 00:41:30 +00:00
mac_veriexec_sha256 MAC/veriexec implements a verified execution environment using the MAC 2018-06-20 00:41:30 +00:00
mac_veriexec_sha384 MAC/veriexec implements a verified execution environment using the MAC 2018-06-20 00:41:30 +00:00
mac_veriexec_sha512 MAC/veriexec implements a verified execution environment using the MAC 2018-06-20 00:41:30 +00:00
malo
md
mdio
mem
mfi
mgb Introduce if_mgb driver for Microchip LAN743x PCIe NIC 2019-11-06 19:51:40 +00:00
mii mlphy(4)/tlphy(4): Remove obsolete drivers 2020-12-26 19:40:55 +01:00
mlx
mlx4 Introduce LINUXKPI_GENSRCS. 2020-03-20 21:06:58 +00:00
mlx4en Introduce LINUXKPI_GENSRCS. 2020-03-20 21:06:58 +00:00
mlx4ib Introduce LINUXKPI_GENSRCS. 2020-03-20 21:06:58 +00:00
mlx5 ibcore: Kernel space update based on Linux 5.7-rc1. 2021-07-28 13:28:29 +02:00
mlx5en ibcore: Kernel space update based on Linux 5.7-rc1. 2021-07-28 13:28:29 +02:00
mlx5fpga_tools ibcore: Kernel space update based on Linux 5.7-rc1. 2021-07-28 13:28:29 +02:00
mlx5ib ibcore: Kernel space update based on Linux 5.7-rc1. 2021-07-28 13:28:29 +02:00
mlxfw ibcore: Kernel space update based on Linux 5.7-rc1. 2021-07-28 13:28:29 +02:00
mly
mmc
mmcnull
mmcsd
mpr
mps
mpt
mqueue
mrsas Don't define _STANDALONE when building kernel modules. 2020-09-24 07:10:34 +00:00
msdosfs
msdosfs_iconv
msk
mthca Introduce LINUXKPI_GENSRCS. 2020-03-20 21:06:58 +00:00
mvs
mwl
mwlfw Stop using .OODATE for extracting firmware. 2019-06-12 00:03:00 +00:00
mxge Expose zlib's utility functions in Z_SOLO library when building kernel. 2019-08-07 01:41:17 +00:00
my
nctgpio
netfpga10g
netgraph netgraph/ng_vlan_rotate: IEEE 802.1ad VLAN manipulation netgraph type 2021-01-26 16:53:24 +01:00
netmap netmap: align codebase to the current upstream (760279cfb2730a585) 2018-12-05 11:57:16 +00:00
nfe
nfscl Fix the standalone build of the nfscl and nfsd modules. 2020-09-02 01:29:33 +00:00
nfscommon Fix build in sys/modules/nfscommon 2019-04-10 16:48:45 +00:00
nfsd Fix the standalone build of the nfscl and nfsd modules. 2020-09-02 01:29:33 +00:00
nfslockd
nfssvc
nge
nmdm
ntb Forgotten part of r351137. 2019-08-16 20:30:31 +00:00
nullfs
nvd Unbreak nvd(8) build as module outside of kernel build environment. 2020-08-16 11:37:28 +00:00
nvdimm nvdimm(4): Fix Clang build after r353110 2019-10-04 21:47:09 +00:00
nvme Create a AHCI attachment for nvme. 2019-08-21 22:18:01 +00:00
nvram
oce Remove more manual additions of -DSMP. 2020-02-06 21:01:19 +00:00
ocs_fc ocs_fc: Add gendump and dump_to_host ioctl command support. 2021-07-06 21:08:11 +05:30
opal_nvram powerpc64/powernv: Add opal NVRAM driver for PowerNV systems 2019-09-14 03:30:34 +00:00
opensolaris openzfs: fix gcc kernel module builds 2020-12-27 14:33:13 -08:00
ossl ossl: Add ChaCha20 cipher support. 2021-03-03 15:20:57 -08:00
otus
otusfw
ow
padlock
padlock_rng
pcfclock
pchtherm Add Platform Controller Hub built-in thermal management device driver. 2020-03-31 06:25:43 +00:00
pf pf: syncookie support 2021-07-20 10:36:13 +02:00
pflog pflog/pfsync: Fix module build with VIMAGE=yes 2018-07-01 18:09:16 +00:00
pfsync pflog/pfsync: Fix module build with VIMAGE=yes 2018-07-01 18:09:16 +00:00
plip
pms
powermac_nvram
ppbus
ppc
ppi
pps
procfs Retire procfs-based process debugging. 2020-04-01 19:22:09 +00:00
proto
pseudofs
pst
pty
puc pccard: Remove puc(4) PC Card attachment 2021-01-07 20:23:00 -07:00
pwm pwm_backlight: Add regnode_if.h to SRCS 2020-10-03 14:01:20 +00:00
qat Add qat(4) 2020-11-05 15:55:23 +00:00
qatfw qatfw: Fix firmware autoloading for qat_c2xxx devices 2020-12-23 11:36:45 -05:00
qlnx Introduce LINUXKPI_GENSRCS. 2020-03-20 21:06:58 +00:00
qlxgb
qlxgbe
qlxge
ral
ralfw Stop using .OODATE for extracting firmware. 2019-06-12 00:03:00 +00:00
random_fortuna
random_other
rc4
rccgpio
rdma None of these use opt_sched.h 2020-04-28 16:09:18 +00:00
rdrand_rng
re
rl
rndtest
rockchip arm64: rockchip: Add a module for rk_spi 2020-01-02 17:44:41 +00:00
rpi_ft5406
rtsx Port rtsx(4) driver for Realtek SD card reader from OpenBSD. 2020-11-24 21:28:44 +00:00
rtwn
rtwn_pci rtwn_pci(4): add support for RTL8188EE chipset. 2019-01-02 06:48:53 +00:00
rtwn_usb rtwn_pci(4): add support for event-based Tx reports. 2019-01-02 05:21:06 +00:00
rtwnfw Stop using .OODATE for extracting firmware. 2019-06-12 00:03:00 +00:00
s3
safe
safexcel Add a driver for the SafeXcel EIP-97. 2020-07-14 14:09:29 +00:00
sbni
scc scc(4)/uart(4): Remove obsolete support for Siemens SAB 82532 2020-12-26 13:48:06 +01:00
sctp Provide support for building SCTP as a loadable module. 2020-07-10 14:56:05 +00:00
sdhci
sdhci_acpi
sdhci_fdt sdhci_fdt: Add gpio_if.h to the source 2021-06-21 21:55:03 +02:00
sdhci_pci
sdio Add opt_cam.h so we can build this outside of a kernel build. 2019-06-13 22:03:53 +00:00
sem
send
sfxge None of these use opt_sched.h 2020-04-28 16:09:18 +00:00
sge
sgx
sgx_linux
siftr
siis
sis
sk
smartpqi
smbfs
snp
sound Remove sparc64 kernel support 2020-02-03 17:35:11 +00:00
speaker
spi
spigen Fix make in sys/modules/spigen 2018-07-20 17:46:55 +00:00
splash
sppp
ste
stge
sume Driver for 4x10Gb Ethernet reference NIC FPGA design for NetFPGA SUME 2020-08-30 07:34:32 +00:00
superio add superio driver 2019-07-01 17:05:41 +00:00
sym
syscons Remove apm screen saver. 2020-10-08 20:56:00 +00:00
sysvipc
tcp Revise r361712 to disable tcpmd5.ko for 'options TCP_SIGNATURE' 2020-06-03 18:42:28 +00:00
tests Add fib lookup testing module. 2021-01-09 13:20:30 +00:00
ti Add module makefiles for Texas Instruments ARM SoCs. 2019-06-16 01:22:44 +00:00
tmpfs Make TMPFS_PAGES_MINRESERVED a kernel option 2019-03-25 07:46:20 +00:00
toecore
tpm Revert r357349, since the clang 10.0.0 warning was actually correct, and 2020-02-01 16:57:04 +00:00
tsec
twa
twe
tws
uart pccard: Remove uart(4) PC Card attachment 2021-01-07 20:23:09 -07:00
ubser
uchcom Set .PATH to dev/usb/serial so that these modules compile again. 2018-07-06 22:07:26 +00:00
ucycom Set .PATH to dev/usb/serial so that these modules compile again. 2018-07-06 22:07:26 +00:00
udf
udf_iconv
ufs
uinput
unionfs
usb hidraw(4): Add HIDRAW_MAKE_UHID_ALIAS kernel option 2021-01-08 02:18:44 +03:00
veriexec Device for user space to interface with MAC/veriexec. 2018-06-20 00:48:46 +00:00
vesa
vge
viawd
videomode
virtio virtio: Add VirtIO PCI modern (V1) support 2021-01-19 04:55:23 +00:00
vkbd
vmd This driver attaches to the Intel VMD drive and connects a new PCI domain 2019-10-10 03:12:17 +00:00
vmm AMD-vi: Fix IOMMU device interrupts being overridden 2021-03-22 17:33:43 +08:00
vmware build vmware modules on arm64 2020-10-19 20:43:29 +00:00
vnic
vr
vte
wbwd
wlan
wlan_acl
wlan_amrr
wlan_ccmp
wlan_rssadapt
wlan_tkip
wlan_wep
wlan_xauth
wpi
wpifw
wtap
x86bios
xdr Split XDR into separate kernel module. Make krpc depend on xdr. 2020-04-17 06:04:20 +00:00
xl
xz Modularize xz. 2019-02-26 19:55:03 +00:00
zfs zfs: update zfs_gitrev.h 2021-07-23 03:24:30 +02:00
zlib Remove zlib 1.0.4 from kernel. 2019-08-25 17:13:00 +00:00
Makefile pccard: remove pccard module 2021-07-13 20:39:31 -06:00
Makefile.inc