From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from dpdk.org (dpdk.org [92.243.14.124]) by dpdk.space (Postfix) with ESMTP id 732CAA0096 for ; Thu, 6 Jun 2019 17:33:15 +0200 (CEST) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 06D541B965; Thu, 6 Jun 2019 17:33:15 +0200 (CEST) Received: from mga04.intel.com (mga04.intel.com [192.55.52.120]) by dpdk.org (Postfix) with ESMTP id 307281B95B for ; Thu, 6 Jun 2019 17:33:14 +0200 (CEST) X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from orsmga006.jf.intel.com ([10.7.209.51]) by fmsmga104.fm.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 06 Jun 2019 08:33:13 -0700 X-ExtLoop1: 1 Received: from fyigit-mobl.ger.corp.intel.com (HELO [10.237.221.26]) ([10.237.221.26]) by orsmga006.jf.intel.com with ESMTP; 06 Jun 2019 08:33:10 -0700 From: Ferruh Yigit To: jerinj@marvell.com, dev@dpdk.org, Thomas Monjalon , John McNamara , Marko Kovacevic , Nithin Dabilpuram , Kiran Kumar K Cc: Pavan Nikhilesh References: <20190602152434.23996-1-jerinj@marvell.com> <20190602152434.23996-2-jerinj@marvell.com> Openpgp: preference=signencrypt Autocrypt: addr=ferruh.yigit@intel.com; prefer-encrypt=mutual; keydata= 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 VQ== Message-ID: <9abb728e-f1ea-0e15-771a-773f16965177@intel.com> Date: Thu, 6 Jun 2019 16:33:09 +0100 User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:60.0) Gecko/20100101 Thunderbird/60.7.0 MIME-Version: 1.0 In-Reply-To: <20190602152434.23996-2-jerinj@marvell.com> Content-Type: text/plain; charset=utf-8 Content-Language: en-US Content-Transfer-Encoding: 8bit Subject: Re: [dpdk-dev] [PATCH v1 01/58] net/octeontx2: add build infrastructure 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 6/2/2019 4:23 PM, jerinj@marvell.com wrote: > From: Jerin Jacob > > Adding bare minimum PMD library and doc build infrastructure. > > Signed-off-by: Jerin Jacob > Signed-off-by: Kiran Kumar K > Signed-off-by: Pavan Nikhilesh > --- > config/common_base | 5 +++ > doc/guides/nics/features/octeontx2.ini | 8 ++++ > doc/guides/nics/features/octeontx2_vec.ini | 8 ++++ > doc/guides/nics/features/octeontx2_vf.ini | 8 ++++ > drivers/net/Makefile | 1 + > drivers/net/meson.build | 2 +- > drivers/net/octeontx2/Makefile | 38 +++++++++++++++++++ > drivers/net/octeontx2/meson.build | 24 ++++++++++++ > drivers/net/octeontx2/otx2_ethdev.c | 3 ++ > .../octeontx2/rte_pmd_octeontx2_version.map | 4 ++ > mk/rte.app.mk | 2 + It can be good to include MAINTAINERS file in this patch, of course with the content that introduced in this patch. > 11 files changed, 102 insertions(+), 1 deletion(-) > create mode 100644 doc/guides/nics/features/octeontx2.ini > create mode 100644 doc/guides/nics/features/octeontx2_vec.ini > create mode 100644 doc/guides/nics/features/octeontx2_vf.ini > create mode 100644 drivers/net/octeontx2/Makefile > create mode 100644 drivers/net/octeontx2/meson.build > create mode 100644 drivers/net/octeontx2/otx2_ethdev.c > create mode 100644 drivers/net/octeontx2/rte_pmd_octeontx2_version.map > > diff --git a/config/common_base b/config/common_base > index 4a3de0360..38edad355 100644 > --- a/config/common_base > +++ b/config/common_base > @@ -405,6 +405,11 @@ CONFIG_RTE_LIBRTE_LIO_DEBUG_REGS=n > # > CONFIG_RTE_LIBRTE_OCTEONTX_PMD=y > > +# > +# Compile burst-oriented Cavium OCTEONTX2 network PMD driver > +# > +CONFIG_RTE_LIBRTE_OCTEONTX2_PMD=y > + Since .ini files only has "ARMv8", should the PMD disabled in other config files? Or is the support coming for those architectures in next patches? If this is only for Armv8 & Linux, better to keep disabled it in the base config and enable only in that specific config file. > # > # Compile WRS accelerated virtual port (AVP) guest PMD driver > # > diff --git a/doc/guides/nics/features/octeontx2.ini b/doc/guides/nics/features/octeontx2.ini > new file mode 100644 > index 000000000..0ec3b6983 > --- /dev/null > +++ b/doc/guides/nics/features/octeontx2.ini > @@ -0,0 +1,8 @@ > +; > +; Supported features of the 'octeontx2' network poll mode driver. > +; > +; Refer to default.ini for the full list of available PMD features. > +; > +[Features] > +Linux VFIO = Y > +ARMv8 = Y > diff --git a/doc/guides/nics/features/octeontx2_vec.ini b/doc/guides/nics/features/octeontx2_vec.ini > new file mode 100644 > index 000000000..774f136c1 > --- /dev/null > +++ b/doc/guides/nics/features/octeontx2_vec.ini > @@ -0,0 +1,8 @@ > +; > +; Supported features of the 'octeontx2_vec' network poll mode driver. > +; > +; Refer to default.ini for the full list of available PMD features. > +; > +[Features] > +Linux VFIO = Y > +ARMv8 = Y I think it is good to introduce vector .ini file with the patch that enables vector path, same with below vf one. > diff --git a/doc/guides/nics/features/octeontx2_vf.ini b/doc/guides/nics/features/octeontx2_vf.ini > new file mode 100644 > index 000000000..36642354e > --- /dev/null > +++ b/doc/guides/nics/features/octeontx2_vf.ini > @@ -0,0 +1,8 @@ > +; > +; Supported features of the 'octeontx2_vf' network poll mode driver. > +; > +; Refer to default.ini for the full list of available PMD features. > +; > +[Features] > +Linux VFIO = Y > +ARMv8 = Y > diff --git a/drivers/net/Makefile b/drivers/net/Makefile > index 3a72cf38c..5bb618b21 100644 > --- a/drivers/net/Makefile > +++ b/drivers/net/Makefile > @@ -45,6 +45,7 @@ DIRS-$(CONFIG_RTE_LIBRTE_NFP_PMD) += nfp > DIRS-$(CONFIG_RTE_LIBRTE_BNXT_PMD) += bnxt > DIRS-$(CONFIG_RTE_LIBRTE_PMD_NULL) += null > DIRS-$(CONFIG_RTE_LIBRTE_OCTEONTX_PMD) += octeontx > +DIRS-$(CONFIG_RTE_LIBRTE_OCTEONTX2_PMD) += octeontx2 > DIRS-$(CONFIG_RTE_LIBRTE_PMD_PCAP) += pcap > DIRS-$(CONFIG_RTE_LIBRTE_QEDE_PMD) += qede > DIRS-$(CONFIG_RTE_LIBRTE_PMD_RING) += ring > diff --git a/drivers/net/meson.build b/drivers/net/meson.build > index ed99896c3..086a2f4cd 100644 > --- a/drivers/net/meson.build > +++ b/drivers/net/meson.build > @@ -31,7 +31,7 @@ drivers = ['af_packet', > 'netvsc', > 'nfb', > 'nfp', > - 'null', 'octeontx', 'pcap', 'qede', 'ring', > + 'null', 'octeontx', 'octeontx2', 'pcap', 'ring', Multiline is causing conflicts, can you please break the line while adding new one, like: 'null', 'octeontx', 'octeontx2', 'qede', 'ring', > 'sfc', > 'softnic', > 'szedata2', > diff --git a/drivers/net/octeontx2/Makefile b/drivers/net/octeontx2/Makefile > new file mode 100644 > index 000000000..0a606d27b > --- /dev/null > +++ b/drivers/net/octeontx2/Makefile > @@ -0,0 +1,38 @@ > +# SPDX-License-Identifier: BSD-3-Clause > +# Copyright(C) 2019 Marvell International Ltd. > +# > + > +include $(RTE_SDK)/mk/rte.vars.mk > + > +# > +# library name > +# > +LIB = librte_pmd_octeontx2.a > + > +CFLAGS += $(WERROR_FLAGS) > +CFLAGS += -I$(RTE_SDK)/drivers/common/octeontx2 > +CFLAGS += -I$(RTE_SDK)/drivers/mempool/octeontx2 > +CFLAGS += -I$(RTE_SDK)/drivers/net/octeontx2 > +CFLAGS += -O3 > +CFLAGS += -DALLOW_EXPERIMENTAL_API Can you please add this flag when really an experimental API is called? And for that case add a comment here the name of that experimental function, this will help us to remove unnecessary flags when APIs become non experimental. > +CFLAGS += -flax-vector-conversions Same for this one, please add when needed. > + > +ifneq ($(CONFIG_RTE_ARCH_64),y) > +CFLAGS += -Wno-int-to-pointer-cast > +CFLAGS += -Wno-pointer-to-int-cast Is there a way to get rid of these? Why need to ignore these warnings? > +endif > + > +EXPORT_MAP := rte_pmd_octeontx2_version.map > + > +LIBABIVER := 1 > + > +# > +# all source are stored in SRCS-y > +# > +SRCS-$(CONFIG_RTE_LIBRTE_OCTEONTX2_PMD) += \ > + otx2_ethdev.c > + > +LDLIBS += -lrte_eal -lrte_mbuf -lrte_mempool -lrte_common_octeontx2 -lm > +LDLIBS += -lrte_ethdev -lrte_net -lrte_kvargs -lrte_bus_pci -lrte_mempool_octeontx2 Can you please just keep minimum required dependencies? > + > +include $(RTE_SDK)/mk/rte.lib.mk > diff --git a/drivers/net/octeontx2/meson.build b/drivers/net/octeontx2/meson.build > new file mode 100644 > index 000000000..0bd32446b > --- /dev/null > +++ b/drivers/net/octeontx2/meson.build > @@ -0,0 +1,24 @@ > +# SPDX-License-Identifier: BSD-3-Clause > +# Copyright(C) 2019 Marvell International Ltd. > +# > + > +sources = files( > + 'otx2_ethdev.c', > + ) > + > +allow_experimental_apis = true All comments for makefile valid for meson too, can you please check? > +deps += ['bus_pci', 'common_octeontx2', 'mempool_octeontx2'] > + > +cflags += ['-flax-vector-conversions','-DALLOW_EXPERIMENTAL_API'] > + > +extra_flags = [] > +# This integrated controller runs only on a arm64 machine, remove 32bit warnings > +if not dpdk_conf.get('RTE_ARCH_64') > + extra_flags += ['-Wno-int-to-pointer-cast', '-Wno-pointer-to-int-cast'] > +endif > + > +foreach flag: extra_flags > + if cc.has_argument(flag) > + cflags += flag > + endif > +endforeach > diff --git a/drivers/net/octeontx2/otx2_ethdev.c b/drivers/net/octeontx2/otx2_ethdev.c > new file mode 100644 > index 000000000..d26535dee > --- /dev/null > +++ b/drivers/net/octeontx2/otx2_ethdev.c > @@ -0,0 +1,3 @@ > +/* SPDX-License-Identifier: BSD-3-Clause > + * Copyright(C) 2019 Marvell International Ltd. > + */ > diff --git a/drivers/net/octeontx2/rte_pmd_octeontx2_version.map b/drivers/net/octeontx2/rte_pmd_octeontx2_version.map > new file mode 100644 > index 000000000..fc8c95e91 > --- /dev/null > +++ b/drivers/net/octeontx2/rte_pmd_octeontx2_version.map > @@ -0,0 +1,4 @@ > +DPDK_19.05 { DPDK_19.08 now. > + > + local: *; > +}; > diff --git a/mk/rte.app.mk b/mk/rte.app.mk > index cd89ccfd5..3dff91190 100644 > --- a/mk/rte.app.mk > +++ b/mk/rte.app.mk > @@ -127,6 +127,7 @@ _LDLIBS-$(CONFIG_RTE_LIBRTE_COMMON_DPAAX) += -lrte_common_dpaax > endif > > OCTEONTX2-y := $(CONFIG_RTE_LIBRTE_OCTEONTX2_MEMPOOL) > +OCTEONTX2-y += $(CONFIG_RTE_LIBRTE_OCTEONTX2_PMD) > ifeq ($(findstring y,$(OCTEONTX2-y)),y) > _LDLIBS-y += -lrte_common_octeontx2 > endif > @@ -197,6 +198,7 @@ _LDLIBS-$(CONFIG_RTE_LIBRTE_MVPP2_PMD) += -lrte_pmd_mvpp2 > _LDLIBS-$(CONFIG_RTE_LIBRTE_MVNETA_PMD) += -lrte_pmd_mvneta > _LDLIBS-$(CONFIG_RTE_LIBRTE_NFP_PMD) += -lrte_pmd_nfp > _LDLIBS-$(CONFIG_RTE_LIBRTE_PMD_NULL) += -lrte_pmd_null > +_LDLIBS-$(CONFIG_RTE_LIBRTE_OCTEONTX2_PMD) += -lrte_pmd_octeontx2 -lm > _LDLIBS-$(CONFIG_RTE_LIBRTE_PMD_PCAP) += -lrte_pmd_pcap -lpcap > _LDLIBS-$(CONFIG_RTE_LIBRTE_QEDE_PMD) += -lrte_pmd_qede > _LDLIBS-$(CONFIG_RTE_LIBRTE_PMD_RING) += -lrte_pmd_ring >