From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from dpdk.org (dpdk.org [92.243.14.124]) by inbox.dpdk.org (Postfix) with ESMTP id 7F9DBA2F18 for ; Thu, 3 Oct 2019 02:40:48 +0200 (CEST) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id A21391BFA1; Thu, 3 Oct 2019 02:40:47 +0200 (CEST) Received: from mga12.intel.com (mga12.intel.com [192.55.52.136]) by dpdk.org (Postfix) with ESMTP id D2CA01BF96 for ; Thu, 3 Oct 2019 02:40:45 +0200 (CEST) X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from fmsmga008.fm.intel.com ([10.253.24.58]) by fmsmga106.fm.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 02 Oct 2019 17:40:44 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.67,250,1566889200"; d="scan'208,217";a="191102198" Received: from unknown (HELO [10.241.226.9]) ([10.241.226.9]) by fmsmga008.fm.intel.com with ESMTP; 02 Oct 2019 17:40:44 -0700 To: Jerin Jacob Cc: dpdk-dev , Thomas Monjalon , Harini.Ramakrishnan@microsoft.com, "Wiles, Keith" , "Richardson, Bruce" , "Menon, Ranjit" , "Kolar, Antara Ganesh" References: <20190909195404.4760-1-pallavi.kadam@intel.com> <20190926202924.6876-1-pallavi.kadam@intel.com> <20190926202924.6876-4-pallavi.kadam@intel.com> <1bebcec9-9d1a-0113-88a6-609e7c7dd518@intel.com> From: Pallavi Kadam Message-ID: Date: Wed, 2 Oct 2019 17:40:43 -0700 User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:60.0) Gecko/20100101 Thunderbird/60.9.0 MIME-Version: 1.0 In-Reply-To: Content-Language: en-US Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 7bit X-Content-Filtered-By: Mailman/MimeDel 2.1.15 Subject: Re: [dpdk-dev] [PATCH v2 3/9] eal: add windows compatible header files X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 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" On 9/30/2019 10:56 PM, Jerin Jacob wrote: > On Mon, Sep 30, 2019 at 11:19 PM Pallavi Kadam wrote: >> Hi Jerin, >> >> On 9/27/2019 12:58 AM, Jerin Jacob wrote: >> >> On Fri, Sep 27, 2019 at 2:24 AM Pallavi Kadam wrote: >> >> Adding dlfcn.h on Windows to support common code. >> >> Adding eal_filesystem.h to support functions and >> path defines for files and directories on Windows. >> >> Adding getopt.h to support parsing options on Windows. >> >> Adding rte_vect.h as Windows fails to compile: >> \common\include\arch\x86\rte_vect.h. >> >> Signed-off-by: Antara Ganesh Kolar >> Signed-off-by: Pallavi Kadam >> Reviewed-by: Ranjit Menon >> Reviewed-by: Keith Wiles >> --- >> diff --git a/lib/librte_eal/windows/eal/include/rte_vect.h b/lib/librte_eal/windows/eal/include/rte_vect.h >> new file mode 100644 >> index 000000000..630473e28 >> --- /dev/null >> +++ b/lib/librte_eal/windows/eal/include/rte_vect.h >> @@ -0,0 +1,9 @@ >> +/* SPDX-License-Identifier: BSD-3-Clause >> + * Copyright(c) 2019 Intel Corporation >> + */ >> + >> +#pragma once >> + >> +#define __ICC 1600 >> + >> +#include "..\..\common\include\arch\x86\rte_vect.h" >> >> I understand there is a compilation error with generic rte_vect.h with >> windows from the git commit. >> But above hardcoding to x86 will create an issue for another arch. >> Please fix the compilation >> for generic rte_vect.h or introduce vect.h as OS-specific and have >> implementation for Linux and FreeBSD. >> >> The error is due to conflict types in the compilers. Clang compiler and Windows SDK >> >> both declare _m_prefetchw() in x86intrin.h file which is included from generic rte_vect.h. >> >> Error is as below: >> >> C:\Program Files\LLVM\lib\clang\8.0.0\include\prfchwintrin.h:64:1: error: conflicting types for '_m_prefetchw' >> >> _m_prefetchw(void *__P) >> >> ^ >> >> C:\Program Files (x86)\Windows Kits\10\include\10.0.17763.0\um\winnt.h:3275:1: note: previous declaration is here >> >> _m_prefetchw ( >> >> ^ >> >> >> Is it ok to include #ifdef for other architectures in the above file itself? > > If I understand it correctly, after completing the "make config" > stage, ./lib/librte_eal/common/include/arch/x86/rte_vect.h will be > mapped as build/include/rte_vect.h. > The application will build/include/rte_vect.h and it internally > include ./lib/librte_eal/common/include/generic/rte_vect.h. > If ./lib/librte_eal/common/include/arch/x86/rte_vect.h has compilation > issue, we can have #ifdef fix in arch/x86/rte_vect.h Thank you Jerin, for explaining. We have fixed arch/x86/rte_vect.h. Will incorporate this change in v3. > > > >> >> >> >> -- >> 2.18.0.windows.1 >>