1d9b9ca7eSBruce Richardson# SPDX-License-Identifier: BSD-3-Clause 2ad7ad46aSChaoyong He# Copyright(c) 2018 Corigine, Inc. 3d9b9ca7eSBruce Richardson 48741a907SBruce Richardsonif not is_linux or not dpdk_conf.get('RTE_ARCH_64') 5e60a1a8bSAgalya Babu RadhaKrishnan build = false 6135155a8SThomas Monjalon reason = 'only supported on 64-bit Linux' 7c7c2199aSLong Wu subdir_done() 8e60a1a8bSAgalya Babu RadhaKrishnanendif 9ad7ad46aSChaoyong He 104ad4b20aSBruce Richardsonsources = files( 118e55349aSChaoyong He 'flower/nfp_conntrack.c', 12b1880421SChaoyong He 'flower/nfp_flower.c', 13e1124c4fSChaoyong He 'flower/nfp_flower_cmsg.c', 14a36634e8SChaoyong He 'flower/nfp_flower_ctrl.c', 150a29615dSChaoyong He 'flower/nfp_flower_flow.c', 16e1124c4fSChaoyong He 'flower/nfp_flower_representor.c', 1742f603aaSLong Wu 'flower/nfp_flower_service.c', 18ffe84fcbSChaoyong He 'nfd3/nfp_nfd3_dp.c', 19fc756151SChaoyong He 'nfdk/nfp_nfdk_dp.c', 20*fb6befdfSLong Wu 'nfdk/nfp_nfdk_vec_stub.c', 21d9b9ca7eSBruce Richardson 'nfpcore/nfp_cppcore.c', 22d9b9ca7eSBruce Richardson 'nfpcore/nfp_crc.c', 23c82ca09cSPeng Zhang 'nfpcore/nfp_elf.c', 24d9b9ca7eSBruce Richardson 'nfpcore/nfp_hwinfo.c', 25ad7ad46aSChaoyong He 'nfpcore/nfp_mip.c', 26ad7ad46aSChaoyong He 'nfpcore/nfp_mutex.c', 27ad7ad46aSChaoyong He 'nfpcore/nfp_nffw.c', 28ad7ad46aSChaoyong He 'nfpcore/nfp_nsp.c', 29ad7ad46aSChaoyong He 'nfpcore/nfp_nsp_cmds.c', 30ad7ad46aSChaoyong He 'nfpcore/nfp_nsp_eth.c', 31ad7ad46aSChaoyong He 'nfpcore/nfp_resource.c', 32ad7ad46aSChaoyong He 'nfpcore/nfp_rtsym.c', 336b4273a0SLong Wu 'nfpcore/nfp_sync.c', 34e6858e7eSChaoyong He 'nfpcore/nfp_target.c', 35e96559a1SChaoyong He 'nfpcore/nfp6000_pcie.c', 3619af5a38SHeinrich Kuhn 'nfp_cpp_bridge.c', 37646ea79cSHeinrich Kuhn 'nfp_ethdev.c', 38ad7ad46aSChaoyong He 'nfp_ethdev_vf.c', 3954713740SChang Miao 'nfp_ipsec.c', 40d2cafb5cSChaoyong He 'nfp_logs.c', 41434c66e7SJin Liu 'nfp_mtr.c', 42ca65f2eeSChaoyong He 'nfp_net_cmsg.c', 4311e9eae4SChaoyong He 'nfp_net_common.c', 44e2018e37SChaoyong He 'nfp_net_ctrl.c', 458153bc6fSChaoyong He 'nfp_net_flow.c', 46ddcd598fSLong Wu 'nfp_net_meta.c', 47ad7ad46aSChaoyong He 'nfp_rxtx.c', 48*fb6befdfSLong Wu 'nfp_rxtx_vec_stub.c', 49600f6d2cSLong Wu 'nfp_service.c', 504ad4b20aSBruce Richardson) 51ac093760SChaoyong He 52*fb6befdfSLong Wuif arch_subdir == 'x86' 53*fb6befdfSLong Wu includes += include_directories('../../common/nfp') 54*fb6befdfSLong Wu 55*fb6befdfSLong Wu avx2_sources = files( 56*fb6befdfSLong Wu 'nfdk/nfp_nfdk_vec_avx2_dp.c', 57*fb6befdfSLong Wu 'nfp_rxtx_vec_avx2.c', 58*fb6befdfSLong Wu ) 59*fb6befdfSLong Wu 60*fb6befdfSLong Wu nfp_avx2_lib = static_library('nfp_avx2_lib', 61*fb6befdfSLong Wu avx2_sources, 62*fb6befdfSLong Wu dependencies: [static_rte_ethdev, static_rte_bus_pci], 63*fb6befdfSLong Wu include_directories: includes, 64*fb6befdfSLong Wu c_args: [cflags, '-mavx2'] 65*fb6befdfSLong Wu ) 66*fb6befdfSLong Wu 67*fb6befdfSLong Wu objs += nfp_avx2_lib.extract_all_objects(recursive: true) 68*fb6befdfSLong Wuendif 69*fb6befdfSLong Wu 70214fb306SChaoyong Hedeps += ['hash', 'security', 'common_nfp'] 71