svn commit: r344149 - in stable/12: . share/man/man4 sys/amd64/conf sys/arm64/conf sys/conf sys/dev/ixgbe sys/i386/conf sys/mips/conf sys/modules sys/modules/iflib sys/powerpc/conf sys/powerpc/conf...

Konstantin Belousov kib at FreeBSD.org
Fri Feb 15 09:49:15 UTC 2019


Author: kib
Date: Fri Feb 15 09:49:09 2019
New Revision: 344149
URL: https://svnweb.freebsd.org/changeset/base/344149

Log:
  MFC r343617, r343618:
  Make iflib a loadable module.

Added:
  stable/12/sys/modules/iflib/
     - copied from r343617, head/sys/modules/iflib/
Modified:
  stable/12/UPDATING
  stable/12/share/man/man4/bnxt.4
  stable/12/share/man/man4/em.4
  stable/12/share/man/man4/iavf.4
  stable/12/share/man/man4/ixgbe.4
  stable/12/share/man/man4/ixl.4
  stable/12/share/man/man4/vmx.4
  stable/12/sys/amd64/conf/GENERIC
  stable/12/sys/arm64/conf/GENERIC
  stable/12/sys/conf/NOTES
  stable/12/sys/conf/files
  stable/12/sys/dev/ixgbe/if_ixv.c
  stable/12/sys/i386/conf/GENERIC
  stable/12/sys/mips/conf/OCTEON1
  stable/12/sys/mips/conf/std.XLP
  stable/12/sys/modules/Makefile
  stable/12/sys/modules/iflib/Makefile
  stable/12/sys/powerpc/conf/GENERIC64
  stable/12/sys/powerpc/conf/MPC85XX
  stable/12/sys/powerpc/conf/MPC85XXSPE
  stable/12/sys/powerpc/conf/QORIQ64
  stable/12/sys/powerpc/conf/dpaa/DPAA
  stable/12/sys/sparc64/conf/GENERIC
Directory Properties:
  stable/12/   (props changed)

Modified: stable/12/UPDATING
==============================================================================
--- stable/12/UPDATING	Fri Feb 15 09:45:17 2019	(r344148)
+++ stable/12/UPDATING	Fri Feb 15 09:49:09 2019	(r344149)
@@ -16,6 +16,13 @@ from older versions of FreeBSD, try WITHOUT_CLANG and 
 the tip of head, and then rebuild without this option. The bootstrap process
 from older version of current across the gcc/clang cutover is a bit fragile.
 
+20190214:
+	Iflib is no longer unconditionally compiled into the kernel.  Drivers
+	using iflib and statically compiled into the kernel, now require
+	the 'device iflib' config option.  For the same drivers loaded as
+	modules on kernels not having 'device iflib', the iflib.ko module
+	is loaded automatically.
+
 20181228:
 	r342561 modifies the NFSv4 server so that it obeys vfs.nfsd.nfs_privport
 	in the same as it is applied to NFSv2 and 3.  This implies that NFSv4

Modified: stable/12/share/man/man4/bnxt.4
==============================================================================
--- stable/12/share/man/man4/bnxt.4	Fri Feb 15 09:45:17 2019	(r344148)
+++ stable/12/share/man/man4/bnxt.4	Fri Feb 15 09:49:09 2019	(r344149)
@@ -25,7 +25,7 @@
 .\"
 .\" $FreeBSD$
 .\"
-.Dd September 20, 2018
+.Dd January 30, 2019
 .Dt BNXT 4
 .Os
 .Sh NAME
@@ -36,6 +36,7 @@ To compile this driver into the kernel,
 place the following lines in your
 kernel configuration file:
 .Bd -ragged -offset indent
+.Cd "device iflib"
 .Cd "device bnxt"
 .Ed
 .Pp

Modified: stable/12/share/man/man4/em.4
==============================================================================
--- stable/12/share/man/man4/em.4	Fri Feb 15 09:45:17 2019	(r344148)
+++ stable/12/share/man/man4/em.4	Fri Feb 15 09:49:09 2019	(r344149)
@@ -31,7 +31,7 @@
 .\"
 .\" $FreeBSD$
 .\"
-.Dd September 20, 2018
+.Dd January 30, 2019
 .Dt EM 4
 .Os
 .Sh NAME
@@ -39,9 +39,10 @@
 .Nd "Intel(R) PRO/1000 Gigabit Ethernet adapter driver"
 .Sh SYNOPSIS
 To compile this driver into the kernel,
-place the following line in your
+place the following lines in your
 kernel configuration file:
 .Bd -ragged -offset indent
