drivers: change indentation in build files
Switch from using tabs to 4 spaces for meson.build indentation. Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
This commit is contained in:
parent
cf995efc53
commit
4ad4b20a79
@ -6,34 +6,34 @@ path = get_option('flexran_sdk')
|
|||||||
# check for FlexRAN SDK libraries for AVX2
|
# check for FlexRAN SDK libraries for AVX2
|
||||||
lib4g = cc.find_library('libturbo', dirs: [path + '/lib_turbo'], required: false)
|
lib4g = cc.find_library('libturbo', dirs: [path + '/lib_turbo'], required: false)
|
||||||
if lib4g.found()
|
if lib4g.found()
|
||||||
ext_deps += cc.find_library('libturbo', dirs: [path + '/lib_turbo'], required: true)
|
ext_deps += cc.find_library('libturbo', dirs: [path + '/lib_turbo'], required: true)
|
||||||
ext_deps += cc.find_library('libcrc', dirs: [path + '/lib_crc'], required: true)
|
ext_deps += cc.find_library('libcrc', dirs: [path + '/lib_crc'], required: true)
|
||||||
ext_deps += cc.find_library('librate_matching', dirs: [path + '/lib_rate_matching'], required: true)
|
ext_deps += cc.find_library('librate_matching', dirs: [path + '/lib_rate_matching'], required: true)
|
||||||
ext_deps += cc.find_library('libcommon', dirs: [path + '/lib_common'], required: true)
|
ext_deps += cc.find_library('libcommon', dirs: [path + '/lib_common'], required: true)
|
||||||
ext_deps += cc.find_library('libstdc++', required: true)
|
ext_deps += cc.find_library('libstdc++', required: true)
|
||||||
ext_deps += cc.find_library('libirc', required: true)
|
ext_deps += cc.find_library('libirc', required: true)
|
||||||
ext_deps += cc.find_library('libimf', required: true)
|
ext_deps += cc.find_library('libimf', required: true)
|
||||||
ext_deps += cc.find_library('libipps', required: true)
|
ext_deps += cc.find_library('libipps', required: true)
|
||||||
ext_deps += cc.find_library('libsvml', required: true)
|
ext_deps += cc.find_library('libsvml', required: true)
|
||||||
includes += include_directories(path + '/lib_turbo')
|
includes += include_directories(path + '/lib_turbo')
|
||||||
includes += include_directories(path + '/lib_crc')
|
includes += include_directories(path + '/lib_crc')
|
||||||
includes += include_directories(path + '/lib_rate_matching')
|
includes += include_directories(path + '/lib_rate_matching')
|
||||||
includes += include_directories(path + '/lib_common')
|
includes += include_directories(path + '/lib_common')
|
||||||
cflags += ['-DRTE_BBDEV_SDK_AVX2']
|
cflags += ['-DRTE_BBDEV_SDK_AVX2']
|
||||||
endif
|
endif
|
||||||
|
|
||||||
# check for FlexRAN SDK libraries for AVX512
|
# check for FlexRAN SDK libraries for AVX512
|
||||||
lib5g = cc.find_library('libldpc_decoder_5gnr', dirs: [path + '/lib_ldpc_decoder_5gnr'], required: false)
|
lib5g = cc.find_library('libldpc_decoder_5gnr', dirs: [path + '/lib_ldpc_decoder_5gnr'], required: false)
|
||||||
if lib5g.found()
|
if lib5g.found()
|
||||||
ext_deps += cc.find_library('libldpc_encoder_5gnr', dirs: [path + '/lib_ldpc_encoder_5gnr'], required: true)
|
ext_deps += cc.find_library('libldpc_encoder_5gnr', dirs: [path + '/lib_ldpc_encoder_5gnr'], required: true)
|
||||||
ext_deps += cc.find_library('libldpc_decoder_5gnr', dirs: [path + '/lib_ldpc_decoder_5gnr'], required: true)
|
ext_deps += cc.find_library('libldpc_decoder_5gnr', dirs: [path + '/lib_ldpc_decoder_5gnr'], required: true)
|
||||||
ext_deps += cc.find_library('libLDPC_ratematch_5gnr', dirs: [path + '/lib_LDPC_ratematch_5gnr'], required: true)
|
ext_deps += cc.find_library('libLDPC_ratematch_5gnr', dirs: [path + '/lib_LDPC_ratematch_5gnr'], required: true)
|
||||||
ext_deps += cc.find_library('librate_dematching_5gnr', dirs: [path + '/lib_rate_dematching_5gnr'], required: true)
|
ext_deps += cc.find_library('librate_dematching_5gnr', dirs: [path + '/lib_rate_dematching_5gnr'], required: true)
|
||||||
includes += include_directories(path + '/lib_ldpc_encoder_5gnr')
|
includes += include_directories(path + '/lib_ldpc_encoder_5gnr')
|
||||||
includes += include_directories(path + '/lib_ldpc_decoder_5gnr')
|
includes += include_directories(path + '/lib_ldpc_decoder_5gnr')
|
||||||
includes += include_directories(path + '/lib_LDPC_ratematch_5gnr')
|
includes += include_directories(path + '/lib_LDPC_ratematch_5gnr')
|
||||||
includes += include_directories(path + '/lib_rate_dematching_5gnr')
|
includes += include_directories(path + '/lib_rate_dematching_5gnr')
|
||||||
cflags += ['-DRTE_BBDEV_SDK_AVX512']
|
cflags += ['-DRTE_BBDEV_SDK_AVX512']
|
||||||
endif
|
endif
|
||||||
|
|
||||||
deps += ['bbdev', 'bus_vdev', 'ring']
|
deps += ['bbdev', 'bus_vdev', 'ring']
|
||||||
|
@ -2,28 +2,30 @@
|
|||||||
# Copyright 2018 NXP
|
# Copyright 2018 NXP
|
||||||
|
|
||||||
if not is_linux
|
if not is_linux
|
||||||
build = false
|
build = false
|
||||||
reason = 'only supported on Linux'
|
reason = 'only supported on Linux'
|
||||||
endif
|
endif
|
||||||
|
|
||||||
deps += ['common_dpaax', 'eventdev']
|
deps += ['common_dpaax', 'eventdev']
|
||||||
sources = files('base/fman/fman.c',
|
sources = files(
|
||||||
'base/fman/fman_hw.c',
|
'base/fman/fman.c',
|
||||||
'base/fman/netcfg_layer.c',
|
'base/fman/fman_hw.c',
|
||||||
'base/qbman/bman.c',
|
'base/fman/netcfg_layer.c',
|
||||||
'base/qbman/bman_driver.c',
|
'base/qbman/bman.c',
|
||||||
'base/qbman/dpaa_alloc.c',
|
'base/qbman/bman_driver.c',
|
||||||
'base/qbman/dpaa_sys.c',
|
'base/qbman/dpaa_alloc.c',
|
||||||
'base/qbman/process.c',
|
'base/qbman/dpaa_sys.c',
|
||||||
'base/qbman/qman.c',
|
'base/qbman/process.c',
|
||||||
'base/qbman/qman_driver.c',
|
'base/qbman/qman.c',
|
||||||
'dpaa_bus.c')
|
'base/qbman/qman_driver.c',
|
||||||
|
'dpaa_bus.c',
|
||||||
|
)
|
||||||
|
|
||||||
if cc.has_argument('-Wno-cast-qual')
|
if cc.has_argument('-Wno-cast-qual')
|
||||||
cflags += '-Wno-cast-qual'
|
cflags += '-Wno-cast-qual'
|
||||||
endif
|
endif
|
||||||
if cc.has_argument('-Wno-pointer-arith')
|
if cc.has_argument('-Wno-pointer-arith')
|
||||||
cflags += '-Wno-pointer-arith'
|
cflags += '-Wno-pointer-arith'
|
||||||
endif
|
endif
|
||||||
|
|
||||||
includes += include_directories('include', 'base/qbman')
|
includes += include_directories('include', 'base/qbman')
|
||||||
|
@ -2,24 +2,26 @@
|
|||||||
# Copyright 2018 NXP
|
# Copyright 2018 NXP
|
||||||
|
|
||||||
if not is_linux
|
if not is_linux
|
||||||
build = false
|
build = false
|
||||||
reason = 'only supported on Linux'
|
reason = 'only supported on Linux'
|
||||||
endif
|
endif
|
||||||
|
|
||||||
deps += ['common_dpaax', 'eventdev', 'kvargs']
|
deps += ['common_dpaax', 'eventdev', 'kvargs']
|
||||||
sources = files('fslmc_bus.c',
|
sources = files(
|
||||||
'fslmc_vfio.c',
|
'fslmc_bus.c',
|
||||||
'mc/dpbp.c',
|
'fslmc_vfio.c',
|
||||||
'mc/dpci.c',
|
'mc/dpbp.c',
|
||||||
'mc/dpcon.c',
|
'mc/dpci.c',
|
||||||
'mc/dpdmai.c',
|
'mc/dpcon.c',
|
||||||
'mc/dpio.c',
|
'mc/dpdmai.c',
|
||||||
'mc/dpmng.c',
|
'mc/dpio.c',
|
||||||
'mc/mc_sys.c',
|
'mc/dpmng.c',
|
||||||
'portal/dpaa2_hw_dpbp.c',
|
'mc/mc_sys.c',
|
||||||
'portal/dpaa2_hw_dpci.c',
|
'portal/dpaa2_hw_dpbp.c',
|
||||||
'portal/dpaa2_hw_dpio.c',
|
'portal/dpaa2_hw_dpci.c',
|
||||||
'qbman/qbman_portal.c',
|
'portal/dpaa2_hw_dpio.c',
|
||||||
'qbman/qbman_debug.c')
|
'qbman/qbman_portal.c',
|
||||||
|
'qbman/qbman_debug.c'
|
||||||
|
)
|
||||||
|
|
||||||
includes += include_directories('mc', 'qbman/include', 'portal')
|
includes += include_directories('mc', 'qbman/include', 'portal')
|
||||||
|
@ -2,9 +2,9 @@
|
|||||||
# Copyright(c) 2010-2018 Intel Corporation
|
# Copyright(c) 2010-2018 Intel Corporation
|
||||||
|
|
||||||
if is_windows
|
if is_windows
|
||||||
build = false
|
build = false
|
||||||
reason = 'not supported on Windows'
|
reason = 'not supported on Windows'
|
||||||
subdir_done()
|
subdir_done()
|
||||||
endif
|
endif
|
||||||
|
|
||||||
deps += ['pci', 'kvargs', 'rawdev']
|
deps += ['pci', 'kvargs', 'rawdev']
|
||||||
|
@ -4,23 +4,29 @@
|
|||||||
deps += ['pci']
|
deps += ['pci']
|
||||||
headers = files('rte_bus_pci.h')
|
headers = files('rte_bus_pci.h')
|
||||||
sources = files('pci_common.c',
|
sources = files('pci_common.c',
|
||||||
'pci_params.c')
|
'pci_params.c')
|
||||||
if is_linux
|
if is_linux
|
||||||
sources += files('pci_common_uio.c',
|
sources += files(
|
||||||
'linux/pci.c',
|
'pci_common_uio.c',
|
||||||
'linux/pci_uio.c',
|
'linux/pci.c',
|
||||||
'linux/pci_vfio.c')
|
'linux/pci_uio.c',
|
||||||
includes += include_directories('linux')
|
'linux/pci_vfio.c',
|
||||||
|
)
|
||||||
|
includes += include_directories('linux')
|
||||||
endif
|
endif
|
||||||
if is_freebsd
|
if is_freebsd
|
||||||
sources += files('pci_common_uio.c',
|
sources += files(
|
||||||
'bsd/pci.c')
|
'pci_common_uio.c',
|
||||||
includes += include_directories('bsd')
|
'bsd/pci.c',
|
||||||
|
)
|
||||||
|
includes += include_directories('bsd')
|
||||||
endif
|
endif
|
||||||
if is_windows
|
if is_windows
|
||||||
sources += files('windows/pci.c',
|
sources += files(
|
||||||
'windows/pci_netuio.c')
|
'windows/pci.c',
|
||||||
includes += include_directories('windows')
|
'windows/pci_netuio.c',
|
||||||
|
)
|
||||||
|
includes += include_directories('windows')
|
||||||
endif
|
endif
|
||||||
|
|
||||||
deps += ['kvargs']
|
deps += ['kvargs']
|
||||||
|
@ -1,8 +1,10 @@
|
|||||||
# SPDX-License-Identifier: BSD-3-Clause
|
# SPDX-License-Identifier: BSD-3-Clause
|
||||||
# Copyright(c) 2017 Intel Corporation
|
# Copyright(c) 2017 Intel Corporation
|
||||||
|
|
||||||
sources = files('vdev.c',
|
sources = files(
|
||||||
'vdev_params.c')
|
'vdev.c',
|
||||||
|
'vdev_params.c',
|
||||||
|
)
|
||||||
headers = files('rte_bus_vdev.h')
|
headers = files('rte_bus_vdev.h')
|
||||||
|
|
||||||
deps += ['kvargs']
|
deps += ['kvargs']
|
||||||
|
@ -1,24 +1,26 @@
|
|||||||
# SPDX-License-Identifier: BSD-3-Clause
|
# SPDX-License-Identifier: BSD-3-Clause
|
||||||
|
|
||||||
if is_windows
|
if is_windows
|
||||||
build = false
|
build = false
|
||||||
reason = 'not supported on Windows'
|
reason = 'not supported on Windows'
|
||||||
subdir_done()
|
subdir_done()
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
|
||||||
headers = files('rte_bus_vmbus.h','rte_vmbus_reg.h')
|
headers = files('rte_bus_vmbus.h','rte_vmbus_reg.h')
|
||||||
|
|
||||||
sources = files('vmbus_common.c',
|
sources = files(
|
||||||
'vmbus_channel.c',
|
'vmbus_bufring.c',
|
||||||
'vmbus_bufring.c',
|
'vmbus_channel.c',
|
||||||
'vmbus_common_uio.c')
|
'vmbus_common.c',
|
||||||
|
'vmbus_common_uio.c',
|
||||||
|
)
|
||||||
|
|
||||||
if is_linux
|
if is_linux
|
||||||
sources += files('linux/vmbus_bus.c',
|
sources += files('linux/vmbus_bus.c',
|
||||||
'linux/vmbus_uio.c')
|
'linux/vmbus_uio.c')
|
||||||
includes += include_directories('linux')
|
includes += include_directories('linux')
|
||||||
else
|
else
|
||||||
build = false
|
build = false
|
||||||
reason = 'only supported on Linux'
|
reason = 'only supported on Linux'
|
||||||
endif
|
endif
|
||||||
|
@ -3,46 +3,48 @@
|
|||||||
#
|
#
|
||||||
|
|
||||||
if not is_linux or not dpdk_conf.get('RTE_ARCH_64')
|
if not is_linux or not dpdk_conf.get('RTE_ARCH_64')
|
||||||
build = false
|
build = false
|
||||||
reason = 'only supported on 64-bit Linux'
|
reason = 'only supported on 64-bit Linux'
|
||||||
subdir_done()
|
subdir_done()
|
||||||
endif
|
endif
|
||||||
|
|
||||||
config_flag_fmt = 'RTE_LIBRTE_@0@_COMMON'
|
config_flag_fmt = 'RTE_LIBRTE_@0@_COMMON'
|
||||||
deps = ['eal', 'pci', 'bus_pci', 'mbuf']
|
deps = ['eal', 'pci', 'bus_pci', 'mbuf']
|
||||||
sources = files('roc_dev.c',
|
sources = files(
|
||||||
'roc_idev.c',
|
'roc_dev.c',
|
||||||
'roc_irq.c',
|
'roc_idev.c',
|
||||||
'roc_mbox.c',
|
'roc_irq.c',
|
||||||
'roc_model.c',
|
'roc_mbox.c',
|
||||||
'roc_nix.c',
|
'roc_model.c',
|
||||||
'roc_nix_debug.c',
|
'roc_nix.c',
|
||||||
'roc_nix_fc.c',
|
'roc_nix_debug.c',
|
||||||
'roc_nix_irq.c',
|
'roc_nix_fc.c',
|
||||||
'roc_nix_mac.c',
|
'roc_nix_irq.c',
|
||||||
'roc_nix_mcast.c',
|
'roc_nix_mac.c',
|
||||||
'roc_nix_npc.c',
|
'roc_nix_mcast.c',
|
||||||
'roc_nix_ops.c',
|
'roc_nix_npc.c',
|
||||||
'roc_nix_ptp.c',
|
'roc_nix_ops.c',
|
||||||
'roc_nix_queue.c',
|
'roc_nix_ptp.c',
|
||||||
'roc_nix_rss.c',
|
'roc_nix_queue.c',
|
||||||
'roc_nix_stats.c',
|
'roc_nix_rss.c',
|
||||||
'roc_nix_tm.c',
|
'roc_nix_stats.c',
|
||||||
'roc_nix_tm_ops.c',
|
'roc_nix_tm.c',
|
||||||
'roc_nix_tm_utils.c',
|
'roc_nix_tm_ops.c',
|
||||||
'roc_nix_vlan.c',
|
'roc_nix_tm_utils.c',
|
||||||
'roc_npa.c',
|
'roc_nix_vlan.c',
|
||||||
'roc_npa_debug.c',
|
'roc_npa.c',
|
||||||
'roc_npa_irq.c',
|
'roc_npa_debug.c',
|
||||||
'roc_npc.c',
|
'roc_npa_irq.c',
|
||||||
'roc_npc_mcam.c',
|
'roc_npc.c',
|
||||||
'roc_npc_parse.c',
|
'roc_npc_mcam.c',
|
||||||
'roc_npc_utils.c',
|
'roc_npc_parse.c',
|
||||||
'roc_platform.c',
|
'roc_npc_utils.c',
|
||||||
'roc_sso.c',
|
'roc_platform.c',
|
||||||
'roc_sso_debug.c',
|
'roc_sso.c',
|
||||||
'roc_sso_irq.c',
|
'roc_sso_debug.c',
|
||||||
'roc_tim.c',
|
'roc_sso_irq.c',
|
||||||
'roc_tim_irq.c',
|
'roc_tim.c',
|
||||||
'roc_utils.c')
|
'roc_tim_irq.c',
|
||||||
|
'roc_utils.c',
|
||||||
|
)
|
||||||
includes += include_directories('../../bus/pci')
|
includes += include_directories('../../bus/pci')
|
||||||
|
@ -2,13 +2,12 @@
|
|||||||
# Copyright(c) 2018 Cavium, Inc
|
# Copyright(c) 2018 Cavium, Inc
|
||||||
|
|
||||||
if is_windows
|
if is_windows
|
||||||
build = false
|
build = false
|
||||||
reason = 'not supported on Windows'
|
reason = 'not supported on Windows'
|
||||||
subdir_done()
|
subdir_done()
|
||||||
endif
|
endif
|
||||||
|
|
||||||
sources = files('cpt_fpm_tables.c',
|
sources = files('cpt_fpm_tables.c', 'cpt_pmd_ops_helper.c')
|
||||||
'cpt_pmd_ops_helper.c')
|
|
||||||
|
|
||||||
deps = ['kvargs', 'pci', 'cryptodev']
|
deps = ['kvargs', 'pci', 'cryptodev']
|
||||||
includes += include_directories('../../crypto/octeontx')
|
includes += include_directories('../../crypto/octeontx')
|
||||||
|
@ -2,8 +2,8 @@
|
|||||||
# Copyright(c) 2018 NXP
|
# Copyright(c) 2018 NXP
|
||||||
|
|
||||||
if not is_linux
|
if not is_linux
|
||||||
build = false
|
build = false
|
||||||
reason = 'only supported on Linux'
|
reason = 'only supported on Linux'
|
||||||
endif
|
endif
|
||||||
|
|
||||||
sources = files('dpaax_iova_table.c', 'dpaa_of.c', 'caamflib.c')
|
sources = files('dpaax_iova_table.c', 'dpaa_of.c', 'caamflib.c')
|
||||||
@ -11,8 +11,8 @@ sources = files('dpaax_iova_table.c', 'dpaa_of.c', 'caamflib.c')
|
|||||||
includes += include_directories('caamflib')
|
includes += include_directories('caamflib')
|
||||||
|
|
||||||
if cc.has_argument('-Wno-cast-qual')
|
if cc.has_argument('-Wno-cast-qual')
|
||||||
cflags += '-Wno-cast-qual'
|
cflags += '-Wno-cast-qual'
|
||||||
endif
|
endif
|
||||||
if cc.has_argument('-Wno-pointer-arith')
|
if cc.has_argument('-Wno-pointer-arith')
|
||||||
cflags += '-Wno-pointer-arith'
|
cflags += '-Wno-pointer-arith'
|
||||||
endif
|
endif
|
||||||
|
@ -9,48 +9,47 @@ LIB_GLUE_BASE = 'librte_common_mlx5_glue.so'
|
|||||||
LIB_GLUE_VERSION = abi_version
|
LIB_GLUE_VERSION = abi_version
|
||||||
LIB_GLUE = LIB_GLUE_BASE + '.' + LIB_GLUE_VERSION
|
LIB_GLUE = LIB_GLUE_BASE + '.' + LIB_GLUE_VERSION
|
||||||
if dlopen_ibverbs
|
if dlopen_ibverbs
|
||||||
dpdk_conf.set('RTE_IBVERBS_LINK_DLOPEN', 1)
|
dpdk_conf.set('RTE_IBVERBS_LINK_DLOPEN', 1)
|
||||||
cflags += [
|
cflags += [
|
||||||
'-DMLX5_GLUE="@0@"'.format(LIB_GLUE),
|
'-DMLX5_GLUE="@0@"'.format(LIB_GLUE),
|
||||||
'-DMLX5_GLUE_VERSION="@0@"'.format(LIB_GLUE_VERSION),
|
'-DMLX5_GLUE_VERSION="@0@"'.format(LIB_GLUE_VERSION),
|
||||||
]
|
]
|
||||||
endif
|
endif
|
||||||
|
|
||||||
libnames = [ 'mlx5', 'ibverbs' ]
|
libnames = [ 'mlx5', 'ibverbs' ]
|
||||||
libs = []
|
libs = []
|
||||||
foreach libname:libnames
|
foreach libname:libnames
|
||||||
lib = dependency('lib' + libname, static:static_ibverbs,
|
lib = dependency('lib' + libname, static:static_ibverbs, required:false, method: 'pkg-config')
|
||||||
required:false, method: 'pkg-config')
|
if not lib.found() and not static_ibverbs
|
||||||
if not lib.found() and not static_ibverbs
|
lib = cc.find_library(libname, required:false)
|
||||||
lib = cc.find_library(libname, required:false)
|
endif
|
||||||
endif
|
if lib.found()
|
||||||
if lib.found()
|
libs += lib
|
||||||
libs += lib
|
if not static_ibverbs and not dlopen_ibverbs
|
||||||
if not static_ibverbs and not dlopen_ibverbs
|
ext_deps += lib
|
||||||
ext_deps += lib
|
endif
|
||||||
endif
|
else
|
||||||
else
|
build = false
|
||||||
build = false
|
reason = 'missing dependency, "' + libname + '"'
|
||||||
reason = 'missing dependency, "' + libname + '"'
|
subdir_done()
|
||||||
subdir_done()
|
endif
|
||||||
endif
|
|
||||||
endforeach
|
endforeach
|
||||||
if static_ibverbs or dlopen_ibverbs
|
if static_ibverbs or dlopen_ibverbs
|
||||||
# Build without adding shared libs to Requires.private
|
# Build without adding shared libs to Requires.private
|
||||||
ibv_cflags = run_command(pkgconf, '--cflags', 'libibverbs').stdout()
|
ibv_cflags = run_command(pkgconf, '--cflags', 'libibverbs').stdout()
|
||||||
ext_deps += declare_dependency(compile_args: ibv_cflags.split())
|
ext_deps += declare_dependency(compile_args: ibv_cflags.split())
|
||||||
endif
|
endif
|
||||||
if static_ibverbs
|
if static_ibverbs
|
||||||
# Add static deps ldflags to internal apps and Libs.private
|
# Add static deps ldflags to internal apps and Libs.private
|
||||||
ibv_ldflags = run_command(ldflags_ibverbs_static, check:true).stdout()
|
ibv_ldflags = run_command(ldflags_ibverbs_static, check:true).stdout()
|
||||||
ext_deps += declare_dependency(link_args:ibv_ldflags.split())
|
ext_deps += declare_dependency(link_args:ibv_ldflags.split())
|
||||||
endif
|
endif
|
||||||
|
|
||||||
sources += files('mlx5_nl.c')
|
sources += files('mlx5_nl.c')
|
||||||
sources += files('mlx5_common_os.c')
|
sources += files('mlx5_common_os.c')
|
||||||
sources += files('mlx5_common_verbs.c')
|
sources += files('mlx5_common_verbs.c')
|
||||||
if not dlopen_ibverbs
|
if not dlopen_ibverbs
|
||||||
sources += files('mlx5_glue.c')
|
sources += files('mlx5_glue.c')
|
||||||
endif
|
endif
|
||||||
|
|
||||||
# To maintain the compatibility with the make build system
|
# To maintain the compatibility with the make build system
|
||||||
@ -59,171 +58,167 @@ endif
|
|||||||
# [ "MACRO to define if found", "header for the search",
|
# [ "MACRO to define if found", "header for the search",
|
||||||
# "symbol to search", "struct member to search" ]
|
# "symbol to search", "struct member to search" ]
|
||||||
has_member_args = [
|
has_member_args = [
|
||||||
[ 'HAVE_IBV_MLX5_MOD_SWP', 'infiniband/mlx5dv.h',
|
[ 'HAVE_IBV_MLX5_MOD_SWP', 'infiniband/mlx5dv.h',
|
||||||
'struct mlx5dv_sw_parsing_caps', 'sw_parsing_offloads' ],
|
'struct mlx5dv_sw_parsing_caps', 'sw_parsing_offloads' ],
|
||||||
[ 'HAVE_IBV_DEVICE_COUNTERS_SET_V42', 'infiniband/verbs.h',
|
[ 'HAVE_IBV_DEVICE_COUNTERS_SET_V42', 'infiniband/verbs.h',
|
||||||
'struct ibv_counter_set_init_attr', 'counter_set_id' ],
|
'struct ibv_counter_set_init_attr', 'counter_set_id' ],
|
||||||
[ 'HAVE_IBV_DEVICE_COUNTERS_SET_V45', 'infiniband/verbs.h',
|
[ 'HAVE_IBV_DEVICE_COUNTERS_SET_V45', 'infiniband/verbs.h',
|
||||||
'struct ibv_counters_init_attr', 'comp_mask' ],
|
'struct ibv_counters_init_attr', 'comp_mask' ],
|
||||||
[ 'HAVE_MLX5DV_DEVX_UAR_OFFSET', 'infiniband/mlx5dv.h',
|
[ 'HAVE_MLX5DV_DEVX_UAR_OFFSET', 'infiniband/mlx5dv.h',
|
||||||
'struct mlx5dv_devx_uar', 'mmap_off' ],
|
'struct mlx5dv_devx_uar', 'mmap_off' ],
|
||||||
]
|
]
|
||||||
# input array for meson symbol search:
|
# input array for meson symbol search:
|
||||||
# [ "MACRO to define if found", "header for the search",
|
# [ "MACRO to define if found", "header for the search",
|
||||||
# "symbol to search" ]
|
# "symbol to search" ]
|
||||||
has_sym_args = [
|
has_sym_args = [
|
||||||
[ 'HAVE_IBV_RELAXED_ORDERING', 'infiniband/verbs.h',
|
[ 'HAVE_IBV_RELAXED_ORDERING', 'infiniband/verbs.h',
|
||||||
'IBV_ACCESS_RELAXED_ORDERING ' ],
|
'IBV_ACCESS_RELAXED_ORDERING ' ],
|
||||||
[ 'HAVE_IBV_DEVICE_STRIDING_RQ_SUPPORT', 'infiniband/mlx5dv.h',
|
[ 'HAVE_IBV_DEVICE_STRIDING_RQ_SUPPORT', 'infiniband/mlx5dv.h',
|
||||||
'MLX5DV_CQE_RES_FORMAT_CSUM_STRIDX' ],
|
'MLX5DV_CQE_RES_FORMAT_CSUM_STRIDX' ],
|
||||||
[ 'HAVE_IBV_DEVICE_TUNNEL_SUPPORT', 'infiniband/mlx5dv.h',
|
[ 'HAVE_IBV_DEVICE_TUNNEL_SUPPORT', 'infiniband/mlx5dv.h',
|
||||||
'MLX5DV_CONTEXT_MASK_TUNNEL_OFFLOADS' ],
|
'MLX5DV_CONTEXT_MASK_TUNNEL_OFFLOADS' ],
|
||||||
[ 'HAVE_IBV_MLX5_MOD_MPW', 'infiniband/mlx5dv.h',
|
[ 'HAVE_IBV_MLX5_MOD_MPW', 'infiniband/mlx5dv.h',
|
||||||
'MLX5DV_CONTEXT_FLAGS_MPW_ALLOWED' ],
|
'MLX5DV_CONTEXT_FLAGS_MPW_ALLOWED' ],
|
||||||
[ 'HAVE_IBV_MLX5_MOD_CQE_128B_COMP', 'infiniband/mlx5dv.h',
|
[ 'HAVE_IBV_MLX5_MOD_CQE_128B_COMP', 'infiniband/mlx5dv.h',
|
||||||
'MLX5DV_CONTEXT_FLAGS_CQE_128B_COMP' ],
|
'MLX5DV_CONTEXT_FLAGS_CQE_128B_COMP' ],
|
||||||
[ 'HAVE_IBV_MLX5_MOD_CQE_128B_PAD', 'infiniband/mlx5dv.h',
|
[ 'HAVE_IBV_MLX5_MOD_CQE_128B_PAD', 'infiniband/mlx5dv.h',
|
||||||
'MLX5DV_CQ_INIT_ATTR_FLAGS_CQE_PAD' ],
|
'MLX5DV_CQ_INIT_ATTR_FLAGS_CQE_PAD' ],
|
||||||
[ 'HAVE_IBV_FLOW_DV_SUPPORT', 'infiniband/mlx5dv.h',
|
[ 'HAVE_IBV_FLOW_DV_SUPPORT', 'infiniband/mlx5dv.h',
|
||||||
'mlx5dv_create_flow_action_packet_reformat' ],
|
'mlx5dv_create_flow_action_packet_reformat' ],
|
||||||
[ 'HAVE_IBV_DEVICE_MPLS_SUPPORT', 'infiniband/verbs.h',
|
[ 'HAVE_IBV_DEVICE_MPLS_SUPPORT', 'infiniband/verbs.h',
|
||||||
'IBV_FLOW_SPEC_MPLS' ],
|
'IBV_FLOW_SPEC_MPLS' ],
|
||||||
[ 'HAVE_IBV_WQ_FLAGS_PCI_WRITE_END_PADDING', 'infiniband/verbs.h',
|
[ 'HAVE_IBV_WQ_FLAGS_PCI_WRITE_END_PADDING', 'infiniband/verbs.h',
|
||||||
'IBV_WQ_FLAGS_PCI_WRITE_END_PADDING' ],
|
'IBV_WQ_FLAGS_PCI_WRITE_END_PADDING' ],
|
||||||
[ 'HAVE_IBV_WQ_FLAG_RX_END_PADDING', 'infiniband/verbs.h',
|
[ 'HAVE_IBV_WQ_FLAG_RX_END_PADDING', 'infiniband/verbs.h',
|
||||||
'IBV_WQ_FLAG_RX_END_PADDING' ],
|
'IBV_WQ_FLAG_RX_END_PADDING' ],
|
||||||
[ 'HAVE_MLX5DV_DR_DEVX_PORT', 'infiniband/mlx5dv.h',
|
[ 'HAVE_MLX5DV_DR_DEVX_PORT', 'infiniband/mlx5dv.h',
|
||||||
'mlx5dv_query_devx_port' ],
|
'mlx5dv_query_devx_port' ],
|
||||||
[ 'HAVE_IBV_DEVX_OBJ', 'infiniband/mlx5dv.h',
|
[ 'HAVE_IBV_DEVX_OBJ', 'infiniband/mlx5dv.h',
|
||||||
'mlx5dv_devx_obj_create' ],
|
'mlx5dv_devx_obj_create' ],
|
||||||
[ 'HAVE_IBV_FLOW_DEVX_COUNTERS', 'infiniband/mlx5dv.h',
|
[ 'HAVE_IBV_FLOW_DEVX_COUNTERS', 'infiniband/mlx5dv.h',
|
||||||
'MLX5DV_FLOW_ACTION_COUNTERS_DEVX' ],
|
'MLX5DV_FLOW_ACTION_COUNTERS_DEVX' ],
|
||||||
[ 'HAVE_MLX5_DR_CREATE_ACTION_DEFAULT_MISS', 'infiniband/mlx5dv.h',
|
[ 'HAVE_MLX5_DR_CREATE_ACTION_DEFAULT_MISS', 'infiniband/mlx5dv.h',
|
||||||
'MLX5DV_FLOW_ACTION_DEFAULT_MISS' ],
|
'MLX5DV_FLOW_ACTION_DEFAULT_MISS' ],
|
||||||
[ 'HAVE_IBV_DEVX_ASYNC', 'infiniband/mlx5dv.h',
|
[ 'HAVE_IBV_DEVX_ASYNC', 'infiniband/mlx5dv.h',
|
||||||
'mlx5dv_devx_obj_query_async' ],
|
'mlx5dv_devx_obj_query_async' ],
|
||||||
[ 'HAVE_IBV_DEVX_QP', 'infiniband/mlx5dv.h',
|
[ 'HAVE_IBV_DEVX_QP', 'infiniband/mlx5dv.h',
|
||||||
'mlx5dv_devx_qp_query' ],
|
'mlx5dv_devx_qp_query' ],
|
||||||
[ 'HAVE_MLX5DV_PP_ALLOC', 'infiniband/mlx5dv.h',
|
[ 'HAVE_MLX5DV_PP_ALLOC', 'infiniband/mlx5dv.h',
|
||||||
'mlx5dv_pp_alloc' ],
|
'mlx5dv_pp_alloc' ],
|
||||||
[ 'HAVE_MLX5DV_DR_ACTION_DEST_DEVX_TIR', 'infiniband/mlx5dv.h',
|
[ 'HAVE_MLX5DV_DR_ACTION_DEST_DEVX_TIR', 'infiniband/mlx5dv.h',
|
||||||
'mlx5dv_dr_action_create_dest_devx_tir' ],
|
'mlx5dv_dr_action_create_dest_devx_tir' ],
|
||||||
[ 'HAVE_IBV_DEVX_EVENT', 'infiniband/mlx5dv.h',
|
[ 'HAVE_IBV_DEVX_EVENT', 'infiniband/mlx5dv.h',
|
||||||
'mlx5dv_devx_get_event' ],
|
'mlx5dv_devx_get_event' ],
|
||||||
[ 'HAVE_MLX5_DR_CREATE_ACTION_FLOW_METER', 'infiniband/mlx5dv.h',
|
[ 'HAVE_MLX5_DR_CREATE_ACTION_FLOW_METER', 'infiniband/mlx5dv.h',
|
||||||
'mlx5dv_dr_action_create_flow_meter' ],
|
'mlx5dv_dr_action_create_flow_meter' ],
|
||||||
[ 'HAVE_MLX5DV_MMAP_GET_NC_PAGES_CMD', 'infiniband/mlx5dv.h',
|
[ 'HAVE_MLX5DV_MMAP_GET_NC_PAGES_CMD', 'infiniband/mlx5dv.h',
|
||||||
'MLX5_MMAP_GET_NC_PAGES_CMD' ],
|
'MLX5_MMAP_GET_NC_PAGES_CMD' ],
|
||||||
[ 'HAVE_MLX5DV_DR', 'infiniband/mlx5dv.h',
|
[ 'HAVE_MLX5DV_DR', 'infiniband/mlx5dv.h',
|
||||||
'MLX5DV_DR_DOMAIN_TYPE_NIC_RX' ],
|
'MLX5DV_DR_DOMAIN_TYPE_NIC_RX' ],
|
||||||
[ 'HAVE_MLX5DV_DR_ESWITCH', 'infiniband/mlx5dv.h',
|
[ 'HAVE_MLX5DV_DR_ESWITCH', 'infiniband/mlx5dv.h',
|
||||||
'MLX5DV_DR_DOMAIN_TYPE_FDB' ],
|
'MLX5DV_DR_DOMAIN_TYPE_FDB' ],
|
||||||
[ 'HAVE_MLX5DV_DR_VLAN', 'infiniband/mlx5dv.h',
|
[ 'HAVE_MLX5DV_DR_VLAN', 'infiniband/mlx5dv.h',
|
||||||
'mlx5dv_dr_action_create_push_vlan' ],
|
'mlx5dv_dr_action_create_push_vlan' ],
|
||||||
[ 'HAVE_IBV_VAR', 'infiniband/mlx5dv.h', 'mlx5dv_alloc_var' ],
|
[ 'HAVE_IBV_VAR', 'infiniband/mlx5dv.h', 'mlx5dv_alloc_var' ],
|
||||||
[ 'HAVE_MLX5_OPCODE_ENHANCED_MPSW', 'infiniband/mlx5dv.h',
|
[ 'HAVE_MLX5_OPCODE_ENHANCED_MPSW', 'infiniband/mlx5dv.h',
|
||||||
'MLX5_OPCODE_ENHANCED_MPSW' ],
|
'MLX5_OPCODE_ENHANCED_MPSW' ],
|
||||||
[ 'HAVE_MLX5_OPCODE_SEND_EN', 'infiniband/mlx5dv.h',
|
[ 'HAVE_MLX5_OPCODE_SEND_EN', 'infiniband/mlx5dv.h',
|
||||||
'MLX5_OPCODE_SEND_EN' ],
|
'MLX5_OPCODE_SEND_EN' ],
|
||||||
[ 'HAVE_MLX5_OPCODE_WAIT', 'infiniband/mlx5dv.h',
|
[ 'HAVE_MLX5_OPCODE_WAIT', 'infiniband/mlx5dv.h',
|
||||||
'MLX5_OPCODE_WAIT' ],
|
'MLX5_OPCODE_WAIT' ],
|
||||||
[ 'HAVE_MLX5_OPCODE_ACCESS_ASO', 'infiniband/mlx5dv.h',
|
[ 'HAVE_MLX5_OPCODE_ACCESS_ASO', 'infiniband/mlx5dv.h',
|
||||||
'MLX5_OPCODE_ACCESS_ASO' ],
|
'MLX5_OPCODE_ACCESS_ASO' ],
|
||||||
[ 'HAVE_SUPPORTED_40000baseKR4_Full', 'linux/ethtool.h',
|
[ 'HAVE_SUPPORTED_40000baseKR4_Full', 'linux/ethtool.h',
|
||||||
'SUPPORTED_40000baseKR4_Full' ],
|
'SUPPORTED_40000baseKR4_Full' ],
|
||||||
[ 'HAVE_SUPPORTED_40000baseCR4_Full', 'linux/ethtool.h',
|
[ 'HAVE_SUPPORTED_40000baseCR4_Full', 'linux/ethtool.h',
|
||||||
'SUPPORTED_40000baseCR4_Full' ],
|
'SUPPORTED_40000baseCR4_Full' ],
|
||||||
[ 'HAVE_SUPPORTED_40000baseSR4_Full', 'linux/ethtool.h',
|
[ 'HAVE_SUPPORTED_40000baseSR4_Full', 'linux/ethtool.h',
|
||||||
'SUPPORTED_40000baseSR4_Full' ],
|
'SUPPORTED_40000baseSR4_Full' ],
|
||||||
[ 'HAVE_SUPPORTED_40000baseLR4_Full', 'linux/ethtool.h',
|
[ 'HAVE_SUPPORTED_40000baseLR4_Full', 'linux/ethtool.h',
|
||||||
'SUPPORTED_40000baseLR4_Full' ],
|
'SUPPORTED_40000baseLR4_Full' ],
|
||||||
[ 'HAVE_SUPPORTED_56000baseKR4_Full', 'linux/ethtool.h',
|
[ 'HAVE_SUPPORTED_56000baseKR4_Full', 'linux/ethtool.h',
|
||||||
'SUPPORTED_56000baseKR4_Full' ],
|
'SUPPORTED_56000baseKR4_Full' ],
|
||||||
[ 'HAVE_SUPPORTED_56000baseCR4_Full', 'linux/ethtool.h',
|
[ 'HAVE_SUPPORTED_56000baseCR4_Full', 'linux/ethtool.h',
|
||||||
'SUPPORTED_56000baseCR4_Full' ],
|
'SUPPORTED_56000baseCR4_Full' ],
|
||||||
[ 'HAVE_SUPPORTED_56000baseSR4_Full', 'linux/ethtool.h',
|
[ 'HAVE_SUPPORTED_56000baseSR4_Full', 'linux/ethtool.h',
|
||||||
'SUPPORTED_56000baseSR4_Full' ],
|
'SUPPORTED_56000baseSR4_Full' ],
|
||||||
[ 'HAVE_SUPPORTED_56000baseLR4_Full', 'linux/ethtool.h',
|
[ 'HAVE_SUPPORTED_56000baseLR4_Full', 'linux/ethtool.h',
|
||||||
'SUPPORTED_56000baseLR4_Full' ],
|
'SUPPORTED_56000baseLR4_Full' ],
|
||||||
[ 'HAVE_ETHTOOL_LINK_MODE_25G', 'linux/ethtool.h',
|
[ 'HAVE_ETHTOOL_LINK_MODE_25G', 'linux/ethtool.h',
|
||||||
'ETHTOOL_LINK_MODE_25000baseCR_Full_BIT' ],
|
'ETHTOOL_LINK_MODE_25000baseCR_Full_BIT' ],
|
||||||
[ 'HAVE_ETHTOOL_LINK_MODE_50G', 'linux/ethtool.h',
|
[ 'HAVE_ETHTOOL_LINK_MODE_50G', 'linux/ethtool.h',
|
||||||
'ETHTOOL_LINK_MODE_50000baseCR2_Full_BIT' ],
|
'ETHTOOL_LINK_MODE_50000baseCR2_Full_BIT' ],
|
||||||
[ 'HAVE_ETHTOOL_LINK_MODE_100G', 'linux/ethtool.h',
|
[ 'HAVE_ETHTOOL_LINK_MODE_100G', 'linux/ethtool.h',
|
||||||
'ETHTOOL_LINK_MODE_100000baseKR4_Full_BIT' ],
|
'ETHTOOL_LINK_MODE_100000baseKR4_Full_BIT' ],
|
||||||
[ 'HAVE_IFLA_NUM_VF', 'linux/if_link.h',
|
[ 'HAVE_IFLA_NUM_VF', 'linux/if_link.h',
|
||||||
'IFLA_NUM_VF' ],
|
'IFLA_NUM_VF' ],
|
||||||
[ 'HAVE_IFLA_EXT_MASK', 'linux/if_link.h',
|
[ 'HAVE_IFLA_EXT_MASK', 'linux/if_link.h',
|
||||||
'IFLA_EXT_MASK' ],
|
'IFLA_EXT_MASK' ],
|
||||||
[ 'HAVE_IFLA_PHYS_SWITCH_ID', 'linux/if_link.h',
|
[ 'HAVE_IFLA_PHYS_SWITCH_ID', 'linux/if_link.h',
|
||||||
'IFLA_PHYS_SWITCH_ID' ],
|
'IFLA_PHYS_SWITCH_ID' ],
|
||||||
[ 'HAVE_IFLA_PHYS_PORT_NAME', 'linux/if_link.h',
|
[ 'HAVE_IFLA_PHYS_PORT_NAME', 'linux/if_link.h',
|
||||||
'IFLA_PHYS_PORT_NAME' ],
|
'IFLA_PHYS_PORT_NAME' ],
|
||||||
[ 'HAVE_RDMA_NL_NLDEV', 'rdma/rdma_netlink.h',
|
[ 'HAVE_RDMA_NL_NLDEV', 'rdma/rdma_netlink.h',
|
||||||
'RDMA_NL_NLDEV' ],
|
'RDMA_NL_NLDEV' ],
|
||||||
[ 'HAVE_RDMA_NLDEV_CMD_GET', 'rdma/rdma_netlink.h',
|
[ 'HAVE_RDMA_NLDEV_CMD_GET', 'rdma/rdma_netlink.h',
|
||||||
'RDMA_NLDEV_CMD_GET' ],
|
'RDMA_NLDEV_CMD_GET' ],
|
||||||
[ 'HAVE_RDMA_NLDEV_CMD_PORT_GET', 'rdma/rdma_netlink.h',
|
[ 'HAVE_RDMA_NLDEV_CMD_PORT_GET', 'rdma/rdma_netlink.h',
|
||||||
'RDMA_NLDEV_CMD_PORT_GET' ],
|
'RDMA_NLDEV_CMD_PORT_GET' ],
|
||||||
[ 'HAVE_RDMA_NLDEV_ATTR_DEV_INDEX', 'rdma/rdma_netlink.h',
|
[ 'HAVE_RDMA_NLDEV_ATTR_DEV_INDEX', 'rdma/rdma_netlink.h',
|
||||||
'RDMA_NLDEV_ATTR_DEV_INDEX' ],
|
'RDMA_NLDEV_ATTR_DEV_INDEX' ],
|
||||||
[ 'HAVE_RDMA_NLDEV_ATTR_DEV_NAME', 'rdma/rdma_netlink.h',
|
[ 'HAVE_RDMA_NLDEV_ATTR_DEV_NAME', 'rdma/rdma_netlink.h',
|
||||||
'RDMA_NLDEV_ATTR_DEV_NAME' ],
|
'RDMA_NLDEV_ATTR_DEV_NAME' ],
|
||||||
[ 'HAVE_RDMA_NLDEV_ATTR_PORT_INDEX', 'rdma/rdma_netlink.h',
|
[ 'HAVE_RDMA_NLDEV_ATTR_PORT_INDEX', 'rdma/rdma_netlink.h',
|
||||||
'RDMA_NLDEV_ATTR_PORT_INDEX' ],
|
'RDMA_NLDEV_ATTR_PORT_INDEX' ],
|
||||||
[ 'HAVE_RDMA_NLDEV_ATTR_NDEV_INDEX', 'rdma/rdma_netlink.h',
|
[ 'HAVE_RDMA_NLDEV_ATTR_NDEV_INDEX', 'rdma/rdma_netlink.h',
|
||||||
'RDMA_NLDEV_ATTR_NDEV_INDEX' ],
|
'RDMA_NLDEV_ATTR_NDEV_INDEX' ],
|
||||||
[ 'HAVE_MLX5_DR_FLOW_DUMP', 'infiniband/mlx5dv.h',
|
[ 'HAVE_MLX5_DR_FLOW_DUMP', 'infiniband/mlx5dv.h',
|
||||||
'mlx5dv_dump_dr_domain'],
|
'mlx5dv_dump_dr_domain'],
|
||||||
[ 'HAVE_MLX5_DR_CREATE_ACTION_FLOW_SAMPLE', 'infiniband/mlx5dv.h',
|
[ 'HAVE_MLX5_DR_CREATE_ACTION_FLOW_SAMPLE', 'infiniband/mlx5dv.h',
|
||||||
'mlx5dv_dr_action_create_flow_sampler'],
|
'mlx5dv_dr_action_create_flow_sampler'],
|
||||||
[ 'HAVE_MLX5DV_DR_MEM_RECLAIM', 'infiniband/mlx5dv.h',
|
[ 'HAVE_MLX5DV_DR_MEM_RECLAIM', 'infiniband/mlx5dv.h',
|
||||||
'mlx5dv_dr_domain_set_reclaim_device_memory'],
|
'mlx5dv_dr_domain_set_reclaim_device_memory'],
|
||||||
[ 'HAVE_MLX5_DR_CREATE_ACTION_DEST_ARRAY', 'infiniband/mlx5dv.h',
|
[ 'HAVE_MLX5_DR_CREATE_ACTION_DEST_ARRAY', 'infiniband/mlx5dv.h',
|
||||||
'mlx5dv_dr_action_create_dest_array'],
|
'mlx5dv_dr_action_create_dest_array'],
|
||||||
[ 'HAVE_DEVLINK', 'linux/devlink.h', 'DEVLINK_GENL_NAME' ],
|
[ 'HAVE_DEVLINK', 'linux/devlink.h', 'DEVLINK_GENL_NAME' ],
|
||||||
[ 'HAVE_MLX5_DR_CREATE_ACTION_ASO', 'infiniband/mlx5dv.h',
|
[ 'HAVE_MLX5_DR_CREATE_ACTION_ASO', 'infiniband/mlx5dv.h',
|
||||||
'mlx5dv_dr_action_create_aso' ],
|
'mlx5dv_dr_action_create_aso' ],
|
||||||
[ 'HAVE_INFINIBAND_VERBS_H', 'infiniband/verbs.h',
|
[ 'HAVE_INFINIBAND_VERBS_H', 'infiniband/verbs.h',
|
||||||
'INFINIBAND_VERBS_H' ],
|
'INFINIBAND_VERBS_H' ],
|
||||||
[ 'HAVE_MLX5_UMR_IMKEY', 'infiniband/mlx5dv.h',
|
[ 'HAVE_MLX5_UMR_IMKEY', 'infiniband/mlx5dv.h',
|
||||||
'MLX5_WQE_UMR_CTRL_FLAG_INLINE' ],
|
'MLX5_WQE_UMR_CTRL_FLAG_INLINE' ],
|
||||||
]
|
]
|
||||||
config = configuration_data()
|
config = configuration_data()
|
||||||
foreach arg:has_sym_args
|
foreach arg:has_sym_args
|
||||||
config.set(arg[0], cc.has_header_symbol(arg[1], arg[2],
|
config.set(arg[0], cc.has_header_symbol(arg[1], arg[2], dependencies: libs))
|
||||||
dependencies: libs))
|
|
||||||
endforeach
|
endforeach
|
||||||
foreach arg:has_member_args
|
foreach arg:has_member_args
|
||||||
file_prefix = '#include <' + arg[1] + '>'
|
file_prefix = '#include <' + arg[1] + '>'
|
||||||
config.set(arg[0], cc.has_member(arg[2], arg[3],
|
config.set(arg[0], cc.has_member(arg[2], arg[3], prefix : file_prefix, dependencies: libs))
|
||||||
prefix : file_prefix, dependencies: libs))
|
|
||||||
endforeach
|
endforeach
|
||||||
configure_file(output : 'mlx5_autoconf.h', configuration : config)
|
configure_file(output : 'mlx5_autoconf.h', configuration : config)
|
||||||
|
|
||||||
# Build Glue Library
|
# Build Glue Library
|
||||||
if dlopen_ibverbs
|
if dlopen_ibverbs
|
||||||
dlopen_name = 'mlx5_glue'
|
dlopen_name = 'mlx5_glue'
|
||||||
dlopen_lib_name = 'rte_common_' + dlopen_name
|
dlopen_lib_name = 'rte_common_' + dlopen_name
|
||||||
dlopen_so_version = LIB_GLUE_VERSION
|
dlopen_so_version = LIB_GLUE_VERSION
|
||||||
dlopen_sources = files('mlx5_glue.c')
|
dlopen_sources = files('mlx5_glue.c')
|
||||||
dlopen_install_dir = [ eal_pmd_path + '-glue' ]
|
dlopen_install_dir = [ eal_pmd_path + '-glue' ]
|
||||||
dlopen_includes = [global_inc]
|
dlopen_includes = [global_inc]
|
||||||
dlopen_includes += include_directories(
|
dlopen_includes += include_directories('../../../../lib/librte_eal/include/generic')
|
||||||
'../../../../lib/librte_eal/include/generic',
|
shared_lib = shared_library(
|
||||||
)
|
dlopen_lib_name,
|
||||||
shared_lib = shared_library(
|
dlopen_sources,
|
||||||
dlopen_lib_name,
|
include_directories: dlopen_includes,
|
||||||
dlopen_sources,
|
c_args: cflags,
|
||||||
include_directories: dlopen_includes,
|
dependencies: libs,
|
||||||
c_args: cflags,
|
link_args: [
|
||||||
dependencies: libs,
|
'-Wl,-export-dynamic',
|
||||||
link_args: [
|
'-Wl,-h,@0@'.format(LIB_GLUE),
|
||||||
'-Wl,-export-dynamic',
|
],
|
||||||
'-Wl,-h,@0@'.format(LIB_GLUE),
|
soversion: dlopen_so_version,
|
||||||
],
|
install: true,
|
||||||
soversion: dlopen_so_version,
|
install_dir: dlopen_install_dir,
|
||||||
install: true,
|
)
|
||||||
install_dir: dlopen_install_dir,
|
|
||||||
)
|
|
||||||
endif
|
endif
|
||||||
|
@ -2,38 +2,38 @@
|
|||||||
# Copyright 2019 Mellanox Technologies, Ltd
|
# Copyright 2019 Mellanox Technologies, Ltd
|
||||||
|
|
||||||
if not (is_linux or (is_windows and is_ms_linker))
|
if not (is_linux or (is_windows and is_ms_linker))
|
||||||
build = false
|
build = false
|
||||||
reason = 'only supported on Linux and Windows build with clang'
|
reason = 'only supported on Linux and Windows build with clang'
|
||||||
subdir_done()
|
subdir_done()
|
||||||
endif
|
endif
|
||||||
|
|
||||||
deps += ['hash', 'pci', 'bus_pci', 'net', 'eal', 'kvargs']
|
deps += ['hash', 'pci', 'bus_pci', 'net', 'eal', 'kvargs']
|
||||||
sources += files(
|
sources += files(
|
||||||
'mlx5_devx_cmds.c',
|
'mlx5_devx_cmds.c',
|
||||||
'mlx5_common.c',
|
'mlx5_common.c',
|
||||||
'mlx5_common_mp.c',
|
'mlx5_common_mp.c',
|
||||||
'mlx5_common_mr.c',
|
'mlx5_common_mr.c',
|
||||||
'mlx5_malloc.c',
|
'mlx5_malloc.c',
|
||||||
'mlx5_common_pci.c',
|
'mlx5_common_pci.c',
|
||||||
'mlx5_common_devx.c',
|
'mlx5_common_devx.c',
|
||||||
)
|
)
|
||||||
|
|
||||||
cflags_options = [
|
cflags_options = [
|
||||||
'-std=c11',
|
'-std=c11',
|
||||||
'-Wno-strict-prototypes',
|
'-Wno-strict-prototypes',
|
||||||
'-D_BSD_SOURCE',
|
'-D_BSD_SOURCE',
|
||||||
'-D_DEFAULT_SOURCE',
|
'-D_DEFAULT_SOURCE',
|
||||||
'-D_XOPEN_SOURCE=600'
|
'-D_XOPEN_SOURCE=600'
|
||||||
]
|
]
|
||||||
foreach option:cflags_options
|
foreach option:cflags_options
|
||||||
if cc.has_argument(option)
|
if cc.has_argument(option)
|
||||||
cflags += option
|
cflags += option
|
||||||
endif
|
endif
|
||||||
endforeach
|
endforeach
|
||||||
if get_option('buildtype').contains('debug')
|
if get_option('buildtype').contains('debug')
|
||||||
cflags += [ '-pedantic', '-DPEDANTIC' ]
|
cflags += [ '-pedantic', '-DPEDANTIC' ]
|
||||||
else
|
else
|
||||||
cflags += [ '-UPEDANTIC' ]
|
cflags += [ '-UPEDANTIC' ]
|
||||||
endif
|
endif
|
||||||
|
|
||||||
subdir(exec_env)
|
subdir(exec_env)
|
||||||
|
@ -4,17 +4,17 @@
|
|||||||
includes += include_directories('.')
|
includes += include_directories('.')
|
||||||
|
|
||||||
sources += files(
|
sources += files(
|
||||||
'mlx5_glue.c',
|
'mlx5_glue.c',
|
||||||
'mlx5_common_os.c',
|
'mlx5_common_os.c',
|
||||||
)
|
)
|
||||||
|
|
||||||
res_lib = run_command(python3, '-c', 'import os; print(os.environ["DEVX_LIB_PATH"])')
|
res_lib = run_command(python3, '-c', 'import os; print(os.environ["DEVX_LIB_PATH"])')
|
||||||
res_inc = run_command(python3, '-c', 'import os; print(os.environ["DEVX_INC_PATH"])')
|
res_inc = run_command(python3, '-c', 'import os; print(os.environ["DEVX_INC_PATH"])')
|
||||||
|
|
||||||
if (res_lib.returncode() != 0 or res_inc.returncode() != 0)
|
if (res_lib.returncode() != 0 or res_inc.returncode() != 0)
|
||||||
build = false
|
build = false
|
||||||
reason = 'DevX environment variables are not set, DEVX_LIB_PATH and DEVX_INC_PATH vars must be exported'
|
reason = 'DevX environment variables are not set, DEVX_LIB_PATH and DEVX_INC_PATH vars must be exported'
|
||||||
subdir_done()
|
subdir_done()
|
||||||
endif
|
endif
|
||||||
|
|
||||||
devx_lib_dir = res_lib.stdout().strip()
|
devx_lib_dir = res_lib.stdout().strip()
|
||||||
@ -23,21 +23,21 @@ devx_inc_dir = res_inc.stdout().strip()
|
|||||||
ext_deps += cc.find_library('mlx5devx', dirs: devx_lib_dir, required: true)
|
ext_deps += cc.find_library('mlx5devx', dirs: devx_lib_dir, required: true)
|
||||||
includes += include_directories(devx_inc_dir)
|
includes += include_directories(devx_inc_dir)
|
||||||
cflags_options = [
|
cflags_options = [
|
||||||
'-std=c11',
|
'-std=c11',
|
||||||
'-Wno-strict-prototypes',
|
'-Wno-strict-prototypes',
|
||||||
'-D_BSD_SOURCE',
|
'-D_BSD_SOURCE',
|
||||||
'-D_DEFAULT_SOURCE',
|
'-D_DEFAULT_SOURCE',
|
||||||
'-D_XOPEN_SOURCE=600'
|
'-D_XOPEN_SOURCE=600',
|
||||||
]
|
]
|
||||||
foreach option:cflags_options
|
foreach option:cflags_options
|
||||||
if cc.has_argument(option)
|
if cc.has_argument(option)
|
||||||
cflags += option
|
cflags += option
|
||||||
endif
|
endif
|
||||||
endforeach
|
endforeach
|
||||||
if get_option('buildtype').contains('debug')
|
if get_option('buildtype').contains('debug')
|
||||||
cflags += [ '-pedantic', '-DPEDANTIC' ]
|
cflags += [ '-pedantic', '-DPEDANTIC' ]
|
||||||
else
|
else
|
||||||
cflags += [ '-UPEDANTIC' ]
|
cflags += [ '-UPEDANTIC' ]
|
||||||
endif
|
endif
|
||||||
|
|
||||||
# Generate an empty mlx5_autoconf.h file for compatibility with Linux
|
# Generate an empty mlx5_autoconf.h file for compatibility with Linux
|
||||||
|
@ -5,16 +5,16 @@
|
|||||||
#
|
#
|
||||||
|
|
||||||
if is_windows
|
if is_windows
|
||||||
build = false
|
build = false
|
||||||
reason = 'not supported on Windows'
|
reason = 'not supported on Windows'
|
||||||
subdir_done()
|
subdir_done()
|
||||||
endif
|
endif
|
||||||
|
|
||||||
dep = dependency('libmusdk', required: false, method: 'pkg-config')
|
dep = dependency('libmusdk', required: false, method: 'pkg-config')
|
||||||
if not dep.found()
|
if not dep.found()
|
||||||
build = false
|
build = false
|
||||||
reason = 'missing dependency, "libmusdk"'
|
reason = 'missing dependency, "libmusdk"'
|
||||||
subdir_done()
|
subdir_done()
|
||||||
endif
|
endif
|
||||||
|
|
||||||
ext_deps += dep
|
ext_deps += dep
|
||||||
|
@ -3,9 +3,9 @@
|
|||||||
#
|
#
|
||||||
|
|
||||||
if is_windows
|
if is_windows
|
||||||
build = false
|
build = false
|
||||||
reason = 'not supported on Windows'
|
reason = 'not supported on Windows'
|
||||||
subdir_done()
|
subdir_done()
|
||||||
endif
|
endif
|
||||||
|
|
||||||
sources = files('octeontx_mbox.c')
|
sources = files('octeontx_mbox.c')
|
||||||
|
@ -3,24 +3,28 @@
|
|||||||
#
|
#
|
||||||
|
|
||||||
if is_windows
|
if is_windows
|
||||||
build = false
|
build = false
|
||||||
reason = 'not supported on Windows'
|
reason = 'not supported on Windows'
|
||||||
subdir_done()
|
subdir_done()
|
||||||
endif
|
endif
|
||||||
|
|
||||||
if not dpdk_conf.get('RTE_ARCH_64')
|
if not dpdk_conf.get('RTE_ARCH_64')
|
||||||
build = false
|
build = false
|
||||||
reason = 'only supported on 64-bit'
|
reason = 'only supported on 64-bit'
|
||||||
subdir_done()
|
subdir_done()
|
||||||
endif
|
endif
|
||||||
|
|
||||||
sources= files('otx2_dev.c',
|
sources= files(
|
||||||
'otx2_irq.c',
|
'otx2_common.c',
|
||||||
'otx2_mbox.c',
|
'otx2_dev.c',
|
||||||
'otx2_common.c',
|
'otx2_irq.c',
|
||||||
'otx2_sec_idev.c',
|
'otx2_mbox.c',
|
||||||
)
|
'otx2_sec_idev.c',
|
||||||
|
)
|
||||||
|
|
||||||
deps = ['eal', 'pci', 'ethdev', 'kvargs']
|
deps = ['eal', 'pci', 'ethdev', 'kvargs']
|
||||||
includes += include_directories('../../common/octeontx2',
|
includes += include_directories(
|
||||||
'../../mempool/octeontx2', '../../bus/pci')
|
'../../common/octeontx2',
|
||||||
|
'../../mempool/octeontx2',
|
||||||
|
'../../bus/pci',
|
||||||
|
)
|
||||||
|
@ -2,9 +2,9 @@
|
|||||||
# Copyright(c) 2017-2018 Intel Corporation
|
# Copyright(c) 2017-2018 Intel Corporation
|
||||||
|
|
||||||
if is_windows
|
if is_windows
|
||||||
build = false
|
build = false
|
||||||
reason = 'not supported on Windows'
|
reason = 'not supported on Windows'
|
||||||
subdir_done()
|
subdir_done()
|
||||||
endif
|
endif
|
||||||
|
|
||||||
qat_crypto = true
|
qat_crypto = true
|
||||||
@ -15,55 +15,59 @@ qat_compress_path = 'compress/qat'
|
|||||||
qat_compress_relpath = '../../' + qat_compress_path
|
qat_compress_relpath = '../../' + qat_compress_path
|
||||||
|
|
||||||
if disable_drivers.contains(qat_crypto_path)
|
if disable_drivers.contains(qat_crypto_path)
|
||||||
qat_crypto = false
|
qat_crypto = false
|
||||||
dpdk_drvs_disabled += qat_crypto_path
|
dpdk_drvs_disabled += qat_crypto_path
|
||||||
set_variable(qat_crypto_path.underscorify() + '_disable_reason',
|
set_variable(qat_crypto_path.underscorify() + '_disable_reason',
|
||||||
'Explicitly disabled via build config')
|
'Explicitly disabled via build config')
|
||||||
endif
|
endif
|
||||||
if disable_drivers.contains(qat_compress_path)
|
if disable_drivers.contains(qat_compress_path)
|
||||||
qat_compress = false
|
qat_compress = false
|
||||||
dpdk_drvs_disabled += qat_compress_path
|
dpdk_drvs_disabled += qat_compress_path
|
||||||
set_variable(qat_compress_path.underscorify() + '_disable_reason',
|
set_variable(qat_compress_path.underscorify() + '_disable_reason',
|
||||||
'Explicitly disabled via build config')
|
'Explicitly disabled via build config')
|
||||||
endif
|
endif
|
||||||
|
|
||||||
libcrypto = dependency('libcrypto', required: false, method: 'pkg-config')
|
libcrypto = dependency('libcrypto', required: false, method: 'pkg-config')
|
||||||
if qat_crypto and not libcrypto.found()
|
if qat_crypto and not libcrypto.found()
|
||||||
qat_crypto = false
|
qat_crypto = false
|
||||||
dpdk_drvs_disabled += qat_crypto_path
|
dpdk_drvs_disabled += qat_crypto_path
|
||||||
set_variable(qat_crypto_path.underscorify() + '_disable_reason',
|
set_variable(qat_crypto_path.underscorify() + '_disable_reason',
|
||||||
'missing dependency, libcrypto')
|
'missing dependency, libcrypto')
|
||||||
endif
|
endif
|
||||||
|
|
||||||
# The driver should not build if both compression and crypto are disabled
|
# The driver should not build if both compression and crypto are disabled
|
||||||
#FIXME common code depends on compression files so check only compress!
|
#FIXME common code depends on compression files so check only compress!
|
||||||
if not qat_compress # and not qat_crypto
|
if not qat_compress # and not qat_crypto
|
||||||
build = false
|
build = false
|
||||||
reason = '' # rely on reason for compress/crypto above
|
reason = '' # rely on reason for compress/crypto above
|
||||||
subdir_done()
|
subdir_done()
|
||||||
endif
|
endif
|
||||||
|
|
||||||
deps += ['bus_pci', 'cryptodev', 'net', 'compressdev']
|
deps += ['bus_pci', 'cryptodev', 'net', 'compressdev']
|
||||||
sources += files('qat_common.c',
|
sources += files(
|
||||||
'qat_qp.c',
|
'qat_common.c',
|
||||||
'qat_device.c',
|
'qat_qp.c',
|
||||||
'qat_logs.c')
|
'qat_device.c',
|
||||||
includes += include_directories('qat_adf',
|
'qat_logs.c',
|
||||||
qat_crypto_relpath,
|
)
|
||||||
qat_compress_relpath)
|
includes += include_directories(
|
||||||
|
'qat_adf',
|
||||||
|
qat_crypto_relpath,
|
||||||
|
qat_compress_relpath,
|
||||||
|
)
|
||||||
|
|
||||||
if qat_compress
|
if qat_compress
|
||||||
foreach f: ['qat_comp_pmd.c', 'qat_comp.c']
|
foreach f: ['qat_comp_pmd.c', 'qat_comp.c']
|
||||||
sources += files(join_paths(qat_compress_relpath, f))
|
sources += files(join_paths(qat_compress_relpath, f))
|
||||||
endforeach
|
endforeach
|
||||||
endif
|
endif
|
||||||
|
|
||||||
if qat_crypto
|
if qat_crypto
|
||||||
foreach f: ['qat_sym_pmd.c', 'qat_sym.c', 'qat_sym_session.c',
|
foreach f: ['qat_sym_pmd.c', 'qat_sym.c', 'qat_sym_session.c',
|
||||||
'qat_sym_hw_dp.c', 'qat_asym_pmd.c', 'qat_asym.c']
|
'qat_sym_hw_dp.c', 'qat_asym_pmd.c', 'qat_asym.c']
|
||||||
sources += files(join_paths(qat_crypto_relpath, f))
|
sources += files(join_paths(qat_crypto_relpath, f))
|
||||||
endforeach
|
endforeach
|
||||||
deps += ['security']
|
deps += ['security']
|
||||||
ext_deps += libcrypto
|
ext_deps += libcrypto
|
||||||
cflags += ['-DBUILD_QAT_SYM', '-DBUILD_QAT_ASYM']
|
cflags += ['-DBUILD_QAT_SYM', '-DBUILD_QAT_ASYM']
|
||||||
endif
|
endif
|
||||||
|
@ -6,87 +6,87 @@
|
|||||||
# for Solarflare) and Solarflare Communications, Inc.
|
# for Solarflare) and Solarflare Communications, Inc.
|
||||||
|
|
||||||
sources = [
|
sources = [
|
||||||
'efx_bootcfg.c',
|
'efx_bootcfg.c',
|
||||||
'efx_crc32.c',
|
'efx_crc32.c',
|
||||||
'efx_ev.c',
|
'efx_ev.c',
|
||||||
'efx_evb.c',
|
'efx_evb.c',
|
||||||
'efx_filter.c',
|
'efx_filter.c',
|
||||||
'efx_hash.c',
|
'efx_hash.c',
|
||||||
'efx_intr.c',
|
'efx_intr.c',
|
||||||
'efx_lic.c',
|
'efx_lic.c',
|
||||||
'efx_mac.c',
|
'efx_mac.c',
|
||||||
'efx_mae.c',
|
'efx_mae.c',
|
||||||
'efx_mcdi.c',
|
'efx_mcdi.c',
|
||||||
'efx_mon.c',
|
'efx_mon.c',
|
||||||
'efx_nic.c',
|
'efx_nic.c',
|
||||||
'efx_nvram.c',
|
'efx_nvram.c',
|
||||||
'efx_pci.c',
|
'efx_pci.c',
|
||||||
'efx_phy.c',
|
'efx_phy.c',
|
||||||
'efx_port.c',
|
'efx_port.c',
|
||||||
'efx_proxy.c',
|
'efx_proxy.c',
|
||||||
'efx_rx.c',
|
'efx_rx.c',
|
||||||
'efx_sram.c',
|
'efx_sram.c',
|
||||||
'efx_tunnel.c',
|
'efx_tunnel.c',
|
||||||
'efx_tx.c',
|
'efx_tx.c',
|
||||||
'efx_vpd.c',
|
'efx_vpd.c',
|
||||||
'efx_virtio.c',
|
'efx_virtio.c',
|
||||||
'mcdi_mon.c',
|
'mcdi_mon.c',
|
||||||
'siena_mac.c',
|
'siena_mac.c',
|
||||||
'siena_mcdi.c',
|
'siena_mcdi.c',
|
||||||
'siena_nic.c',
|
'siena_nic.c',
|
||||||
'siena_nvram.c',
|
'siena_nvram.c',
|
||||||
'siena_phy.c',
|
'siena_phy.c',
|
||||||
'siena_sram.c',
|
'siena_sram.c',
|
||||||
'siena_vpd.c',
|
'siena_vpd.c',
|
||||||
'ef10_ev.c',
|
'ef10_ev.c',
|
||||||
'ef10_evb.c',
|
'ef10_evb.c',
|
||||||
'ef10_filter.c',
|
'ef10_filter.c',
|
||||||
'ef10_image.c',
|
'ef10_image.c',
|
||||||
'ef10_intr.c',
|
'ef10_intr.c',
|
||||||
'ef10_mac.c',
|
'ef10_mac.c',
|
||||||
'ef10_mcdi.c',
|
'ef10_mcdi.c',
|
||||||
'ef10_nic.c',
|
'ef10_nic.c',
|
||||||
'ef10_nvram.c',
|
'ef10_nvram.c',
|
||||||
'ef10_phy.c',
|
'ef10_phy.c',
|
||||||
'ef10_proxy.c',
|
'ef10_proxy.c',
|
||||||
'ef10_rx.c',
|
'ef10_rx.c',
|
||||||
'ef10_tx.c',
|
'ef10_tx.c',
|
||||||
'ef10_vpd.c',
|
'ef10_vpd.c',
|
||||||
'hunt_nic.c',
|
'hunt_nic.c',
|
||||||
'medford_nic.c',
|
'medford_nic.c',
|
||||||
'medford2_nic.c',
|
'medford2_nic.c',
|
||||||
'rhead_ev.c',
|
'rhead_ev.c',
|
||||||
'rhead_intr.c',
|
'rhead_intr.c',
|
||||||
'rhead_nic.c',
|
'rhead_nic.c',
|
||||||
'rhead_pci.c',
|
'rhead_pci.c',
|
||||||
'rhead_rx.c',
|
'rhead_rx.c',
|
||||||
'rhead_tunnel.c',
|
'rhead_tunnel.c',
|
||||||
'rhead_tx.c',
|
'rhead_tx.c',
|
||||||
'rhead_virtio.c',
|
'rhead_virtio.c',
|
||||||
]
|
]
|
||||||
|
|
||||||
extra_flags = [
|
extra_flags = [
|
||||||
'-Wno-sign-compare',
|
'-Wno-sign-compare',
|
||||||
'-Wno-unused-parameter',
|
'-Wno-unused-parameter',
|
||||||
'-Wno-unused-variable',
|
'-Wno-unused-variable',
|
||||||
'-Wno-empty-body',
|
'-Wno-empty-body',
|
||||||
'-Wno-unused-but-set-variable'
|
'-Wno-unused-but-set-variable'
|
||||||
]
|
]
|
||||||
|
|
||||||
c_args = cflags
|
c_args = cflags
|
||||||
foreach flag: extra_flags
|
foreach flag: extra_flags
|
||||||
if cc.has_argument(flag)
|
if cc.has_argument(flag)
|
||||||
c_args += flag
|
c_args += flag
|
||||||
endif
|
endif
|
||||||
endforeach
|
endforeach
|
||||||
|
|
||||||
if build
|
if build
|
||||||
base_lib = static_library('sfc_base', sources,
|
base_lib = static_library('sfc_base', sources,
|
||||||
include_directories: includes,
|
include_directories: includes,
|
||||||
dependencies: static_rte_eal,
|
dependencies: static_rte_eal,
|
||||||
c_args: c_args)
|
c_args: c_args)
|
||||||
|
|
||||||
base_objs = base_lib.extract_all_objects()
|
base_objs = base_lib.extract_all_objects()
|
||||||
else
|
else
|
||||||
base_objs = []
|
base_objs = []
|
||||||
endif
|
endif
|
||||||
|
@ -6,32 +6,32 @@
|
|||||||
# for Solarflare) and Solarflare Communications, Inc.
|
# for Solarflare) and Solarflare Communications, Inc.
|
||||||
|
|
||||||
if is_windows
|
if is_windows
|
||||||
build = false
|
build = false
|
||||||
reason = 'not supported on Windows'
|
reason = 'not supported on Windows'
|
||||||
endif
|
endif
|
||||||
|
|
||||||
if (arch_subdir != 'x86' or not dpdk_conf.get('RTE_ARCH_64')) and (arch_subdir != 'arm' or not host_machine.cpu_family().startswith('aarch64'))
|
if (arch_subdir != 'x86' or not dpdk_conf.get('RTE_ARCH_64')) and (arch_subdir != 'arm' or not host_machine.cpu_family().startswith('aarch64'))
|
||||||
build = false
|
build = false
|
||||||
reason = 'only supported on x86_64 and aarch64'
|
reason = 'only supported on x86_64 and aarch64'
|
||||||
endif
|
endif
|
||||||
|
|
||||||
extra_flags = []
|
extra_flags = []
|
||||||
|
|
||||||
# Enable more warnings
|
# Enable more warnings
|
||||||
extra_flags += [
|
extra_flags += [
|
||||||
'-Wdisabled-optimization'
|
'-Wdisabled-optimization'
|
||||||
]
|
]
|
||||||
|
|
||||||
# Compiler and version dependent flags
|
# Compiler and version dependent flags
|
||||||
extra_flags += [
|
extra_flags += [
|
||||||
'-Waggregate-return',
|
'-Waggregate-return',
|
||||||
'-Wbad-function-cast'
|
'-Wbad-function-cast'
|
||||||
]
|
]
|
||||||
|
|
||||||
foreach flag: extra_flags
|
foreach flag: extra_flags
|
||||||
if cc.has_argument(flag)
|
if cc.has_argument(flag)
|
||||||
cflags += flag
|
cflags += flag
|
||||||
endif
|
endif
|
||||||
endforeach
|
endforeach
|
||||||
|
|
||||||
subdir('base')
|
subdir('base')
|
||||||
@ -39,8 +39,8 @@ objs = [base_objs]
|
|||||||
|
|
||||||
deps += ['bus_pci']
|
deps += ['bus_pci']
|
||||||
sources = files(
|
sources = files(
|
||||||
'sfc_efx.c',
|
'sfc_efx.c',
|
||||||
'sfc_efx_mcdi.c',
|
'sfc_efx_mcdi.c',
|
||||||
)
|
)
|
||||||
|
|
||||||
includes += include_directories('base')
|
includes += include_directories('base')
|
||||||
|
@ -3,8 +3,8 @@
|
|||||||
|
|
||||||
dep = dependency('libisal', required: false, method: 'pkg-config')
|
dep = dependency('libisal', required: false, method: 'pkg-config')
|
||||||
if not dep.found()
|
if not dep.found()
|
||||||
build = false
|
build = false
|
||||||
reason = 'missing dependency, "libisal"'
|
reason = 'missing dependency, "libisal"'
|
||||||
endif
|
endif
|
||||||
|
|
||||||
deps += 'bus_vdev'
|
deps += 'bus_vdev'
|
||||||
|
@ -2,25 +2,25 @@
|
|||||||
# Copyright 2021 Mellanox Technologies, Ltd
|
# Copyright 2021 Mellanox Technologies, Ltd
|
||||||
|
|
||||||
if not is_linux
|
if not is_linux
|
||||||
build = false
|
build = false
|
||||||
reason = 'only supported on Linux'
|
reason = 'only supported on Linux'
|
||||||
subdir_done()
|
subdir_done()
|
||||||
endif
|
endif
|
||||||
|
|
||||||
fmt_name = 'mlx5_compress'
|
fmt_name = 'mlx5_compress'
|
||||||
deps += ['common_mlx5', 'eal', 'compressdev']
|
deps += ['common_mlx5', 'eal', 'compressdev']
|
||||||
sources = files(
|
sources = files(
|
||||||
'mlx5_compress.c',
|
'mlx5_compress.c',
|
||||||
)
|
)
|
||||||
cflags_options = [
|
cflags_options = [
|
||||||
'-std=c11',
|
'-std=c11',
|
||||||
'-Wno-strict-prototypes',
|
'-Wno-strict-prototypes',
|
||||||
'-D_BSD_SOURCE',
|
'-D_BSD_SOURCE',
|
||||||
'-D_DEFAULT_SOURCE',
|
'-D_DEFAULT_SOURCE',
|
||||||
'-D_XOPEN_SOURCE=600'
|
'-D_XOPEN_SOURCE=600'
|
||||||
]
|
]
|
||||||
foreach option:cflags_options
|
foreach option:cflags_options
|
||||||
if cc.has_argument(option)
|
if cc.has_argument(option)
|
||||||
cflags += option
|
cflags += option
|
||||||
endif
|
endif
|
||||||
endforeach
|
endforeach
|
||||||
|
@ -3,8 +3,8 @@
|
|||||||
|
|
||||||
dep = dependency('zlib', required: false, method: 'pkg-config')
|
dep = dependency('zlib', required: false, method: 'pkg-config')
|
||||||
if not dep.found()
|
if not dep.found()
|
||||||
build = false
|
build = false
|
||||||
reason = 'missing dependency, "zlib"'
|
reason = 'missing dependency, "zlib"'
|
||||||
endif
|
endif
|
||||||
|
|
||||||
deps += 'bus_vdev'
|
deps += 'bus_vdev'
|
||||||
|
@ -4,20 +4,20 @@
|
|||||||
IMB_required_ver = '0.52.0'
|
IMB_required_ver = '0.52.0'
|
||||||
lib = cc.find_library('IPSec_MB', required: false)
|
lib = cc.find_library('IPSec_MB', required: false)
|
||||||
if not lib.found()
|
if not lib.found()
|
||||||
build = false
|
build = false
|
||||||
reason = 'missing dependency, "libIPSec_MB"'
|
reason = 'missing dependency, "libIPSec_MB"'
|
||||||
else
|
else
|
||||||
ext_deps += lib
|
ext_deps += lib
|
||||||
|
|
||||||
# version comes with quotes, so we split based on " and take the middle
|
# version comes with quotes, so we split based on " and take the middle
|
||||||
imb_ver = cc.get_define('IMB_VERSION_STR',
|
imb_ver = cc.get_define('IMB_VERSION_STR',
|
||||||
prefix : '#include<intel-ipsec-mb.h>').split('"')[1]
|
prefix : '#include<intel-ipsec-mb.h>').split('"')[1]
|
||||||
|
|
||||||
if (imb_ver == '') or (imb_ver.version_compare('<' + IMB_required_ver))
|
if (imb_ver == '') or (imb_ver.version_compare('<' + IMB_required_ver))
|
||||||
reason = 'IPSec_MB version >= @0@ is required, found version @1@'.format(
|
reason = 'IPSec_MB version >= @0@ is required, found version @1@'.format(
|
||||||
IMB_required_ver, imb_ver)
|
IMB_required_ver, imb_ver)
|
||||||
build = false
|
build = false
|
||||||
endif
|
endif
|
||||||
endif
|
endif
|
||||||
|
|
||||||
sources = files('aesni_gcm_pmd.c', 'aesni_gcm_pmd_ops.c')
|
sources = files('aesni_gcm_pmd.c', 'aesni_gcm_pmd_ops.c')
|
||||||
|
@ -4,20 +4,20 @@
|
|||||||
IMB_required_ver = '0.52.0'
|
IMB_required_ver = '0.52.0'
|
||||||
lib = cc.find_library('IPSec_MB', required: false)
|
lib = cc.find_library('IPSec_MB', required: false)
|
||||||
if not lib.found()
|
if not lib.found()
|
||||||
build = false
|
build = false
|
||||||
reason = 'missing dependency, "libIPSec_MB"'
|
reason = 'missing dependency, "libIPSec_MB"'
|
||||||
else
|
else
|
||||||
ext_deps += lib
|
ext_deps += lib
|
||||||
|
|
||||||
# version comes with quotes, so we split based on " and take the middle
|
# version comes with quotes, so we split based on " and take the middle
|
||||||
imb_ver = cc.get_define('IMB_VERSION_STR',
|
imb_ver = cc.get_define('IMB_VERSION_STR',
|
||||||
prefix : '#include<intel-ipsec-mb.h>').split('"')[1]
|
prefix : '#include<intel-ipsec-mb.h>').split('"')[1]
|
||||||
|
|
||||||
if (imb_ver == '') or (imb_ver.version_compare('<' + IMB_required_ver))
|
if (imb_ver == '') or (imb_ver.version_compare('<' + IMB_required_ver))
|
||||||
reason = 'IPSec_MB version >= @0@ is required, found version @1@'.format(
|
reason = 'IPSec_MB version >= @0@ is required, found version @1@'.format(
|
||||||
IMB_required_ver, imb_ver)
|
IMB_required_ver, imb_ver)
|
||||||
build = false
|
build = false
|
||||||
endif
|
endif
|
||||||
|
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
@ -3,9 +3,9 @@
|
|||||||
|
|
||||||
dep = dependency('libAArch64crypto', required: false, method: 'pkg-config')
|
dep = dependency('libAArch64crypto', required: false, method: 'pkg-config')
|
||||||
if not dep.found()
|
if not dep.found()
|
||||||
build = false
|
build = false
|
||||||
reason = 'missing dependency, "libAArch64crypto"'
|
reason = 'missing dependency, "libAArch64crypto"'
|
||||||
subdir_done()
|
subdir_done()
|
||||||
endif
|
endif
|
||||||
|
|
||||||
ext_deps += dep
|
ext_deps += dep
|
||||||
|
@ -5,16 +5,16 @@
|
|||||||
|
|
||||||
deps += ['eal', 'bus_vdev']
|
deps += ['eal', 'bus_vdev']
|
||||||
sources = files(
|
sources = files(
|
||||||
'bcmfs_logs.c',
|
'bcmfs_logs.c',
|
||||||
'bcmfs_device.c',
|
'bcmfs_device.c',
|
||||||
'bcmfs_vfio.c',
|
'bcmfs_vfio.c',
|
||||||
'bcmfs_qp.c',
|
'bcmfs_qp.c',
|
||||||
'hw/bcmfs4_rm.c',
|
'hw/bcmfs4_rm.c',
|
||||||
'hw/bcmfs5_rm.c',
|
'hw/bcmfs5_rm.c',
|
||||||
'hw/bcmfs_rm_common.c',
|
'hw/bcmfs_rm_common.c',
|
||||||
'bcmfs_sym_pmd.c',
|
'bcmfs_sym_pmd.c',
|
||||||
'bcmfs_sym_capabilities.c',
|
'bcmfs_sym_capabilities.c',
|
||||||
'bcmfs_sym_session.c',
|
'bcmfs_sym_session.c',
|
||||||
'bcmfs_sym.c',
|
'bcmfs_sym.c',
|
||||||
'bcmfs_sym_engine.c'
|
'bcmfs_sym_engine.c'
|
||||||
)
|
)
|
||||||
|
@ -2,15 +2,17 @@
|
|||||||
# Copyright 2018 NXP
|
# Copyright 2018 NXP
|
||||||
|
|
||||||
if not is_linux
|
if not is_linux
|
||||||
build = false
|
build = false
|
||||||
reason = 'only supported on Linux'
|
reason = 'only supported on Linux'
|
||||||
endif
|
endif
|
||||||
|
|
||||||
deps += ['bus_vdev', 'bus_dpaa', 'security']
|
deps += ['bus_vdev', 'bus_dpaa', 'security']
|
||||||
sources = files('caam_jr_capabilities.c',
|
sources = files(
|
||||||
'caam_jr_hw.c',
|
'caam_jr_capabilities.c',
|
||||||
'caam_jr_uio.c',
|
'caam_jr_hw.c',
|
||||||
'caam_jr.c')
|
'caam_jr_uio.c',
|
||||||
|
'caam_jr.c',
|
||||||
|
)
|
||||||
|
|
||||||
includes += include_directories('../../bus/dpaa/include/')
|
includes += include_directories('../../bus/dpaa/include/')
|
||||||
includes += include_directories('../../common/dpaax/')
|
includes += include_directories('../../common/dpaax/')
|
||||||
|
@ -2,21 +2,23 @@
|
|||||||
# Copyright(c) 2018 Advanced Micro Devices, Inc. All rights reserved.
|
# Copyright(c) 2018 Advanced Micro Devices, Inc. All rights reserved.
|
||||||
|
|
||||||
if not is_linux
|
if not is_linux
|
||||||
build = false
|
build = false
|
||||||
reason = 'only supported on Linux'
|
reason = 'only supported on Linux'
|
||||||
endif
|
endif
|
||||||
dep = dependency('libcrypto', required: false, method: 'pkg-config')
|
dep = dependency('libcrypto', required: false, method: 'pkg-config')
|
||||||
if not dep.found()
|
if not dep.found()
|
||||||
build = false
|
build = false
|
||||||
reason = 'missing dependency, "libcrypto"'
|
reason = 'missing dependency, "libcrypto"'
|
||||||
endif
|
endif
|
||||||
deps += 'bus_vdev'
|
deps += 'bus_vdev'
|
||||||
deps += 'bus_pci'
|
deps += 'bus_pci'
|
||||||
|
|
||||||
sources = files('rte_ccp_pmd.c',
|
sources = files(
|
||||||
'ccp_crypto.c',
|
'rte_ccp_pmd.c',
|
||||||
'ccp_dev.c',
|
'ccp_crypto.c',
|
||||||
'ccp_pci.c',
|
'ccp_dev.c',
|
||||||
'ccp_pmd_ops.c')
|
'ccp_pci.c',
|
||||||
|
'ccp_pmd_ops.c',
|
||||||
|
)
|
||||||
|
|
||||||
ext_deps += dep
|
ext_deps += dep
|
||||||
|
@ -2,12 +2,14 @@
|
|||||||
# Copyright 2018 NXP
|
# Copyright 2018 NXP
|
||||||
|
|
||||||
if not is_linux
|
if not is_linux
|
||||||
build = false
|
build = false
|
||||||
reason = 'only supported on Linux'
|
reason = 'only supported on Linux'
|
||||||
endif
|
endif
|
||||||
|
|
||||||
deps += ['security', 'mempool_dpaa2']
|
deps += ['security', 'mempool_dpaa2']
|
||||||
sources = files('dpaa2_sec_dpseci.c',
|
sources = files(
|
||||||
'mc/dpseci.c')
|
'dpaa2_sec_dpseci.c',
|
||||||
|
'mc/dpseci.c',
|
||||||
|
)
|
||||||
|
|
||||||
includes += include_directories('mc', '../../common/dpaax', '../../common/dpaax/caamflib')
|
includes += include_directories('mc', '../../common/dpaax', '../../common/dpaax/caamflib')
|
||||||
|
@ -2,8 +2,8 @@
|
|||||||
# Copyright 2018 NXP
|
# Copyright 2018 NXP
|
||||||
|
|
||||||
if not is_linux
|
if not is_linux
|
||||||
build = false
|
build = false
|
||||||
reason = 'only supported on Linux'
|
reason = 'only supported on Linux'
|
||||||
endif
|
endif
|
||||||
|
|
||||||
deps += ['bus_dpaa', 'mempool_dpaa', 'security']
|
deps += ['bus_dpaa', 'mempool_dpaa', 'security']
|
||||||
|
@ -4,18 +4,18 @@
|
|||||||
IMB_required_ver = '0.53.0'
|
IMB_required_ver = '0.53.0'
|
||||||
lib = cc.find_library('IPSec_MB', required: false)
|
lib = cc.find_library('IPSec_MB', required: false)
|
||||||
if not lib.found()
|
if not lib.found()
|
||||||
build = false
|
build = false
|
||||||
reason = 'missing dependency, "libIPSec_MB"'
|
reason = 'missing dependency, "libIPSec_MB"'
|
||||||
else
|
else
|
||||||
# version comes with quotes, so we split based on " and take the middle
|
# version comes with quotes, so we split based on " and take the middle
|
||||||
imb_ver = cc.get_define('IMB_VERSION_STR',
|
imb_ver = cc.get_define('IMB_VERSION_STR',
|
||||||
prefix : '#include<intel-ipsec-mb.h>').split('"')[1]
|
prefix : '#include<intel-ipsec-mb.h>').split('"')[1]
|
||||||
|
|
||||||
if (imb_ver == '') or (imb_ver.version_compare('<' + IMB_required_ver))
|
if (imb_ver == '') or (imb_ver.version_compare('<' + IMB_required_ver))
|
||||||
reason = 'IPSec_MB version >= @0@ is required, found version @1@'.format(
|
reason = 'IPSec_MB version >= @0@ is required, found version @1@'.format(
|
||||||
IMB_required_ver, imb_ver)
|
IMB_required_ver, imb_ver)
|
||||||
build = false
|
build = false
|
||||||
endif
|
endif
|
||||||
|
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
@ -5,9 +5,9 @@
|
|||||||
|
|
||||||
dep = dependency('libmusdk', required: false, method: 'pkg-config')
|
dep = dependency('libmusdk', required: false, method: 'pkg-config')
|
||||||
if not dep.found()
|
if not dep.found()
|
||||||
build = false
|
build = false
|
||||||
reason = 'missing dependency, "libmusdk"'
|
reason = 'missing dependency, "libmusdk"'
|
||||||
subdir_done()
|
subdir_done()
|
||||||
endif
|
endif
|
||||||
|
|
||||||
ext_deps += dep
|
ext_deps += dep
|
||||||
|
@ -2,17 +2,17 @@
|
|||||||
# Copyright(C) 2019 Marvell International Ltd.
|
# Copyright(C) 2019 Marvell International Ltd.
|
||||||
|
|
||||||
if not is_linux
|
if not is_linux
|
||||||
build = false
|
build = false
|
||||||
reason = 'only supported on Linux'
|
reason = 'only supported on Linux'
|
||||||
endif
|
endif
|
||||||
|
|
||||||
deps += ['bus_pci']
|
deps += ['bus_pci']
|
||||||
sources = files(
|
sources = files(
|
||||||
'nitrox_device.c',
|
'nitrox_device.c',
|
||||||
'nitrox_hal.c',
|
'nitrox_hal.c',
|
||||||
'nitrox_logs.c',
|
'nitrox_logs.c',
|
||||||
'nitrox_sym.c',
|
'nitrox_sym.c',
|
||||||
'nitrox_sym_capabilities.c',
|
'nitrox_sym_capabilities.c',
|
||||||
'nitrox_sym_reqmgr.c',
|
'nitrox_sym_reqmgr.c',
|
||||||
'nitrox_qp.c'
|
'nitrox_qp.c'
|
||||||
)
|
)
|
||||||
|
@ -1,17 +1,19 @@
|
|||||||
# SPDX-License-Identifier: BSD-3-Clause
|
# SPDX-License-Identifier: BSD-3-Clause
|
||||||
# Copyright(c) 2018 Cavium, Inc
|
# Copyright(c) 2018 Cavium, Inc
|
||||||
if not is_linux
|
if not is_linux
|
||||||
build = false
|
build = false
|
||||||
reason = 'only supported on Linux'
|
reason = 'only supported on Linux'
|
||||||
endif
|
endif
|
||||||
|
|
||||||
deps += ['bus_pci']
|
deps += ['bus_pci']
|
||||||
deps += ['common_cpt']
|
deps += ['common_cpt']
|
||||||
|
|
||||||
sources = files('otx_cryptodev.c',
|
sources = files(
|
||||||
'otx_cryptodev_capabilities.c',
|
'otx_cryptodev.c',
|
||||||
'otx_cryptodev_hw_access.c',
|
'otx_cryptodev_capabilities.c',
|
||||||
'otx_cryptodev_mbox.c',
|
'otx_cryptodev_hw_access.c',
|
||||||
'otx_cryptodev_ops.c')
|
'otx_cryptodev_mbox.c',
|
||||||
|
'otx_cryptodev_ops.c',
|
||||||
|
)
|
||||||
|
|
||||||
includes += include_directories('../../common/cpt')
|
includes += include_directories('../../common/cpt')
|
||||||
|
@ -2,9 +2,9 @@
|
|||||||
# Copyright (C) 2019 Marvell International Ltd.
|
# Copyright (C) 2019 Marvell International Ltd.
|
||||||
|
|
||||||
if not is_linux or not dpdk_conf.get('RTE_ARCH_64')
|
if not is_linux or not dpdk_conf.get('RTE_ARCH_64')
|
||||||
build = false
|
build = false
|
||||||
reason = 'only supported on 64-bit Linux'
|
reason = 'only supported on 64-bit Linux'
|
||||||
subdir_done()
|
subdir_done()
|
||||||
endif
|
endif
|
||||||
|
|
||||||
deps += ['bus_pci']
|
deps += ['bus_pci']
|
||||||
@ -14,12 +14,14 @@ deps += ['ethdev']
|
|||||||
deps += ['eventdev']
|
deps += ['eventdev']
|
||||||
deps += ['security']
|
deps += ['security']
|
||||||
|
|
||||||
sources = files('otx2_cryptodev.c',
|
sources = files(
|
||||||
'otx2_cryptodev_capabilities.c',
|
'otx2_cryptodev.c',
|
||||||
'otx2_cryptodev_hw_access.c',
|
'otx2_cryptodev_capabilities.c',
|
||||||
'otx2_cryptodev_mbox.c',
|
'otx2_cryptodev_hw_access.c',
|
||||||
'otx2_cryptodev_ops.c',
|
'otx2_cryptodev_mbox.c',
|
||||||
'otx2_cryptodev_sec.c')
|
'otx2_cryptodev_ops.c',
|
||||||
|
'otx2_cryptodev_sec.c',
|
||||||
|
)
|
||||||
|
|
||||||
includes += include_directories('../../common/cpt')
|
includes += include_directories('../../common/cpt')
|
||||||
includes += include_directories('../../common/octeontx2')
|
includes += include_directories('../../common/octeontx2')
|
||||||
|
@ -3,8 +3,8 @@
|
|||||||
|
|
||||||
dep = dependency('libcrypto', required: false, method: 'pkg-config')
|
dep = dependency('libcrypto', required: false, method: 'pkg-config')
|
||||||
if not dep.found()
|
if not dep.found()
|
||||||
build = false
|
build = false
|
||||||
reason = 'missing dependency, "libcrypto"'
|
reason = 'missing dependency, "libcrypto"'
|
||||||
endif
|
endif
|
||||||
deps += 'bus_vdev'
|
deps += 'bus_vdev'
|
||||||
sources = files('rte_openssl_pmd.c', 'rte_openssl_pmd_ops.c')
|
sources = files('rte_openssl_pmd.c', 'rte_openssl_pmd_ops.c')
|
||||||
|
@ -11,14 +11,16 @@ qat_deps += 'cryptodev'
|
|||||||
qat_deps += 'net'
|
qat_deps += 'net'
|
||||||
qat_deps += 'security'
|
qat_deps += 'security'
|
||||||
if dep.found()
|
if dep.found()
|
||||||
# Add our sources files to the list
|
# Add our sources files to the list
|
||||||
qat_sources += files('qat_sym_pmd.c',
|
qat_sources += files(
|
||||||
'qat_sym.c',
|
'qat_asym.c',
|
||||||
'qat_sym_session.c',
|
'qat_asym_pmd.c',
|
||||||
'qat_sym_hw_dp.c',
|
'qat_sym.c',
|
||||||
'qat_asym_pmd.c',
|
'qat_sym_hw_dp.c',
|
||||||
'qat_asym.c')
|
'qat_sym_pmd.c',
|
||||||
qat_ext_deps += dep
|
'qat_sym_session.c',
|
||||||
qat_cflags += '-DBUILD_QAT_SYM'
|
)
|
||||||
qat_cflags += '-DBUILD_QAT_ASYM'
|
qat_ext_deps += dep
|
||||||
|
qat_cflags += '-DBUILD_QAT_SYM'
|
||||||
|
qat_cflags += '-DBUILD_QAT_ASYM'
|
||||||
endif
|
endif
|
||||||
|
@ -3,16 +3,16 @@
|
|||||||
|
|
||||||
deps += ['bus_vdev', 'reorder']
|
deps += ['bus_vdev', 'reorder']
|
||||||
sources = files(
|
sources = files(
|
||||||
'rte_cryptodev_scheduler.c',
|
'rte_cryptodev_scheduler.c',
|
||||||
'scheduler_failover.c',
|
'scheduler_failover.c',
|
||||||
'scheduler_multicore.c',
|
'scheduler_multicore.c',
|
||||||
'scheduler_pkt_size_distr.c',
|
'scheduler_pkt_size_distr.c',
|
||||||
'scheduler_pmd.c',
|
'scheduler_pmd.c',
|
||||||
'scheduler_pmd_ops.c',
|
'scheduler_pmd_ops.c',
|
||||||
'scheduler_roundrobin.c',
|
'scheduler_roundrobin.c',
|
||||||
)
|
)
|
||||||
|
|
||||||
headers = files(
|
headers = files(
|
||||||
'rte_cryptodev_scheduler.h',
|
'rte_cryptodev_scheduler.h',
|
||||||
'rte_cryptodev_scheduler_operations.h',
|
'rte_cryptodev_scheduler_operations.h',
|
||||||
)
|
)
|
||||||
|
@ -4,18 +4,18 @@
|
|||||||
IMB_required_ver = '0.53.0'
|
IMB_required_ver = '0.53.0'
|
||||||
lib = cc.find_library('IPSec_MB', required: false)
|
lib = cc.find_library('IPSec_MB', required: false)
|
||||||
if not lib.found()
|
if not lib.found()
|
||||||
build = false
|
build = false
|
||||||
reason = 'missing dependency, "libIPSec_MB"'
|
reason = 'missing dependency, "libIPSec_MB"'
|
||||||
else
|
else
|
||||||
# version comes with quotes, so we split based on " and take the middle
|
# version comes with quotes, so we split based on " and take the middle
|
||||||
imb_ver = cc.get_define('IMB_VERSION_STR',
|
imb_ver = cc.get_define('IMB_VERSION_STR',
|
||||||
prefix : '#include<intel-ipsec-mb.h>').split('"')[1]
|
prefix : '#include<intel-ipsec-mb.h>').split('"')[1]
|
||||||
|
|
||||||
if (imb_ver == '') or (imb_ver.version_compare('<' + IMB_required_ver))
|
if (imb_ver == '') or (imb_ver.version_compare('<' + IMB_required_ver))
|
||||||
reason = 'IPSec_MB version >= @0@ is required, found version @1@'.format(
|
reason = 'IPSec_MB version >= @0@ is required, found version @1@'.format(
|
||||||
IMB_required_ver, imb_ver)
|
IMB_required_ver, imb_ver)
|
||||||
build = false
|
build = false
|
||||||
endif
|
endif
|
||||||
|
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
@ -3,5 +3,9 @@
|
|||||||
|
|
||||||
includes += include_directories('../../../lib/librte_vhost')
|
includes += include_directories('../../../lib/librte_vhost')
|
||||||
deps += 'bus_pci'
|
deps += 'bus_pci'
|
||||||
sources = files('virtio_cryptodev.c', 'virtio_pci.c',
|
sources = files(
|
||||||
'virtio_rxtx.c', 'virtqueue.c')
|
'virtio_cryptodev.c',
|
||||||
|
'virtio_pci.c',
|
||||||
|
'virtio_rxtx.c',
|
||||||
|
'virtqueue.c',
|
||||||
|
)
|
||||||
|
@ -4,18 +4,18 @@
|
|||||||
IMB_required_ver = '0.53.0'
|
IMB_required_ver = '0.53.0'
|
||||||
lib = cc.find_library('IPSec_MB', required: false)
|
lib = cc.find_library('IPSec_MB', required: false)
|
||||||
if not lib.found()
|
if not lib.found()
|
||||||
build = false
|
build = false
|
||||||
reason = 'missing dependency, "libIPSec_MB"'
|
reason = 'missing dependency, "libIPSec_MB"'
|
||||||
else
|
else
|
||||||
# version comes with quotes, so we split based on " and take the middle
|
# version comes with quotes, so we split based on " and take the middle
|
||||||
imb_ver = cc.get_define('IMB_VERSION_STR',
|
imb_ver = cc.get_define('IMB_VERSION_STR',
|
||||||
prefix : '#include<intel-ipsec-mb.h>').split('"')[1]
|
prefix : '#include<intel-ipsec-mb.h>').split('"')[1]
|
||||||
|
|
||||||
if (imb_ver == '') or (imb_ver.version_compare('<' + IMB_required_ver))
|
if (imb_ver == '') or (imb_ver.version_compare('<' + IMB_required_ver))
|
||||||
reason = 'IPSec_MB version >= @0@ is required, found version @1@'.format(
|
reason = 'IPSec_MB version >= @0@ is required, found version @1@'.format(
|
||||||
IMB_required_ver, imb_ver)
|
IMB_required_ver, imb_ver)
|
||||||
build = false
|
build = false
|
||||||
endif
|
endif
|
||||||
|
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
@ -8,14 +8,15 @@ if not is_linux or not dpdk_conf.has('RTE_ARCH_X86_64')
|
|||||||
subdir_done()
|
subdir_done()
|
||||||
endif
|
endif
|
||||||
|
|
||||||
sources = files('dlb2.c',
|
sources = files(
|
||||||
'dlb2_iface.c',
|
'dlb2.c',
|
||||||
'dlb2_xstats.c',
|
'dlb2_iface.c',
|
||||||
'pf/dlb2_main.c',
|
'dlb2_xstats.c',
|
||||||
'pf/dlb2_pf.c',
|
'pf/dlb2_main.c',
|
||||||
'pf/base/dlb2_resource.c',
|
'pf/dlb2_pf.c',
|
||||||
'rte_pmd_dlb2.c',
|
'pf/base/dlb2_resource.c',
|
||||||
'dlb2_selftest.c'
|
'rte_pmd_dlb2.c',
|
||||||
|
'dlb2_selftest.c',
|
||||||
)
|
)
|
||||||
|
|
||||||
headers = files('rte_pmd_dlb2.h')
|
headers = files('rte_pmd_dlb2.h')
|
||||||
|
@ -2,8 +2,8 @@
|
|||||||
# Copyright 2018 NXP
|
# Copyright 2018 NXP
|
||||||
|
|
||||||
if not is_linux
|
if not is_linux
|
||||||
build = false
|
build = false
|
||||||
reason = 'only supported on Linux'
|
reason = 'only supported on Linux'
|
||||||
endif
|
endif
|
||||||
deps += ['net_dpaa', 'crypto_dpaa_sec']
|
deps += ['net_dpaa', 'crypto_dpaa_sec']
|
||||||
sources = files('dpaa_eventdev.c')
|
sources = files('dpaa_eventdev.c')
|
||||||
|
@ -2,12 +2,14 @@
|
|||||||
# Copyright 2018 NXP
|
# Copyright 2018 NXP
|
||||||
|
|
||||||
if not is_linux
|
if not is_linux
|
||||||
build = false
|
build = false
|
||||||
reason = 'only supported on Linux'
|
reason = 'only supported on Linux'
|
||||||
endif
|
endif
|
||||||
deps += ['bus_vdev', 'net_dpaa2', 'crypto_dpaa2_sec']
|
deps += ['bus_vdev', 'net_dpaa2', 'crypto_dpaa2_sec']
|
||||||
sources = files('dpaa2_hw_dpcon.c',
|
sources = files(
|
||||||
'dpaa2_eventdev.c',
|
'dpaa2_hw_dpcon.c',
|
||||||
'dpaa2_eventdev_selftest.c')
|
'dpaa2_eventdev.c',
|
||||||
|
'dpaa2_eventdev_selftest.c',
|
||||||
|
)
|
||||||
|
|
||||||
includes += include_directories('../../crypto/dpaa2_sec/')
|
includes += include_directories('../../crypto/dpaa2_sec/')
|
||||||
|
@ -3,6 +3,6 @@
|
|||||||
|
|
||||||
deps += ['bus_vdev']
|
deps += ['bus_vdev']
|
||||||
if cc.has_argument('-Wno-format-nonliteral')
|
if cc.has_argument('-Wno-format-nonliteral')
|
||||||
cflags += '-Wno-format-nonliteral'
|
cflags += '-Wno-format-nonliteral'
|
||||||
endif
|
endif
|
||||||
sources = files('dsw_evdev.c', 'dsw_event.c', 'dsw_xstats.c')
|
sources = files('dsw_evdev.c', 'dsw_event.c', 'dsw_xstats.c')
|
||||||
|
@ -1,13 +1,14 @@
|
|||||||
# SPDX-License-Identifier: BSD-3-Clause
|
# SPDX-License-Identifier: BSD-3-Clause
|
||||||
# Copyright(c) 2017 Cavium, Inc
|
# Copyright(c) 2017 Cavium, Inc
|
||||||
|
|
||||||
sources = files('ssovf_worker.c',
|
sources = files(
|
||||||
'ssovf_evdev.c',
|
'ssovf_worker.c',
|
||||||
'ssovf_evdev_selftest.c',
|
'ssovf_evdev.c',
|
||||||
'ssovf_probe.c',
|
'ssovf_evdev_selftest.c',
|
||||||
'timvf_worker.c',
|
'ssovf_probe.c',
|
||||||
'timvf_evdev.c',
|
'timvf_worker.c',
|
||||||
'timvf_probe.c'
|
'timvf_evdev.c',
|
||||||
|
'timvf_probe.c',
|
||||||
)
|
)
|
||||||
|
|
||||||
deps += ['common_octeontx', 'mempool_octeontx', 'bus_vdev', 'net_octeontx']
|
deps += ['common_octeontx', 'mempool_octeontx', 'bus_vdev', 'net_octeontx']
|
||||||
|
@ -3,21 +3,22 @@
|
|||||||
#
|
#
|
||||||
|
|
||||||
if not dpdk_conf.get('RTE_ARCH_64')
|
if not dpdk_conf.get('RTE_ARCH_64')
|
||||||
build = false
|
build = false
|
||||||
reason = 'only supported on 64-bit'
|
reason = 'only supported on 64-bit'
|
||||||
subdir_done()
|
subdir_done()
|
||||||
endif
|
endif
|
||||||
|
|
||||||
sources = files('otx2_worker.c',
|
sources = files(
|
||||||
'otx2_worker_dual.c',
|
'otx2_worker.c',
|
||||||
'otx2_evdev.c',
|
'otx2_worker_dual.c',
|
||||||
'otx2_evdev_adptr.c',
|
'otx2_evdev.c',
|
||||||
'otx2_evdev_crypto_adptr.c',
|
'otx2_evdev_adptr.c',
|
||||||
'otx2_evdev_irq.c',
|
'otx2_evdev_crypto_adptr.c',
|
||||||
'otx2_evdev_selftest.c',
|
'otx2_evdev_irq.c',
|
||||||
'otx2_tim_evdev.c',
|
'otx2_evdev_selftest.c',
|
||||||
'otx2_tim_worker.c'
|
'otx2_tim_evdev.c',
|
||||||
)
|
'otx2_tim_worker.c',
|
||||||
|
)
|
||||||
|
|
||||||
deps += ['bus_pci', 'common_octeontx2', 'crypto_octeontx2', 'mempool_octeontx2', 'net_octeontx2']
|
deps += ['bus_pci', 'common_octeontx2', 'crypto_octeontx2', 'mempool_octeontx2', 'net_octeontx2']
|
||||||
|
|
||||||
|
@ -2,10 +2,10 @@
|
|||||||
# Copyright(c) 2018 Luca Boccassi <bluca@debian.org>
|
# Copyright(c) 2018 Luca Boccassi <bluca@debian.org>
|
||||||
|
|
||||||
sources = files(
|
sources = files(
|
||||||
'opdl_evdev.c',
|
'opdl_evdev.c',
|
||||||
'opdl_evdev_init.c',
|
'opdl_evdev_init.c',
|
||||||
'opdl_evdev_xstats.c',
|
'opdl_evdev_xstats.c',
|
||||||
'opdl_ring.c',
|
'opdl_ring.c',
|
||||||
'opdl_test.c',
|
'opdl_test.c',
|
||||||
)
|
)
|
||||||
deps += ['bus_vdev']
|
deps += ['bus_vdev']
|
||||||
|
@ -1,10 +1,11 @@
|
|||||||
# SPDX-License-Identifier: BSD-3-Clause
|
# SPDX-License-Identifier: BSD-3-Clause
|
||||||
# Copyright(c) 2017 Intel Corporation
|
# Copyright(c) 2017 Intel Corporation
|
||||||
|
|
||||||
sources = files('sw_evdev_scheduler.c',
|
sources = files(
|
||||||
'sw_evdev_selftest.c',
|
'sw_evdev_scheduler.c',
|
||||||
'sw_evdev_worker.c',
|
'sw_evdev_selftest.c',
|
||||||
'sw_evdev_xstats.c',
|
'sw_evdev_worker.c',
|
||||||
'sw_evdev.c'
|
'sw_evdev_xstats.c',
|
||||||
|
'sw_evdev.c',
|
||||||
)
|
)
|
||||||
deps += ['hash', 'bus_vdev']
|
deps += ['hash', 'bus_vdev']
|
||||||
|
@ -7,8 +7,8 @@
|
|||||||
# for Solarflare) and Solarflare Communications, Inc.
|
# for Solarflare) and Solarflare Communications, Inc.
|
||||||
|
|
||||||
if is_windows
|
if is_windows
|
||||||
build = false
|
build = false
|
||||||
reason = 'not supported on Windows'
|
reason = 'not supported on Windows'
|
||||||
endif
|
endif
|
||||||
|
|
||||||
sources = files('rte_mempool_bucket.c')
|
sources = files('rte_mempool_bucket.c')
|
||||||
|
@ -3,14 +3,16 @@
|
|||||||
#
|
#
|
||||||
|
|
||||||
if not is_linux or not dpdk_conf.get('RTE_ARCH_64')
|
if not is_linux or not dpdk_conf.get('RTE_ARCH_64')
|
||||||
build = false
|
build = false
|
||||||
reason = 'only supported on 64-bit Linux'
|
reason = 'only supported on 64-bit Linux'
|
||||||
subdir_done()
|
subdir_done()
|
||||||
endif
|
endif
|
||||||
|
|
||||||
sources = files('cnxk_mempool.c',
|
sources = files(
|
||||||
'cnxk_mempool_ops.c',
|
'cnxk_mempool.c',
|
||||||
'cn9k_mempool_ops.c',
|
'cnxk_mempool_ops.c',
|
||||||
'cn10k_mempool_ops.c')
|
'cn9k_mempool_ops.c',
|
||||||
|
'cn10k_mempool_ops.c',
|
||||||
|
)
|
||||||
|
|
||||||
deps += ['eal', 'mbuf', 'kvargs', 'bus_pci', 'common_cnxk', 'mempool']
|
deps += ['eal', 'mbuf', 'kvargs', 'bus_pci', 'common_cnxk', 'mempool']
|
||||||
|
@ -2,8 +2,8 @@
|
|||||||
# Copyright 2018 NXP
|
# Copyright 2018 NXP
|
||||||
|
|
||||||
if not is_linux
|
if not is_linux
|
||||||
build = false
|
build = false
|
||||||
reason = 'only supported on Linux'
|
reason = 'only supported on Linux'
|
||||||
endif
|
endif
|
||||||
|
|
||||||
deps += ['bus_dpaa']
|
deps += ['bus_dpaa']
|
||||||
|
@ -2,8 +2,8 @@
|
|||||||
# Copyright 2018 NXP
|
# Copyright 2018 NXP
|
||||||
|
|
||||||
if not is_linux
|
if not is_linux
|
||||||
build = false
|
build = false
|
||||||
reason = 'only supported on Linux'
|
reason = 'only supported on Linux'
|
||||||
endif
|
endif
|
||||||
|
|
||||||
deps += ['bus_fslmc']
|
deps += ['bus_fslmc']
|
||||||
|
@ -2,12 +2,13 @@
|
|||||||
# Copyright(c) 2017 Cavium, Inc
|
# Copyright(c) 2017 Cavium, Inc
|
||||||
|
|
||||||
if is_windows
|
if is_windows
|
||||||
build = false
|
build = false
|
||||||
reason = 'not supported on Windows'
|
reason = 'not supported on Windows'
|
||||||
endif
|
endif
|
||||||
|
|
||||||
sources = files('octeontx_fpavf.c',
|
sources = files(
|
||||||
'rte_mempool_octeontx.c'
|
'octeontx_fpavf.c',
|
||||||
|
'rte_mempool_octeontx.c',
|
||||||
)
|
)
|
||||||
|
|
||||||
deps += ['mbuf', 'bus_pci', 'common_octeontx']
|
deps += ['mbuf', 'bus_pci', 'common_octeontx']
|
||||||
|
@ -3,20 +3,21 @@
|
|||||||
#
|
#
|
||||||
|
|
||||||
if is_windows
|
if is_windows
|
||||||
build = false
|
build = false
|
||||||
reason = 'not supported on Windows'
|
reason = 'not supported on Windows'
|
||||||
subdir_done()
|
subdir_done()
|
||||||
endif
|
endif
|
||||||
if not dpdk_conf.get('RTE_ARCH_64')
|
if not dpdk_conf.get('RTE_ARCH_64')
|
||||||
build = false
|
build = false
|
||||||
reason = 'only supported on 64-bit'
|
reason = 'only supported on 64-bit'
|
||||||
subdir_done()
|
subdir_done()
|
||||||
endif
|
endif
|
||||||
|
|
||||||
sources = files('otx2_mempool_ops.c',
|
sources = files(
|
||||||
'otx2_mempool.c',
|
'otx2_mempool.c',
|
||||||
'otx2_mempool_irq.c',
|
'otx2_mempool_debug.c',
|
||||||
'otx2_mempool_debug.c'
|
'otx2_mempool_irq.c',
|
||||||
)
|
'otx2_mempool_ops.c',
|
||||||
|
)
|
||||||
|
|
||||||
deps += ['eal', 'mbuf', 'kvargs', 'bus_pci', 'common_octeontx2', 'mempool']
|
deps += ['eal', 'mbuf', 'kvargs', 'bus_pci', 'common_octeontx2', 'mempool']
|
||||||
|
@ -2,8 +2,8 @@
|
|||||||
# Copyright(c) 2017-2019 Intel Corporation
|
# Copyright(c) 2017-2019 Intel Corporation
|
||||||
|
|
||||||
if is_windows
|
if is_windows
|
||||||
build = false
|
build = false
|
||||||
reason = 'not supported on Windows'
|
reason = 'not supported on Windows'
|
||||||
endif
|
endif
|
||||||
|
|
||||||
sources = files('rte_mempool_stack.c')
|
sources = files('rte_mempool_stack.c')
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
# Copyright(c) 2017 Intel Corporation
|
# Copyright(c) 2017 Intel Corporation
|
||||||
|
|
||||||
if not is_linux
|
if not is_linux
|
||||||
build = false
|
build = false
|
||||||
reason = 'only supported on Linux'
|
reason = 'only supported on Linux'
|
||||||
endif
|
endif
|
||||||
sources = files('rte_eth_af_packet.c')
|
sources = files('rte_eth_af_packet.c')
|
||||||
|
@ -2,26 +2,26 @@
|
|||||||
# Copyright(c) 2019 Intel Corporation
|
# Copyright(c) 2019 Intel Corporation
|
||||||
|
|
||||||
if is_windows
|
if is_windows
|
||||||
build = false
|
build = false
|
||||||
reason = 'not supported on Windows'
|
reason = 'not supported on Windows'
|
||||||
subdir_done()
|
subdir_done()
|
||||||
endif
|
endif
|
||||||
|
|
||||||
sources = files('rte_eth_af_xdp.c')
|
sources = files('rte_eth_af_xdp.c')
|
||||||
|
|
||||||
bpf_dep = dependency('libbpf', required: false, method: 'pkg-config')
|
bpf_dep = dependency('libbpf', required: false, method: 'pkg-config')
|
||||||
if not bpf_dep.found()
|
if not bpf_dep.found()
|
||||||
bpf_dep = cc.find_library('bpf', required: false)
|
bpf_dep = cc.find_library('bpf', required: false)
|
||||||
endif
|
endif
|
||||||
|
|
||||||
if bpf_dep.found() and cc.has_header('bpf/xsk.h') and cc.has_header('linux/if_xdp.h')
|
if bpf_dep.found() and cc.has_header('bpf/xsk.h') and cc.has_header('linux/if_xdp.h')
|
||||||
ext_deps += bpf_dep
|
ext_deps += bpf_dep
|
||||||
bpf_ver_dep = dependency('libbpf', version : '>=0.2.0',
|
bpf_ver_dep = dependency('libbpf', version : '>=0.2.0',
|
||||||
required: false, method: 'pkg-config')
|
required: false, method: 'pkg-config')
|
||||||
if bpf_ver_dep.found()
|
if bpf_ver_dep.found()
|
||||||
dpdk_conf.set('RTE_LIBRTE_AF_XDP_PMD_SHARED_UMEM', 1)
|
dpdk_conf.set('RTE_LIBRTE_AF_XDP_PMD_SHARED_UMEM', 1)
|
||||||
endif
|
endif
|
||||||
else
|
else
|
||||||
build = false
|
build = false
|
||||||
reason = 'missing dependency, "libbpf"'
|
reason = 'missing dependency, "libbpf"'
|
||||||
endif
|
endif
|
||||||
|
@ -2,18 +2,20 @@
|
|||||||
# Copyright(c) 2018 Intel Corporation
|
# Copyright(c) 2018 Intel Corporation
|
||||||
|
|
||||||
if is_windows
|
if is_windows
|
||||||
build = false
|
build = false
|
||||||
reason = 'not supported on Windows'
|
reason = 'not supported on Windows'
|
||||||
subdir_done()
|
subdir_done()
|
||||||
endif
|
endif
|
||||||
|
|
||||||
sources = files('ark_ddm.c',
|
sources = files(
|
||||||
'ark_ethdev.c',
|
'ark_ddm.c',
|
||||||
'ark_ethdev_rx.c',
|
'ark_ethdev.c',
|
||||||
'ark_ethdev_tx.c',
|
'ark_ethdev_rx.c',
|
||||||
'ark_mpu.c',
|
'ark_ethdev_tx.c',
|
||||||
'ark_pktchkr.c',
|
'ark_mpu.c',
|
||||||
'ark_pktdir.c',
|
'ark_pktchkr.c',
|
||||||
'ark_pktgen.c',
|
'ark_pktdir.c',
|
||||||
'ark_rqp.c',
|
'ark_pktgen.c',
|
||||||
'ark_udm.c')
|
'ark_rqp.c',
|
||||||
|
'ark_udm.c',
|
||||||
|
)
|
||||||
|
@ -2,18 +2,18 @@
|
|||||||
# Copyright(c) 2018 Aquantia Corporation
|
# Copyright(c) 2018 Aquantia Corporation
|
||||||
|
|
||||||
if is_windows
|
if is_windows
|
||||||
build = false
|
build = false
|
||||||
reason = 'not supported on Windows'
|
reason = 'not supported on Windows'
|
||||||
subdir_done()
|
subdir_done()
|
||||||
endif
|
endif
|
||||||
|
|
||||||
sources = files(
|
sources = files(
|
||||||
'atl_rxtx.c',
|
'atl_rxtx.c',
|
||||||
'atl_ethdev.c',
|
'atl_ethdev.c',
|
||||||
'atl_hw_regs.c',
|
'atl_hw_regs.c',
|
||||||
'hw_atl/hw_atl_b0.c',
|
'hw_atl/hw_atl_b0.c',
|
||||||
'hw_atl/hw_atl_llh.c',
|
'hw_atl/hw_atl_llh.c',
|
||||||
'hw_atl/hw_atl_utils_fw2x.c',
|
'hw_atl/hw_atl_utils_fw2x.c',
|
||||||
'hw_atl/hw_atl_utils.c',
|
'hw_atl/hw_atl_utils.c',
|
||||||
'rte_pmd_atlantic.c',
|
'rte_pmd_atlantic.c',
|
||||||
)
|
)
|
||||||
|
@ -2,8 +2,8 @@
|
|||||||
# Copyright(c) 2018 Intel Corporation
|
# Copyright(c) 2018 Intel Corporation
|
||||||
|
|
||||||
if not is_linux
|
if not is_linux
|
||||||
build = false
|
build = false
|
||||||
reason = 'only supported on Linux'
|
reason = 'only supported on Linux'
|
||||||
endif
|
endif
|
||||||
sources = files('avp_ethdev.c')
|
sources = files('avp_ethdev.c')
|
||||||
headers = files('rte_avp_common.h', 'rte_avp_fifo.h')
|
headers = files('rte_avp_common.h', 'rte_avp_fifo.h')
|
||||||
|
@ -2,19 +2,21 @@
|
|||||||
# Copyright (c) 2018 Advanced Micro Devices, Inc. All rights reserved.
|
# Copyright (c) 2018 Advanced Micro Devices, Inc. All rights reserved.
|
||||||
|
|
||||||
if not is_linux
|
if not is_linux
|
||||||
build = false
|
build = false
|
||||||
reason = 'only supported on Linux'
|
reason = 'only supported on Linux'
|
||||||
endif
|
endif
|
||||||
|
|
||||||
sources = files('axgbe_ethdev.c',
|
sources = files(
|
||||||
'axgbe_dev.c',
|
'axgbe_ethdev.c',
|
||||||
'axgbe_mdio.c',
|
'axgbe_dev.c',
|
||||||
'axgbe_phy_impl.c',
|
'axgbe_mdio.c',
|
||||||
'axgbe_i2c.c',
|
'axgbe_phy_impl.c',
|
||||||
'axgbe_rxtx.c')
|
'axgbe_i2c.c',
|
||||||
|
'axgbe_rxtx.c',
|
||||||
|
)
|
||||||
|
|
||||||
cflags += '-Wno-cast-qual'
|
cflags += '-Wno-cast-qual'
|
||||||
|
|
||||||
if arch_subdir == 'x86'
|
if arch_subdir == 'x86'
|
||||||
sources += files('axgbe_rxtx_vec_sse.c')
|
sources += files('axgbe_rxtx_vec_sse.c')
|
||||||
endif
|
endif
|
||||||
|
@ -2,9 +2,9 @@
|
|||||||
# Copyright(c) 2018 Intel Corporation
|
# Copyright(c) 2018 Intel Corporation
|
||||||
|
|
||||||
if is_windows
|
if is_windows
|
||||||
build = false
|
build = false
|
||||||
reason = 'not supported on Windows'
|
reason = 'not supported on Windows'
|
||||||
subdir_done()
|
subdir_done()
|
||||||
endif
|
endif
|
||||||
|
|
||||||
dep = dependency('zlib', required: false, method: 'pkg-config')
|
dep = dependency('zlib', required: false, method: 'pkg-config')
|
||||||
@ -12,10 +12,12 @@ build = dep.found()
|
|||||||
reason = 'missing dependency, "zlib"'
|
reason = 'missing dependency, "zlib"'
|
||||||
ext_deps += dep
|
ext_deps += dep
|
||||||
cflags += '-DZLIB_CONST'
|
cflags += '-DZLIB_CONST'
|
||||||
sources = files('bnx2x.c',
|
sources = files(
|
||||||
'bnx2x_ethdev.c',
|
'bnx2x.c',
|
||||||
'bnx2x_rxtx.c',
|
'bnx2x_ethdev.c',
|
||||||
'bnx2x_stats.c',
|
'bnx2x_rxtx.c',
|
||||||
'bnx2x_vfpf.c',
|
'bnx2x_stats.c',
|
||||||
'ecore_sp.c',
|
'bnx2x_vfpf.c',
|
||||||
'elink.c')
|
'ecore_sp.c',
|
||||||
|
'elink.c',
|
||||||
|
)
|
||||||
|
@ -3,9 +3,9 @@
|
|||||||
# Copyright(c) 2020 Broadcom
|
# Copyright(c) 2020 Broadcom
|
||||||
|
|
||||||
if is_windows
|
if is_windows
|
||||||
build = false
|
build = false
|
||||||
reason = 'not supported on Windows'
|
reason = 'not supported on Windows'
|
||||||
subdir_done()
|
subdir_done()
|
||||||
endif
|
endif
|
||||||
|
|
||||||
headers = files('rte_pmd_bnxt.h')
|
headers = files('rte_pmd_bnxt.h')
|
||||||
@ -13,73 +13,75 @@ headers = files('rte_pmd_bnxt.h')
|
|||||||
includes += include_directories('tf_ulp')
|
includes += include_directories('tf_ulp')
|
||||||
includes += include_directories('tf_core')
|
includes += include_directories('tf_core')
|
||||||
|
|
||||||
sources = files('bnxt_cpr.c',
|
sources = files(
|
||||||
'bnxt_ethdev.c',
|
'bnxt_cpr.c',
|
||||||
'bnxt_filter.c',
|
'bnxt_ethdev.c',
|
||||||
'bnxt_flow.c',
|
'bnxt_filter.c',
|
||||||
'bnxt_hwrm.c',
|
'bnxt_flow.c',
|
||||||
'bnxt_irq.c',
|
'bnxt_hwrm.c',
|
||||||
'bnxt_ring.c',
|
'bnxt_irq.c',
|
||||||
'bnxt_rxq.c',
|
'bnxt_ring.c',
|
||||||
'bnxt_rxr.c',
|
'bnxt_rxq.c',
|
||||||
'bnxt_stats.c',
|
'bnxt_rxr.c',
|
||||||
'bnxt_txq.c',
|
'bnxt_stats.c',
|
||||||
'bnxt_txr.c',
|
'bnxt_txq.c',
|
||||||
'bnxt_util.c',
|
'bnxt_txr.c',
|
||||||
'bnxt_vnic.c',
|
'bnxt_util.c',
|
||||||
'bnxt_reps.c',
|
'bnxt_vnic.c',
|
||||||
|
'bnxt_reps.c',
|
||||||
|
|
||||||
'tf_core/tf_core.c',
|
'tf_core/tf_core.c',
|
||||||
'tf_core/bitalloc.c',
|
'tf_core/bitalloc.c',
|
||||||
'tf_core/tf_msg.c',
|
'tf_core/tf_msg.c',
|
||||||
'tf_core/rand.c',
|
'tf_core/rand.c',
|
||||||
'tf_core/stack.c',
|
'tf_core/stack.c',
|
||||||
'tf_core/tf_em_common.c',
|
'tf_core/tf_em_common.c',
|
||||||
'tf_core/tf_em_internal.c',
|
'tf_core/tf_em_internal.c',
|
||||||
'tf_core/tf_rm.c',
|
'tf_core/tf_rm.c',
|
||||||
'tf_core/tf_tbl.c',
|
'tf_core/tf_tbl.c',
|
||||||
'tf_core/tfp.c',
|
'tf_core/tfp.c',
|
||||||
'tf_core/tf_session.c',
|
'tf_core/tf_session.c',
|
||||||
'tf_core/tf_device.c',
|
'tf_core/tf_device.c',
|
||||||
'tf_core/tf_device_p4.c',
|
'tf_core/tf_device_p4.c',
|
||||||
'tf_core/tf_identifier.c',
|
'tf_core/tf_identifier.c',
|
||||||
'tf_core/tf_shadow_tbl.c',
|
'tf_core/tf_shadow_tbl.c',
|
||||||
'tf_core/tf_shadow_tcam.c',
|
'tf_core/tf_shadow_tcam.c',
|
||||||
'tf_core/tf_tcam.c',
|
'tf_core/tf_tcam.c',
|
||||||
'tf_core/tf_util.c',
|
'tf_core/tf_util.c',
|
||||||
'tf_core/tf_if_tbl.c',
|
'tf_core/tf_if_tbl.c',
|
||||||
'tf_core/ll.c',
|
'tf_core/ll.c',
|
||||||
'tf_core/tf_global_cfg.c',
|
'tf_core/tf_global_cfg.c',
|
||||||
'tf_core/tf_em_host.c',
|
'tf_core/tf_em_host.c',
|
||||||
'tf_core/tf_shadow_identifier.c',
|
'tf_core/tf_shadow_identifier.c',
|
||||||
'tf_core/tf_hash.c',
|
'tf_core/tf_hash.c',
|
||||||
|
|
||||||
'hcapi/hcapi_cfa_p4.c',
|
'hcapi/hcapi_cfa_p4.c',
|
||||||
|
|
||||||
'tf_ulp/bnxt_ulp.c',
|
'tf_ulp/bnxt_ulp.c',
|
||||||
'tf_ulp/ulp_mark_mgr.c',
|
'tf_ulp/ulp_mark_mgr.c',
|
||||||
'tf_ulp/ulp_flow_db.c',
|
'tf_ulp/ulp_flow_db.c',
|
||||||
'tf_ulp/ulp_template_db_tbl.c',
|
'tf_ulp/ulp_template_db_tbl.c',
|
||||||
'tf_ulp/ulp_template_db_class.c',
|
'tf_ulp/ulp_template_db_class.c',
|
||||||
'tf_ulp/ulp_template_db_act.c',
|
'tf_ulp/ulp_template_db_act.c',
|
||||||
'tf_ulp/ulp_utils.c',
|
'tf_ulp/ulp_utils.c',
|
||||||
'tf_ulp/ulp_mapper.c',
|
'tf_ulp/ulp_mapper.c',
|
||||||
'tf_ulp/ulp_matcher.c',
|
'tf_ulp/ulp_matcher.c',
|
||||||
'tf_ulp/ulp_rte_parser.c',
|
'tf_ulp/ulp_rte_parser.c',
|
||||||
'tf_ulp/bnxt_ulp_flow.c',
|
'tf_ulp/bnxt_ulp_flow.c',
|
||||||
'tf_ulp/ulp_port_db.c',
|
'tf_ulp/ulp_port_db.c',
|
||||||
'tf_ulp/ulp_def_rules.c',
|
'tf_ulp/ulp_def_rules.c',
|
||||||
'tf_ulp/ulp_fc_mgr.c',
|
'tf_ulp/ulp_fc_mgr.c',
|
||||||
'tf_ulp/ulp_tun.c',
|
'tf_ulp/ulp_tun.c',
|
||||||
'tf_ulp/ulp_template_db_wh_plus_act.c',
|
'tf_ulp/ulp_template_db_wh_plus_act.c',
|
||||||
'tf_ulp/ulp_template_db_wh_plus_class.c',
|
'tf_ulp/ulp_template_db_wh_plus_class.c',
|
||||||
'tf_ulp/ulp_template_db_stingray_act.c',
|
'tf_ulp/ulp_template_db_stingray_act.c',
|
||||||
'tf_ulp/ulp_template_db_stingray_class.c',
|
'tf_ulp/ulp_template_db_stingray_class.c',
|
||||||
|
|
||||||
'rte_pmd_bnxt.c')
|
'rte_pmd_bnxt.c',
|
||||||
|
)
|
||||||
|
|
||||||
if arch_subdir == 'x86'
|
if arch_subdir == 'x86'
|
||||||
sources += files('bnxt_rxtx_vec_sse.c')
|
sources += files('bnxt_rxtx_vec_sse.c')
|
||||||
elif arch_subdir == 'arm' and host_machine.cpu_family().startswith('aarch64')
|
elif arch_subdir == 'arm' and host_machine.cpu_family().startswith('aarch64')
|
||||||
sources += files('bnxt_rxtx_vec_neon.c')
|
sources += files('bnxt_rxtx_vec_neon.c')
|
||||||
endif
|
endif
|
||||||
|
@ -2,14 +2,20 @@
|
|||||||
# Copyright(c) 2017 Intel Corporation
|
# Copyright(c) 2017 Intel Corporation
|
||||||
|
|
||||||
if is_windows
|
if is_windows
|
||||||
build = false
|
build = false
|
||||||
reason = 'not supported on Windows'
|
reason = 'not supported on Windows'
|
||||||
subdir_done()
|
subdir_done()
|
||||||
endif
|
endif
|
||||||
|
|
||||||
name = 'bond' #, james bond :-)
|
name = 'bond' #, james bond :-)
|
||||||
sources = files('rte_eth_bond_api.c', 'rte_eth_bond_pmd.c', 'rte_eth_bond_flow.c',
|
sources = files(
|
||||||
'rte_eth_bond_args.c', 'rte_eth_bond_8023ad.c', 'rte_eth_bond_alb.c')
|
'rte_eth_bond_8023ad.c',
|
||||||
|
'rte_eth_bond_alb.c',
|
||||||
|
'rte_eth_bond_api.c',
|
||||||
|
'rte_eth_bond_args.c',
|
||||||
|
'rte_eth_bond_flow.c',
|
||||||
|
'rte_eth_bond_pmd.c',
|
||||||
|
)
|
||||||
|
|
||||||
deps += 'sched' # needed for rte_bitmap.h
|
deps += 'sched' # needed for rte_bitmap.h
|
||||||
deps += ['ip_frag']
|
deps += ['ip_frag']
|
||||||
|
@ -2,22 +2,24 @@
|
|||||||
# Copyright(c) 2018 Intel Corporation
|
# Copyright(c) 2018 Intel Corporation
|
||||||
|
|
||||||
if is_windows
|
if is_windows
|
||||||
build = false
|
build = false
|
||||||
reason = 'not supported on Windows'
|
reason = 'not supported on Windows'
|
||||||
subdir_done()
|
subdir_done()
|
||||||
endif
|
endif
|
||||||
|
|
||||||
sources = files('cxgbe_ethdev.c',
|
sources = files(
|
||||||
'cxgbe_main.c',
|
'cxgbe_ethdev.c',
|
||||||
'cxgbevf_ethdev.c',
|
'cxgbe_main.c',
|
||||||
'cxgbevf_main.c',
|
'cxgbevf_ethdev.c',
|
||||||
'sge.c',
|
'cxgbevf_main.c',
|
||||||
'cxgbe_filter.c',
|
'sge.c',
|
||||||
'cxgbe_flow.c',
|
'cxgbe_filter.c',
|
||||||
'clip_tbl.c',
|
'cxgbe_flow.c',
|
||||||
'mps_tcam.c',
|
'clip_tbl.c',
|
||||||
'l2t.c',
|
'mps_tcam.c',
|
||||||
'smt.c',
|
'l2t.c',
|
||||||
'base/t4_hw.c',
|
'smt.c',
|
||||||
'base/t4vf_hw.c')
|
'base/t4_hw.c',
|
||||||
|
'base/t4vf_hw.c',
|
||||||
|
)
|
||||||
includes += include_directories('base')
|
includes += include_directories('base')
|
||||||
|
@ -2,20 +2,22 @@
|
|||||||
# Copyright 2018-2020 NXP
|
# Copyright 2018-2020 NXP
|
||||||
|
|
||||||
if not is_linux
|
if not is_linux
|
||||||
build = false
|
build = false
|
||||||
reason = 'only supported on Linux'
|
reason = 'only supported on Linux'
|
||||||
endif
|
endif
|
||||||
deps += ['mempool_dpaa']
|
deps += ['mempool_dpaa']
|
||||||
|
|
||||||
sources = files('dpaa_ethdev.c',
|
sources = files(
|
||||||
'fmlib/fm_lib.c',
|
'dpaa_ethdev.c',
|
||||||
'fmlib/fm_vsp.c',
|
'fmlib/fm_lib.c',
|
||||||
'dpaa_flow.c',
|
'fmlib/fm_vsp.c',
|
||||||
'dpaa_rxtx.c',
|
'dpaa_flow.c',
|
||||||
'dpaa_fmc.c')
|
'dpaa_rxtx.c',
|
||||||
|
'dpaa_fmc.c',
|
||||||
|
)
|
||||||
|
|
||||||
if cc.has_argument('-Wno-pointer-arith')
|
if cc.has_argument('-Wno-pointer-arith')
|
||||||
cflags += '-Wno-pointer-arith'
|
cflags += '-Wno-pointer-arith'
|
||||||
endif
|
endif
|
||||||
|
|
||||||
headers = files('rte_pmd_dpaa.h')
|
headers = files('rte_pmd_dpaa.h')
|
||||||
|
@ -2,23 +2,25 @@
|
|||||||
# Copyright 2018-2021 NXP
|
# Copyright 2018-2021 NXP
|
||||||
|
|
||||||
if not is_linux
|
if not is_linux
|
||||||
build = false
|
build = false
|
||||||
reason = 'only supported on Linux'
|
reason = 'only supported on Linux'
|
||||||
endif
|
endif
|
||||||
|
|
||||||
deps += ['mempool_dpaa2']
|
deps += ['mempool_dpaa2']
|
||||||
sources = files('base/dpaa2_hw_dpni.c',
|
sources = files(
|
||||||
'dpaa2_tm.c',
|
'base/dpaa2_hw_dpni.c',
|
||||||
'dpaa2_mux.c',
|
'dpaa2_tm.c',
|
||||||
'dpaa2_ethdev.c',
|
'dpaa2_mux.c',
|
||||||
'dpaa2_flow.c',
|
'dpaa2_ethdev.c',
|
||||||
'dpaa2_rxtx.c',
|
'dpaa2_flow.c',
|
||||||
'dpaa2_sparser.c',
|
'dpaa2_rxtx.c',
|
||||||
'dpaa2_ptp.c',
|
'dpaa2_sparser.c',
|
||||||
'mc/dprtc.c',
|
'dpaa2_ptp.c',
|
||||||
'mc/dpkg.c',
|
'mc/dprtc.c',
|
||||||
'mc/dpdmux.c',
|
'mc/dpkg.c',
|
||||||
'mc/dpni.c')
|
'mc/dpdmux.c',
|
||||||
|
'mc/dpni.c',
|
||||||
|
)
|
||||||
|
|
||||||
includes += include_directories('base', 'mc')
|
includes += include_directories('base', 'mc')
|
||||||
|
|
||||||
|
@ -2,37 +2,37 @@
|
|||||||
# Copyright(c) 2017 Intel Corporation
|
# Copyright(c) 2017 Intel Corporation
|
||||||
|
|
||||||
sources = [
|
sources = [
|
||||||
'e1000_base.c',
|
'e1000_base.c',
|
||||||
'e1000_80003es2lan.c',
|
'e1000_80003es2lan.c',
|
||||||
'e1000_82540.c',
|
'e1000_82540.c',
|
||||||
'e1000_82541.c',
|
'e1000_82541.c',
|
||||||
'e1000_82542.c',
|
'e1000_82542.c',
|
||||||
'e1000_82543.c',
|
'e1000_82543.c',
|
||||||
'e1000_82571.c',
|
'e1000_82571.c',
|
||||||
'e1000_82575.c',
|
'e1000_82575.c',
|
||||||
'e1000_api.c',
|
'e1000_api.c',
|
||||||
'e1000_i210.c',
|
'e1000_i210.c',
|
||||||
'e1000_ich8lan.c',
|
'e1000_ich8lan.c',
|
||||||
'e1000_mac.c',
|
'e1000_mac.c',
|
||||||
'e1000_manage.c',
|
'e1000_manage.c',
|
||||||
'e1000_mbx.c',
|
'e1000_mbx.c',
|
||||||
'e1000_nvm.c',
|
'e1000_nvm.c',
|
||||||
'e1000_osdep.c',
|
'e1000_osdep.c',
|
||||||
'e1000_phy.c',
|
'e1000_phy.c',
|
||||||
'e1000_vf.c'
|
'e1000_vf.c'
|
||||||
]
|
]
|
||||||
|
|
||||||
error_cflags = ['-Wno-uninitialized', '-Wno-unused-parameter',
|
error_cflags = ['-Wno-uninitialized', '-Wno-unused-parameter',
|
||||||
'-Wno-unused-variable', '-Wno-misleading-indentation',
|
'-Wno-unused-variable', '-Wno-misleading-indentation',
|
||||||
'-Wno-implicit-fallthrough']
|
'-Wno-implicit-fallthrough']
|
||||||
c_args = cflags
|
c_args = cflags
|
||||||
foreach flag: error_cflags
|
foreach flag: error_cflags
|
||||||
if cc.has_argument(flag)
|
if cc.has_argument(flag)
|
||||||
c_args += flag
|
c_args += flag
|
||||||
endif
|
endif
|
||||||
endforeach
|
endforeach
|
||||||
|
|
||||||
base_lib = static_library('e1000_base', sources,
|
base_lib = static_library('e1000_base', sources,
|
||||||
dependencies: static_rte_eal,
|
dependencies: static_rte_eal,
|
||||||
c_args: c_args)
|
c_args: c_args)
|
||||||
base_objs = base_lib.extract_all_objects()
|
base_objs = base_lib.extract_all_objects()
|
||||||
|
@ -2,22 +2,22 @@
|
|||||||
# Copyright(c) 2017 Intel Corporation
|
# Copyright(c) 2017 Intel Corporation
|
||||||
|
|
||||||
if is_windows
|
if is_windows
|
||||||
build = false
|
build = false
|
||||||
reason = 'not supported on Windows'
|
reason = 'not supported on Windows'
|
||||||
subdir_done()
|
subdir_done()
|
||||||
endif
|
endif
|
||||||
|
|
||||||
subdir('base')
|
subdir('base')
|
||||||
objs = [base_objs]
|
objs = [base_objs]
|
||||||
|
|
||||||
sources = files(
|
sources = files(
|
||||||
'e1000_logs.c',
|
'e1000_logs.c',
|
||||||
'em_ethdev.c',
|
'em_ethdev.c',
|
||||||
'em_rxtx.c',
|
'em_rxtx.c',
|
||||||
'igb_ethdev.c',
|
'igb_ethdev.c',
|
||||||
'igb_flow.c',
|
'igb_flow.c',
|
||||||
'igb_pf.c',
|
'igb_pf.c',
|
||||||
'igb_rxtx.c'
|
'igb_rxtx.c',
|
||||||
)
|
)
|
||||||
|
|
||||||
includes += include_directories('base')
|
includes += include_directories('base')
|
||||||
|
@ -2,14 +2,16 @@
|
|||||||
# Copyright(c) 2018 Intel Corporation
|
# Copyright(c) 2018 Intel Corporation
|
||||||
|
|
||||||
if is_windows
|
if is_windows
|
||||||
build = false
|
build = false
|
||||||
reason = 'not supported on Windows'
|
reason = 'not supported on Windows'
|
||||||
subdir_done()
|
subdir_done()
|
||||||
endif
|
endif
|
||||||
|
|
||||||
sources = files('ena_ethdev.c',
|
sources = files(
|
||||||
'base/ena_com.c',
|
'ena_ethdev.c',
|
||||||
'base/ena_eth_com.c')
|
'base/ena_com.c',
|
||||||
|
'base/ena_eth_com.c',
|
||||||
|
)
|
||||||
|
|
||||||
deps += ['timer']
|
deps += ['timer']
|
||||||
|
|
||||||
|
@ -2,12 +2,14 @@
|
|||||||
# Copyright 2018 NXP
|
# Copyright 2018 NXP
|
||||||
|
|
||||||
if not is_linux
|
if not is_linux
|
||||||
build = false
|
build = false
|
||||||
reason = 'only supported on Linux'
|
reason = 'only supported on Linux'
|
||||||
endif
|
endif
|
||||||
|
|
||||||
deps += ['common_dpaax']
|
deps += ['common_dpaax']
|
||||||
sources = files('enetc_ethdev.c',
|
sources = files(
|
||||||
'enetc_rxtx.c')
|
'enetc_ethdev.c',
|
||||||
|
'enetc_rxtx.c',
|
||||||
|
)
|
||||||
|
|
||||||
includes += include_directories('base')
|
includes += include_directories('base')
|
||||||
|
@ -2,40 +2,40 @@
|
|||||||
# Copyright(c) 2018 Cisco Systems, Inc.
|
# Copyright(c) 2018 Cisco Systems, Inc.
|
||||||
|
|
||||||
if is_windows
|
if is_windows
|
||||||
build = false
|
build = false
|
||||||
reason = 'not supported on Windows'
|
reason = 'not supported on Windows'
|
||||||
subdir_done()
|
subdir_done()
|
||||||
endif
|
endif
|
||||||
|
|
||||||
sources = files(
|
sources = files(
|
||||||
'base/vnic_cq.c',
|
'base/vnic_cq.c',
|
||||||
'base/vnic_dev.c',
|
'base/vnic_dev.c',
|
||||||
'base/vnic_intr.c',
|
'base/vnic_intr.c',
|
||||||
'base/vnic_rq.c',
|
'base/vnic_rq.c',
|
||||||
'base/vnic_wq.c',
|
'base/vnic_wq.c',
|
||||||
'enic_ethdev.c',
|
'enic_ethdev.c',
|
||||||
'enic_flow.c',
|
'enic_flow.c',
|
||||||
'enic_fm_flow.c',
|
'enic_fm_flow.c',
|
||||||
'enic_main.c',
|
'enic_main.c',
|
||||||
'enic_res.c',
|
'enic_res.c',
|
||||||
'enic_rxtx.c',
|
'enic_rxtx.c',
|
||||||
'enic_vf_representor.c',
|
'enic_vf_representor.c',
|
||||||
)
|
)
|
||||||
deps += ['hash']
|
deps += ['hash']
|
||||||
includes += include_directories('base')
|
includes += include_directories('base')
|
||||||
|
|
||||||
# The current implementation assumes 64-bit pointers
|
# The current implementation assumes 64-bit pointers
|
||||||
if cc.get_define('__AVX2__', args: machine_args) != '' and dpdk_conf.get('RTE_ARCH_64')
|
if cc.get_define('__AVX2__', args: machine_args) != '' and dpdk_conf.get('RTE_ARCH_64')
|
||||||
sources += files('enic_rxtx_vec_avx2.c')
|
sources += files('enic_rxtx_vec_avx2.c')
|
||||||
# Build the avx2 handler if the compiler supports it, even though 'machine'
|
# Build the avx2 handler if the compiler supports it, even though 'machine'
|
||||||
# does not. This is to support users who build for the min supported machine
|
# does not. This is to support users who build for the min supported machine
|
||||||
# and need to run the binary on newer CPUs too.
|
# and need to run the binary on newer CPUs too.
|
||||||
# This part is from i40e meson.build
|
# This part is from i40e meson.build
|
||||||
elif cc.has_argument('-mavx2') and dpdk_conf.get('RTE_ARCH_64')
|
elif cc.has_argument('-mavx2') and dpdk_conf.get('RTE_ARCH_64')
|
||||||
enic_avx2_lib = static_library('enic_avx2_lib',
|
enic_avx2_lib = static_library('enic_avx2_lib',
|
||||||
'enic_rxtx_vec_avx2.c',
|
'enic_rxtx_vec_avx2.c',
|
||||||
dependencies: [static_rte_ethdev, static_rte_bus_pci],
|
dependencies: [static_rte_ethdev, static_rte_bus_pci],
|
||||||
include_directories: includes,
|
include_directories: includes,
|
||||||
c_args: [cflags, '-mavx2'])
|
c_args: [cflags, '-mavx2'])
|
||||||
objs += enic_avx2_lib.extract_objects('enic_rxtx_vec_avx2.c')
|
objs += enic_avx2_lib.extract_objects('enic_rxtx_vec_avx2.c')
|
||||||
endif
|
endif
|
||||||
|
@ -2,9 +2,9 @@
|
|||||||
# Copyright(c) 2018 Intel Corporation
|
# Copyright(c) 2018 Intel Corporation
|
||||||
|
|
||||||
if is_windows
|
if is_windows
|
||||||
build = false
|
build = false
|
||||||
reason = 'not supported on Windows'
|
reason = 'not supported on Windows'
|
||||||
subdir_done()
|
subdir_done()
|
||||||
endif
|
endif
|
||||||
|
|
||||||
cflags += '-std=gnu99'
|
cflags += '-std=gnu99'
|
||||||
@ -12,16 +12,18 @@ cflags += '-D_DEFAULT_SOURCE'
|
|||||||
cflags += '-D_XOPEN_SOURCE=700'
|
cflags += '-D_XOPEN_SOURCE=700'
|
||||||
cflags += '-pedantic'
|
cflags += '-pedantic'
|
||||||
if is_linux
|
if is_linux
|
||||||
cflags += '-DLINUX'
|
cflags += '-DLINUX'
|
||||||
else
|
else
|
||||||
cflags += '-DBSD'
|
cflags += '-DBSD'
|
||||||
endif
|
endif
|
||||||
|
|
||||||
sources = files('failsafe_args.c',
|
sources = files(
|
||||||
'failsafe.c',
|
'failsafe.c',
|
||||||
'failsafe_eal.c',
|
'failsafe_args.c',
|
||||||
'failsafe_ether.c',
|
'failsafe_eal.c',
|
||||||
'failsafe_flow.c',
|
'failsafe_ether.c',
|
||||||
'failsafe_intr.c',
|
'failsafe_flow.c',
|
||||||
'failsafe_ops.c',
|
'failsafe_intr.c',
|
||||||
'failsafe_rxtx.c')
|
'failsafe_ops.c',
|
||||||
|
'failsafe_rxtx.c',
|
||||||
|
)
|
||||||
|
@ -2,27 +2,27 @@
|
|||||||
# Copyright(c) 2017 Intel Corporation
|
# Copyright(c) 2017 Intel Corporation
|
||||||
|
|
||||||
sources = [
|
sources = [
|
||||||
'fm10k_api.c',
|
'fm10k_api.c',
|
||||||
'fm10k_common.c',
|
'fm10k_common.c',
|
||||||
'fm10k_mbx.c',
|
'fm10k_mbx.c',
|
||||||
'fm10k_pf.c',
|
'fm10k_pf.c',
|
||||||
'fm10k_tlv.c',
|
'fm10k_tlv.c',
|
||||||
'fm10k_vf.c'
|
'fm10k_vf.c'
|
||||||
]
|
]
|
||||||
|
|
||||||
error_cflags = ['-Wno-unused-parameter', '-Wno-unused-value',
|
error_cflags = ['-Wno-unused-parameter', '-Wno-unused-value',
|
||||||
'-Wno-strict-aliasing', '-Wno-format-extra-args',
|
'-Wno-strict-aliasing', '-Wno-format-extra-args',
|
||||||
'-Wno-unused-variable',
|
'-Wno-unused-variable',
|
||||||
'-Wno-implicit-fallthrough'
|
'-Wno-implicit-fallthrough'
|
||||||
]
|
]
|
||||||
c_args = cflags
|
c_args = cflags
|
||||||
foreach flag: error_cflags
|
foreach flag: error_cflags
|
||||||
if cc.has_argument(flag)
|
if cc.has_argument(flag)
|
||||||
c_args += flag
|
c_args += flag
|
||||||
endif
|
endif
|
||||||
endforeach
|
endforeach
|
||||||
|
|
||||||
base_lib = static_library('fm10k_base', sources,
|
base_lib = static_library('fm10k_base', sources,
|
||||||
dependencies: static_rte_eal,
|
dependencies: static_rte_eal,
|
||||||
c_args: c_args)
|
c_args: c_args)
|
||||||
base_objs = base_lib.extract_all_objects()
|
base_objs = base_lib.extract_all_objects()
|
||||||
|
@ -2,20 +2,20 @@
|
|||||||
# Copyright(c) 2017 Intel Corporation
|
# Copyright(c) 2017 Intel Corporation
|
||||||
|
|
||||||
if is_windows
|
if is_windows
|
||||||
build = false
|
build = false
|
||||||
reason = 'not supported on Windows'
|
reason = 'not supported on Windows'
|
||||||
subdir_done()
|
subdir_done()
|
||||||
endif
|
endif
|
||||||
|
|
||||||
subdir('base')
|
subdir('base')
|
||||||
objs = [base_objs]
|
objs = [base_objs]
|
||||||
|
|
||||||
sources = files(
|
sources = files(
|
||||||
'fm10k_ethdev.c',
|
'fm10k_ethdev.c',
|
||||||
'fm10k_rxtx.c',
|
'fm10k_rxtx.c',
|
||||||
)
|
)
|
||||||
if arch_subdir == 'x86'
|
if arch_subdir == 'x86'
|
||||||
sources += files('fm10k_rxtx_vec.c')
|
sources += files('fm10k_rxtx_vec.c')
|
||||||
endif
|
endif
|
||||||
|
|
||||||
includes += include_directories('base')
|
includes += include_directories('base')
|
||||||
|
@ -2,17 +2,17 @@
|
|||||||
# Copyright(c) 2017 Huawei Technologies Co., Ltd
|
# Copyright(c) 2017 Huawei Technologies Co., Ltd
|
||||||
|
|
||||||
sources = [
|
sources = [
|
||||||
'hinic_pmd_api_cmd.c',
|
'hinic_pmd_api_cmd.c',
|
||||||
'hinic_pmd_cfg.c',
|
'hinic_pmd_cfg.c',
|
||||||
'hinic_pmd_cmdq.c',
|
'hinic_pmd_cmdq.c',
|
||||||
'hinic_pmd_eqs.c',
|
'hinic_pmd_eqs.c',
|
||||||
'hinic_pmd_hwdev.c',
|
'hinic_pmd_hwdev.c',
|
||||||
'hinic_pmd_hwif.c',
|
'hinic_pmd_hwif.c',
|
||||||
'hinic_pmd_mgmt.c',
|
'hinic_pmd_mgmt.c',
|
||||||
'hinic_pmd_niccfg.c',
|
'hinic_pmd_niccfg.c',
|
||||||
'hinic_pmd_nicio.c',
|
'hinic_pmd_nicio.c',
|
||||||
'hinic_pmd_wq.c',
|
'hinic_pmd_wq.c',
|
||||||
'hinic_pmd_mbox.c',
|
'hinic_pmd_mbox.c',
|
||||||
]
|
]
|
||||||
|
|
||||||
extra_flags = []
|
extra_flags = []
|
||||||
@ -32,6 +32,6 @@ deps += ['hash']
|
|||||||
c_args = cflags
|
c_args = cflags
|
||||||
|
|
||||||
base_lib = static_library('hinic_base', sources,
|
base_lib = static_library('hinic_base', sources,
|
||||||
dependencies: [static_rte_eal, static_rte_ethdev, static_rte_bus_pci, static_rte_hash],
|
dependencies: [static_rte_eal, static_rte_ethdev, static_rte_bus_pci, static_rte_hash],
|
||||||
c_args: c_args)
|
c_args: c_args)
|
||||||
base_objs = base_lib.extract_all_objects()
|
base_objs = base_lib.extract_all_objects()
|
||||||
|
@ -2,19 +2,19 @@
|
|||||||
# Copyright(c) 2017 Huawei Technologies Co., Ltd
|
# Copyright(c) 2017 Huawei Technologies Co., Ltd
|
||||||
|
|
||||||
if is_windows
|
if is_windows
|
||||||
build = false
|
build = false
|
||||||
reason = 'not supported on Windows'
|
reason = 'not supported on Windows'
|
||||||
subdir_done()
|
subdir_done()
|
||||||
endif
|
endif
|
||||||
|
|
||||||
subdir('base')
|
subdir('base')
|
||||||
objs = [base_objs]
|
objs = [base_objs]
|
||||||
|
|
||||||
sources = files(
|
sources = files(
|
||||||
'hinic_pmd_ethdev.c',
|
'hinic_pmd_ethdev.c',
|
||||||
'hinic_pmd_rx.c',
|
'hinic_pmd_rx.c',
|
||||||
'hinic_pmd_tx.c',
|
'hinic_pmd_tx.c',
|
||||||
'hinic_pmd_flow.c',
|
'hinic_pmd_flow.c',
|
||||||
)
|
)
|
||||||
|
|
||||||
includes += include_directories('base')
|
includes += include_directories('base')
|
||||||
|
@ -2,38 +2,40 @@
|
|||||||
# Copyright(c) 2018-2021 Hisilicon Limited
|
# Copyright(c) 2018-2021 Hisilicon Limited
|
||||||
|
|
||||||
if not is_linux
|
if not is_linux
|
||||||
build = false
|
build = false
|
||||||
reason = 'only supported on Linux'
|
reason = 'only supported on Linux'
|
||||||
subdir_done()
|
subdir_done()
|
||||||
endif
|
endif
|
||||||
|
|
||||||
if arch_subdir != 'x86' and arch_subdir != 'arm' or not dpdk_conf.get('RTE_ARCH_64')
|
if arch_subdir != 'x86' and arch_subdir != 'arm' or not dpdk_conf.get('RTE_ARCH_64')
|
||||||
build = false
|
build = false
|
||||||
reason = 'only supported on x86_64 and aarch64'
|
reason = 'only supported on x86_64 and aarch64'
|
||||||
subdir_done()
|
subdir_done()
|
||||||
endif
|
endif
|
||||||
|
|
||||||
sources = files('hns3_cmd.c',
|
sources = files(
|
||||||
'hns3_dcb.c',
|
'hns3_cmd.c',
|
||||||
'hns3_intr.c',
|
'hns3_dcb.c',
|
||||||
'hns3_ethdev.c',
|
'hns3_intr.c',
|
||||||
'hns3_ethdev_vf.c',
|
'hns3_ethdev.c',
|
||||||
'hns3_fdir.c',
|
'hns3_ethdev_vf.c',
|
||||||
'hns3_flow.c',
|
'hns3_fdir.c',
|
||||||
'hns3_mbx.c',
|
'hns3_flow.c',
|
||||||
'hns3_regs.c',
|
'hns3_mbx.c',
|
||||||
'hns3_rss.c',
|
'hns3_regs.c',
|
||||||
'hns3_rxtx.c',
|
'hns3_rss.c',
|
||||||
'hns3_stats.c',
|
'hns3_rxtx.c',
|
||||||
'hns3_mp.c',
|
'hns3_stats.c',
|
||||||
'hns3_tm.c',
|
'hns3_mp.c',
|
||||||
'hns3_ptp.c')
|
'hns3_tm.c',
|
||||||
|
'hns3_ptp.c',
|
||||||
|
)
|
||||||
|
|
||||||
deps += ['hash']
|
deps += ['hash']
|
||||||
|
|
||||||
if arch_subdir == 'arm' and dpdk_conf.get('RTE_ARCH_64')
|
if arch_subdir == 'arm' and dpdk_conf.get('RTE_ARCH_64')
|
||||||
sources += files('hns3_rxtx_vec.c')
|
sources += files('hns3_rxtx_vec.c')
|
||||||
if cc.get_define('__ARM_FEATURE_SVE', args: machine_args) != ''
|
if cc.get_define('__ARM_FEATURE_SVE', args: machine_args) != ''
|
||||||
sources += files('hns3_rxtx_vec_sve.c')
|
sources += files('hns3_rxtx_vec_sve.c')
|
||||||
endif
|
endif
|
||||||
endif
|
endif
|
||||||
|
@ -2,29 +2,29 @@
|
|||||||
# Copyright(c) 2017-2020 Intel Corporation
|
# Copyright(c) 2017-2020 Intel Corporation
|
||||||
|
|
||||||
sources = [
|
sources = [
|
||||||
'i40e_adminq.c',
|
'i40e_adminq.c',
|
||||||
'i40e_common.c',
|
'i40e_common.c',
|
||||||
'i40e_dcb.c',
|
'i40e_dcb.c',
|
||||||
'i40e_diag.c',
|
'i40e_diag.c',
|
||||||
'i40e_hmc.c',
|
'i40e_hmc.c',
|
||||||
'i40e_lan_hmc.c',
|
'i40e_lan_hmc.c',
|
||||||
'i40e_nvm.c'
|
'i40e_nvm.c'
|
||||||
]
|
]
|
||||||
|
|
||||||
error_cflags = ['-Wno-sign-compare', '-Wno-unused-value',
|
error_cflags = ['-Wno-sign-compare', '-Wno-unused-value',
|
||||||
'-Wno-format', '-Wno-format-security',
|
'-Wno-format', '-Wno-format-security',
|
||||||
'-Wno-format-nonliteral',
|
'-Wno-format-nonliteral',
|
||||||
'-Wno-strict-aliasing', '-Wno-unused-but-set-variable',
|
'-Wno-strict-aliasing', '-Wno-unused-but-set-variable',
|
||||||
'-Wno-unused-parameter',
|
'-Wno-unused-parameter',
|
||||||
]
|
]
|
||||||
c_args = cflags
|
c_args = cflags
|
||||||
foreach flag: error_cflags
|
foreach flag: error_cflags
|
||||||
if cc.has_argument(flag)
|
if cc.has_argument(flag)
|
||||||
c_args += flag
|
c_args += flag
|
||||||
endif
|
endif
|
||||||
endforeach
|
endforeach
|
||||||
|
|
||||||
base_lib = static_library('i40e_base', sources,
|
base_lib = static_library('i40e_base', sources,
|
||||||
dependencies: static_rte_eal,
|
dependencies: static_rte_eal,
|
||||||
c_args: c_args)
|
c_args: c_args)
|
||||||
base_objs = base_lib.extract_all_objects()
|
base_objs = base_lib.extract_all_objects()
|
||||||
|
@ -2,76 +2,76 @@
|
|||||||
# Copyright(c) 2017 Intel Corporation
|
# Copyright(c) 2017 Intel Corporation
|
||||||
|
|
||||||
cflags += ['-DPF_DRIVER',
|
cflags += ['-DPF_DRIVER',
|
||||||
'-DVF_DRIVER',
|
'-DVF_DRIVER',
|
||||||
'-DINTEGRATED_VF',
|
'-DINTEGRATED_VF',
|
||||||
'-DX722_A0_SUPPORT']
|
'-DX722_A0_SUPPORT']
|
||||||
|
|
||||||
subdir('base')
|
subdir('base')
|
||||||
objs = [base_objs]
|
objs = [base_objs]
|
||||||
|
|
||||||
sources = files(
|
sources = files(
|
||||||
'i40e_ethdev.c',
|
'i40e_ethdev.c',
|
||||||
'i40e_rxtx.c',
|
'i40e_rxtx.c',
|
||||||
'i40e_ethdev_vf.c',
|
'i40e_ethdev_vf.c',
|
||||||
'i40e_pf.c',
|
'i40e_pf.c',
|
||||||
'i40e_fdir.c',
|
'i40e_fdir.c',
|
||||||
'i40e_flow.c',
|
'i40e_flow.c',
|
||||||
'i40e_tm.c',
|
'i40e_tm.c',
|
||||||
'i40e_hash.c',
|
'i40e_hash.c',
|
||||||
'i40e_vf_representor.c',
|
'i40e_vf_representor.c',
|
||||||
'rte_pmd_i40e.c'
|
'rte_pmd_i40e.c',
|
||||||
)
|
)
|
||||||
|
|
||||||
deps += ['hash']
|
deps += ['hash']
|
||||||
includes += include_directories('base')
|
includes += include_directories('base')
|
||||||
|
|
||||||
if arch_subdir == 'x86'
|
if arch_subdir == 'x86'
|
||||||
sources += files('i40e_rxtx_vec_sse.c')
|
sources += files('i40e_rxtx_vec_sse.c')
|
||||||
|
|
||||||
if is_windows and cc.get_id() != 'clang'
|
if is_windows and cc.get_id() != 'clang'
|
||||||
cflags += ['-fno-asynchronous-unwind-tables']
|
cflags += ['-fno-asynchronous-unwind-tables']
|
||||||
endif
|
endif
|
||||||
|
|
||||||
# compile AVX2 version if either:
|
# compile AVX2 version if either:
|
||||||
# a. we have AVX supported in minimum instruction set baseline
|
# a. we have AVX supported in minimum instruction set baseline
|
||||||
# b. it's not minimum instruction set, but supported by compiler
|
# b. it's not minimum instruction set, but supported by compiler
|
||||||
if cc.get_define('__AVX2__', args: machine_args) != ''
|
if cc.get_define('__AVX2__', args: machine_args) != ''
|
||||||
cflags += ['-DCC_AVX2_SUPPORT']
|
cflags += ['-DCC_AVX2_SUPPORT']
|
||||||
sources += files('i40e_rxtx_vec_avx2.c')
|
sources += files('i40e_rxtx_vec_avx2.c')
|
||||||
elif cc.has_argument('-mavx2')
|
elif cc.has_argument('-mavx2')
|
||||||
cflags += ['-DCC_AVX2_SUPPORT']
|
cflags += ['-DCC_AVX2_SUPPORT']
|
||||||
i40e_avx2_lib = static_library('i40e_avx2_lib',
|
i40e_avx2_lib = static_library('i40e_avx2_lib',
|
||||||
'i40e_rxtx_vec_avx2.c',
|
'i40e_rxtx_vec_avx2.c',
|
||||||
dependencies: [static_rte_ethdev,
|
dependencies: [static_rte_ethdev,
|
||||||
static_rte_kvargs, static_rte_hash],
|
static_rte_kvargs, static_rte_hash],
|
||||||
include_directories: includes,
|
include_directories: includes,
|
||||||
c_args: [cflags, '-mavx2'])
|
c_args: [cflags, '-mavx2'])
|
||||||
objs += i40e_avx2_lib.extract_objects('i40e_rxtx_vec_avx2.c')
|
objs += i40e_avx2_lib.extract_objects('i40e_rxtx_vec_avx2.c')
|
||||||
endif
|
endif
|
||||||
|
|
||||||
i40e_avx512_cpu_support = (
|
i40e_avx512_cpu_support = (
|
||||||
cc.get_define('__AVX512F__', args: machine_args) != '' and
|
cc.get_define('__AVX512F__', args: machine_args) != '' and
|
||||||
cc.get_define('__AVX512BW__', args: machine_args) != '')
|
cc.get_define('__AVX512BW__', args: machine_args) != '')
|
||||||
|
|
||||||
i40e_avx512_cc_support = (
|
i40e_avx512_cc_support = (
|
||||||
not machine_args.contains('-mno-avx512f') and
|
not machine_args.contains('-mno-avx512f') and
|
||||||
cc.has_argument('-mavx512f') and
|
cc.has_argument('-mavx512f') and
|
||||||
cc.has_argument('-mavx512bw'))
|
cc.has_argument('-mavx512bw'))
|
||||||
|
|
||||||
if i40e_avx512_cpu_support == true or i40e_avx512_cc_support == true
|
if i40e_avx512_cpu_support == true or i40e_avx512_cc_support == true
|
||||||
cflags += ['-DCC_AVX512_SUPPORT']
|
cflags += ['-DCC_AVX512_SUPPORT']
|
||||||
avx512_args = [cflags, '-mavx512f', '-mavx512bw']
|
avx512_args = [cflags, '-mavx512f', '-mavx512bw']
|
||||||
if cc.has_argument('-march=skylake-avx512')
|
if cc.has_argument('-march=skylake-avx512')
|
||||||
avx512_args += '-march=skylake-avx512'
|
avx512_args += '-march=skylake-avx512'
|
||||||
endif
|
endif
|
||||||
i40e_avx512_lib = static_library('i40e_avx512_lib',
|
i40e_avx512_lib = static_library('i40e_avx512_lib',
|
||||||
'i40e_rxtx_vec_avx512.c',
|
'i40e_rxtx_vec_avx512.c',
|
||||||
dependencies: [static_rte_ethdev,
|
dependencies: [static_rte_ethdev,
|
||||||
static_rte_kvargs, static_rte_hash],
|
static_rte_kvargs, static_rte_hash],
|
||||||
include_directories: includes,
|
include_directories: includes,
|
||||||
c_args: avx512_args)
|
c_args: avx512_args)
|
||||||
objs += i40e_avx512_lib.extract_objects('i40e_rxtx_vec_avx512.c')
|
objs += i40e_avx512_lib.extract_objects('i40e_rxtx_vec_avx512.c')
|
||||||
endif
|
endif
|
||||||
elif arch_subdir == 'ppc'
|
elif arch_subdir == 'ppc'
|
||||||
sources += files('i40e_rxtx_vec_altivec.c')
|
sources += files('i40e_rxtx_vec_altivec.c')
|
||||||
elif arch_subdir == 'arm'
|
elif arch_subdir == 'arm'
|
||||||
|
@ -2,9 +2,9 @@
|
|||||||
# Copyright(c) 2018 Luca Boccassi <bluca@debian.org>
|
# Copyright(c) 2018 Luca Boccassi <bluca@debian.org>
|
||||||
|
|
||||||
if is_windows
|
if is_windows
|
||||||
build = false
|
build = false
|
||||||
reason = 'not supported on Windows'
|
reason = 'not supported on Windows'
|
||||||
subdir_done()
|
subdir_done()
|
||||||
endif
|
endif
|
||||||
|
|
||||||
cflags += ['-Wno-strict-aliasing']
|
cflags += ['-Wno-strict-aliasing']
|
||||||
@ -13,57 +13,57 @@ includes += include_directories('../../common/iavf')
|
|||||||
deps += ['common_iavf']
|
deps += ['common_iavf']
|
||||||
|
|
||||||
sources = files(
|
sources = files(
|
||||||
'iavf_ethdev.c',
|
'iavf_ethdev.c',
|
||||||
'iavf_rxtx.c',
|
'iavf_rxtx.c',
|
||||||
'iavf_vchnl.c',
|
'iavf_vchnl.c',
|
||||||
'iavf_generic_flow.c',
|
'iavf_generic_flow.c',
|
||||||
'iavf_fdir.c',
|
'iavf_fdir.c',
|
||||||
'iavf_hash.c',
|
'iavf_hash.c',
|
||||||
)
|
)
|
||||||
|
|
||||||
if arch_subdir == 'x86'
|
if arch_subdir == 'x86'
|
||||||
sources += files('iavf_rxtx_vec_sse.c')
|
sources += files('iavf_rxtx_vec_sse.c')
|
||||||
|
|
||||||
# compile AVX2 version if either:
|
# compile AVX2 version if either:
|
||||||
# a. we have AVX supported in minimum instruction set baseline
|
# a. we have AVX supported in minimum instruction set baseline
|
||||||
# b. it's not minimum instruction set, but supported by compiler
|
# b. it's not minimum instruction set, but supported by compiler
|
||||||
if cc.get_define('__AVX2__', args: machine_args) != ''
|
if cc.get_define('__AVX2__', args: machine_args) != ''
|
||||||
cflags += ['-DCC_AVX2_SUPPORT']
|
cflags += ['-DCC_AVX2_SUPPORT']
|
||||||
sources += files('iavf_rxtx_vec_avx2.c')
|
sources += files('iavf_rxtx_vec_avx2.c')
|
||||||
elif cc.has_argument('-mavx2')
|
elif cc.has_argument('-mavx2')
|
||||||
cflags += ['-DCC_AVX2_SUPPORT']
|
cflags += ['-DCC_AVX2_SUPPORT']
|
||||||
iavf_avx2_lib = static_library('iavf_avx2_lib',
|
iavf_avx2_lib = static_library('iavf_avx2_lib',
|
||||||
'iavf_rxtx_vec_avx2.c',
|
'iavf_rxtx_vec_avx2.c',
|
||||||
dependencies: [static_rte_ethdev,
|
dependencies: [static_rte_ethdev,
|
||||||
static_rte_kvargs, static_rte_hash],
|
static_rte_kvargs, static_rte_hash],
|
||||||
include_directories: includes,
|
include_directories: includes,
|
||||||
c_args: [cflags, '-mavx2'])
|
c_args: [cflags, '-mavx2'])
|
||||||
objs += iavf_avx2_lib.extract_objects('iavf_rxtx_vec_avx2.c')
|
objs += iavf_avx2_lib.extract_objects('iavf_rxtx_vec_avx2.c')
|
||||||
endif
|
endif
|
||||||
|
|
||||||
iavf_avx512_cpu_support = (
|
iavf_avx512_cpu_support = (
|
||||||
cc.get_define('__AVX512F__', args: machine_args) != '' and
|
cc.get_define('__AVX512F__', args: machine_args) != '' and
|
||||||
cc.get_define('__AVX512BW__', args: machine_args) != '')
|
cc.get_define('__AVX512BW__', args: machine_args) != '')
|
||||||
|
|
||||||
iavf_avx512_cc_support = (
|
iavf_avx512_cc_support = (
|
||||||
not machine_args.contains('-mno-avx512f') and
|
not machine_args.contains('-mno-avx512f') and
|
||||||
cc.has_argument('-mavx512f') and
|
cc.has_argument('-mavx512f') and
|
||||||
cc.has_argument('-mavx512bw'))
|
cc.has_argument('-mavx512bw'))
|
||||||
|
|
||||||
if iavf_avx512_cpu_support == true or iavf_avx512_cc_support == true
|
if iavf_avx512_cpu_support == true or iavf_avx512_cc_support == true
|
||||||
cflags += ['-DCC_AVX512_SUPPORT']
|
cflags += ['-DCC_AVX512_SUPPORT']
|
||||||
avx512_args = [cflags, '-mavx512f', '-mavx512bw']
|
avx512_args = [cflags, '-mavx512f', '-mavx512bw']
|
||||||
if cc.has_argument('-march=skylake-avx512')
|
if cc.has_argument('-march=skylake-avx512')
|
||||||
avx512_args += '-march=skylake-avx512'
|
avx512_args += '-march=skylake-avx512'
|
||||||
endif
|
endif
|
||||||
iavf_avx512_lib = static_library('iavf_avx512_lib',
|
iavf_avx512_lib = static_library('iavf_avx512_lib',
|
||||||
'iavf_rxtx_vec_avx512.c',
|
'iavf_rxtx_vec_avx512.c',
|
||||||
dependencies: [static_rte_ethdev,
|
dependencies: [static_rte_ethdev,
|
||||||
static_rte_kvargs, static_rte_hash],
|
static_rte_kvargs, static_rte_hash],
|
||||||
include_directories: includes,
|
include_directories: includes,
|
||||||
c_args: avx512_args)
|
c_args: avx512_args)
|
||||||
objs += iavf_avx512_lib.extract_objects('iavf_rxtx_vec_avx512.c')
|
objs += iavf_avx512_lib.extract_objects('iavf_rxtx_vec_avx512.c')
|
||||||
endif
|
endif
|
||||||
endif
|
endif
|
||||||
|
|
||||||
headers = files('rte_pmd_iavf.h')
|
headers = files('rte_pmd_iavf.h')
|
||||||
|
@ -2,39 +2,40 @@
|
|||||||
# Copyright(c) 2018-2021 Intel Corporation
|
# Copyright(c) 2018-2021 Intel Corporation
|
||||||
|
|
||||||
sources = [
|
sources = [
|
||||||
'ice_controlq.c',
|
'ice_controlq.c',
|
||||||
'ice_common.c',
|
'ice_common.c',
|
||||||
'ice_sched.c',
|
'ice_sched.c',
|
||||||
'ice_switch.c',
|
'ice_switch.c',
|
||||||
'ice_nvm.c',
|
'ice_nvm.c',
|
||||||
'ice_flex_pipe.c',
|
'ice_flex_pipe.c',
|
||||||
'ice_flow.c',
|
'ice_flow.c',
|
||||||
'ice_dcb.c',
|
'ice_dcb.c',
|
||||||
'ice_fdir.c',
|
'ice_fdir.c',
|
||||||
'ice_acl.c',
|
'ice_acl.c',
|
||||||
'ice_acl_ctrl.c',
|
'ice_acl_ctrl.c',
|
||||||
'ice_vlan_mode.c',
|
'ice_vlan_mode.c',
|
||||||
]
|
]
|
||||||
|
|
||||||
error_cflags = ['-Wno-unused-value',
|
error_cflags = [
|
||||||
'-Wno-unused-but-set-variable',
|
'-Wno-unused-value',
|
||||||
'-Wno-unused-variable',
|
'-Wno-unused-but-set-variable',
|
||||||
'-Wno-unused-parameter',
|
'-Wno-unused-variable',
|
||||||
|
'-Wno-unused-parameter',
|
||||||
]
|
]
|
||||||
|
|
||||||
if is_windows and cc.get_id() != 'clang'
|
if is_windows and cc.get_id() != 'clang'
|
||||||
cflags += ['-fno-asynchronous-unwind-tables']
|
cflags += ['-fno-asynchronous-unwind-tables']
|
||||||
endif
|
endif
|
||||||
|
|
||||||
c_args = cflags
|
c_args = cflags
|
||||||
|
|
||||||
foreach flag: error_cflags
|
foreach flag: error_cflags
|
||||||
if cc.has_argument(flag)
|
if cc.has_argument(flag)
|
||||||
c_args += flag
|
c_args += flag
|
||||||
endif
|
endif
|
||||||
endforeach
|
endforeach
|
||||||
|
|
||||||
base_lib = static_library('ice_base', sources,
|
base_lib = static_library('ice_base', sources,
|
||||||
dependencies: static_rte_eal,
|
dependencies: static_rte_eal,
|
||||||
c_args: c_args)
|
c_args: c_args)
|
||||||
base_objs = base_lib.extract_all_objects()
|
base_objs = base_lib.extract_all_objects()
|
||||||
|
@ -5,70 +5,71 @@ subdir('base')
|
|||||||
objs = [base_objs]
|
objs = [base_objs]
|
||||||
|
|
||||||
sources = files(
|
sources = files(
|
||||||
'ice_ethdev.c',
|
'ice_acl_filter.c',
|
||||||
'ice_rxtx.c',
|
'ice_ethdev.c',
|
||||||
'ice_switch_filter.c',
|
'ice_fdir_filter.c',
|
||||||
'ice_generic_flow.c',
|
'ice_generic_flow.c',
|
||||||
'ice_fdir_filter.c',
|
'ice_hash.c',
|
||||||
'ice_hash.c',
|
'ice_rxtx.c',
|
||||||
'ice_acl_filter.c'
|
'ice_switch_filter.c',
|
||||||
)
|
)
|
||||||
|
|
||||||
deps += ['hash', 'net', 'common_iavf']
|
deps += ['hash', 'net', 'common_iavf']
|
||||||
includes += include_directories('base', '../../common/iavf')
|
includes += include_directories('base', '../../common/iavf')
|
||||||
|
|
||||||
if arch_subdir == 'x86'
|
if arch_subdir == 'x86'
|
||||||
sources += files('ice_rxtx_vec_sse.c')
|
sources += files('ice_rxtx_vec_sse.c')
|
||||||
|
|
||||||
if is_windows and cc.get_id() != 'clang'
|
if is_windows and cc.get_id() != 'clang'
|
||||||
cflags += ['-fno-asynchronous-unwind-tables']
|
cflags += ['-fno-asynchronous-unwind-tables']
|
||||||
endif
|
endif
|
||||||
|
|
||||||
# compile AVX2 version if either:
|
# compile AVX2 version if either:
|
||||||
# a. we have AVX supported in minimum instruction set baseline
|
# a. we have AVX supported in minimum instruction set baseline
|
||||||
# b. it's not minimum instruction set, but supported by compiler
|
# b. it's not minimum instruction set, but supported by compiler
|
||||||
if cc.get_define('__AVX2__', args: machine_args) != ''
|
if cc.get_define('__AVX2__', args: machine_args) != ''
|
||||||
cflags += ['-DCC_AVX2_SUPPORT']
|
cflags += ['-DCC_AVX2_SUPPORT']
|
||||||
sources += files('ice_rxtx_vec_avx2.c')
|
sources += files('ice_rxtx_vec_avx2.c')
|
||||||
elif cc.has_argument('-mavx2')
|
elif cc.has_argument('-mavx2')
|
||||||
cflags += ['-DCC_AVX2_SUPPORT']
|
cflags += ['-DCC_AVX2_SUPPORT']
|
||||||
ice_avx2_lib = static_library('ice_avx2_lib',
|
ice_avx2_lib = static_library('ice_avx2_lib',
|
||||||
'ice_rxtx_vec_avx2.c',
|
'ice_rxtx_vec_avx2.c',
|
||||||
dependencies: [static_rte_ethdev,
|
dependencies: [static_rte_ethdev, static_rte_kvargs, static_rte_hash],
|
||||||
static_rte_kvargs, static_rte_hash],
|
include_directories: includes,
|
||||||
include_directories: includes,
|
c_args: [cflags, '-mavx2'])
|
||||||
c_args: [cflags, '-mavx2'])
|
objs += ice_avx2_lib.extract_objects('ice_rxtx_vec_avx2.c')
|
||||||
objs += ice_avx2_lib.extract_objects('ice_rxtx_vec_avx2.c')
|
endif
|
||||||
endif
|
|
||||||
|
|
||||||
ice_avx512_cpu_support = (
|
ice_avx512_cpu_support = (
|
||||||
cc.get_define('__AVX512F__', args: machine_args) != '' and
|
cc.get_define('__AVX512F__', args: machine_args) != '' and
|
||||||
cc.get_define('__AVX512BW__', args: machine_args) != '')
|
cc.get_define('__AVX512BW__', args: machine_args) != ''
|
||||||
|
)
|
||||||
|
|
||||||
ice_avx512_cc_support = (
|
ice_avx512_cc_support = (
|
||||||
not machine_args.contains('-mno-avx512f') and
|
not machine_args.contains('-mno-avx512f') and
|
||||||
cc.has_argument('-mavx512f') and
|
cc.has_argument('-mavx512f') and
|
||||||
cc.has_argument('-mavx512bw'))
|
cc.has_argument('-mavx512bw')
|
||||||
|
)
|
||||||
|
|
||||||
if ice_avx512_cpu_support == true or ice_avx512_cc_support == true
|
if ice_avx512_cpu_support == true or ice_avx512_cc_support == true
|
||||||
cflags += ['-DCC_AVX512_SUPPORT']
|
cflags += ['-DCC_AVX512_SUPPORT']
|
||||||
avx512_args = [cflags, '-mavx512f', '-mavx512bw']
|
avx512_args = [cflags, '-mavx512f', '-mavx512bw']
|
||||||
if cc.has_argument('-march=skylake-avx512')
|
if cc.has_argument('-march=skylake-avx512')
|
||||||
avx512_args += '-march=skylake-avx512'
|
avx512_args += '-march=skylake-avx512'
|
||||||
endif
|
endif
|
||||||
ice_avx512_lib = static_library('ice_avx512_lib',
|
ice_avx512_lib = static_library('ice_avx512_lib',
|
||||||
'ice_rxtx_vec_avx512.c',
|
'ice_rxtx_vec_avx512.c',
|
||||||
dependencies: [static_rte_ethdev,
|
dependencies: [static_rte_ethdev,
|
||||||
static_rte_kvargs, static_rte_hash],
|
static_rte_kvargs, static_rte_hash],
|
||||||
include_directories: includes,
|
include_directories: includes,
|
||||||
c_args: avx512_args)
|
c_args: avx512_args)
|
||||||
objs += ice_avx512_lib.extract_objects('ice_rxtx_vec_avx512.c')
|
objs += ice_avx512_lib.extract_objects('ice_rxtx_vec_avx512.c')
|
||||||
endif
|
endif
|
||||||
endif
|
endif
|
||||||
|
|
||||||
sources += files('ice_dcf.c',
|
sources += files('ice_dcf.c',
|
||||||
'ice_dcf_vf_representor.c',
|
'ice_dcf_vf_representor.c',
|
||||||
'ice_dcf_ethdev.c',
|
'ice_dcf_ethdev.c',
|
||||||
'ice_dcf_parent.c')
|
'ice_dcf_parent.c')
|
||||||
|
|
||||||
headers = files('rte_pmd_ice.h')
|
headers = files('rte_pmd_ice.h')
|
||||||
|
@ -2,18 +2,18 @@
|
|||||||
# Copyright(c) 2019-2020 Intel Corporation
|
# Copyright(c) 2019-2020 Intel Corporation
|
||||||
|
|
||||||
sources = [
|
sources = [
|
||||||
'igc_api.c',
|
'igc_api.c',
|
||||||
'igc_base.c',
|
'igc_base.c',
|
||||||
'igc_i225.c',
|
'igc_i225.c',
|
||||||
'igc_mac.c',
|
'igc_mac.c',
|
||||||
'igc_manage.c',
|
'igc_manage.c',
|
||||||
'igc_nvm.c',
|
'igc_nvm.c',
|
||||||
'igc_osdep.c',
|
'igc_osdep.c',
|
||||||
'igc_phy.c',
|
'igc_phy.c',
|
||||||
]
|
]
|
||||||
|
|
||||||
base_lib = static_library('igc_base', sources,
|
base_lib = static_library('igc_base', sources,
|
||||||
dependencies: static_rte_eal,
|
dependencies: static_rte_eal,
|
||||||
c_args: cflags)
|
c_args: cflags)
|
||||||
|
|
||||||
base_objs = base_lib.extract_all_objects()
|
base_objs = base_lib.extract_all_objects()
|
||||||
|
@ -2,20 +2,20 @@
|
|||||||
# Copyright(c) 2019-2020 Intel Corporation
|
# Copyright(c) 2019-2020 Intel Corporation
|
||||||
|
|
||||||
if is_windows
|
if is_windows
|
||||||
build = false
|
build = false
|
||||||
reason = 'not supported on Windows'
|
reason = 'not supported on Windows'
|
||||||
subdir_done()
|
subdir_done()
|
||||||
endif
|
endif
|
||||||
|
|
||||||
subdir('base')
|
subdir('base')
|
||||||
objs = [base_objs]
|
objs = [base_objs]
|
||||||
|
|
||||||
sources = files(
|
sources = files(
|
||||||
'igc_logs.c',
|
'igc_ethdev.c',
|
||||||
'igc_ethdev.c',
|
'igc_logs.c',
|
||||||
'igc_txrx.c',
|
'igc_filter.c',
|
||||||
'igc_filter.c',
|
'igc_flow.c',
|
||||||
'igc_flow.c'
|
'igc_txrx.c',
|
||||||
)
|
)
|
||||||
|
|
||||||
includes += include_directories('base')
|
includes += include_directories('base')
|
||||||
|
@ -2,17 +2,17 @@
|
|||||||
# Copyright(c) 2019 Pensando
|
# Copyright(c) 2019 Pensando
|
||||||
|
|
||||||
if is_windows
|
if is_windows
|
||||||
build = false
|
build = false
|
||||||
reason = 'not supported on Windows'
|
reason = 'not supported on Windows'
|
||||||
subdir_done()
|
subdir_done()
|
||||||
endif
|
endif
|
||||||
|
|
||||||
sources = files(
|
sources = files(
|
||||||
'ionic_mac_api.c',
|
'ionic_dev.c',
|
||||||
'ionic_rx_filter.c',
|
'ionic_ethdev.c',
|
||||||
'ionic_rxtx.c',
|
'ionic_lif.c',
|
||||||
'ionic_dev.c',
|
'ionic_mac_api.c',
|
||||||
'ionic_ethdev.c',
|
'ionic_main.c',
|
||||||
'ionic_lif.c',
|
'ionic_rx_filter.c',
|
||||||
'ionic_main.c'
|
'ionic_rxtx.c',
|
||||||
)
|
)
|
||||||
|
@ -2,9 +2,9 @@
|
|||||||
# Copyright(c) 2019 Intel Corporation
|
# Copyright(c) 2019 Intel Corporation
|
||||||
|
|
||||||
if is_windows
|
if is_windows
|
||||||
build = false
|
build = false
|
||||||
reason = 'not supported on Windows'
|
reason = 'not supported on Windows'
|
||||||
subdir_done()
|
subdir_done()
|
||||||
endif
|
endif
|
||||||
|
|
||||||
#
|
#
|
||||||
@ -16,15 +16,17 @@ endif
|
|||||||
#
|
#
|
||||||
|
|
||||||
if has_libfdt == 0
|
if has_libfdt == 0
|
||||||
build = false
|
build = false
|
||||||
reason = 'missing dependency, "libfdt"'
|
reason = 'missing dependency, "libfdt"'
|
||||||
subdir_done()
|
subdir_done()
|
||||||
endif
|
endif
|
||||||
|
|
||||||
includes += include_directories('../../raw/ifpga')
|
includes += include_directories('../../raw/ifpga')
|
||||||
|
|
||||||
sources += files('ipn3ke_ethdev.c',
|
sources += files(
|
||||||
'ipn3ke_representor.c',
|
'ipn3ke_ethdev.c',
|
||||||
'ipn3ke_tm.c',
|
'ipn3ke_flow.c',
|
||||||
'ipn3ke_flow.c')
|
'ipn3ke_representor.c',
|
||||||
|
'ipn3ke_tm.c',
|
||||||
|
)
|
||||||
deps += ['bus_ifpga', 'ethdev', 'sched']
|
deps += ['bus_ifpga', 'ethdev', 'sched']
|
||||||
|
@ -2,33 +2,33 @@
|
|||||||
# Copyright(c) 2017-2020 Intel Corporation
|
# Copyright(c) 2017-2020 Intel Corporation
|
||||||
|
|
||||||
sources = [
|
sources = [
|
||||||
'ixgbe_82598.c',
|
'ixgbe_82598.c',
|
||||||
'ixgbe_82599.c',
|
'ixgbe_82599.c',
|
||||||
'ixgbe_api.c',
|
'ixgbe_api.c',
|
||||||
'ixgbe_common.c',
|
'ixgbe_common.c',
|
||||||
'ixgbe_dcb_82598.c',
|
'ixgbe_dcb_82598.c',
|
||||||
'ixgbe_dcb_82599.c',
|
'ixgbe_dcb_82599.c',
|
||||||
'ixgbe_dcb.c',
|
'ixgbe_dcb.c',
|
||||||
'ixgbe_hv_vf.c',
|
'ixgbe_hv_vf.c',
|
||||||
'ixgbe_mbx.c',
|
'ixgbe_mbx.c',
|
||||||
'ixgbe_phy.c',
|
'ixgbe_phy.c',
|
||||||
'ixgbe_vf.c',
|
'ixgbe_vf.c',
|
||||||
'ixgbe_x540.c',
|
'ixgbe_x540.c',
|
||||||
'ixgbe_x550.c'
|
'ixgbe_x550.c'
|
||||||
]
|
]
|
||||||
|
|
||||||
error_cflags = ['-Wno-unused-value',
|
error_cflags = ['-Wno-unused-value',
|
||||||
'-Wno-unused-but-set-variable',
|
'-Wno-unused-but-set-variable',
|
||||||
'-Wno-unused-parameter',
|
'-Wno-unused-parameter',
|
||||||
]
|
]
|
||||||
c_args = cflags
|
c_args = cflags
|
||||||
foreach flag: error_cflags
|
foreach flag: error_cflags
|
||||||
if cc.has_argument(flag)
|
if cc.has_argument(flag)
|
||||||
c_args += flag
|
c_args += flag
|
||||||
endif
|
endif
|
||||||
endforeach
|
endforeach
|
||||||
|
|
||||||
base_lib = static_library('ixgbe_base', sources,
|
base_lib = static_library('ixgbe_base', sources,
|
||||||
dependencies: static_rte_eal,
|
dependencies: static_rte_eal,
|
||||||
c_args: c_args)
|
c_args: c_args)
|
||||||
base_objs = base_lib.extract_all_objects()
|
base_objs = base_lib.extract_all_objects()
|
||||||
|
@ -2,9 +2,9 @@
|
|||||||
# Copyright(c) 2017 Intel Corporation
|
# Copyright(c) 2017 Intel Corporation
|
||||||
|
|
||||||
if is_windows
|
if is_windows
|
||||||
build = false
|
build = false
|
||||||
reason = 'not supported on Windows'
|
reason = 'not supported on Windows'
|
||||||
subdir_done()
|
subdir_done()
|
||||||
endif
|
endif
|
||||||
|
|
||||||
cflags += ['-DRTE_LIBRTE_IXGBE_BYPASS']
|
cflags += ['-DRTE_LIBRTE_IXGBE_BYPASS']
|
||||||
@ -13,25 +13,25 @@ subdir('base')
|
|||||||
objs = [base_objs]
|
objs = [base_objs]
|
||||||
|
|
||||||
sources = files(
|
sources = files(
|
||||||
'ixgbe_82599_bypass.c',
|
'ixgbe_82599_bypass.c',
|
||||||
'ixgbe_bypass.c',
|
'ixgbe_bypass.c',
|
||||||
'ixgbe_ethdev.c',
|
'ixgbe_ethdev.c',
|
||||||
'ixgbe_fdir.c',
|
'ixgbe_fdir.c',
|
||||||
'ixgbe_flow.c',
|
'ixgbe_flow.c',
|
||||||
'ixgbe_ipsec.c',
|
'ixgbe_ipsec.c',
|
||||||
'ixgbe_pf.c',
|
'ixgbe_pf.c',
|
||||||
'ixgbe_rxtx.c',
|
'ixgbe_rxtx.c',
|
||||||
'ixgbe_tm.c',
|
'ixgbe_tm.c',
|
||||||
'ixgbe_vf_representor.c',
|
'ixgbe_vf_representor.c',
|
||||||
'rte_pmd_ixgbe.c'
|
'rte_pmd_ixgbe.c',
|
||||||
)
|
)
|
||||||
|
|
||||||
deps += ['hash', 'security']
|
deps += ['hash', 'security']
|
||||||
|
|
||||||
if arch_subdir == 'x86'
|
if arch_subdir == 'x86'
|
||||||
sources += files('ixgbe_rxtx_vec_sse.c')
|
sources += files('ixgbe_rxtx_vec_sse.c')
|
||||||
elif arch_subdir == 'arm'
|
elif arch_subdir == 'arm'
|
||||||
sources += files('ixgbe_rxtx_vec_neon.c')
|
sources += files('ixgbe_rxtx_vec_neon.c')
|
||||||
endif
|
endif
|
||||||
|
|
||||||
includes += include_directories('base')
|
includes += include_directories('base')
|
||||||
|
@ -2,9 +2,9 @@
|
|||||||
# Copyright(c) 2018 Intel Corporation
|
# Copyright(c) 2018 Intel Corporation
|
||||||
|
|
||||||
if is_windows
|
if is_windows
|
||||||
build = false
|
build = false
|
||||||
reason = 'not supported on Windows'
|
reason = 'not supported on Windows'
|
||||||
subdir_done()
|
subdir_done()
|
||||||
endif
|
endif
|
||||||
|
|
||||||
# this driver can be built if-and-only-if KNI library is buildable
|
# this driver can be built if-and-only-if KNI library is buildable
|
||||||
|
@ -2,13 +2,15 @@
|
|||||||
# Copyright(c) 2018 Intel Corporation
|
# Copyright(c) 2018 Intel Corporation
|
||||||
|
|
||||||
if is_windows
|
if is_windows
|
||||||
build = false
|
build = false
|
||||||
reason = 'not supported on Windows'
|
reason = 'not supported on Windows'
|
||||||
subdir_done()
|
subdir_done()
|
||||||
endif
|
endif
|
||||||
|
|
||||||
sources = files('base/lio_23xx_vf.c',
|
sources = files(
|
||||||
'base/lio_mbox.c',
|
'base/lio_23xx_vf.c',
|
||||||
'lio_ethdev.c',
|
'base/lio_mbox.c',
|
||||||
'lio_rxtx.c')
|
'lio_ethdev.c',
|
||||||
|
'lio_rxtx.c',
|
||||||
|
)
|
||||||
includes += include_directories('base')
|
includes += include_directories('base')
|
||||||
|
@ -2,11 +2,13 @@
|
|||||||
# Copyright 2018-2019 Cisco Systems, Inc. All rights reserved.
|
# Copyright 2018-2019 Cisco Systems, Inc. All rights reserved.
|
||||||
|
|
||||||
if not is_linux
|
if not is_linux
|
||||||
build = false
|
build = false
|
||||||
reason = 'only supported on Linux'
|
reason = 'only supported on Linux'
|
||||||
endif
|
endif
|
||||||
|
|
||||||
sources = files('rte_eth_memif.c',
|
sources = files(
|
||||||
'memif_socket.c')
|
'memif_socket.c',
|
||||||
|
'rte_eth_memif.c',
|
||||||
|
)
|
||||||
|
|
||||||
deps += ['hash']
|
deps += ['hash']
|
||||||
|
@ -3,9 +3,9 @@
|
|||||||
# Copyright 2018 Mellanox Technologies, Ltd
|
# Copyright 2018 Mellanox Technologies, Ltd
|
||||||
|
|
||||||
if not is_linux
|
if not is_linux
|
||||||
build = false
|
build = false
|
||||||
reason = 'only supported on Linux'
|
reason = 'only supported on Linux'
|
||||||
subdir_done()
|
subdir_done()
|
||||||
endif
|
endif
|
||||||
|
|
||||||
static_ibverbs = (get_option('ibverbs_link') == 'static')
|
static_ibverbs = (get_option('ibverbs_link') == 'static')
|
||||||
@ -14,74 +14,74 @@ LIB_GLUE_BASE = 'librte_net_mlx4_glue.so'
|
|||||||
LIB_GLUE_VERSION = abi_version
|
LIB_GLUE_VERSION = abi_version
|
||||||
LIB_GLUE = LIB_GLUE_BASE + '.' + LIB_GLUE_VERSION
|
LIB_GLUE = LIB_GLUE_BASE + '.' + LIB_GLUE_VERSION
|
||||||
if dlopen_ibverbs
|
if dlopen_ibverbs
|
||||||
dpdk_conf.set('RTE_IBVERBS_LINK_DLOPEN', 1)
|
dpdk_conf.set('RTE_IBVERBS_LINK_DLOPEN', 1)
|
||||||
cflags += [
|
cflags += [
|
||||||
'-DMLX4_GLUE="@0@"'.format(LIB_GLUE),
|
'-DMLX4_GLUE="@0@"'.format(LIB_GLUE),
|
||||||
'-DMLX4_GLUE_VERSION="@0@"'.format(LIB_GLUE_VERSION),
|
'-DMLX4_GLUE_VERSION="@0@"'.format(LIB_GLUE_VERSION),
|
||||||
]
|
]
|
||||||
endif
|
endif
|
||||||
|
|
||||||
libnames = [ 'mlx4', 'ibverbs' ]
|
libnames = [ 'mlx4', 'ibverbs' ]
|
||||||
libs = []
|
libs = []
|
||||||
foreach libname:libnames
|
foreach libname:libnames
|
||||||
lib = dependency('lib' + libname, static:static_ibverbs,
|
lib = dependency('lib' + libname, static:static_ibverbs,
|
||||||
required:false, method: 'pkg-config')
|
required:false, method: 'pkg-config')
|
||||||
if not lib.found() and not static_ibverbs
|
if not lib.found() and not static_ibverbs
|
||||||
lib = cc.find_library(libname, required:false)
|
lib = cc.find_library(libname, required:false)
|
||||||
endif
|
endif
|
||||||
if lib.found()
|
if lib.found()
|
||||||
libs += lib
|
libs += lib
|
||||||
if not static_ibverbs and not dlopen_ibverbs
|
if not static_ibverbs and not dlopen_ibverbs
|
||||||
ext_deps += lib
|
ext_deps += lib
|
||||||
endif
|
endif
|
||||||
else
|
else
|
||||||
build = false
|
build = false
|
||||||
reason = 'missing dependency, "' + libname + '"'
|
reason = 'missing dependency, "' + libname + '"'
|
||||||
subdir_done()
|
subdir_done()
|
||||||
endif
|
endif
|
||||||
endforeach
|
endforeach
|
||||||
if static_ibverbs or dlopen_ibverbs
|
if static_ibverbs or dlopen_ibverbs
|
||||||
# Build without adding shared libs to Requires.private
|
# Build without adding shared libs to Requires.private
|
||||||
ibv_cflags = run_command(pkgconf, '--cflags', 'libibverbs').stdout()
|
ibv_cflags = run_command(pkgconf, '--cflags', 'libibverbs').stdout()
|
||||||
ext_deps += declare_dependency(compile_args: ibv_cflags.split())
|
ext_deps += declare_dependency(compile_args: ibv_cflags.split())
|
||||||
endif
|
endif
|
||||||
if static_ibverbs
|
if static_ibverbs
|
||||||
# Add static deps ldflags to internal apps and Libs.private
|
# Add static deps ldflags to internal apps and Libs.private
|
||||||
ibv_ldflags = run_command(ldflags_ibverbs_static, check:true).stdout()
|
ibv_ldflags = run_command(ldflags_ibverbs_static, check:true).stdout()
|
||||||
ext_deps += declare_dependency(link_args:ibv_ldflags.split())
|
ext_deps += declare_dependency(link_args:ibv_ldflags.split())
|
||||||
endif
|
endif
|
||||||
|
|
||||||
sources = files(
|
sources = files(
|
||||||
'mlx4.c',
|
'mlx4.c',
|
||||||
'mlx4_ethdev.c',
|
'mlx4_ethdev.c',
|
||||||
'mlx4_flow.c',
|
'mlx4_flow.c',
|
||||||
'mlx4_intr.c',
|
'mlx4_intr.c',
|
||||||
'mlx4_mp.c',
|
'mlx4_mp.c',
|
||||||
'mlx4_mr.c',
|
'mlx4_mr.c',
|
||||||
'mlx4_rxq.c',
|
'mlx4_rxq.c',
|
||||||
'mlx4_rxtx.c',
|
'mlx4_rxtx.c',
|
||||||
'mlx4_txq.c',
|
'mlx4_txq.c',
|
||||||
'mlx4_utils.c',
|
'mlx4_utils.c',
|
||||||
)
|
)
|
||||||
if not dlopen_ibverbs
|
if not dlopen_ibverbs
|
||||||
sources += files('mlx4_glue.c')
|
sources += files('mlx4_glue.c')
|
||||||
endif
|
endif
|
||||||
cflags_options = [
|
cflags_options = [
|
||||||
'-std=c11',
|
'-std=c11',
|
||||||
'-Wno-strict-prototypes',
|
'-Wno-strict-prototypes',
|
||||||
'-D_BSD_SOURCE',
|
'-D_BSD_SOURCE',
|
||||||
'-D_DEFAULT_SOURCE',
|
'-D_DEFAULT_SOURCE',
|
||||||
'-D_XOPEN_SOURCE=600'
|
'-D_XOPEN_SOURCE=600',
|
||||||
]
|
]
|
||||||
foreach option:cflags_options
|
foreach option:cflags_options
|
||||||
if cc.has_argument(option)
|
if cc.has_argument(option)
|
||||||
cflags += option
|
cflags += option
|
||||||
endif
|
endif
|
||||||
endforeach
|
endforeach
|
||||||
if get_option('buildtype').contains('debug')
|
if get_option('buildtype').contains('debug')
|
||||||
cflags += [ '-pedantic', '-DPEDANTIC' ]
|
cflags += [ '-pedantic', '-DPEDANTIC' ]
|
||||||
else
|
else
|
||||||
cflags += [ '-UPEDANTIC' ]
|
cflags += [ '-UPEDANTIC' ]
|
||||||
endif
|
endif
|
||||||
# To maintain the compatibility with the make build system
|
# To maintain the compatibility with the make build system
|
||||||
# mlx4_autoconf.h file is still generated.
|
# mlx4_autoconf.h file is still generated.
|
||||||
@ -90,49 +90,49 @@ endif
|
|||||||
# "symbol to search", "struct member to search" ]
|
# "symbol to search", "struct member to search" ]
|
||||||
#
|
#
|
||||||
has_member_args = [
|
has_member_args = [
|
||||||
[ 'HAVE_IBV_MLX4_WQE_LSO_SEG', 'infiniband/mlx4dv.h',
|
[ 'HAVE_IBV_MLX4_WQE_LSO_SEG', 'infiniband/mlx4dv.h',
|
||||||
'struct mlx4_wqe_lso_seg', 'mss_hdr_size' ],
|
'struct mlx4_wqe_lso_seg', 'mss_hdr_size' ],
|
||||||
]
|
]
|
||||||
# input array for meson symbol search:
|
# input array for meson symbol search:
|
||||||
# [ "MACRO to define if found", "header for the search",
|
# [ "MACRO to define if found", "header for the search",
|
||||||
# "symbol to search" ]
|
# "symbol to search" ]
|
||||||
has_sym_args = [
|
has_sym_args = [
|
||||||
[ 'HAVE_IBV_MLX4_BUF_ALLOCATORS', 'infiniband/mlx4dv.h',
|
[ 'HAVE_IBV_MLX4_BUF_ALLOCATORS', 'infiniband/mlx4dv.h',
|
||||||
'MLX4DV_SET_CTX_ATTR_BUF_ALLOCATORS' ],
|
'MLX4DV_SET_CTX_ATTR_BUF_ALLOCATORS' ],
|
||||||
[ 'HAVE_IBV_MLX4_UAR_MMAP_OFFSET', 'infiniband/mlx4dv.h',
|
[ 'HAVE_IBV_MLX4_UAR_MMAP_OFFSET', 'infiniband/mlx4dv.h',
|
||||||
'MLX4DV_QP_MASK_UAR_MMAP_OFFSET' ],
|
'MLX4DV_QP_MASK_UAR_MMAP_OFFSET' ],
|
||||||
]
|
]
|
||||||
config = configuration_data()
|
config = configuration_data()
|
||||||
foreach arg:has_sym_args
|
foreach arg:has_sym_args
|
||||||
config.set(arg[0], cc.has_header_symbol(arg[1], arg[2],
|
config.set(arg[0], cc.has_header_symbol(arg[1], arg[2],
|
||||||
dependencies: libs))
|
dependencies: libs))
|
||||||
endforeach
|
endforeach
|
||||||
foreach arg:has_member_args
|
foreach arg:has_member_args
|
||||||
file_prefix = '#include <' + arg[1] + '>'
|
file_prefix = '#include <' + arg[1] + '>'
|
||||||
config.set(arg[0], cc.has_member(arg[2], arg[3],
|
config.set(arg[0], cc.has_member(arg[2], arg[3],
|
||||||
prefix: file_prefix, dependencies: libs))
|
prefix: file_prefix, dependencies: libs))
|
||||||
endforeach
|
endforeach
|
||||||
configure_file(output : 'mlx4_autoconf.h', configuration : config)
|
configure_file(output : 'mlx4_autoconf.h', configuration : config)
|
||||||
|
|
||||||
# Build Glue Library
|
# Build Glue Library
|
||||||
if dlopen_ibverbs
|
if dlopen_ibverbs
|
||||||
dlopen_name = 'mlx4_glue'
|
dlopen_name = 'mlx4_glue'
|
||||||
dlopen_lib_name = 'rte_net_' + dlopen_name
|
dlopen_lib_name = 'rte_net_' + dlopen_name
|
||||||
dlopen_so_version = LIB_GLUE_VERSION
|
dlopen_so_version = LIB_GLUE_VERSION
|
||||||
dlopen_sources = files('mlx4_glue.c')
|
dlopen_sources = files('mlx4_glue.c')
|
||||||
dlopen_install_dir = [ eal_pmd_path + '-glue' ]
|
dlopen_install_dir = [ eal_pmd_path + '-glue' ]
|
||||||
shared_lib = shared_library(
|
shared_lib = shared_library(
|
||||||
dlopen_lib_name,
|
dlopen_lib_name,
|
||||||
dlopen_sources,
|
dlopen_sources,
|
||||||
include_directories: global_inc,
|
include_directories: global_inc,
|
||||||
c_args: cflags,
|
c_args: cflags,
|
||||||
dependencies: libs,
|
dependencies: libs,
|
||||||
link_args: [
|
link_args: [
|
||||||
'-Wl,-export-dynamic',
|
'-Wl,-export-dynamic',
|
||||||
'-Wl,-h,@0@'.format(LIB_GLUE),
|
'-Wl,-h,@0@'.format(LIB_GLUE),
|
||||||
],
|
],
|
||||||
soversion: dlopen_so_version,
|
soversion: dlopen_so_version,
|
||||||
install: true,
|
install: true,
|
||||||
install_dir: dlopen_install_dir,
|
install_dir: dlopen_install_dir,
|
||||||
)
|
)
|
||||||
endif
|
endif
|
||||||
|
@ -3,12 +3,12 @@
|
|||||||
|
|
||||||
includes += include_directories('.')
|
includes += include_directories('.')
|
||||||
sources += files(
|
sources += files(
|
||||||
'mlx5_socket.c',
|
'mlx5_socket.c',
|
||||||
'mlx5_os.c',
|
'mlx5_os.c',
|
||||||
'mlx5_ethdev_os.c',
|
'mlx5_ethdev_os.c',
|
||||||
'mlx5_verbs.c',
|
'mlx5_verbs.c',
|
||||||
'mlx5_mp_os.c',
|
'mlx5_mp_os.c',
|
||||||
'mlx5_vlan_os.c',
|
'mlx5_vlan_os.c',
|
||||||
'mlx5_flow_os.c',
|
'mlx5_flow_os.c',
|
||||||
)
|
)
|
||||||
|
|
||||||
|
@ -3,66 +3,66 @@
|
|||||||
# Copyright 2018 Mellanox Technologies, Ltd
|
# Copyright 2018 Mellanox Technologies, Ltd
|
||||||
|
|
||||||
if not (is_linux or is_windows)
|
if not (is_linux or is_windows)
|
||||||
build = false
|
build = false
|
||||||
reason = 'only supported on Linux and Windows'
|
reason = 'only supported on Linux and Windows'
|
||||||
subdir_done()
|
subdir_done()
|
||||||
endif
|
endif
|
||||||
|
|
||||||
deps += ['hash', 'common_mlx5']
|
deps += ['hash', 'common_mlx5']
|
||||||
sources = files(
|
sources = files(
|
||||||
'mlx5.c',
|
'mlx5.c',
|
||||||
'mlx5_ethdev.c',
|
'mlx5_ethdev.c',
|
||||||
'mlx5_flow.c',
|
'mlx5_flow.c',
|
||||||
'mlx5_flow_meter.c',
|
'mlx5_flow_meter.c',
|
||||||
'mlx5_flow_dv.c',
|
'mlx5_flow_dv.c',
|
||||||
'mlx5_flow_age.c',
|
'mlx5_flow_age.c',
|
||||||
'mlx5_mac.c',
|
'mlx5_mac.c',
|
||||||
'mlx5_mr.c',
|
'mlx5_mr.c',
|
||||||
'mlx5_rss.c',
|
'mlx5_rss.c',
|
||||||
'mlx5_rx.c',
|
'mlx5_rx.c',
|
||||||
'mlx5_rxmode.c',
|
'mlx5_rxmode.c',
|
||||||
'mlx5_rxq.c',
|
'mlx5_rxq.c',
|
||||||
'mlx5_rxtx.c',
|
'mlx5_rxtx.c',
|
||||||
'mlx5_stats.c',
|
'mlx5_stats.c',
|
||||||
'mlx5_trigger.c',
|
'mlx5_trigger.c',
|
||||||
'mlx5_tx.c',
|
'mlx5_tx.c',
|
||||||
'mlx5_tx_empw.c',
|
'mlx5_tx_empw.c',
|
||||||
'mlx5_tx_mpw.c',
|
'mlx5_tx_mpw.c',
|
||||||
'mlx5_tx_nompw.c',
|
'mlx5_tx_nompw.c',
|
||||||
'mlx5_tx_txpp.c',
|
'mlx5_tx_txpp.c',
|
||||||
'mlx5_txq.c',
|
'mlx5_txq.c',
|
||||||
'mlx5_txpp.c',
|
'mlx5_txpp.c',
|
||||||
'mlx5_vlan.c',
|
'mlx5_vlan.c',
|
||||||
'mlx5_utils.c',
|
'mlx5_utils.c',
|
||||||
'mlx5_devx.c',
|
'mlx5_devx.c',
|
||||||
)
|
)
|
||||||
|
|
||||||
if is_linux
|
if is_linux
|
||||||
sources += files(
|
sources += files(
|
||||||
'mlx5_flow_verbs.c',
|
'mlx5_flow_verbs.c',
|
||||||
)
|
)
|
||||||
if (dpdk_conf.has('RTE_ARCH_X86_64')
|
if (dpdk_conf.has('RTE_ARCH_X86_64')
|
||||||
or dpdk_conf.has('RTE_ARCH_ARM64')
|
or dpdk_conf.has('RTE_ARCH_ARM64')
|
||||||
or dpdk_conf.has('RTE_ARCH_PPC_64'))
|
or dpdk_conf.has('RTE_ARCH_PPC_64'))
|
||||||
sources += files('mlx5_rxtx_vec.c')
|
sources += files('mlx5_rxtx_vec.c')
|
||||||
endif
|
endif
|
||||||
endif
|
endif
|
||||||
|
|
||||||
cflags_options = [
|
cflags_options = [
|
||||||
'-std=c11',
|
'-std=c11',
|
||||||
'-Wno-strict-prototypes',
|
'-Wno-strict-prototypes',
|
||||||
'-D_BSD_SOURCE',
|
'-D_BSD_SOURCE',
|
||||||
'-D_DEFAULT_SOURCE',
|
'-D_DEFAULT_SOURCE',
|
||||||
'-D_XOPEN_SOURCE=600'
|
'-D_XOPEN_SOURCE=600',
|
||||||
]
|
]
|
||||||
foreach option:cflags_options
|
foreach option:cflags_options
|
||||||
if cc.has_argument(option)
|
if cc.has_argument(option)
|
||||||
cflags += option
|
cflags += option
|
||||||
endif
|
endif
|
||||||
endforeach
|
endforeach
|
||||||
if get_option('buildtype').contains('debug')
|
if get_option('buildtype').contains('debug')
|
||||||
cflags += [ '-pedantic', '-DPEDANTIC' ]
|
cflags += [ '-pedantic', '-DPEDANTIC' ]
|
||||||
else
|
else
|
||||||
cflags += [ '-UPEDANTIC' ]
|
cflags += [ '-UPEDANTIC' ]
|
||||||
endif
|
endif
|
||||||
subdir(exec_env)
|
subdir(exec_env)
|
||||||
|
@ -3,9 +3,9 @@
|
|||||||
|
|
||||||
includes += include_directories('.')
|
includes += include_directories('.')
|
||||||
sources += files(
|
sources += files(
|
||||||
'mlx5_os.c',
|
'mlx5_os.c',
|
||||||
'mlx5_mp_os.c',
|
'mlx5_mp_os.c',
|
||||||
'mlx5_ethdev_os.c',
|
'mlx5_ethdev_os.c',
|
||||||
'mlx5_vlan_os.c',
|
'mlx5_vlan_os.c',
|
||||||
'mlx5_flow_os.c',
|
'mlx5_flow_os.c',
|
||||||
)
|
)
|
||||||
|
@ -4,23 +4,23 @@
|
|||||||
# All rights reserved.
|
# All rights reserved.
|
||||||
|
|
||||||
if is_windows
|
if is_windows
|
||||||
build = false
|
build = false
|
||||||
reason = 'not supported on Windows'
|
reason = 'not supported on Windows'
|
||||||
subdir_done()
|
subdir_done()
|
||||||
endif
|
endif
|
||||||
|
|
||||||
dep = dependency('libmusdk', required: false, method: 'pkg-config')
|
dep = dependency('libmusdk', required: false, method: 'pkg-config')
|
||||||
if not dep.found()
|
if not dep.found()
|
||||||
build = false
|
build = false
|
||||||
reason = 'missing dependency, "libmusdk"'
|
reason = 'missing dependency, "libmusdk"'
|
||||||
subdir_done()
|
subdir_done()
|
||||||
endif
|
endif
|
||||||
|
|
||||||
ext_deps += dep
|
ext_deps += dep
|
||||||
|
|
||||||
sources = files(
|
sources = files(
|
||||||
'mvneta_ethdev.c',
|
'mvneta_ethdev.c',
|
||||||
'mvneta_rxtx.c'
|
'mvneta_rxtx.c',
|
||||||
)
|
)
|
||||||
|
|
||||||
deps += ['cfgfile', 'common_mvep']
|
deps += ['cfgfile', 'common_mvep']
|
||||||
|
@ -4,26 +4,26 @@
|
|||||||
# All rights reserved.
|
# All rights reserved.
|
||||||
|
|
||||||
if is_windows
|
if is_windows
|
||||||
build = false
|
build = false
|
||||||
reason = 'not supported on Windows'
|
reason = 'not supported on Windows'
|
||||||
subdir_done()
|
subdir_done()
|
||||||
endif
|
endif
|
||||||
|
|
||||||
dep = dependency('libmusdk', required: false, method: 'pkg-config')
|
dep = dependency('libmusdk', required: false, method: 'pkg-config')
|
||||||
if not dep.found()
|
if not dep.found()
|
||||||
build = false
|
build = false
|
||||||
reason = 'missing dependency, "libmusdk"'
|
reason = 'missing dependency, "libmusdk"'
|
||||||
subdir_done()
|
subdir_done()
|
||||||
endif
|
endif
|
||||||
|
|
||||||
ext_deps += dep
|
ext_deps += dep
|
||||||
|
|
||||||
sources = files(
|
sources = files(
|
||||||
'mrvl_ethdev.c',
|
'mrvl_ethdev.c',
|
||||||
'mrvl_flow.c',
|
'mrvl_flow.c',
|
||||||
'mrvl_qos.c',
|
'mrvl_qos.c',
|
||||||
'mrvl_mtr.c',
|
'mrvl_mtr.c',
|
||||||
'mrvl_tm.c'
|
'mrvl_tm.c',
|
||||||
)
|
)
|
||||||
|
|
||||||
deps += ['cfgfile', 'common_mvep']
|
deps += ['cfgfile', 'common_mvep']
|
||||||
|
@ -2,13 +2,19 @@
|
|||||||
# Copyright(c) 2018 Microsoft Corporation
|
# Copyright(c) 2018 Microsoft Corporation
|
||||||
|
|
||||||
if is_windows
|
if is_windows
|
||||||
build = false
|
build = false
|
||||||
reason = 'not supported on Windows'
|
reason = 'not supported on Windows'
|
||||||
subdir_done()
|
subdir_done()
|
||||||
endif
|
endif
|
||||||
|
|
||||||
build = dpdk_conf.has('RTE_BUS_VMBUS')
|
build = dpdk_conf.has('RTE_BUS_VMBUS')
|
||||||
reason = 'missing dependency, DPDK VMBus driver'
|
reason = 'missing dependency, DPDK VMBus driver'
|
||||||
sources = files('hn_ethdev.c', 'hn_rxtx.c', 'hn_rndis.c', 'hn_nvs.c', 'hn_vf.c')
|
sources = files(
|
||||||
|
'hn_ethdev.c',
|
||||||
|
'hn_nvs.c',
|
||||||
|
'hn_rndis.c',
|
||||||
|
'hn_rxtx.c',
|
||||||
|
'hn_vf.c',
|
||||||
|
)
|
||||||
|
|
||||||
deps += ['bus_vmbus' ]
|
deps += ['bus_vmbus' ]
|
||||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user