From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ferruh Yigit Subject: Re: [PATCH 01/56] net/sfc: libefx-based PMD stub sufficient to build and init Date: Wed, 23 Nov 2016 15:26:06 +0000 Message-ID: References: <1479740470-6723-1-git-send-email-arybchenko@solarflare.com> <1479740470-6723-2-git-send-email-arybchenko@solarflare.com> Mime-Version: 1.0 Content-Type: text/plain; charset=windows-1252 Content-Transfer-Encoding: 8bit To: Andrew Rybchenko , dev@dpdk.org Return-path: Received: from mga06.intel.com (mga06.intel.com [134.134.136.31]) by dpdk.org (Postfix) with ESMTP id 35F412BAC for ; Wed, 23 Nov 2016 16:26:08 +0100 (CET) In-Reply-To: <1479740470-6723-2-git-send-email-arybchenko@solarflare.com> List-Id: patches and discussions about DPDK List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" On 11/21/2016 3:00 PM, Andrew Rybchenko wrote: > The PMD is put into the sfc/efx subdirectory to have a place for > the second PMD and library shared by both. > > Enable the PMD by default on supported configuratons. > > Reviewed-by: Andy Moreton > Signed-off-by: Andrew Rybchenko > --- > MAINTAINERS | 6 ++ > config/common_base | 6 ++ > config/defconfig_arm-armv7a-linuxapp-gcc | 1 + > config/defconfig_arm64-armv8a-linuxapp-gcc | 1 + > config/defconfig_i686-native-linuxapp-gcc | 5 + > config/defconfig_i686-native-linuxapp-icc | 5 + > config/defconfig_ppc_64-power8-linuxapp-gcc | 1 + > config/defconfig_tile-tilegx-linuxapp-gcc | 1 + > config/defconfig_x86_64-native-linuxapp-icc | 5 + > config/defconfig_x86_x32-native-linuxapp-gcc | 5 + > doc/guides/nics/features/sfc_efx.ini | 10 ++ > doc/guides/nics/index.rst | 1 + > doc/guides/nics/sfc_efx.rst | 109 +++++++++++++++++++++ Can you also update release notes please, to announce new driver. <...> > diff --git a/drivers/net/sfc/efx/Makefile b/drivers/net/sfc/efx/Makefile > new file mode 100644 > index 0000000..71f07ca > --- /dev/null > +++ b/drivers/net/sfc/efx/Makefile > @@ -0,0 +1,81 @@ <...> > + > +include $(RTE_SDK)/mk/rte.vars.mk > + > +# > +# library name > +# > +LIB = librte_pmd_sfc_efx.a > + > +CFLAGS += -O3 > + > +# Enable basic warnings but disable some which are accepted > +CFLAGS += -Wall It is possible to use $(WERROR_FLAGS), which set automatically based on selected compiler. See mk/toolchain/* . And you can add extra options here, please keep in mind that there are three compiler supported right now: gcc, clang and icc. You may require to add compiler and version checks.. > +CFLAGS += -Wno-strict-aliasing > + > +# Enable extra warnings but disable some which are accepted > +CFLAGS += -Wextra > +CFLAGS += -Wno-empty-body > +CFLAGS += -Wno-sign-compare > +CFLAGS += -Wno-type-limits > +CFLAGS += -Wno-unused-parameter Is there a way to not disable these warnings but fix in the source code? Or move to CFLAGS_BASE_DRIVER, if the reason is the base driver? > + > +# More warnings not enabled by above aggregators > +CFLAGS += -Waggregate-return > +CFLAGS += -Wbad-function-cast > +CFLAGS += -Wcast-qual > +CFLAGS += -Wdisabled-optimization > +CFLAGS += -Wmissing-declarations > +CFLAGS += -Wmissing-prototypes > +CFLAGS += -Wnested-externs > +CFLAGS += -Wold-style-definition > +CFLAGS += -Wpointer-arith > +CFLAGS += -Wstrict-prototypes > +CFLAGS += -Wundef > +CFLAGS += -Wwrite-strings If you believe some can be useful for everybody, please feel free to add to mk/toolchain/* . > + > +EXPORT_MAP := rte_pmd_sfc_efx_version.map > + > +LIBABIVER := 1 > + > +# > +# all source are stored in SRCS-y > +# > +SRCS-$(CONFIG_RTE_LIBRTE_SFC_EFX_PMD) += sfc_ethdev.c > +SRCS-$(CONFIG_RTE_LIBRTE_SFC_EFX_PMD) += sfc_kvargs.c > + > + > +# this lib depends upon: > +DEPDIRS-$(CONFIG_RTE_LIBRTE_SFC_EFX_PMD) += lib/librte_eal > +DEPDIRS-$(CONFIG_RTE_LIBRTE_SFC_EFX_PMD) += lib/librte_kvargs > +DEPDIRS-$(CONFIG_RTE_LIBRTE_SFC_EFX_PMD) += lib/librte_ether > +DEPDIRS-$(CONFIG_RTE_LIBRTE_SFC_EFX_PMD) += lib/librte_mempool > +DEPDIRS-$(CONFIG_RTE_LIBRTE_SFC_EFX_PMD) += lib/librte_mbuf > + > +include $(RTE_SDK)/mk/rte.lib.mk > diff --git a/drivers/net/sfc/efx/rte_pmd_sfc_efx_version.map b/drivers/net/sfc/efx/rte_pmd_sfc_efx_version.map > new file mode 100644 > index 0000000..1901bcb > --- /dev/null > +++ b/drivers/net/sfc/efx/rte_pmd_sfc_efx_version.map > @@ -0,0 +1,4 @@ > +DPDK_16.07 { Now this become 17.02 > + > + local: *; > +}; > diff --git a/drivers/net/sfc/efx/sfc.h b/drivers/net/sfc/efx/sfc.h > new file mode 100644 > index 0000000..16fd2bb > --- /dev/null > +++ b/drivers/net/sfc/efx/sfc.h > @@ -0,0 +1,53 @@ <..> > + > +#ifndef _SFC_H > +#define _SFC_H s/^I/ / This also exists in other locations and files.. <...>