+.Cd "device iflib"
 .Cd "device em"
 .Ed
 .Pp

Modified: stable/12/share/man/man4/iavf.4
==============================================================================
--- stable/12/share/man/man4/iavf.4	Fri Feb 15 09:45:17 2019	(r344148)
+++ stable/12/share/man/man4/iavf.4	Fri Feb 15 09:49:09 2019	(r344149)
@@ -31,7 +31,7 @@
 .\"
 .\" $FreeBSD$
 .\"
-.Dd October 5, 2018
+.Dd January 30, 2019
 .Dt IAVF 4
 .Os
 .Sh NAME
@@ -41,6 +41,7 @@
 To compile this driver into the kernel, place the following lines in your
 kernel configuration file:
 .Bd -ragged -offset indent
+.Cd "device iflib"
 .Cd "device iavf"
 .Ed
 .Pp

Modified: stable/12/share/man/man4/ixgbe.4
==============================================================================
--- stable/12/share/man/man4/ixgbe.4	Fri Feb 15 09:45:17 2019	(r344148)
+++ stable/12/share/man/man4/ixgbe.4	Fri Feb 15 09:49:09 2019	(r344149)
@@ -31,7 +31,7 @@
 .\"
 .\" $FreeBSD$
 .\"
-.Dd December 19, 2010
+.Dd January 30, 2019
 .Dt IXGBE 4
 .Os
 .Sh NAME
@@ -39,9 +39,10 @@
 .Nd "Intel(R) 10Gb Ethernet driver for the FreeBSD operating system"
 .Sh SYNOPSIS
 To compile this driver into the kernel,
-place the following line in your
+place the following lines in your
 kernel configuration file:
 .Bd -ragged -offset indent
+.Cd "device iflib"
 .Cd "device ixgbe"
 .Ed
 .Pp

Modified: stable/12/share/man/man4/ixl.4
==============================================================================
--- stable/12/share/man/man4/ixl.4	Fri Feb 15 09:45:17 2019	(r344148)
+++ stable/12/share/man/man4/ixl.4	Fri Feb 15 09:49:09 2019	(r344149)
@@ -31,7 +31,7 @@
 .\"
 .\" $FreeBSD$
 .\"
-.Dd October 5, 2018
+.Dd January 30, 2019
 .Dt IXL 4
 .Os
 .Sh NAME
@@ -41,6 +41,7 @@
 To compile this driver into the kernel, place the following lines in your
 kernel configuration file:
 .Bd -ragged -offset indent
+.Cd "device iflib"
 .Cd "device ixl"
 .Ed
 .Pp

Modified: stable/12/share/man/man4/vmx.4
==============================================================================
--- stable/12/share/man/man4/vmx.4	Fri Feb 15 09:45:17 2019	(r344148)
+++ stable/12/share/man/man4/vmx.4	Fri Feb 15 09:49:09 2019	(r344149)
@@ -17,7 +17,7 @@
 .\"
 .\" $FreeBSD$
 .\"
-.Dd March 17, 2014
+.Dd January 30, 2019
 .Dt VMX 4
 .Os
 .Sh NAME
@@ -25,9 +25,10 @@
 .Nd VMware VMXNET3 Virtual Interface Controller device
 .Sh SYNOPSIS
 To compile this driver into the kernel,
-place the following line in your
+place the following lines in your
 kernel configuration file:
 .Bd -ragged -offset indent
+.Cd "device iflib"
 .Cd "device vmx"
 .Ed
 .Pp

Modified: stable/12/sys/amd64/conf/GENERIC
==============================================================================
--- stable/12/sys/amd64/conf/GENERIC	Fri Feb 15 09:45:17 2019	(r344148)
+++ stable/12/sys/amd64/conf/GENERIC	Fri Feb 15 09:49:09 2019	(r344149)
@@ -218,14 +218,18 @@ device		ppi			# Parallel port interface device
 
 device		puc			# Multi I/O cards and multi-channel UARTs
 
-# PCI Ethernet NICs.
-device		bxe			# Broadcom NetXtreme II BCM5771X/BCM578XX 10GbE
-device		de			# DEC/Intel DC21x4x (``Tulip'')
+# PCI/PCI-X/PCIe Ethernet NICs that use iflib infrastructure
+device		iflib
 device		em			# Intel PRO/1000 Gigabit Ethernet Family
 device		ix			# Intel PRO/10GbE PCIE PF Ethernet
 device		ixv			# Intel PRO/10GbE PCIE VF Ethernet
 device		ixl			# Intel 700 Series Physical Function
 device		iavf			# Intel Adaptive Virtual Function
