1870c251cSBruce Richardson# SPDX-License-Identifier: BSD-3-Clause 2870c251cSBruce Richardson# Copyright(c) 2018 Intel Corporation 3e6e8f03eSRandy Schacher# Copyright(c) 2023 Broadcom 4870c251cSBruce Richardson 5b9d60b54SPallavi Kadamif is_windows 6b9d60b54SPallavi Kadam build = false 7b9d60b54SPallavi Kadam reason = 'not supported on Windows' 8b9d60b54SPallavi Kadam subdir_done() 9b9d60b54SPallavi Kadamendif 10b9d60b54SPallavi Kadam 11069fd120SThomas Monjalonif dpdk_conf.get('RTE_IOVA_IN_MBUF') == 0 12069fd120SThomas Monjalon subdir_done() 13069fd120SThomas Monjalonendif 14069fd120SThomas Monjalon 153fe124d2SKishore Padmanabhaheaders = files('rte_pmd_bnxt.h') 167100b0e5SJeffrey Huangcflags_options = [ 17*80317ff6SFarah Smith '-DSUPPORT_CFA_HW_P70=1', 187100b0e5SJeffrey Huang] 192f312732SVenkat Duvvuru 207100b0e5SJeffrey Huangforeach option:cflags_options 217100b0e5SJeffrey Huang if cc.has_argument(option) 227100b0e5SJeffrey Huang cflags += option 237100b0e5SJeffrey Huang endif 247100b0e5SJeffrey Huangendforeach 257100b0e5SJeffrey Huang 267100b0e5SJeffrey Huangheaders = files('rte_pmd_bnxt.h') 272f312732SVenkat Duvvuru 286d160d77SRandy Schacherdeps += ['hash'] 296d160d77SRandy Schacher 304ad4b20aSBruce Richardsonsources = files( 314ad4b20aSBruce Richardson 'bnxt_cpr.c', 32870c251cSBruce Richardson 'bnxt_ethdev.c', 33870c251cSBruce Richardson 'bnxt_filter.c', 345c1171c9SAjit Khaparde 'bnxt_flow.c', 35870c251cSBruce Richardson 'bnxt_hwrm.c', 36870c251cSBruce Richardson 'bnxt_irq.c', 37*80317ff6SFarah Smith 'bnxt_mpc.c', 38870c251cSBruce Richardson 'bnxt_ring.c', 39870c251cSBruce Richardson 'bnxt_rxq.c', 40870c251cSBruce Richardson 'bnxt_rxr.c', 41870c251cSBruce Richardson 'bnxt_stats.c', 42870c251cSBruce Richardson 'bnxt_txq.c', 43870c251cSBruce Richardson 'bnxt_txr.c', 444a2361dfSScott Branden 'bnxt_util.c', 45870c251cSBruce Richardson 'bnxt_vnic.c', 46322bd6e7SSomnath Kotur 'bnxt_reps.c', 474ad4b20aSBruce Richardson 'rte_pmd_bnxt.c', 484ad4b20aSBruce Richardson) 49bc4a000fSLance Richardson 507100b0e5SJeffrey Huang#Add the subdirectories that need to be compiled 517100b0e5SJeffrey Huangsubdir('tf_ulp') 527100b0e5SJeffrey Huangsubdir('tf_core') 53*80317ff6SFarah Smithsubdir('tf_core/v3') 547100b0e5SJeffrey Huangsubdir('hcapi/cfa') 55*80317ff6SFarah Smithsubdir('hcapi/cfa_v3') 567100b0e5SJeffrey Huang 57bc4a000fSLance Richardsonif arch_subdir == 'x86' 58bc4a000fSLance Richardson sources += files('bnxt_rxtx_vec_sse.c') 59fa127a2cSBruce Richardson # build AVX2 code with instruction set explicitly enabled for runtime selection 60c4e4c189SLance Richardson bnxt_avx2_lib = static_library('bnxt_avx2_lib', 61c4e4c189SLance Richardson 'bnxt_rxtx_vec_avx2.c', 62c4e4c189SLance Richardson dependencies: [static_rte_ethdev, 63c4e4c189SLance Richardson static_rte_bus_pci, 64c4e4c189SLance Richardson static_rte_kvargs, static_rte_hash], 65c4e4c189SLance Richardson include_directories: includes, 66c4e4c189SLance Richardson c_args: [cflags, '-mavx2']) 67c4e4c189SLance Richardson objs += bnxt_avx2_lib.extract_objects('bnxt_rxtx_vec_avx2.c') 68746d6f83SRuifeng Wangelif arch_subdir == 'arm' and dpdk_conf.get('RTE_ARCH_64') 6939835834SLance Richardson sources += files('bnxt_rxtx_vec_neon.c') 70bc4a000fSLance Richardsonendif 7170cc4e1fSDavid Marchand 7270cc4e1fSDavid Marchandannotate_locks = false 73