drivers/net: build i40e and mlx5 on Windows

Allows i40e and mlx5 PMDs to compile on Windows and disable other drivers.

Disable few i40e warnings with Clang such as comparison of integers of
different signs and macro redefinitions.

Signed-off-by: Pallavi Kadam <pallavi.kadam@intel.com>
Reviewed-by: Ranjit Menon <ranjit.menon@intel.com>
Acked-by: Tal Shnaiderman <talshn@nvidia.com>
Signed-off-by: Thomas Monjalon <thomas@monjalon.net>
This commit is contained in:
Pallavi Kadam 2020-12-21 16:45:11 -08:00 committed by Thomas Monjalon
parent edd66d57d5
commit b9d60b5434
44 changed files with 247 additions and 9 deletions

View File

@ -1,6 +1,12 @@
# SPDX-License-Identifier: BSD-3-Clause
# Copyright(c) 2019 Intel Corporation
if is_windows
build = false
reason = 'not supported on Windows'
subdir_done()
endif
sources = files('rte_eth_af_xdp.c')
bpf_dep = dependency('libbpf', required: false)

View File

@ -1,6 +1,12 @@
# SPDX-License-Identifier: BSD-3-Clause
# Copyright(c) 2018 Intel Corporation
if is_windows
build = false
reason = 'not supported on Windows'
subdir_done()
endif
headers = files('rte_pmd_ark.h')
sources = files('ark_ddm.c',

View File

@ -1,6 +1,12 @@
# SPDX-License-Identifier: BSD-3-Clause
# Copyright(c) 2018 Aquantia Corporation
if is_windows
build = false
reason = 'not supported on Windows'
subdir_done()
endif
sources = files(
'atl_rxtx.c',
'atl_ethdev.c',

View File

@ -1,6 +1,12 @@
# SPDX-License-Identifier: BSD-3-Clause
# Copyright(c) 2018 Intel Corporation
if is_windows
build = false
reason = 'not supported on Windows'
subdir_done()
endif
dep = dependency('zlib', required: false)
build = dep.found()
reason = 'missing dependency, "zlib"'

View File

@ -2,6 +2,12 @@
# Copyright(c) 2018 Intel Corporation
# Copyright(c) 2020 Broadcom
if is_windows
build = false
reason = 'not supported on Windows'
subdir_done()
endif
headers = files('rte_pmd_bnxt.h')
includes += include_directories('tf_ulp')

View File

@ -1,6 +1,12 @@
# SPDX-License-Identifier: BSD-3-Clause
# Copyright(c) 2017 Intel Corporation
if is_windows
build = false
reason = 'not supported on Windows'
subdir_done()
endif
name = 'bond' #, james bond :-)
sources = files('rte_eth_bond_api.c', 'rte_eth_bond_pmd.c', 'rte_eth_bond_flow.c',
'rte_eth_bond_args.c', 'rte_eth_bond_8023ad.c', 'rte_eth_bond_alb.c')

View File

@ -1,6 +1,12 @@
# SPDX-License-Identifier: BSD-3-Clause
# Copyright(c) 2018 Intel Corporation
if is_windows
build = false
reason = 'not supported on Windows'
subdir_done()
endif
sources = files('cxgbe_ethdev.c',
'cxgbe_main.c',
'cxgbevf_ethdev.c',

View File

@ -1,6 +1,12 @@
# SPDX-License-Identifier: BSD-3-Clause
# Copyright(c) 2017 Intel Corporation
if is_windows
build = false
reason = 'not supported on Windows'
subdir_done()
endif
subdir('base')
objs = [base_objs]

View File

@ -1,6 +1,12 @@
# SPDX-License-Identifier: BSD-3-Clause
# Copyright(c) 2018 Intel Corporation
if is_windows
build = false
reason = 'not supported on Windows'
subdir_done()
endif
sources = files('ena_ethdev.c',
'base/ena_com.c',
'base/ena_eth_com.c')

View File

@ -1,6 +1,12 @@
# SPDX-License-Identifier: BSD-3-Clause
# Copyright(c) 2018 Cisco Systems, Inc.
if is_windows
build = false
reason = 'not supported on Windows'
subdir_done()
endif
sources = files(
'base/vnic_cq.c',
'base/vnic_dev.c',

View File

@ -1,6 +1,12 @@
# SPDX-License-Identifier: BSD-3-Clause
# Copyright(c) 2018 Intel Corporation
if is_windows
build = false
reason = 'not supported on Windows'
subdir_done()
endif
cflags += '-std=gnu99'
cflags += '-D_DEFAULT_SOURCE'
cflags += '-D_XOPEN_SOURCE=700'

View File

@ -1,6 +1,12 @@
# SPDX-License-Identifier: BSD-3-Clause
# Copyright(c) 2017 Intel Corporation
if is_windows
build = false
reason = 'not supported on Windows'
subdir_done()
endif
subdir('base')
objs = [base_objs]

View File

@ -1,6 +1,12 @@
# SPDX-License-Identifier: BSD-3-Clause
# Copyright(c) 2017 Huawei Technologies Co., Ltd
if is_windows
build = false
reason = 'not supported on Windows'
subdir_done()
endif
subdir('base')
objs = [base_objs]

View File

@ -20,6 +20,7 @@
#include <rte_io.h>
#include "../i40e_logs.h"
#include "i40e_status.h"
#define INLINE inline
#define STATIC static
@ -67,6 +68,15 @@ typedef enum i40e_status_code i40e_status;
#define false 0
#define true 1
/* Avoid macro redefinition warning on Windows */
#ifdef RTE_EXEC_ENV_WINDOWS
#ifdef min
#undef min
#endif
#ifdef max
#undef max
#endif
#endif
#define min(a,b) RTE_MIN(a,b)
#define max(a,b) RTE_MAX(a,b)

View File

@ -1505,7 +1505,8 @@ i40evf_handle_aq_msg(struct rte_eth_dev *dev)
info.msg_len);
else {
/* read message and it's expected one */
if (msg_opc == vf->pend_cmd) {
if ((volatile uint32_t)msg_opc ==
vf->pend_cmd) {
vf->cmd_retval = msg_ret;
/* prevent compiler reordering */
rte_compiler_barrier();

View File

@ -354,9 +354,10 @@ i40e_hash_get_pattern_type(const struct rte_flow_item pattern[],
}
/* Check the previous item allows this sub-item. */
if (prev_item_type >= RTE_DIM(pattern_next_allow_items) ||
if (prev_item_type >= (enum rte_flow_item_type)
RTE_DIM(pattern_next_allow_items) ||
!(pattern_next_allow_items[prev_item_type] &
BIT_ULL(pattern->type)))
BIT_ULL(pattern->type)))
goto not_sup;
/* For VLAN item, it does no matter about to pattern type
@ -372,7 +373,8 @@ i40e_hash_get_pattern_type(const struct rte_flow_item pattern[],
}
prev_item_type = last_item_type;
assert(last_item_type < RTE_DIM(pattern_item_header));
assert(last_item_type < (enum rte_flow_item_type)
RTE_DIM(pattern_item_header));
item_hdr = pattern_item_header[last_item_type];
assert(item_hdr);

View File

@ -12,7 +12,7 @@
#include "i40e_rxtx.h"
#include "i40e_rxtx_vec_common.h"
#include <x86intrin.h>
#include <rte_vect.h>
#ifndef __INTEL_COMPILER
#pragma GCC diagnostic ignored "-Wcast-qual"

View File

@ -554,7 +554,7 @@ i40e_node_add(struct rte_eth_dev *dev, uint32_t node_id,
}
/* check level */
if (level_id != RTE_TM_NODE_LEVEL_ID_ANY &&
level_id != parent_node_type + 1) {
level_id != (uint32_t)parent_node_type + 1) {
error->type = RTE_TM_ERROR_TYPE_NODE_PARAMS;
error->message = "Wrong level";
return -EINVAL;

View File

@ -1,6 +1,12 @@
# SPDX-License-Identifier: BSD-3-Clause
# Copyright(c) 2018 Luca Boccassi <bluca@debian.org>
if is_windows
build = false
reason = 'not supported on Windows'
subdir_done()
endif
cflags += ['-Wno-strict-aliasing']
includes += include_directories('../../common/iavf')

View File

@ -1,6 +1,12 @@
# SPDX-License-Identifier: BSD-3-Clause
# Copyright(c) 2018 Intel Corporation
if is_windows
build = false
reason = 'not supported on Windows'
subdir_done()
endif
subdir('base')
objs = [base_objs]

View File

@ -1,6 +1,12 @@
# SPDX-License-Identifier: BSD-3-Clause
# Copyright(c) 2019-2020 Intel Corporation
if is_windows
build = false
reason = 'not supported on Windows'
subdir_done()
endif
subdir('base')
objs = [base_objs]

View File

@ -1,6 +1,12 @@
# SPDX-License-Identifier: (BSD-3-Clause OR GPL-2.0)
# Copyright(c) 2019 Pensando
if is_windows
build = false
reason = 'not supported on Windows'
subdir_done()
endif
sources = files(
'ionic_mac_api.c',
'ionic_rx_filter.c',

View File

@ -1,6 +1,12 @@
# SPDX-License-Identifier: BSD-3-Clause
# Copyright(c) 2019 Intel Corporation
if is_windows
build = false
reason = 'not supported on Windows'
subdir_done()
endif
#
# Add the experimenatal APIs called from this PMD
# rte_eth_switch_domain_alloc()

View File

@ -1,6 +1,12 @@
# SPDX-License-Identifier: BSD-3-Clause
# Copyright(c) 2017 Intel Corporation
if is_windows
build = false
reason = 'not supported on Windows'
subdir_done()
endif
cflags += ['-DRTE_LIBRTE_IXGBE_BYPASS']
subdir('base')

View File

@ -1,6 +1,12 @@
# SPDX-License-Identifier: BSD-3-Clause
# Copyright(c) 2018 Intel Corporation
if is_windows
build = false
reason = 'not supported on Windows'
subdir_done()
endif
# this driver can be built if-and-only-if KNI library is buildable
build = dpdk_conf.has('RTE_LIB_KNI')
reason = 'missing dependency, DPDK KNI library'

View File

@ -1,6 +1,12 @@
# SPDX-License-Identifier: BSD-3-Clause
# Copyright(c) 2018 Intel Corporation
if is_windows
build = false
reason = 'not supported on Windows'
subdir_done()
endif
sources = files('base/lio_23xx_vf.c',
'base/lio_mbox.c',
'lio_ethdev.c',

View File

@ -1,9 +1,6 @@
# SPDX-License-Identifier: BSD-3-Clause
# Copyright(c) 2017 Intel Corporation
if is_windows
subdir_done()
endif
drivers = ['af_packet',
'af_xdp',

View File

@ -3,6 +3,12 @@
# Copyright(c) 2018 Semihalf.
# All rights reserved.
if is_windows
build = false
reason = 'not supported on Windows'
subdir_done()
endif
dep = dependency('libmusdk', required: false)
if not dep.found()
build = false

View File

@ -3,6 +3,12 @@
# Copyright(c) 2018 Semihalf.
# All rights reserved.
if is_windows
build = false
reason = 'not supported on Windows'
subdir_done()
endif
dep = dependency('libmusdk', required: false)
if not dep.found()
build = false

View File

@ -1,6 +1,12 @@
# SPDX-License-Identifier: BSD-3-Clause
# Copyright(c) 2018 Microsoft Corporation
if is_windows
build = false
reason = 'not supported on Windows'
subdir_done()
endif
build = dpdk_conf.has('RTE_BUS_VMBUS')
reason = 'missing dependency, DPDK VMBus driver'
sources = files('hn_ethdev.c', 'hn_rxtx.c', 'hn_rndis.c', 'hn_nvs.c', 'hn_vf.c')

View File

@ -3,6 +3,12 @@
# Copyright(c) 2019 Netcope Technologies, a.s. <info@netcope.com>
# All rights reserved.
if is_windows
build = false
reason = 'not supported on Windows'
subdir_done()
endif
dep = dependency('netcope-common', required: false)
reason = 'missing dependency, "libnfb"'
build = dep.found()

View File

@ -1,4 +1,10 @@
# SPDX-License-Identifier: BSD-3-Clause
# Copyright(c) 2017 Intel Corporation
if is_windows
build = false
reason = 'not supported on Windows'
subdir_done()
endif
sources = files('rte_eth_null.c')

View File

@ -1,6 +1,12 @@
# SPDX-License-Identifier: BSD-3-Clause
# Copyright(c) 2017 Cavium, Inc
if is_windows
build = false
reason = 'not supported on Windows'
subdir_done()
endif
subdir('base')
objs = [base_objs]

View File

@ -2,6 +2,12 @@
# Copyright(C) 2019 Marvell International Ltd.
#
if is_windows
build = false
reason = 'not supported on Windows'
subdir_done()
endif
if not dpdk_conf.get('RTE_ARCH_64')
build = false
reason = 'only supported on 64-bit'

View File

@ -1,6 +1,12 @@
# SPDX-License-Identifier: BSD-3-Clause
# Copyright(c) 2017 Intel Corporation
if is_windows
build = false
reason = 'not supported on Windows'
subdir_done()
endif
if not dpdk_conf.has('RTE_PORT_PCAP')
build = false
reason = 'missing dependency, "libpcap"'

View File

@ -1,6 +1,12 @@
# SPDX-License-Identifier: BSD-3-Clause
# Copyright(c) 2018 Luca Boccassi <bluca@debian.org>
if is_windows
build = false
reason = 'not supported on Windows'
subdir_done()
endif
subdir('base')
objs = [base_objs]

View File

@ -1,5 +1,11 @@
# SPDX-License-Identifier: BSD-3-Clause
# Copyright(c) 2017 Intel Corporation
if is_windows
build = false
reason = 'not supported on Windows'
subdir_done()
endif
sources = files('rte_eth_ring.c')
headers = files('rte_eth_ring.h')

View File

@ -6,6 +6,12 @@
# This software was jointly developed between OKTET Labs (under contract
# for Solarflare) and Solarflare Communications, Inc.
if is_windows
build = false
reason = 'not supported on Windows'
subdir_done()
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'))
build = false
reason = 'only supported on x86_64 and aarch64'

View File

@ -1,6 +1,12 @@
# SPDX-License-Identifier: BSD-3-Clause
# Copyright(c) 2018 Intel Corporation
if is_windows
build = false
reason = 'not supported on Windows'
subdir_done()
endif
dep = dependency('libsze2', required: false)
build = dep.found()
reason = 'missing dependency, "libsze2"'

View File

@ -1,6 +1,12 @@
# SPDX-License-Identifier: BSD-3-Clause
# Copyright(c) 2017 Cavium, Inc
if is_windows
build = false
reason = 'not supported on Windows'
subdir_done()
endif
subdir('base')
objs = [base_objs]

View File

@ -1,6 +1,12 @@
# SPDX-License-Identifier: BSD-3-Clause
# Copyright(c) 2015-2020
if is_windows
build = false
reason = 'not supported on Windows'
subdir_done()
endif
subdir('base')
objs = [base_objs]

View File

@ -1,6 +1,12 @@
# SPDX-License-Identifier: BSD-3-Clause
# Copyright(c) 2018 Intel Corporation
if is_windows
build = false
reason = 'not supported on Windows'
subdir_done()
endif
build = dpdk_conf.has('RTE_LIB_VHOST')
reason = 'missing dependency, DPDK vhost library'
sources = files('rte_eth_vhost.c')

View File

@ -1,6 +1,12 @@
# SPDX-License-Identifier: BSD-3-Clause
# Copyright(c) 2018 Intel Corporation
if is_windows
build = false
reason = 'not supported on Windows'
subdir_done()
endif
sources += files('virtio_ethdev.c',
'virtio_pci.c',
'virtio_rxtx.c',

View File

@ -1,6 +1,12 @@
# SPDX-License-Identifier: BSD-3-Clause
# Copyright(c) 2018 Luca Boccassi <bluca@debian.org>
if is_windows
build = false
reason = 'not supported on Windows'
subdir_done()
endif
sources += files(
'vmxnet3_ethdev.c',
'vmxnet3_rxtx.c',