1 # SPDX-License-Identifier: BSD-3-Clause
2 # Copyright(c) 2018 Intel Corporation
3 # Copyright(c) 2020 Broadcom
7 reason = 'not supported on Windows'
11 headers = files('rte_pmd_bnxt.h')
13 includes += include_directories('tf_ulp')
14 includes += include_directories('tf_core')
38 'tf_core/tf_em_common.c',
39 'tf_core/tf_em_internal.c',
43 'tf_core/tf_session.c',
44 'tf_core/tf_device.c',
45 'tf_core/tf_device_p4.c',
46 'tf_core/tf_identifier.c',
47 'tf_core/tf_shadow_tbl.c',
48 'tf_core/tf_shadow_tcam.c',
51 'tf_core/tf_if_tbl.c',
53 'tf_core/tf_global_cfg.c',
54 'tf_core/tf_em_host.c',
55 'tf_core/tf_shadow_identifier.c',
58 'hcapi/hcapi_cfa_p4.c',
61 'tf_ulp/ulp_mark_mgr.c',
62 'tf_ulp/ulp_flow_db.c',
63 'tf_ulp/ulp_template_db_tbl.c',
64 'tf_ulp/ulp_template_db_class.c',
65 'tf_ulp/ulp_template_db_act.c',
67 'tf_ulp/ulp_mapper.c',
68 'tf_ulp/ulp_matcher.c',
69 'tf_ulp/ulp_rte_parser.c',
70 'tf_ulp/bnxt_ulp_flow.c',
71 'tf_ulp/ulp_port_db.c',
72 'tf_ulp/ulp_def_rules.c',
73 'tf_ulp/ulp_fc_mgr.c',
75 'tf_ulp/ulp_template_db_wh_plus_act.c',
76 'tf_ulp/ulp_template_db_wh_plus_class.c',
77 'tf_ulp/ulp_template_db_stingray_act.c',
78 'tf_ulp/ulp_template_db_stingray_class.c',
83 if arch_subdir == 'x86'
84 sources += files('bnxt_rxtx_vec_sse.c')
85 # compile AVX2 version if either:
86 # a. we have AVX supported in minimum instruction set baseline
87 # b. it's not minimum instruction set, but supported by compiler
88 if cc.get_define('__AVX2__', args: machine_args) != ''
89 cflags += ['-DCC_AVX2_SUPPORT']
90 sources += files('bnxt_rxtx_vec_avx2.c')
91 elif cc.has_argument('-mavx2')
92 cflags += ['-DCC_AVX2_SUPPORT']
93 bnxt_avx2_lib = static_library('bnxt_avx2_lib',
94 'bnxt_rxtx_vec_avx2.c',
95 dependencies: [static_rte_ethdev,
97 static_rte_kvargs, static_rte_hash],
98 include_directories: includes,
99 c_args: [cflags, '-mavx2'])
100 objs += bnxt_avx2_lib.extract_objects('bnxt_rxtx_vec_avx2.c')
102 elif arch_subdir == 'arm' and host_machine.cpu_family().startswith('aarch64')
103 sources += files('bnxt_rxtx_vec_neon.c')