summaryrefslogtreecommitdiffstats
path: root/sys/conf
diff options
context:
space:
mode:
authorhselasky <hselasky@FreeBSD.org>2015-10-29 08:28:39 +0000
committerhselasky <hselasky@FreeBSD.org>2015-10-29 08:28:39 +0000
commit97b71ce545702c6c9c80c6d958ebd7d30f656be2 (patch)
treef9937a81e1e19355726bac644f9598a290f8a9cb /sys/conf
parent41bbd8a7cb0ba3a86302687715c12c9cf1a4b91f (diff)
downloadFreeBSD-src-97b71ce545702c6c9c80c6d958ebd7d30f656be2.zip
FreeBSD-src-97b71ce545702c6c9c80c6d958ebd7d30f656be2.tar.gz
Finish process of moving the LinuxKPI module into the default kernel build.
- Move all files related to the LinuxKPI into sys/compat/linuxkpi and its subfolders. - Update sys/conf/files and some Makefiles to use new file locations. - Added description of COMPAT_LINUXKPI to sys/conf/NOTES which in turn adds the LinuxKPI to all LINT builds. - The LinuxKPI can be added to the kernel by setting the COMPAT_LINUXKPI option. The OFED kernel option no longer builds the LinuxKPI into the kernel. This was done to keep the build rules for the LinuxKPI in sys/conf/files simple. - Extend the LinuxKPI module to include support for USB by moving the Linux USB compat from usb.ko to linuxkpi.ko. - Bump the FreeBSD_version. - A universe kernel build has been done. Reviewed by: np @ (cxgb and cxgbe related changes only) Sponsored by: Mellanox Technologies
Diffstat (limited to 'sys/conf')
-rw-r--r--sys/conf/NOTES3
-rw-r--r--sys/conf/files26
-rw-r--r--sys/conf/kern.pre.mk6
3 files changed, 22 insertions, 13 deletions
diff --git a/sys/conf/NOTES b/sys/conf/NOTES
index c1210e2..1afefdb 100644
--- a/sys/conf/NOTES
+++ b/sys/conf/NOTES
@@ -359,6 +359,9 @@ options COMPAT_FREEBSD9
# Enable FreeBSD10 compatibility syscalls
options COMPAT_FREEBSD10
+# Enable Linux Kernel Programming Interface
+options COMPAT_LINUXKPI
+
#
# These three options provide support for System V Interface
# Definition-style interprocess communication, in the form of shared
diff --git a/sys/conf/files b/sys/conf/files
index 9a6dec4..c07cf40 100644
--- a/sys/conf/files
+++ b/sys/conf/files
@@ -2574,7 +2574,6 @@ dev/usb/storage/ustorage_fs.c optional usfs
# USB core
#
dev/usb/usb_busdma.c optional usb
-dev/usb/usb_compat_linux.c optional usb
dev/usb/usb_core.c optional usb
dev/usb/usb_debug.c optional usb
dev/usb/usb_dev.c optional usb
@@ -3796,17 +3795,20 @@ nlm/nlm_prot_svc.c optional nfslockd | nfsd
nlm/nlm_prot_xdr.c optional nfslockd | nfsd
nlm/sm_inter_xdr.c optional nfslockd | nfsd
-# Linux Kernel Compatibility API
-ofed/include/linux/linux_kmod.c optional ofed | compat_linuxkpi \
- no-depend compile-with "${OFED_C}"
-ofed/include/linux/linux_compat.c optional ofed | compat_linuxkpi \
- no-depend compile-with "${OFED_C}"
-ofed/include/linux/linux_pci.c optional ofed | compat_linuxkpi \
- no-depend compile-with "${OFED_C}"
-ofed/include/linux/linux_idr.c optional ofed | compat_linuxkpi \
- no-depend compile-with "${OFED_C}"
-ofed/include/linux/linux_radix.c optional ofed | compat_linuxkpi \
- no-depend compile-with "${OFED_C}"
+# Linux Kernel Programming Interface
+compat/linuxkpi/common/src/linux_kmod.c optional compat_linuxkpi \
+ no-depend compile-with "${LINUXKPI_C}"
+compat/linuxkpi/common/src/linux_compat.c optional compat_linuxkpi \
+ no-depend compile-with "${LINUXKPI_C}"
+compat/linuxkpi/common/src/linux_pci.c optional compat_linuxkpi pci \
+ no-depend compile-with "${LINUXKPI_C}"
+compat/linuxkpi/common/src/linux_idr.c optional compat_linuxkpi \
+ no-depend compile-with "${LINUXKPI_C}"
+compat/linuxkpi/common/src/linux_radix.c optional compat_linuxkpi \
+ no-depend compile-with "${LINUXKPI_C}"
+compat/linuxkpi/common/src/linux_usb.c optional compat_linuxkpi usb \
+ no-depend compile-with "${LINUXKPI_C}"
+
# OpenFabrics Enterprise Distribution (Infiniband)
ofed/drivers/infiniband/core/addr.c optional ofed \
no-depend \
diff --git a/sys/conf/kern.pre.mk b/sys/conf/kern.pre.mk
index 3783881..4328749 100644
--- a/sys/conf/kern.pre.mk
+++ b/sys/conf/kern.pre.mk
@@ -177,9 +177,13 @@ NORMAL_CTFCONVERT= @:
NORMAL_LINT= ${LINT} ${LINTFLAGS} ${CFLAGS:M-[DIU]*} ${.IMPSRC}
+# Linux Kernel Programming Interface C-flags
+LINUXKPI_INCLUDES= -I$S/compat/linuxkpi/common/include
+LINUXKPI_C= ${NORMAL_C} ${LINUXKPI_INCLUDES}
+
# Infiniband C flags. Correct include paths and omit errors that linux
# does not honor.
-OFEDINCLUDES= -I$S/ofed/include/
+OFEDINCLUDES= -I$S/ofed/include ${LINUXKPI_INCLUDES}
OFEDNOERR= -Wno-cast-qual -Wno-pointer-arith
OFEDCFLAGS= ${CFLAGS:N-I*} ${OFEDINCLUDES} ${CFLAGS:M-I*} ${OFEDNOERR}
OFED_C_NOIMP= ${CC} -c -o ${.TARGET} ${OFEDCFLAGS} ${WERROR} ${PROF}
OpenPOWER on IntegriCloud