From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jerin Jacob Subject: Re: [PATCH 01/16] config: add Cavium CPT PMD skeleton Date: Thu, 14 Jun 2018 08:26:39 +0530 Message-ID: <20180614025638.GA16602@jerin> References: <1528476325-15585-1-git-send-email-anoob.joseph@caviumnetworks.com> <1528476325-15585-2-git-send-email-anoob.joseph@caviumnetworks.com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Cc: Akhil Goyal , Pablo de Lara , Thomas Monjalon , Nithin Dabilpuram , Ankur Dwivedi , Murthy NSSR , Narayana Prasad , Ragothaman Jayaraman , Srisivasubramanian Srinivasan , dev@dpdk.org To: Anoob Joseph Return-path: Received: from NAM01-SN1-obe.outbound.protection.outlook.com (mail-sn1nam01hn0214.outbound.protection.outlook.com [104.47.32.214]) by dpdk.org (Postfix) with ESMTP id 8E49B1EA15 for ; Thu, 14 Jun 2018 04:57:00 +0200 (CEST) Content-Disposition: inline In-Reply-To: <1528476325-15585-2-git-send-email-anoob.joseph@caviumnetworks.com> List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" -----Original Message----- > Date: Fri, 8 Jun 2018 22:15:10 +0530 > From: Anoob Joseph > To: Akhil Goyal , Pablo de Lara > , Thomas Monjalon > Cc: Nithin Dabilpuram , Ankur Dwivedi > , Jerin Jacob , > Murthy NSSR , Narayana Prasad > , Ragothaman Jayaraman > , Srisivasubramanian Srinivasan > , dev@dpdk.org > Subject: [PATCH 01/16] config: add Cavium CPT PMD skeleton > X-Mailer: git-send-email 2.7.4 > > From: Nithin Dabilpuram > > Add makefile and config file options. > Also add version map file and maintainers file to > claim responsibility. > > Signed-off-by: Ankur Dwivedi > Signed-off-by: Murthy NSSR > Signed-off-by: Nithin Dabilpuram > Signed-off-by: Ragothaman Jayaraman > Signed-off-by: Srisivasubramanian Srinivasan > --- > MAINTAINERS | 7 ++++++ > config/common_base | 8 ++++++ > drivers/crypto/Makefile | 1 + > drivers/crypto/cpt/Makefile | 40 ++++++++++++++++++++++++++++++ > drivers/crypto/cpt/rte_pmd_cpt_version.map | 4 +++ > mk/rte.app.mk | 2 +- > 6 files changed, 61 insertions(+), 1 deletion(-) > create mode 100644 drivers/crypto/cpt/Makefile > create mode 100644 drivers/crypto/cpt/rte_pmd_cpt_version.map > > diff --git a/MAINTAINERS b/MAINTAINERS > index 4667fa7..1b4a8eb 100644 > --- a/MAINTAINERS > +++ b/MAINTAINERS > @@ -504,6 +504,13 @@ F: drivers/net/octeontx/ > F: doc/guides/nics/octeontx.rst > F: doc/guides/nics/features/octeontx.ini > > +Cavium CPT > +M: Ankur Dwivedi > +M: Nithin Dabilpuram > +M: Murthy NSSR > +F: drivers/crypto/cpt/ > +F: doc/guides/cryptodevs/cpt.rst Move this under crypto drivers section if it is not already the case. > + > Chelsio cxgbe > M: Rahul Lakkireddy > F: drivers/net/cxgbe/ > diff --git a/config/common_base b/config/common_base > index 6b0d1cb..85e03a8 100644 > --- a/config/common_base > +++ b/config/common_base > @@ -631,6 +631,14 @@ CONFIG_RTE_LIBRTE_PMD_DPAA_EVENTDEV=n > CONFIG_RTE_LIBRTE_PMD_DPAA2_EVENTDEV=n > > # > +# Compile PMD for Cavium CPT Crypto device > +# > +CONFIG_RTE_LIBRTE_PMD_CPT=n Please enable this option by default, If there are arm64 specific usage then please stub it out so that it can compile on all architectures. It will help to verify the API changes across the architecture by author.(i.e author should not depend arm64 box to verify the compilation changes) and enable distribution OS support like Ubuntu as they building with default arm64 config. > +CONFIG_RTE_LIBRTE_PMD_CPT_DEBUG_INIT=n > +CONFIG_RTE_LIBRTE_PMD_CPT_DEBUG_RX=n > +CONFIG_RTE_LIBRTE_PMD_CPT_DEBUG_TX=n This config option is not required when we are using dynamic debugging > + > +# > # Compile raw device support > # EXPERIMENTAL: API may change without prior notice > # > diff --git a/drivers/crypto/Makefile b/drivers/crypto/Makefile > index 1d0c88e..a0515f3 100644 > --- a/drivers/crypto/Makefile > +++ b/drivers/crypto/Makefile > @@ -22,5 +22,6 @@ ifeq ($(CONFIG_RTE_LIBRTE_DPAA_BUS),y) > DIRS-$(CONFIG_RTE_LIBRTE_PMD_DPAA_SEC) += dpaa_sec > endif > DIRS-$(CONFIG_RTE_LIBRTE_PMD_VIRTIO_CRYPTO) += virtio > +DIRS-$(CONFIG_RTE_LIBRTE_PMD_CPT) += cpt > > include $(RTE_SDK)/mk/rte.subdir.mk > diff --git a/drivers/crypto/cpt/Makefile b/drivers/crypto/cpt/Makefile > new file mode 100644 > index 0000000..b2d950d > --- /dev/null > +++ b/drivers/crypto/cpt/Makefile > @@ -0,0 +1,40 @@ > + > +include $(RTE_SDK)/mk/rte.vars.mk > + > +# library name > +LIB = librte_pmd_cptvf.a > + > +# library version > +LIBABIVER := 1 > + > +# build flags > +CFLAGS += $(WERROR_FLAGS) > + > +# external library include paths > +CFLAGS += -I$(LIBCRYPTO_THUNDERX_PATH)/include > +LDLIBS += -L$(LIBCRYPTO_THUNDERX_PATH) -lcrypto What is the external library dependency here? Does look like it is documented in doc patch. If there is something, I think, better to change LIBCRYPTO_THUNDERX_PATH to LIBCRYPTO_OCTEONTX_PATH > +LDLIBS += -lrte_eal -lrte_mbuf -lrte_mempool -lrte_ring > +LDLIBS += -lrte_cryptodev > +LDLIBS += -lrte_pci -lrte_bus_pci > + > +VPATH += $(RTE_SDK)/drivers/crypto/cpt/base > + > +CFLAGS += -O3 > +#CFLAGS += -DAUTH_SOFT_COMPUTE_IPAD_OPAD > +#CFLAGS += -DCPT_DEBUG Remove commented out stuff. > + > +SRCS-$(CONFIG_RTE_LIBRTE_PMD_CPT) += > + > +# export include files > +SYMLINK-y-include += > + > +# versioning export map > +EXPORT_MAP := rte_pmd_cpt_version.map > + > +# library dependencies > +DEPDIRS-$(CONFIG_RTE_LIBRTE_PMD_CPT) += lib/librte_eal > +DEPDIRS-$(CONFIG_RTE_LIBRTE_PMD_CPT) += lib/librte_cryptodev > +DEPDIRS-$(CONFIG_RTE_LIBRTE_PMD_CPT) += lib/librte_mempool lib/librte_mbuf > +DEPDIRS-$(CONFIG_RTE_LIBRTE_PMD_CPT) += lib/librte_malloc > + > +include $(RTE_SDK)/mk/rte.lib.mk > diff --git a/drivers/crypto/cpt/rte_pmd_cpt_version.map b/drivers/crypto/cpt/rte_pmd_cpt_version.map > new file mode 100644 > index 0000000..9b9ab1a > --- /dev/null > +++ b/drivers/crypto/cpt/rte_pmd_cpt_version.map > @@ -0,0 +1,4 @@ > +DPDK_18.05 { > + > + local: *; > +}; > diff --git a/mk/rte.app.mk b/mk/rte.app.mk > index 1e32c83..158066d 100644 > --- a/mk/rte.app.mk > +++ b/mk/rte.app.mk > @@ -209,7 +209,7 @@ _LDLIBS-$(CONFIG_RTE_LIBRTE_PMD_DPAA_SEC) += -lrte_pmd_dpaa_sec > endif # CONFIG_RTE_LIBRTE_DPAA_BUS > _LDLIBS-$(CONFIG_RTE_LIBRTE_PMD_VIRTIO_CRYPTO) += -lrte_pmd_virtio_crypto > endif # CONFIG_RTE_LIBRTE_CRYPTODEV > - > +_LDLIBS-$(CONFIG_RTE_LIBRTE_PMD_CPT) += -lrte_pmd_cptvf > ifeq ($(CONFIG_RTE_LIBRTE_COMPRESSDEV),y) > _LDLIBS-$(CONFIG_RTE_LIBRTE_PMD_ISAL) += -lrte_pmd_isal_comp > _LDLIBS-$(CONFIG_RTE_LIBRTE_PMD_ISAL) += -lisal You can add meson build as well here on the same patch. > -- > 1.9.3 >