From patchwork Sun Jun 2 15:23:37 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jerin Jacob Kollanukkaran X-Patchwork-Id: 54057 X-Patchwork-Delegate: ferruh.yigit@amd.com Return-Path: X-Original-To: patchwork@dpdk.org Delivered-To: patchwork@dpdk.org Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id A9F5244C3; Sun, 2 Jun 2019 17:24:39 +0200 (CEST) Received: from mx0b-0016f401.pphosted.com (mx0b-0016f401.pphosted.com [67.231.156.173]) by dpdk.org (Postfix) with ESMTP id EA4F12BEA for ; Sun, 2 Jun 2019 17:24:37 +0200 (CEST) Received: from pps.filterd (m0045851.ppops.net [127.0.0.1]) by mx0b-0016f401.pphosted.com (8.16.0.27/8.16.0.27) with SMTP id x52FKKoh020361; Sun, 2 Jun 2019 08:24:37 -0700 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=marvell.com; h=from : to : cc : subject : date : message-id : in-reply-to : references : mime-version : content-transfer-encoding : content-type; s=pfpt0818; bh=KB3zY1kJyoT/jEmk+0T1bW7cO3n6JOUqmLOYbbEMxCU=; b=Gizk5/GwgRcHm0K6+yz1U/WWu0tsC6T/jiMB+0cMWs3d7wbQK511MFo3tQxAvDzBEabI oSYqvubK7ehYWfXXsjlZ5zlqsybqpU3LwCZtorEaNH64clI78UtTFH0lnDTZC47kJfQo CYviorb4xsO7/R7EwWBvjz+qUk4kmXY9uiXIOlrUGzy0RT29QHrFdS36m0UclThem9lp J8/ACHZpTacrJcGPY+QvMCVVK/fG87lly9a/wHWi6HXflGnOwWlXcRbWXPgBHO09ChlI /PLt3Zig5LSxmefbPSbKnkvT/xknSVk4eseShFcnsBiTx9CgQNnA3UmqypMthupDBwqf og== Received: from sc-exch03.marvell.com ([199.233.58.183]) by mx0b-0016f401.pphosted.com with ESMTP id 2survk4906-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-SHA384 bits=256 verify=NOT); Sun, 02 Jun 2019 08:24:37 -0700 Received: from SC-EXCH03.marvell.com (10.93.176.83) by SC-EXCH03.marvell.com (10.93.176.83) with Microsoft SMTP Server (TLS) id 15.0.1367.3; Sun, 2 Jun 2019 08:24:35 -0700 Received: from maili.marvell.com (10.93.176.43) by SC-EXCH03.marvell.com (10.93.176.83) with Microsoft SMTP Server id 15.0.1367.3 via Frontend Transport; Sun, 2 Jun 2019 08:24:35 -0700 Received: from jerin-lab.marvell.com (jerin-lab.marvell.com [10.28.34.14]) by maili.marvell.com (Postfix) with ESMTP id AD70D3F7040; Sun, 2 Jun 2019 08:24:33 -0700 (PDT) From: To: , Thomas Monjalon , John McNamara , Marko Kovacevic , "Jerin Jacob" , Nithin Dabilpuram , Kiran Kumar K CC: , Pavan Nikhilesh Date: Sun, 2 Jun 2019 20:53:37 +0530 Message-ID: <20190602152434.23996-2-jerinj@marvell.com> X-Mailer: git-send-email 2.21.0 In-Reply-To: <20190602152434.23996-1-jerinj@marvell.com> References: <20190602152434.23996-1-jerinj@marvell.com> MIME-Version: 1.0 X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10434:, , definitions=2019-06-02_09:, , signatures=0 Subject: [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" 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 + 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 + # # 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 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', '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 +CFLAGS += -flax-vector-conversions + +ifneq ($(CONFIG_RTE_ARCH_64),y) +CFLAGS += -Wno-int-to-pointer-cast +CFLAGS += -Wno-pointer-to-int-cast +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 + +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 +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 { + + 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