summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--GNUmakefile2
-rw-r--r--MAINTAINERS8
-rw-r--r--kernel/Makefile9
-rw-r--r--kernel/freebsd/BSDmakefile.meson43
-rw-r--r--kernel/freebsd/Makefile9
-rw-r--r--kernel/freebsd/contigmem/BSDmakefile (renamed from lib/librte_eal/bsdapp/contigmem/BSDmakefile)0
-rw-r--r--kernel/freebsd/contigmem/Makefile (renamed from lib/librte_eal/bsdapp/contigmem/Makefile)0
-rw-r--r--kernel/freebsd/contigmem/contigmem.c (renamed from lib/librte_eal/bsdapp/contigmem/contigmem.c)0
-rw-r--r--kernel/freebsd/contigmem/meson.build (renamed from lib/librte_eal/bsdapp/contigmem/meson.build)0
-rw-r--r--kernel/freebsd/nic_uio/BSDmakefile (renamed from lib/librte_eal/bsdapp/nic_uio/BSDmakefile)0
-rw-r--r--kernel/freebsd/nic_uio/Makefile (renamed from lib/librte_eal/bsdapp/nic_uio/Makefile)0
-rw-r--r--kernel/freebsd/nic_uio/meson.build (renamed from lib/librte_eal/bsdapp/nic_uio/meson.build)0
-rw-r--r--kernel/freebsd/nic_uio/nic_uio.c (renamed from lib/librte_eal/bsdapp/nic_uio/nic_uio.c)0
-rw-r--r--kernel/linux/Makefile9
-rw-r--r--kernel/linux/igb_uio/Kbuild (renamed from lib/librte_eal/linuxapp/igb_uio/Kbuild)0
-rw-r--r--kernel/linux/igb_uio/Makefile (renamed from lib/librte_eal/linuxapp/igb_uio/Makefile)0
-rw-r--r--kernel/linux/igb_uio/compat.h (renamed from lib/librte_eal/linuxapp/igb_uio/compat.h)0
-rw-r--r--kernel/linux/igb_uio/igb_uio.c (renamed from lib/librte_eal/linuxapp/igb_uio/igb_uio.c)0
-rw-r--r--kernel/linux/igb_uio/meson.build (renamed from lib/librte_eal/linuxapp/igb_uio/meson.build)2
-rw-r--r--kernel/linux/kni/Makefile (renamed from lib/librte_eal/linuxapp/kni/Makefile)0
-rw-r--r--kernel/linux/kni/compat.h (renamed from lib/librte_eal/linuxapp/kni/compat.h)0
-rw-r--r--kernel/linux/kni/ethtool/README (renamed from lib/librte_eal/linuxapp/kni/ethtool/README)0
-rw-r--r--kernel/linux/kni/ethtool/igb/e1000_82575.c (renamed from lib/librte_eal/linuxapp/kni/ethtool/igb/e1000_82575.c)0
-rw-r--r--kernel/linux/kni/ethtool/igb/e1000_82575.h (renamed from lib/librte_eal/linuxapp/kni/ethtool/igb/e1000_82575.h)0
-rw-r--r--kernel/linux/kni/ethtool/igb/e1000_api.c (renamed from lib/librte_eal/linuxapp/kni/ethtool/igb/e1000_api.c)0
-rw-r--r--kernel/linux/kni/ethtool/igb/e1000_api.h (renamed from lib/librte_eal/linuxapp/kni/ethtool/igb/e1000_api.h)0
-rw-r--r--kernel/linux/kni/ethtool/igb/e1000_defines.h (renamed from lib/librte_eal/linuxapp/kni/ethtool/igb/e1000_defines.h)0
-rw-r--r--kernel/linux/kni/ethtool/igb/e1000_hw.h (renamed from lib/librte_eal/linuxapp/kni/ethtool/igb/e1000_hw.h)0
-rw-r--r--kernel/linux/kni/ethtool/igb/e1000_i210.c (renamed from lib/librte_eal/linuxapp/kni/ethtool/igb/e1000_i210.c)0
-rw-r--r--kernel/linux/kni/ethtool/igb/e1000_i210.h (renamed from lib/librte_eal/linuxapp/kni/ethtool/igb/e1000_i210.h)0
-rw-r--r--kernel/linux/kni/ethtool/igb/e1000_mac.c (renamed from lib/librte_eal/linuxapp/kni/ethtool/igb/e1000_mac.c)0
-rw-r--r--kernel/linux/kni/ethtool/igb/e1000_mac.h (renamed from lib/librte_eal/linuxapp/kni/ethtool/igb/e1000_mac.h)0
-rw-r--r--kernel/linux/kni/ethtool/igb/e1000_manage.c (renamed from lib/librte_eal/linuxapp/kni/ethtool/igb/e1000_manage.c)0
-rw-r--r--kernel/linux/kni/ethtool/igb/e1000_manage.h (renamed from lib/librte_eal/linuxapp/kni/ethtool/igb/e1000_manage.h)0
-rw-r--r--kernel/linux/kni/ethtool/igb/e1000_mbx.c (renamed from lib/librte_eal/linuxapp/kni/ethtool/igb/e1000_mbx.c)0
-rw-r--r--kernel/linux/kni/ethtool/igb/e1000_mbx.h (renamed from lib/librte_eal/linuxapp/kni/ethtool/igb/e1000_mbx.h)0
-rw-r--r--kernel/linux/kni/ethtool/igb/e1000_nvm.c (renamed from lib/librte_eal/linuxapp/kni/ethtool/igb/e1000_nvm.c)0
-rw-r--r--kernel/linux/kni/ethtool/igb/e1000_nvm.h (renamed from lib/librte_eal/linuxapp/kni/ethtool/igb/e1000_nvm.h)0
-rw-r--r--kernel/linux/kni/ethtool/igb/e1000_osdep.h (renamed from lib/librte_eal/linuxapp/kni/ethtool/igb/e1000_osdep.h)0
-rw-r--r--kernel/linux/kni/ethtool/igb/e1000_phy.c (renamed from lib/librte_eal/linuxapp/kni/ethtool/igb/e1000_phy.c)0
-rw-r--r--kernel/linux/kni/ethtool/igb/e1000_phy.h (renamed from lib/librte_eal/linuxapp/kni/ethtool/igb/e1000_phy.h)0
-rw-r--r--kernel/linux/kni/ethtool/igb/e1000_regs.h (renamed from lib/librte_eal/linuxapp/kni/ethtool/igb/e1000_regs.h)0
-rw-r--r--kernel/linux/kni/ethtool/igb/igb.h (renamed from lib/librte_eal/linuxapp/kni/ethtool/igb/igb.h)0
-rw-r--r--kernel/linux/kni/ethtool/igb/igb_ethtool.c (renamed from lib/librte_eal/linuxapp/kni/ethtool/igb/igb_ethtool.c)0
-rw-r--r--kernel/linux/kni/ethtool/igb/igb_main.c (renamed from lib/librte_eal/linuxapp/kni/ethtool/igb/igb_main.c)0
-rw-r--r--kernel/linux/kni/ethtool/igb/igb_param.c (renamed from lib/librte_eal/linuxapp/kni/ethtool/igb/igb_param.c)0
-rw-r--r--kernel/linux/kni/ethtool/igb/igb_regtest.h (renamed from lib/librte_eal/linuxapp/kni/ethtool/igb/igb_regtest.h)0
-rw-r--r--kernel/linux/kni/ethtool/igb/igb_vmdq.c (renamed from lib/librte_eal/linuxapp/kni/ethtool/igb/igb_vmdq.c)0
-rw-r--r--kernel/linux/kni/ethtool/igb/igb_vmdq.h (renamed from lib/librte_eal/linuxapp/kni/ethtool/igb/igb_vmdq.h)0
-rw-r--r--kernel/linux/kni/ethtool/igb/kcompat.h (renamed from lib/librte_eal/linuxapp/kni/ethtool/igb/kcompat.h)0
-rw-r--r--kernel/linux/kni/ethtool/ixgbe/ixgbe.h (renamed from lib/librte_eal/linuxapp/kni/ethtool/ixgbe/ixgbe.h)0
-rw-r--r--kernel/linux/kni/ethtool/ixgbe/ixgbe_82598.c (renamed from lib/librte_eal/linuxapp/kni/ethtool/ixgbe/ixgbe_82598.c)0
-rw-r--r--kernel/linux/kni/ethtool/ixgbe/ixgbe_82598.h (renamed from lib/librte_eal/linuxapp/kni/ethtool/ixgbe/ixgbe_82598.h)0
-rw-r--r--kernel/linux/kni/ethtool/ixgbe/ixgbe_82599.c (renamed from lib/librte_eal/linuxapp/kni/ethtool/ixgbe/ixgbe_82599.c)0
-rw-r--r--kernel/linux/kni/ethtool/ixgbe/ixgbe_82599.h (renamed from lib/librte_eal/linuxapp/kni/ethtool/ixgbe/ixgbe_82599.h)0
-rw-r--r--kernel/linux/kni/ethtool/ixgbe/ixgbe_api.c (renamed from lib/librte_eal/linuxapp/kni/ethtool/ixgbe/ixgbe_api.c)0
-rw-r--r--kernel/linux/kni/ethtool/ixgbe/ixgbe_api.h (renamed from lib/librte_eal/linuxapp/kni/ethtool/ixgbe/ixgbe_api.h)0
-rw-r--r--kernel/linux/kni/ethtool/ixgbe/ixgbe_common.c (renamed from lib/librte_eal/linuxapp/kni/ethtool/ixgbe/ixgbe_common.c)0
-rw-r--r--kernel/linux/kni/ethtool/ixgbe/ixgbe_common.h (renamed from lib/librte_eal/linuxapp/kni/ethtool/ixgbe/ixgbe_common.h)0
-rw-r--r--kernel/linux/kni/ethtool/ixgbe/ixgbe_dcb.h (renamed from lib/librte_eal/linuxapp/kni/ethtool/ixgbe/ixgbe_dcb.h)0
-rw-r--r--kernel/linux/kni/ethtool/ixgbe/ixgbe_ethtool.c (renamed from lib/librte_eal/linuxapp/kni/ethtool/ixgbe/ixgbe_ethtool.c)0
-rw-r--r--kernel/linux/kni/ethtool/ixgbe/ixgbe_fcoe.h (renamed from lib/librte_eal/linuxapp/kni/ethtool/ixgbe/ixgbe_fcoe.h)0
-rw-r--r--kernel/linux/kni/ethtool/ixgbe/ixgbe_main.c (renamed from lib/librte_eal/linuxapp/kni/ethtool/ixgbe/ixgbe_main.c)0
-rw-r--r--kernel/linux/kni/ethtool/ixgbe/ixgbe_mbx.h (renamed from lib/librte_eal/linuxapp/kni/ethtool/ixgbe/ixgbe_mbx.h)0
-rw-r--r--kernel/linux/kni/ethtool/ixgbe/ixgbe_osdep.h (renamed from lib/librte_eal/linuxapp/kni/ethtool/ixgbe/ixgbe_osdep.h)0
-rw-r--r--kernel/linux/kni/ethtool/ixgbe/ixgbe_phy.c (renamed from lib/librte_eal/linuxapp/kni/ethtool/ixgbe/ixgbe_phy.c)0
-rw-r--r--kernel/linux/kni/ethtool/ixgbe/ixgbe_phy.h (renamed from lib/librte_eal/linuxapp/kni/ethtool/ixgbe/ixgbe_phy.h)0
-rw-r--r--kernel/linux/kni/ethtool/ixgbe/ixgbe_type.h (renamed from lib/librte_eal/linuxapp/kni/ethtool/ixgbe/ixgbe_type.h)0
-rw-r--r--kernel/linux/kni/ethtool/ixgbe/ixgbe_x540.c (renamed from lib/librte_eal/linuxapp/kni/ethtool/ixgbe/ixgbe_x540.c)0
-rw-r--r--kernel/linux/kni/ethtool/ixgbe/ixgbe_x540.h (renamed from lib/librte_eal/linuxapp/kni/ethtool/ixgbe/ixgbe_x540.h)0
-rw-r--r--kernel/linux/kni/ethtool/ixgbe/kcompat.c (renamed from lib/librte_eal/linuxapp/kni/ethtool/ixgbe/kcompat.c)0
-rw-r--r--kernel/linux/kni/ethtool/ixgbe/kcompat.h (renamed from lib/librte_eal/linuxapp/kni/ethtool/ixgbe/kcompat.h)0
-rw-r--r--kernel/linux/kni/kni_dev.h (renamed from lib/librte_eal/linuxapp/kni/kni_dev.h)0
-rw-r--r--kernel/linux/kni/kni_ethtool.c (renamed from lib/librte_eal/linuxapp/kni/kni_ethtool.c)0
-rw-r--r--kernel/linux/kni/kni_fifo.h (renamed from lib/librte_eal/linuxapp/kni/kni_fifo.h)0
-rw-r--r--kernel/linux/kni/kni_misc.c (renamed from lib/librte_eal/linuxapp/kni/kni_misc.c)0
-rw-r--r--kernel/linux/kni/kni_net.c (renamed from lib/librte_eal/linuxapp/kni/kni_net.c)0
-rw-r--r--kernel/meson.build46
-rw-r--r--lib/librte_eal/bsdapp/Makefile2
-rw-r--r--lib/librte_eal/linuxapp/Makefile2
-rw-r--r--lib/librte_eal/meson.build22
-rw-r--r--meson.build1
82 files changed, 123 insertions, 32 deletions
diff --git a/GNUmakefile b/GNUmakefile
index d07fef0..ae80720 100644
--- a/GNUmakefile
+++ b/GNUmakefile
@@ -12,7 +12,7 @@ export RTE_SDK
# directory list
#
-ROOTDIRS-y := buildtools lib drivers app
+ROOTDIRS-y := buildtools lib kernel drivers app
ROOTDIRS- := test
include $(RTE_SDK)/mk/rte.sdkroot.mk
diff --git a/MAINTAINERS b/MAINTAINERS
index eccbf40..75d3e92 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -209,7 +209,7 @@ F: doc/guides/linux_gsg/
Linux UIO
M: Ferruh Yigit <ferruh.yigit@intel.com>
-F: lib/librte_eal/linuxapp/igb_uio/
+F: kernel/linux/igb_uio/
F: drivers/bus/pci/linux/*uio*
Linux VFIO
@@ -225,11 +225,11 @@ F: doc/guides/freebsd_gsg/
FreeBSD contigmem
M: Bruce Richardson <bruce.richardson@intel.com>
-F: lib/librte_eal/bsdapp/contigmem/
+F: kernel/freebsd/contigmem/
FreeBSD UIO
M: Bruce Richardson <bruce.richardson@intel.com>
-F: lib/librte_eal/bsdapp/nic_uio/
+F: kernel/freebsd/nic_uio/
Core Libraries
@@ -359,7 +359,7 @@ F: doc/guides/nics/features/bonding.ini
Linux KNI
M: Ferruh Yigit <ferruh.yigit@intel.com>
-F: lib/librte_eal/linuxapp/kni/
+F: kernel/linux/kni/
F: lib/librte_kni/
F: doc/guides/prog_guide/kernel_nic_interface.rst
F: test/test/test_kni.c
diff --git a/kernel/Makefile b/kernel/Makefile
new file mode 100644
index 0000000..8948d04
--- /dev/null
+++ b/kernel/Makefile
@@ -0,0 +1,9 @@
+# SPDX-License-Identifier: (BSD-3-Clause OR GPL-2.0)
+# Copyright 2017 NXP
+
+include $(RTE_SDK)/mk/rte.vars.mk
+
+DIRS-$(CONFIG_RTE_EXEC_ENV_LINUXAPP) += linux
+DIRS-$(CONFIG_RTE_EXEC_ENV_BSDAPP) += freebsd
+
+include $(RTE_SDK)/mk/rte.subdir.mk
diff --git a/kernel/freebsd/BSDmakefile.meson b/kernel/freebsd/BSDmakefile.meson
new file mode 100644
index 0000000..42f5b2b
--- /dev/null
+++ b/kernel/freebsd/BSDmakefile.meson
@@ -0,0 +1,43 @@
+# BSD LICENSE
+#
+# Copyright(c) 2017 Intel Corporation. All rights reserved.
+# All rights reserved.
+#
+# Redistribution and use in source and binary forms, with or without
+# modification, are permitted provided that the following conditions
+# are met:
+#
+# * Redistributions of source code must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+# * Redistributions in binary form must reproduce the above copyright
+# notice, this list of conditions and the following disclaimer in
+# the documentation and/or other materials provided with the
+# distribution.
+# * Neither the name of Intel Corporation nor the names of its
+# contributors may be used to endorse or promote products derived
+# from this software without specific prior written permission.
+#
+# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+#
+
+# makefile for building kernel modules using meson
+# takes parameters from the environment
+
+# source file is passed via KMOD_SRC as full path, we only use final
+# component of it, as VPATH is used to find actual file, so as to
+# have the .o files placed in the build, not source directory
+VPATH = ${KMOD_SRC:H}
+SRCS = ${KMOD_SRC:T} device_if.h bus_if.h pci_if.h
+CFLAGS += $(KMOD_CFLAGS)
+
+.include <bsd.kmod.mk>
diff --git a/kernel/freebsd/Makefile b/kernel/freebsd/Makefile
new file mode 100644
index 0000000..c93d7a6
--- /dev/null
+++ b/kernel/freebsd/Makefile
@@ -0,0 +1,9 @@
+# SPDX-License-Identifier: BSD-3-Clause
+# Copyright 2017 NXP
+
+include $(RTE_SDK)/mk/rte.vars.mk
+
+DIRS-$(CONFIG_RTE_EXEC_ENV_BSDAPP) += contigmem
+DIRS-$(CONFIG_RTE_EXEC_ENV_BSDAPP) += nic_uio
+
+include $(RTE_SDK)/mk/rte.subdir.mk
diff --git a/lib/librte_eal/bsdapp/contigmem/BSDmakefile b/kernel/freebsd/contigmem/BSDmakefile
index 33ce83e..33ce83e 100644
--- a/lib/librte_eal/bsdapp/contigmem/BSDmakefile
+++ b/kernel/freebsd/contigmem/BSDmakefile
diff --git a/lib/librte_eal/bsdapp/contigmem/Makefile b/kernel/freebsd/contigmem/Makefile
index 428a7ed..428a7ed 100644
--- a/lib/librte_eal/bsdapp/contigmem/Makefile
+++ b/kernel/freebsd/contigmem/Makefile
diff --git a/lib/librte_eal/bsdapp/contigmem/contigmem.c b/kernel/freebsd/contigmem/contigmem.c
index 1715b5d..1715b5d 100644
--- a/lib/librte_eal/bsdapp/contigmem/contigmem.c
+++ b/kernel/freebsd/contigmem/contigmem.c
diff --git a/lib/librte_eal/bsdapp/contigmem/meson.build b/kernel/freebsd/contigmem/meson.build
index 8fb2ab7..8fb2ab7 100644
--- a/lib/librte_eal/bsdapp/contigmem/meson.build
+++ b/kernel/freebsd/contigmem/meson.build
diff --git a/lib/librte_eal/bsdapp/nic_uio/BSDmakefile b/kernel/freebsd/nic_uio/BSDmakefile
index b6f92d5..b6f92d5 100644
--- a/lib/librte_eal/bsdapp/nic_uio/BSDmakefile
+++ b/kernel/freebsd/nic_uio/BSDmakefile
diff --git a/lib/librte_eal/bsdapp/nic_uio/Makefile b/kernel/freebsd/nic_uio/Makefile
index 376ef3a..376ef3a 100644
--- a/lib/librte_eal/bsdapp/nic_uio/Makefile
+++ b/kernel/freebsd/nic_uio/Makefile
diff --git a/lib/librte_eal/bsdapp/nic_uio/meson.build b/kernel/freebsd/nic_uio/meson.build
index 4bdaf96..4bdaf96 100644
--- a/lib/librte_eal/bsdapp/nic_uio/meson.build
+++ b/kernel/freebsd/nic_uio/meson.build
diff --git a/lib/librte_eal/bsdapp/nic_uio/nic_uio.c b/kernel/freebsd/nic_uio/nic_uio.c
index 401b487..401b487 100644
--- a/lib/librte_eal/bsdapp/nic_uio/nic_uio.c
+++ b/kernel/freebsd/nic_uio/nic_uio.c
diff --git a/kernel/linux/Makefile b/kernel/linux/Makefile
new file mode 100644
index 0000000..c2c45a3
--- /dev/null
+++ b/kernel/linux/Makefile
@@ -0,0 +1,9 @@
+# SPDX-License-Identifier: GPL-2.0
+# Copyright 2017 NXP
+
+include $(RTE_SDK)/mk/rte.vars.mk
+
+DIRS-$(CONFIG_RTE_EAL_IGB_UIO) += igb_uio
+DIRS-$(CONFIG_RTE_KNI_KMOD) += kni
+
+include $(RTE_SDK)/mk/rte.subdir.mk
diff --git a/lib/librte_eal/linuxapp/igb_uio/Kbuild b/kernel/linux/igb_uio/Kbuild
index 98c98fe..98c98fe 100644
--- a/lib/librte_eal/linuxapp/igb_uio/Kbuild
+++ b/kernel/linux/igb_uio/Kbuild
diff --git a/lib/librte_eal/linuxapp/igb_uio/Makefile b/kernel/linux/igb_uio/Makefile
index f83bcc7..f83bcc7 100644
--- a/lib/librte_eal/linuxapp/igb_uio/Makefile
+++ b/kernel/linux/igb_uio/Makefile
diff --git a/lib/librte_eal/linuxapp/igb_uio/compat.h b/kernel/linux/igb_uio/compat.h
index ce456d4..ce456d4 100644
--- a/lib/librte_eal/linuxapp/igb_uio/compat.h
+++ b/kernel/linux/igb_uio/compat.h
diff --git a/lib/librte_eal/linuxapp/igb_uio/igb_uio.c b/kernel/linux/igb_uio/igb_uio.c
index 4cae4dd..4cae4dd 100644
--- a/lib/librte_eal/linuxapp/igb_uio/igb_uio.c
+++ b/kernel/linux/igb_uio/igb_uio.c
diff --git a/lib/librte_eal/linuxapp/igb_uio/meson.build b/kernel/linux/igb_uio/meson.build
index 257ef63..356f4ab 100644
--- a/lib/librte_eal/linuxapp/igb_uio/meson.build
+++ b/kernel/linux/igb_uio/meson.build
@@ -18,7 +18,7 @@ custom_target('igb_uio',
'M=' + meson.current_build_dir(),
'src=' + meson.current_source_dir(),
'EXTRA_CFLAGS=-I' + meson.current_source_dir() +
- '/../../common/include',
+ '/../../../lib/librte_eal/common/include',
'modules'],
depends: mkfile,
build_by_default: get_option('enable_kmods'))
diff --git a/lib/librte_eal/linuxapp/kni/Makefile b/kernel/linux/kni/Makefile
index 282be7b..282be7b 100644
--- a/lib/librte_eal/linuxapp/kni/Makefile
+++ b/kernel/linux/kni/Makefile
diff --git a/lib/librte_eal/linuxapp/kni/compat.h b/kernel/linux/kni/compat.h
index 3f8c0bc..3f8c0bc 100644
--- a/lib/librte_eal/linuxapp/kni/compat.h
+++ b/kernel/linux/kni/compat.h
diff --git a/lib/librte_eal/linuxapp/kni/ethtool/README b/kernel/linux/kni/ethtool/README
index af36738..af36738 100644
--- a/lib/librte_eal/linuxapp/kni/ethtool/README
+++ b/kernel/linux/kni/ethtool/README
diff --git a/lib/librte_eal/linuxapp/kni/ethtool/igb/e1000_82575.c b/kernel/linux/kni/ethtool/igb/e1000_82575.c
index 9834670..9834670 100644
--- a/lib/librte_eal/linuxapp/kni/ethtool/igb/e1000_82575.c
+++ b/kernel/linux/kni/ethtool/igb/e1000_82575.c
diff --git a/lib/librte_eal/linuxapp/kni/ethtool/igb/e1000_82575.h b/kernel/linux/kni/ethtool/igb/e1000_82575.h
index 2e0dbb2..2e0dbb2 100644
--- a/lib/librte_eal/linuxapp/kni/ethtool/igb/e1000_82575.h
+++ b/kernel/linux/kni/ethtool/igb/e1000_82575.h
diff --git a/lib/librte_eal/linuxapp/kni/ethtool/igb/e1000_api.c b/kernel/linux/kni/ethtool/igb/e1000_api.c
index 3e54e50..3e54e50 100644
--- a/lib/librte_eal/linuxapp/kni/ethtool/igb/e1000_api.c
+++ b/kernel/linux/kni/ethtool/igb/e1000_api.c
diff --git a/lib/librte_eal/linuxapp/kni/ethtool/igb/e1000_api.h b/kernel/linux/kni/ethtool/igb/e1000_api.h
index 0bc00ac..0bc00ac 100644
--- a/lib/librte_eal/linuxapp/kni/ethtool/igb/e1000_api.h
+++ b/kernel/linux/kni/ethtool/igb/e1000_api.h
diff --git a/lib/librte_eal/linuxapp/kni/ethtool/igb/e1000_defines.h b/kernel/linux/kni/ethtool/igb/e1000_defines.h
index b39aaf8..b39aaf8 100644
--- a/lib/librte_eal/linuxapp/kni/ethtool/igb/e1000_defines.h
+++ b/kernel/linux/kni/ethtool/igb/e1000_defines.h
diff --git a/lib/librte_eal/linuxapp/kni/ethtool/igb/e1000_hw.h b/kernel/linux/kni/ethtool/igb/e1000_hw.h
index ed43ef5..ed43ef5 100644
--- a/lib/librte_eal/linuxapp/kni/ethtool/igb/e1000_hw.h
+++ b/kernel/linux/kni/ethtool/igb/e1000_hw.h
diff --git a/lib/librte_eal/linuxapp/kni/ethtool/igb/e1000_i210.c b/kernel/linux/kni/ethtool/igb/e1000_i210.c
index a4fabc3..a4fabc3 100644
--- a/lib/librte_eal/linuxapp/kni/ethtool/igb/e1000_i210.c
+++ b/kernel/linux/kni/ethtool/igb/e1000_i210.c
diff --git a/lib/librte_eal/linuxapp/kni/ethtool/igb/e1000_i210.h b/kernel/linux/kni/ethtool/igb/e1000_i210.h
index 9df7c20..9df7c20 100644
--- a/lib/librte_eal/linuxapp/kni/ethtool/igb/e1000_i210.h
+++ b/kernel/linux/kni/ethtool/igb/e1000_i210.h
diff --git a/lib/librte_eal/linuxapp/kni/ethtool/igb/e1000_mac.c b/kernel/linux/kni/ethtool/igb/e1000_mac.c
index 13a4226..13a4226 100644
--- a/lib/librte_eal/linuxapp/kni/ethtool/igb/e1000_mac.c
+++ b/kernel/linux/kni/ethtool/igb/e1000_mac.c
diff --git a/lib/librte_eal/linuxapp/kni/ethtool/igb/e1000_mac.h b/kernel/linux/kni/ethtool/igb/e1000_mac.h
index a3e7849..a3e7849 100644
--- a/lib/librte_eal/linuxapp/kni/ethtool/igb/e1000_mac.h
+++ b/kernel/linux/kni/ethtool/igb/e1000_mac.h
diff --git a/lib/librte_eal/linuxapp/kni/ethtool/igb/e1000_manage.c b/kernel/linux/kni/ethtool/igb/e1000_manage.c
index 2f75bc3..2f75bc3 100644
--- a/lib/librte_eal/linuxapp/kni/ethtool/igb/e1000_manage.c
+++ b/kernel/linux/kni/ethtool/igb/e1000_manage.c
diff --git a/lib/librte_eal/linuxapp/kni/ethtool/igb/e1000_manage.h b/kernel/linux/kni/ethtool/igb/e1000_manage.h
index 9f27b93..9f27b93 100644
--- a/lib/librte_eal/linuxapp/kni/ethtool/igb/e1000_manage.h
+++ b/kernel/linux/kni/ethtool/igb/e1000_manage.h
diff --git a/lib/librte_eal/linuxapp/kni/ethtool/igb/e1000_mbx.c b/kernel/linux/kni/ethtool/igb/e1000_mbx.c
index 1be4434..1be4434 100644
--- a/lib/librte_eal/linuxapp/kni/ethtool/igb/e1000_mbx.c
+++ b/kernel/linux/kni/ethtool/igb/e1000_mbx.c
diff --git a/lib/librte_eal/linuxapp/kni/ethtool/igb/e1000_mbx.h b/kernel/linux/kni/ethtool/igb/e1000_mbx.h
index 5951f18..5951f18 100644
--- a/lib/librte_eal/linuxapp/kni/ethtool/igb/e1000_mbx.h
+++ b/kernel/linux/kni/ethtool/igb/e1000_mbx.h
diff --git a/lib/librte_eal/linuxapp/kni/ethtool/igb/e1000_nvm.c b/kernel/linux/kni/ethtool/igb/e1000_nvm.c
index 78c3fc0..78c3fc0 100644
--- a/lib/librte_eal/linuxapp/kni/ethtool/igb/e1000_nvm.c
+++ b/kernel/linux/kni/ethtool/igb/e1000_nvm.c
diff --git a/lib/librte_eal/linuxapp/kni/ethtool/igb/e1000_nvm.h b/kernel/linux/kni/ethtool/igb/e1000_nvm.h
index e27b1c0..e27b1c0 100644
--- a/lib/librte_eal/linuxapp/kni/ethtool/igb/e1000_nvm.h
+++ b/kernel/linux/kni/ethtool/igb/e1000_nvm.h
diff --git a/lib/librte_eal/linuxapp/kni/ethtool/igb/e1000_osdep.h b/kernel/linux/kni/ethtool/igb/e1000_osdep.h
index 3228100..3228100 100644
--- a/lib/librte_eal/linuxapp/kni/ethtool/igb/e1000_osdep.h
+++ b/kernel/linux/kni/ethtool/igb/e1000_osdep.h
diff --git a/lib/librte_eal/linuxapp/kni/ethtool/igb/e1000_phy.c b/kernel/linux/kni/ethtool/igb/e1000_phy.c
index 1934a30..1934a30 100644
--- a/lib/librte_eal/linuxapp/kni/ethtool/igb/e1000_phy.c
+++ b/kernel/linux/kni/ethtool/igb/e1000_phy.c
diff --git a/lib/librte_eal/linuxapp/kni/ethtool/igb/e1000_phy.h b/kernel/linux/kni/ethtool/igb/e1000_phy.h
index 67e9ba7..67e9ba7 100644
--- a/lib/librte_eal/linuxapp/kni/ethtool/igb/e1000_phy.h
+++ b/kernel/linux/kni/ethtool/igb/e1000_phy.h
diff --git a/lib/librte_eal/linuxapp/kni/ethtool/igb/e1000_regs.h b/kernel/linux/kni/ethtool/igb/e1000_regs.h
index f5c7e03..f5c7e03 100644
--- a/lib/librte_eal/linuxapp/kni/ethtool/igb/e1000_regs.h
+++ b/kernel/linux/kni/ethtool/igb/e1000_regs.h
diff --git a/lib/librte_eal/linuxapp/kni/ethtool/igb/igb.h b/kernel/linux/kni/ethtool/igb/igb.h
index 8aa2a30..8aa2a30 100644
--- a/lib/librte_eal/linuxapp/kni/ethtool/igb/igb.h
+++ b/kernel/linux/kni/ethtool/igb/igb.h
diff --git a/lib/librte_eal/linuxapp/kni/ethtool/igb/igb_ethtool.c b/kernel/linux/kni/ethtool/igb/igb_ethtool.c
index 064528b..064528b 100644
--- a/lib/librte_eal/linuxapp/kni/ethtool/igb/igb_ethtool.c
+++ b/kernel/linux/kni/ethtool/igb/igb_ethtool.c
diff --git a/lib/librte_eal/linuxapp/kni/ethtool/igb/igb_main.c b/kernel/linux/kni/ethtool/igb/igb_main.c
index af378d2..af378d2 100644
--- a/lib/librte_eal/linuxapp/kni/ethtool/igb/igb_main.c
+++ b/kernel/linux/kni/ethtool/igb/igb_main.c
diff --git a/lib/librte_eal/linuxapp/kni/ethtool/igb/igb_param.c b/kernel/linux/kni/ethtool/igb/igb_param.c
index 98209a1..98209a1 100644
--- a/lib/librte_eal/linuxapp/kni/ethtool/igb/igb_param.c
+++ b/kernel/linux/kni/ethtool/igb/igb_param.c
diff --git a/lib/librte_eal/linuxapp/kni/ethtool/igb/igb_regtest.h b/kernel/linux/kni/ethtool/igb/igb_regtest.h
index ec2b86a..ec2b86a 100644
--- a/lib/librte_eal/linuxapp/kni/ethtool/igb/igb_regtest.h
+++ b/kernel/linux/kni/ethtool/igb/igb_regtest.h
diff --git a/lib/librte_eal/linuxapp/kni/ethtool/igb/igb_vmdq.c b/kernel/linux/kni/ethtool/igb/igb_vmdq.c
index cdd807b..cdd807b 100644
--- a/lib/librte_eal/linuxapp/kni/ethtool/igb/igb_vmdq.c
+++ b/kernel/linux/kni/ethtool/igb/igb_vmdq.c
diff --git a/lib/librte_eal/linuxapp/kni/ethtool/igb/igb_vmdq.h b/kernel/linux/kni/ethtool/igb/igb_vmdq.h
index e68c48c..e68c48c 100644
--- a/lib/librte_eal/linuxapp/kni/ethtool/igb/igb_vmdq.h
+++ b/kernel/linux/kni/ethtool/igb/igb_vmdq.h
diff --git a/lib/librte_eal/linuxapp/kni/ethtool/igb/kcompat.h b/kernel/linux/kni/ethtool/igb/kcompat.h
index fd3175b..fd3175b 100644
--- a/lib/librte_eal/linuxapp/kni/ethtool/igb/kcompat.h
+++ b/kernel/linux/kni/ethtool/igb/kcompat.h
diff --git a/lib/librte_eal/linuxapp/kni/ethtool/ixgbe/ixgbe.h b/kernel/linux/kni/ethtool/ixgbe/ixgbe.h
index 6ff9413..6ff9413 100644
--- a/lib/librte_eal/linuxapp/kni/ethtool/ixgbe/ixgbe.h
+++ b/kernel/linux/kni/ethtool/ixgbe/ixgbe.h
diff --git a/lib/librte_eal/linuxapp/kni/ethtool/ixgbe/ixgbe_82598.c b/kernel/linux/kni/ethtool/ixgbe/ixgbe_82598.c
index 242de67..242de67 100644
--- a/lib/librte_eal/linuxapp/kni/ethtool/ixgbe/ixgbe_82598.c
+++ b/kernel/linux/kni/ethtool/ixgbe/ixgbe_82598.c
diff --git a/lib/librte_eal/linuxapp/kni/ethtool/ixgbe/ixgbe_82598.h b/kernel/linux/kni/ethtool/ixgbe/ixgbe_82598.h
index 9a8c670..9a8c670 100644
--- a/lib/librte_eal/linuxapp/kni/ethtool/ixgbe/ixgbe_82598.h
+++ b/kernel/linux/kni/ethtool/ixgbe/ixgbe_82598.h
diff --git a/lib/librte_eal/linuxapp/kni/ethtool/ixgbe/ixgbe_82599.c b/kernel/linux/kni/ethtool/ixgbe/ixgbe_82599.c
index 3f15912..3f15912 100644
--- a/lib/librte_eal/linuxapp/kni/ethtool/ixgbe/ixgbe_82599.c
+++ b/kernel/linux/kni/ethtool/ixgbe/ixgbe_82599.c
diff --git a/lib/librte_eal/linuxapp/kni/ethtool/ixgbe/ixgbe_82599.h b/kernel/linux/kni/ethtool/ixgbe/ixgbe_82599.h
index 0305ed7..0305ed7 100644
--- a/lib/librte_eal/linuxapp/kni/ethtool/ixgbe/ixgbe_82599.h
+++ b/kernel/linux/kni/ethtool/ixgbe/ixgbe_82599.h
diff --git a/lib/librte_eal/linuxapp/kni/ethtool/ixgbe/ixgbe_api.c b/kernel/linux/kni/ethtool/ixgbe/ixgbe_api.c
index 1be4c64..1be4c64 100644
--- a/lib/librte_eal/linuxapp/kni/ethtool/ixgbe/ixgbe_api.c
+++ b/kernel/linux/kni/ethtool/ixgbe/ixgbe_api.c
diff --git a/lib/librte_eal/linuxapp/kni/ethtool/ixgbe/ixgbe_api.h b/kernel/linux/kni/ethtool/ixgbe/ixgbe_api.h
index 11247a0..11247a0 100644
--- a/lib/librte_eal/linuxapp/kni/ethtool/ixgbe/ixgbe_api.h
+++ b/kernel/linux/kni/ethtool/ixgbe/ixgbe_api.h
diff --git a/lib/librte_eal/linuxapp/kni/ethtool/ixgbe/ixgbe_common.c b/kernel/linux/kni/ethtool/ixgbe/ixgbe_common.c
index e9b9529..e9b9529 100644
--- a/lib/librte_eal/linuxapp/kni/ethtool/ixgbe/ixgbe_common.c
+++ b/kernel/linux/kni/ethtool/ixgbe/ixgbe_common.c
diff --git a/lib/librte_eal/linuxapp/kni/ethtool/ixgbe/ixgbe_common.h b/kernel/linux/kni/ethtool/ixgbe/ixgbe_common.h
index 2989a80..2989a80 100644
--- a/lib/librte_eal/linuxapp/kni/ethtool/ixgbe/ixgbe_common.h
+++ b/kernel/linux/kni/ethtool/ixgbe/ixgbe_common.h
diff --git a/lib/librte_eal/linuxapp/kni/ethtool/ixgbe/ixgbe_dcb.h b/kernel/linux/kni/ethtool/ixgbe/ixgbe_dcb.h
index e9a099d..e9a099d 100644
--- a/lib/librte_eal/linuxapp/kni/ethtool/ixgbe/ixgbe_dcb.h
+++ b/kernel/linux/kni/ethtool/ixgbe/ixgbe_dcb.h
diff --git a/lib/librte_eal/linuxapp/kni/ethtool/ixgbe/ixgbe_ethtool.c b/kernel/linux/kni/ethtool/ixgbe/ixgbe_ethtool.c
index 44cdc9f..44cdc9f 100644
--- a/lib/librte_eal/linuxapp/kni/ethtool/ixgbe/ixgbe_ethtool.c
+++ b/kernel/linux/kni/ethtool/ixgbe/ixgbe_ethtool.c
diff --git a/lib/librte_eal/linuxapp/kni/ethtool/ixgbe/ixgbe_fcoe.h b/kernel/linux/kni/ethtool/ixgbe/ixgbe_fcoe.h
index eec86cb..eec86cb 100644
--- a/lib/librte_eal/linuxapp/kni/ethtool/ixgbe/ixgbe_fcoe.h
+++ b/kernel/linux/kni/ethtool/ixgbe/ixgbe_fcoe.h
diff --git a/lib/librte_eal/linuxapp/kni/ethtool/ixgbe/ixgbe_main.c b/kernel/linux/kni/ethtool/ixgbe/ixgbe_main.c
index a5acf19..a5acf19 100644
--- a/lib/librte_eal/linuxapp/kni/ethtool/ixgbe/ixgbe_main.c
+++ b/kernel/linux/kni/ethtool/ixgbe/ixgbe_main.c
diff --git a/lib/librte_eal/linuxapp/kni/ethtool/ixgbe/ixgbe_mbx.h b/kernel/linux/kni/ethtool/ixgbe/ixgbe_mbx.h
index 53ace94..53ace94 100644
--- a/lib/librte_eal/linuxapp/kni/ethtool/ixgbe/ixgbe_mbx.h
+++ b/kernel/linux/kni/ethtool/ixgbe/ixgbe_mbx.h
diff --git a/lib/librte_eal/linuxapp/kni/ethtool/ixgbe/ixgbe_osdep.h b/kernel/linux/kni/ethtool/ixgbe/ixgbe_osdep.h
index 7b3f8c5..7b3f8c5 100644
--- a/lib/librte_eal/linuxapp/kni/ethtool/ixgbe/ixgbe_osdep.h
+++ b/kernel/linux/kni/ethtool/ixgbe/ixgbe_osdep.h
diff --git a/lib/librte_eal/linuxapp/kni/ethtool/ixgbe/ixgbe_phy.c b/kernel/linux/kni/ethtool/ixgbe/ixgbe_phy.c
index a47a2ff..a47a2ff 100644
--- a/lib/librte_eal/linuxapp/kni/ethtool/ixgbe/ixgbe_phy.c
+++ b/kernel/linux/kni/ethtool/ixgbe/ixgbe_phy.c
diff --git a/lib/librte_eal/linuxapp/kni/ethtool/ixgbe/ixgbe_phy.h b/kernel/linux/kni/ethtool/ixgbe/ixgbe_phy.h
index 6baa9ac..6baa9ac 100644
--- a/lib/librte_eal/linuxapp/kni/ethtool/ixgbe/ixgbe_phy.h
+++ b/kernel/linux/kni/ethtool/ixgbe/ixgbe_phy.h
diff --git a/lib/librte_eal/linuxapp/kni/ethtool/ixgbe/ixgbe_type.h b/kernel/linux/kni/ethtool/ixgbe/ixgbe_type.h
index 0689590..0689590 100644
--- a/lib/librte_eal/linuxapp/kni/ethtool/ixgbe/ixgbe_type.h
+++ b/kernel/linux/kni/ethtool/ixgbe/ixgbe_type.h
diff --git a/lib/librte_eal/linuxapp/kni/ethtool/ixgbe/ixgbe_x540.c b/kernel/linux/kni/ethtool/ixgbe/ixgbe_x540.c
index 07b219a..07b219a 100644
--- a/lib/librte_eal/linuxapp/kni/ethtool/ixgbe/ixgbe_x540.c
+++ b/kernel/linux/kni/ethtool/ixgbe/ixgbe_x540.c
diff --git a/lib/librte_eal/linuxapp/kni/ethtool/ixgbe/ixgbe_x540.h b/kernel/linux/kni/ethtool/ixgbe/ixgbe_x540.h
index 9602091..9602091 100644
--- a/lib/librte_eal/linuxapp/kni/ethtool/ixgbe/ixgbe_x540.h
+++ b/kernel/linux/kni/ethtool/ixgbe/ixgbe_x540.h
diff --git a/lib/librte_eal/linuxapp/kni/ethtool/ixgbe/kcompat.c b/kernel/linux/kni/ethtool/ixgbe/kcompat.c
index 6c99457..6c99457 100644
--- a/lib/librte_eal/linuxapp/kni/ethtool/ixgbe/kcompat.c
+++ b/kernel/linux/kni/ethtool/ixgbe/kcompat.c
diff --git a/lib/librte_eal/linuxapp/kni/ethtool/ixgbe/kcompat.h b/kernel/linux/kni/ethtool/ixgbe/kcompat.h
index 7c7d6c3..7c7d6c3 100644
--- a/lib/librte_eal/linuxapp/kni/ethtool/ixgbe/kcompat.h
+++ b/kernel/linux/kni/ethtool/ixgbe/kcompat.h
diff --git a/lib/librte_eal/linuxapp/kni/kni_dev.h b/kernel/linux/kni/kni_dev.h
index c9393d8..c9393d8 100644
--- a/lib/librte_eal/linuxapp/kni/kni_dev.h
+++ b/kernel/linux/kni/kni_dev.h
diff --git a/lib/librte_eal/linuxapp/kni/kni_ethtool.c b/kernel/linux/kni/kni_ethtool.c
index a44e7d9..a44e7d9 100644
--- a/lib/librte_eal/linuxapp/kni/kni_ethtool.c
+++ b/kernel/linux/kni/kni_ethtool.c
diff --git a/lib/librte_eal/linuxapp/kni/kni_fifo.h b/kernel/linux/kni/kni_fifo.h
index 9a4762d..9a4762d 100644
--- a/lib/librte_eal/linuxapp/kni/kni_fifo.h
+++ b/kernel/linux/kni/kni_fifo.h
diff --git a/lib/librte_eal/linuxapp/kni/kni_misc.c b/kernel/linux/kni/kni_misc.c
index 01574ec..01574ec 100644
--- a/lib/librte_eal/linuxapp/kni/kni_misc.c
+++ b/kernel/linux/kni/kni_misc.c
diff --git a/lib/librte_eal/linuxapp/kni/kni_net.c b/kernel/linux/kni/kni_net.c
index 9f9b798..9f9b798 100644
--- a/lib/librte_eal/linuxapp/kni/kni_net.c
+++ b/kernel/linux/kni/kni_net.c
diff --git a/kernel/meson.build b/kernel/meson.build
new file mode 100644
index 0000000..697c419
--- /dev/null
+++ b/kernel/meson.build
@@ -0,0 +1,46 @@
+# SPDX-License-Identifier: BSD-3-Clause
+# Copyright(c) 2017 Intel Corporation
+
+# Initially pull in common settings
+#eal_inc = [global_inc]
+#subdir('common') # defines common_sources, common_objs, etc.
+
+# Now do OS/exec-env specific settings, including building kernel modules
+# The <exec-env>/eal/meson.build file should define env_sources, etc.
+if host_machine.system() == 'linux'
+ dpdk_conf.set('RTE_EXEC_ENV_LINUXAPP', 1)
+ subdir('linux/igb_uio')
+
+elif host_machine.system() == 'freebsd'
+ dpdk_conf.set('RTE_EXEC_ENV_BSDAPP', 1)
+ kmods = ['contigmem', 'nic_uio']
+
+ # for building kernel modules, we use kernel build system using make, as
+ # with Linux. We have a skeleton BSDmakefile, which pulls many of its
+ # values from the environment. Each module only has a single source file
+ # right now, which allows us to simplify things. We pull in the sourcer
+ # files from the individual meson.build files, and then use a custom
+ # target to call make, passing in the values as env parameters.
+ kmod_cflags = ['-I' + meson.build_root(),
+ '-I' + join_paths(meson.source_root(), 'config'),
+ '-include rte_config.h']
+ foreach k:kmods
+ subdir(join_paths('freebsd', k))
+ custom_target(k,
+ input: [files('freebsd/BSDmakefile.meson'), sources],
+ output: k + '.ko',
+ command: ['make', '-f', '@INPUT0@',
+ 'KMOD_SRC=@INPUT1@',
+ 'KMOD=' + k,
+ 'KMOD_CFLAGS=' + ' '.join(kmod_cflags)],
+ build_by_default: get_option('enable_kmods'))
+ endforeach
+else
+ error('unsupported system type @0@'.format(hostmachine.system()))
+endif
+
+cflags += '-D_GNU_SOURCE'
+sources = common_sources + env_sources
+objs = common_objs + env_objs
+headers = common_headers + env_headers
+includes = eal_inc
diff --git a/lib/librte_eal/bsdapp/Makefile b/lib/librte_eal/bsdapp/Makefile
index 9d8e247..5b06b21 100644
--- a/lib/librte_eal/bsdapp/Makefile
+++ b/lib/librte_eal/bsdapp/Makefile
@@ -4,7 +4,5 @@
include $(RTE_SDK)/mk/rte.vars.mk
DIRS-$(CONFIG_RTE_EXEC_ENV_BSDAPP) += eal
-DIRS-$(CONFIG_RTE_EXEC_ENV_BSDAPP) += contigmem
-DIRS-$(CONFIG_RTE_EXEC_ENV_BSDAPP) += nic_uio
include $(RTE_SDK)/mk/rte.subdir.mk
diff --git a/lib/librte_eal/linuxapp/Makefile b/lib/librte_eal/linuxapp/Makefile
index aa52a01..a0fffa9 100644
--- a/lib/librte_eal/linuxapp/Makefile
+++ b/lib/librte_eal/linuxapp/Makefile
@@ -4,8 +4,6 @@
include $(RTE_SDK)/mk/rte.vars.mk
DIRS-$(CONFIG_RTE_EXEC_ENV_LINUXAPP) += eal
-DIRS-$(CONFIG_RTE_EAL_IGB_UIO) += igb_uio
-DIRS-$(CONFIG_RTE_KNI_KMOD) += kni
DEPDIRS-kni := eal
CFLAGS += -DALLOW_EXPERIMENTAL_API
diff --git a/lib/librte_eal/meson.build b/lib/librte_eal/meson.build
index d9ba385..15d1c6a 100644
--- a/lib/librte_eal/meson.build
+++ b/lib/librte_eal/meson.build
@@ -12,33 +12,11 @@ subdir('common') # defines common_sources, common_objs, etc.
if host_machine.system() == 'linux'
dpdk_conf.set('RTE_EXEC_ENV_LINUXAPP', 1)
subdir('linuxapp/eal')
- subdir('linuxapp/igb_uio')
elif host_machine.system() == 'freebsd'
dpdk_conf.set('RTE_EXEC_ENV_BSDAPP', 1)
subdir('bsdapp/eal')
- kmods = ['contigmem', 'nic_uio']
- # for building kernel modules, we use kernel build system using make, as
- # with Linux. We have a skeleton BSDmakefile, which pulls many of its
- # values from the environment. Each module only has a single source file
- # right now, which allows us to simplify things. We pull in the sourcer
- # files from the individual meson.build files, and then use a custom
- # target to call make, passing in the values as env parameters.
- kmod_cflags = ['-I' + meson.build_root(),
- '-I' + join_paths(meson.source_root(), 'config'),
- '-include rte_config.h']
- foreach k:kmods
- subdir(join_paths('bsdapp', k))
- custom_target(k,
- input: [files('bsdapp/BSDmakefile.meson'), sources],
- output: k + '.ko',
- command: ['make', '-f', '@INPUT0@',
- 'KMOD_SRC=@INPUT1@',
- 'KMOD=' + k,
- 'KMOD_CFLAGS=' + ' '.join(kmod_cflags)],
- build_by_default: get_option('enable_kmods'))
- endforeach
else
error('unsupported system type @0@'.format(hostmachine.system()))
endif
diff --git a/meson.build b/meson.build
index 0d99313..cc16595 100644
--- a/meson.build
+++ b/meson.build
@@ -26,6 +26,7 @@ subdir('config')
# build libs and drivers
subdir('lib')
+subdir('kernel')
subdir('buildtools')
subdir('drivers')