+device		vmx			# VMware VMXNET3 Ethernet
+
+# PCI Ethernet NICs.
+device		bxe			# Broadcom NetXtreme II BCM5771X/BCM578XX 10GbE
+device		de			# DEC/Intel DC21x4x (``Tulip'')
 device		le			# AMD Am7900 LANCE and Am79C9xx PCnet
 device		ti			# Alteon Networks Tigon I/II gigabit Ethernet
 device		txp			# 3Com 3cR990 (``Typhoon'')
@@ -354,9 +358,6 @@ device		hyperv			# HyperV drivers 
 # NOTE: XENHVM depends on xenpci.  They must be added or removed together.
 options 	XENHVM			# Xen HVM kernel infrastructure
 device		xenpci			# Xen HVM Hypervisor services driver
-
-# VMware support
-device		vmx			# VMware VMXNET3 Ethernet
 
 # Netmap provides direct access to TX/RX rings on supported NICs
 device		netmap			# netmap(4) support

Modified: stable/12/sys/arm64/conf/GENERIC
==============================================================================
--- stable/12/sys/arm64/conf/GENERIC	Fri Feb 15 09:45:17 2019	(r344148)
+++ stable/12/sys/arm64/conf/GENERIC	Fri Feb 15 09:49:09 2019	(r344149)
@@ -125,14 +125,17 @@ device		al_pci		# Annapurna Alpine PCI-E
 options 	PCI_HP			# PCI-Express native HotPlug
 options 	PCI_IOV		# PCI SR-IOV support
 
+# PCI/PCI-X/PCIe Ethernet NICs that use iflib infrastructure
+device		iflib
+device		em		# Intel PRO/1000 Gigabit Ethernet Family
+device		ix		# Intel 10Gb Ethernet Family
+
 # Ethernet NICs
 device		mdio
 device		mii
 device		miibus		# MII bus support
 device		awg		# Allwinner EMAC Gigabit Ethernet
 device		axgbe		# AMD Opteron A1100 integrated NIC
-device		em		# Intel PRO/1000 Gigabit Ethernet Family
-device		ix		# Intel 10Gb Ethernet Family
 device		msk		# Marvell/SysKonnect Yukon II Gigabit Ethernet
 device		neta		# Marvell Armada 370/38x/XP/3700 NIC
 device  	smc		# SMSC LAN91C111

Modified: stable/12/sys/conf/NOTES
==============================================================================
--- stable/12/sys/conf/NOTES	Fri Feb 15 09:45:17 2019	(r344148)
+++ stable/12/sys/conf/NOTES	Fri Feb 15 09:49:09 2019	(r344149)
@@ -2145,15 +2145,18 @@ device		vte		# DM&P Vortex86 RDC R6040 Fast Ethernet
 device		wb		# Winbond W89C840F
 device		xl		# 3Com 3c90x (``Boomerang'', ``Cyclone'')
 
+# PCI/PCI-X/PCIe Ethernet NICs that use iflib infrastructure
+device		iflib
+device		em		# Intel Pro/1000 Gigabit Ethernet
+device		ix		# Intel Pro/10Gbe PCIE Ethernet
+device		ixv		# Intel Pro/10Gbe PCIE Ethernet VF
+
 # PCI Ethernet NICs.
 device		cxgb		# Chelsio T3 10 Gigabit Ethernet
 device		cxgb_t3fw	# Chelsio T3 10 Gigabit Ethernet firmware
 device		cxgbe		# Chelsio T4-T6 1/10/25/40/100 Gigabit Ethernet
 device		cxgbev		# Chelsio T4-T6 Virtual Functions
 device		de		# DEC/Intel DC21x4x (``Tulip'')
-device		em		# Intel Pro/1000 Gigabit Ethernet
-device		ix		# Intel Pro/10Gbe PCIE Ethernet
-device		ixv		# Intel Pro/10Gbe PCIE Ethernet VF
 device		le		# AMD Am7900 LANCE and Am79C9xx PCnet
 device		mxge		# Myricom Myri-10G 10GbE NIC
 device		oce		# Emulex 10 GbE (OneConnect Ethernet)

Modified: stable/12/sys/conf/files
==============================================================================
--- stable/12/sys/conf/files	Fri Feb 15 09:45:17 2019	(r344148)
+++ stable/12/sys/conf/files	Fri Feb 15 09:49:09 2019	(r344149)
@@ -4140,10 +4140,10 @@ net/if_tun.c			optional tun
 net/if_tap.c			optional tap
 net/if_vlan.c			optional vlan
 net/if_vxlan.c			optional vxlan inet | vxlan inet6
