From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id 6B925A0547; Thu, 9 Sep 2021 20:08:22 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id EAE154013F; Thu, 9 Sep 2021 20:08:21 +0200 (CEST) Received: from mga09.intel.com (mga09.intel.com [134.134.136.24]) by mails.dpdk.org (Postfix) with ESMTP id 98AEB40041 for ; Thu, 9 Sep 2021 20:08:19 +0200 (CEST) X-IPAS-Result: =?us-ascii?q?A2FBAwDmTDph/x0Y/QpagmKDIoFClVKcDhSBaAsBAQEBA?= =?us-ascii?q?QEBAQEJLRQEAQEEA4RsAoJAJjQJDgECBAEBAQEDAgMBAQEBAQEDAQEBBQEBA?= =?us-ascii?q?QEBAQUCAQEBAQKBIIUvOQ2CNSKBUgEBAQEBAQEBAQEBAQEBIisCgUYGJwsBR?= =?us-ascii?q?hBRVxmCcQG0JTKBAogUgWOBOokHhHU3gVVEgRWBPIIshAeGOASHXwF6FEKBf?= =?us-ascii?q?ZF+gyKLdJxyLQeDLoExBguIfpQFGjGFLqFXthCBHoRGgWGCFTMaI4M5CUgZD?= =?us-ascii?q?5E0i1xUOAIGCwEBAwmQdwEB?= IronPort-PHdr: A9a23:ojbEvRfABnrJaYw7mSc9naealGM+497LVj580XLHo4xHfqnrxZn+J kuXvawr0AWRG9yAurkV16L/iOPJYSQ4+5GPsXQPItRndiQuroEopTEmG9OPEkbhLfTnPGQQF cVGU0J5rTngaRAGUMnxaEfPrXKs8DUcBgvwNRZvJuTyB4Xek9m72/q99pHNfwlEniexbL12I Rm5qQjcudQdjJd/JKo21hbHuGZDdf5MxWNvK1KTnhL86dm18ZV+7SleuO8v+tBZX6nicKs2U bJXDDI9M2Ao/8LrrgXMTRGO5nQHTGoblAdDDhXf4xH7WpfxtTb6tvZ41SKHM8D6Uaw4VDK/5 KptVRTmijoINyQh/W/XlMJ+kaxVrhGmqRN9zY7bb46bOeFicq7eZ94WWXBMUtpNWyFHH4iyb 5EPD+0EPetAtYfyvV8OrR+kCgmyBePk1zpGiWXr0qIg1uQqDAbL3BQ6ENIKtHTbtsv1NKYIX eC21qbH0C/Mb/ZN1Df87ojIbg4uofWWUb1sdsrRzFAiGgXYhVqftYLrJSma1vgRs2eF9epgU /qih3A5pgxsvjSix9kgh5TJi48RxF3J9yp3zJgpKNO4RkN2fd+pHZhSui+VNYZ7X8IvTWFqt SomyrMKp5y2cSsKxpkh2hXRaOSHfpCV7h7/TuqdPzd1iXx/dL6hiBu+61asx+n6W8KpylhFt DBFncPJtn0V0hzT7dWIReVl80e63DaPyxjT6uZZIUAojabbK4Auwro3lpcLsUrNGTL4lkL3g qKKakko5ual5/7pYrXjvJOcNol0ih3gPaQqgMCwHeM4Mg0WU2ia/+SzyqHj8FXkTLlWlPE6j KnUvZ7AKcgFqaO1GRFZ34I75xa6FTim0dAYnXcdLFJCfRKKl5DpNEvKIPD8F/i/nVWsnC1ox //cI7LuGJDNI2PCkLfnYbZy9UpcxBAvwtBY4pJYEqsBL+7rWk/tqNzYCQc0PBGqzOb5E9hyy 5seVn+MAqODN6PSq1CItaoTJLyAaZE9tC7xKL4i/fG9o2U+nAoldK2t1IUWIFOxEv1jaxGBa H7oi8kAV2QDsgM7ZO3slFCGFzVUYiDhDOoH+jgnBdf+Xs/4TYe3jenZtBo= IronPort-HdrOrdr: A9a23:HwdvZa7ZyRcK3bS9GAPXwMvXdLJyesId70hD6qm+c3Jom6uj5q aTdZsgtSMc5Ax8ZJhko6HkBEDiewK6yXcK2/hzAV7KZmCP1VdAbrsSibcKqAeAJ8SRzIFgPO BbGJSWDuebMbEDt7eZ3DWF X-IronPort-AV: E=McAfee;i="6200,9189,10102"; a="220896604" X-IronPort-AV: E=Sophos;i="5.85,281,1624345200"; d="scan'208";a="220896604" Received: from fmsmga003.fm.intel.com ([10.253.24.29]) by orsmga102.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 09 Sep 2021 11:08:18 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.85,281,1624345200"; d="scan'208";a="539803608" Received: from win-kgkr85lv27f.jf.intel.com (HELO localhost.localdomain) ([10.166.188.124]) by FMSMGA003.fm.intel.com with ESMTP; 09 Sep 2021 11:08:18 -0700 From: Pallavi Kadam To: dev@dpdk.org Cc: thomas@monjalon.net, qi.z.zhang@intel.com, -fady@mellanox.com, dmitry.kozliuk@gmail.com, jingjing.wu@intel.com, beilei.xing@intel.com, ranjit.menon@intel.com, shivanshu.shukla@intel.com, pallavi.kadam@intel.com Date: Thu, 9 Sep 2021 13:05:31 -0700 Message-Id: <20210909200533.3747-2-pallavi.kadam@intel.com> X-Mailer: git-send-email 2.31.1.windows.1 In-Reply-To: <20210909200533.3747-1-pallavi.kadam@intel.com> References: <20210528230838.10620-1-pallavi.kadam@intel.com> <20210909200533.3747-1-pallavi.kadam@intel.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Subject: [dpdk-dev] [PATCH v2 1/3] net/iavf: build on Windows X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" - Enable IAVF PMD build on Windows - Replace x86intrin.h with rte_vect.h to avoid __m_prefetchw conflicting types - Fix for pointer and integer sign warnings using Clang compiler on Windows - Add extra cflags '-fno-asynchronous-unwind-tables' to avoid MinGW build error: Error: invalid register for .seh_savexmm Signed-off-by: Pallavi Kadam Reviewed-by: Ranjit Menon --- drivers/net/iavf/iavf.h | 3 ++- drivers/net/iavf/iavf_rxtx_vec_avx2.c | 2 +- drivers/net/iavf/iavf_rxtx_vec_avx512.c | 2 +- drivers/net/iavf/iavf_tm.c | 2 +- drivers/net/iavf/meson.build | 9 ++++----- 5 files changed, 9 insertions(+), 9 deletions(-) diff --git a/drivers/net/iavf/iavf.h b/drivers/net/iavf/iavf.h index b3bd078111..55b20a80af 100644 --- a/drivers/net/iavf/iavf.h +++ b/drivers/net/iavf/iavf.h @@ -335,7 +335,8 @@ _clear_cmd(struct iavf_info *vf) static inline int _atomic_set_cmd(struct iavf_info *vf, enum virtchnl_ops ops) { - int ret = rte_atomic32_cmpset(&vf->pend_cmd, VIRTCHNL_OP_UNKNOWN, ops); + int ret = rte_atomic32_cmpset((volatile uint32_t *)&vf->pend_cmd, + VIRTCHNL_OP_UNKNOWN, ops); if (!ret) PMD_DRV_LOG(ERR, "There is incomplete cmd %d", vf->pend_cmd); diff --git a/drivers/net/iavf/iavf_rxtx_vec_avx2.c b/drivers/net/iavf/iavf_rxtx_vec_avx2.c index 475070e036..96c05d9319 100644 --- a/drivers/net/iavf/iavf_rxtx_vec_avx2.c +++ b/drivers/net/iavf/iavf_rxtx_vec_avx2.c @@ -4,7 +4,7 @@ #include "iavf_rxtx_vec_common.h" -#include +#include #ifndef __INTEL_COMPILER #pragma GCC diagnostic ignored "-Wcast-qual" diff --git a/drivers/net/iavf/iavf_rxtx_vec_avx512.c b/drivers/net/iavf/iavf_rxtx_vec_avx512.c index 571161c0cd..cb0b057b0f 100644 --- a/drivers/net/iavf/iavf_rxtx_vec_avx512.c +++ b/drivers/net/iavf/iavf_rxtx_vec_avx512.c @@ -4,7 +4,7 @@ #include "iavf_rxtx_vec_common.h" -#include +#include #ifndef __INTEL_COMPILER #pragma GCC diagnostic ignored "-Wcast-qual" diff --git a/drivers/net/iavf/iavf_tm.c b/drivers/net/iavf/iavf_tm.c index 3c80276ff3..8d92062c7f 100644 --- a/drivers/net/iavf/iavf_tm.c +++ b/drivers/net/iavf/iavf_tm.c @@ -321,7 +321,7 @@ iavf_tm_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; diff --git a/drivers/net/iavf/meson.build b/drivers/net/iavf/meson.build index f2010a8337..36a82e3faa 100644 --- a/drivers/net/iavf/meson.build +++ b/drivers/net/iavf/meson.build @@ -1,11 +1,6 @@ # SPDX-License-Identifier: BSD-3-Clause # Copyright(c) 2018 Luca Boccassi -if is_windows - build = false - reason = 'not supported on Windows' - subdir_done() -endif cflags += ['-Wno-strict-aliasing'] @@ -25,6 +20,10 @@ sources = files( if arch_subdir == 'x86' sources += files('iavf_rxtx_vec_sse.c') + if is_windows and cc.get_id() != 'clang' + cflags += ['-fno-asynchronous-unwind-tables'] + endif + # compile AVX2 version if either: # a. we have AVX supported in minimum instruction set baseline # b. it's not minimum instruction set, but supported by compiler -- 2.31.1.windows.1