-net/ifdi_if.m			optional ether pci
-net/iflib.c			optional ether pci
-net/iflib_clone.c		optional ether pci
-net/mp_ring.c			optional ether
+net/ifdi_if.m			optional ether pci iflib
+net/iflib.c			optional ether pci iflib
+net/iflib_clone.c		optional ether pci iflib
+net/mp_ring.c			optional ether iflib
 net/mppcc.c			optional netgraph_mppc_compression
 net/mppcd.c			optional netgraph_mppc_compression
 net/netisr.c			standard

Modified: stable/12/sys/dev/ixgbe/if_ixv.c
==============================================================================
--- stable/12/sys/dev/ixgbe/if_ixv.c	Fri Feb 15 09:45:17 2019	(r344148)
+++ stable/12/sys/dev/ixgbe/if_ixv.c	Fri Feb 15 09:49:09 2019	(r344149)
@@ -144,11 +144,9 @@ static driver_t ixv_driver = {
 devclass_t ixv_devclass;
 DRIVER_MODULE(ixv, pci, ixv_driver, ixv_devclass, 0, 0);
 IFLIB_PNP_INFO(pci, ixv_driver, ixv_vendor_info_array);
+MODULE_DEPEND(ixv, iflib, 1, 1, 1);
 MODULE_DEPEND(ixv, pci, 1, 1, 1);
 MODULE_DEPEND(ixv, ether, 1, 1, 1);
-#ifdef DEV_NETMAP
-MODULE_DEPEND(ixv, netmap, 1, 1, 1);
-#endif /* DEV_NETMAP */
 
 static device_method_t ixv_if_methods[] = {
 	DEVMETHOD(ifdi_attach_pre, ixv_if_attach_pre),

Modified: stable/12/sys/i386/conf/GENERIC
==============================================================================
--- stable/12/sys/i386/conf/GENERIC	Fri Feb 15 09:45:17 2019	(r344148)
+++ stable/12/sys/i386/conf/GENERIC	Fri Feb 15 09:49:09 2019	(r344149)
@@ -212,10 +212,14 @@ device		ppi			# Parallel port interface device
 
 device		puc			# Multi I/O cards and multi-channel UARTs
 
+# PCI/PCI-X/PCIe Ethernet NICs that use iflib infrastructure
+device		iflib
+device		em			# Intel PRO/1000 Gigabit Ethernet Family
+device		vmx			# VMware VMXNET3 Ethernet
+
 # PCI Ethernet NICs.
 device		bxe			# Broadcom NetXtreme II BCM5771X/BCM578XX 10GbE
 device		de			# DEC/Intel DC21x4x (``Tulip'')
-device		em			# Intel PRO/1000 Gigabit Ethernet Family
 device		le			# AMD Am7900 LANCE and Am79C9xx PCnet
 device		ti			# Alteon Networks Tigon I/II gigabit Ethernet
 device		txp			# 3Com 3cR990 (``Typhoon'')
@@ -355,9 +359,6 @@ device		hyperv			# HyperV drivers 
 # NOTE: XENHVM depends on xenpci.  They must be added or removed together.
 options 	XENHVM			# Xen HVM kernel infrastructure
 device		xenpci			# Xen HVM Hypervisor services driver
-
-# VMware support
-device		vmx			# VMware VMXNET3 Ethernet
 
 # evdev interface
 options 	EVDEV_SUPPORT		# evdev support in legacy drivers

Modified: stable/12/sys/mips/conf/OCTEON1
==============================================================================
--- stable/12/sys/mips/conf/OCTEON1	Fri Feb 15 09:45:17 2019	(r344148)
+++ stable/12/sys/mips/conf/OCTEON1	Fri Feb 15 09:49:09 2019	(r344149)
@@ -188,6 +188,8 @@ device		octm
 # physical port, but may eventually provide support for DSA or similar instead.
 #device		mv88e61xxphy	# Marvell 88E61XX
 
+device		iflib
+
 # PCI Ethernet NICs.
 device		de		# DEC/Intel DC21x4x (``Tulip'')
 device		em		# Intel PRO/1000 Gigabit Ethernet Family

Modified: stable/12/sys/mips/conf/std.XLP
==============================================================================
--- stable/12/sys/mips/conf/std.XLP	Fri Feb 15 09:45:17 2019	(r344148)
+++ stable/12/sys/mips/conf/std.XLP	Fri Feb 15 09:49:09 2019	(r344149)
@@ -75,6 +75,7 @@ device		ether
 device		xlpge
 #device		re
 device		msk
+device		iflib
 device		em
 
 # Disks

Modified: stable/12/sys/modules/Makefile
==============================================================================
--- stable/12/sys/modules/Makefile	Fri Feb 15 09:45:17 2019	(r344148)
+++ stable/12/sys/modules/Makefile	Fri Feb 15 09:49:09 2019	(r344149)
@@ -174,6 +174,7 @@ SUBDIR=	\
 	if_tun \
 	if_vlan \
 	if_vxlan \
+	iflib \
 	${_iir} \
 	imgact_binmisc \
 	${_intelspi} \

Modified: stable/12/sys/modules/iflib/Makefile
==============================================================================
--- head/sys/modules/iflib/Makefile	Thu Jan 31 19:05:56 2019	(r343617)
+++ stable/12/sys/modules/iflib/Makefile	Fri Feb 15 09:49:09 2019	(r344149)
@@ -8,6 +8,6 @@ SRCS= \
 	iflib_clone.c \
 	mp_ring.c
 SRCS+=	ifdi_if.c
-SRCS+=	device_if.h bus_if.h pci_if.h ifdi_if.h
+SRCS+=	device_if.h bus_if.h pci_if.h pci_iov_if.h ifdi_if.h
 
 .include <bsd.kmod.mk>

Modified: stable/12/sys/powerpc/conf/GENERIC64
==============================================================================
--- stable/12/sys/powerpc/conf/GENERIC64	Fri Feb 15 09:45:17 2019	(r344148)
+++ stable/12/sys/powerpc/conf/GENERIC64	Fri Feb 15 09:49:09 2019	(r344149)
@@ -141,6 +141,8 @@ device		scc
 device		uart
 device		uart_z8530
 
+device		iflib
+
 # Ethernet hardware
 device		em		# Intel PRO/1000 Gigabit Ethernet Family
 device		ix		# Intel PRO/10GbE PCIE PF Ethernet Family

Modified: stable/12/sys/powerpc/conf/MPC85XX
==============================================================================
--- stable/12/sys/powerpc/conf/MPC85XX	Fri Feb 15 09:45:17 2019	(r344148)
+++ stable/12/sys/powerpc/conf/MPC85XX	Fri Feb 15 09:49:09 2019	(r344149)
@@ -74,6 +74,7 @@ device		cryptodev
 device		da
 device  	ds1307
 device		ds1553
+device		iflib
 device		em
 device		alc
 device		ether

Modified: stable/12/sys/powerpc/conf/MPC85XXSPE
==============================================================================
--- stable/12/sys/powerpc/conf/MPC85XXSPE	Fri Feb 15 09:45:17 2019	(r344148)
+++ stable/12/sys/powerpc/conf/MPC85XXSPE	Fri Feb 15 09:49:09 2019	(r344149)
@@ -74,6 +74,7 @@ device		cryptodev
 device		da
 device  	ds1307
 device		ds1553
+device		iflib
 device		em
 device		alc
 device		ether

Modified: stable/12/sys/powerpc/conf/QORIQ64
==============================================================================
--- stable/12/sys/powerpc/conf/QORIQ64	Fri Feb 15 09:45:17 2019	(r344148)
+++ stable/12/sys/powerpc/conf/QORIQ64	Fri Feb 15 09:49:09 2019	(r344149)
@@ -81,6 +81,7 @@ device		cryptodev
 device		da
 device  	ds1307
 device		ds1553
+device		iflib
 device		em
 device		alc
 device  	dpaa

Modified: stable/12/sys/powerpc/conf/dpaa/DPAA
==============================================================================
--- stable/12/sys/powerpc/conf/dpaa/DPAA	Fri Feb 15 09:45:17 2019	(r344148)
+++ stable/12/sys/powerpc/conf/dpaa/DPAA	Fri Feb 15 09:49:09 2019	(r344149)
@@ -74,6 +74,7 @@ device		sdhci
 
 # Network devices
 device		miibus		# MII bus support
+device		iflib
 device		em
 
 

Modified: stable/12/sys/sparc64/conf/GENERIC
==============================================================================
--- stable/12/sys/sparc64/conf/GENERIC	Fri Feb 15 09:45:17 2019	(r344148)
+++ stable/12/sys/sparc64/conf/GENERIC	Fri Feb 15 09:49:09 2019	(r344149)
@@ -171,6 +171,8 @@ device		uart		# Multi-uart driver
 #device		ppi		# Parallel port interface device
 #device		vpo		# Requires scbus and da
 
+device		iflib
+
 # PCI Ethernet NICs.
 #device		de		# DEC/Intel DC21x4x (``Tulip'')
 device		em		# Intel PRO/1000 adapter Gigabit Ethernet Card


More information about the svn-src-all mailing list