[dpdk-dev] [PATCH v4 2/3] Add Intel FPGA BUS Rawdev Driver

Shreyansh Jain shreyansh.jain at nxp.com
Wed Apr 4 13:31:20 CEST 2018


Hello Rosen,

> -----Original Message-----
> From: Xu, Rosen [mailto:rosen.xu at intel.com]
> Sent: Wednesday, April 4, 2018 7:20 AM
> To: Shreyansh Jain <shreyansh.jain at nxp.com>
> Cc: dev at dpdk.org; Doherty, Declan <declan.doherty at intel.com>;
> Richardson, Bruce <bruce.richardson at intel.com>; Yigit, Ferruh
> <ferruh.yigit at intel.com>; Ananyev, Konstantin
> <konstantin.ananyev at intel.com>; Zhang, Tianfei
> <tianfei.zhang at intel.com>; Wu, Hao <hao.wu at intel.com>;
> gaetan.rivet at 6wind.com; Wu, Yanglong <yanglong.wu at intel.com>
> Subject: RE: [dpdk-dev] [PATCH v4 2/3] Add Intel FPGA BUS Rawdev Driver
> 
> 
> 
> > -----Original Message-----
> > From: Shreyansh Jain [mailto:shreyansh.jain at nxp.com]
> > Sent: Tuesday, April 03, 2018 17:35
> > To: Xu, Rosen <rosen.xu at intel.com>
> > Cc: dev at dpdk.org; Doherty, Declan <declan.doherty at intel.com>;
> > Richardson, Bruce <bruce.richardson at intel.com>;
> shreyansh.jain at nxp.com;
> > Yigit, Ferruh <ferruh.yigit at intel.com>; Ananyev, Konstantin
> > <konstantin.ananyev at intel.com>; Zhang, Tianfei
> <tianfei.zhang at intel.com>;
> > Wu, Hao <hao.wu at intel.com>; gaetan.rivet at 6wind.com; Wu, Yanglong
> > <yanglong.wu at intel.com>
> > Subject: Re: [dpdk-dev] [PATCH v4 2/3] Add Intel FPGA BUS Rawdev
> Driver
> >
> > On Saturday 31 March 2018 09:33 PM, Rosen Xu wrote:
> > > Signed-off-by: Rosen Xu <rosen.xu at intel.com>
> > > Signed-off-by: Yanglong Wu  <yanglong.wu at intel.com>
> > > ---
> > >   config/common_base                                 |   1 +
> > >   drivers/raw/Makefile                               |   1 +
> > >   drivers/raw/ifpga_rawdev/Makefile                  |  34 ++
> > >   drivers/raw/ifpga_rawdev/ifpga_rawdev.c            | 594
> > +++++++++++++++++++++
> > >   drivers/raw/ifpga_rawdev/ifpga_rawdev.h            |  37 ++
> > >   .../raw/ifpga_rawdev/rte_ifpga_rawdev_version.map  |   4 +
> > >   mk/rte.app.mk                                      |   1 +
> > >   7 files changed, 672 insertions(+)
> > >   create mode 100644 drivers/raw/ifpga_rawdev/Makefile
> > >   create mode 100644 drivers/raw/ifpga_rawdev/ifpga_rawdev.c
> > >   create mode 100644 drivers/raw/ifpga_rawdev/ifpga_rawdev.h
> > >   create mode 100644
> > > drivers/raw/ifpga_rawdev/rte_ifpga_rawdev_version.map
> > >
> > > diff --git a/config/common_base b/config/common_base index
> > > 49f6b09..08b7cce 100644
> > > --- a/config/common_base
> > > +++ b/config/common_base
> > > @@ -137,6 +137,7 @@ CONFIG_RTE_LIBRTE_VDEV_BUS=y
> > >   # Compile the Intel FPGA bus
> > >   #
> > >   CONFIG_RTE_LIBRTE_IFPGA_BUS=y
> > > +CONFIG_RTE_LIBRTE_IFPGA_RAWDEV=y
> > >
> > >   #
> > >   # Compile ARK PMD
> > > diff --git a/drivers/raw/Makefile b/drivers/raw/Makefile index
> > > da7c8b4..6fc8f2f 100644
> > > --- a/drivers/raw/Makefile
> > > +++ b/drivers/raw/Makefile
> > > @@ -5,5 +5,6 @@ include $(RTE_SDK)/mk/rte.vars.mk
> > >
> > >   # DIRS-$(<configuration>) += <directory>
> > >   DIRS-$(CONFIG_RTE_LIBRTE_PMD_SKELETON_RAWDEV) +=
> > skeleton_rawdev
> > > +DIRS-$(CONFIG_RTE_LIBRTE_IFPGA_RAWDEV) += ifpga_rawdev
> > >
> > >   include $(RTE_SDK)/mk/rte.subdir.mk
> > > diff --git a/drivers/raw/ifpga_rawdev/Makefile
> > > b/drivers/raw/ifpga_rawdev/Makefile
> > > new file mode 100644
> > > index 0000000..118c729
> > > --- /dev/null
> > > +++ b/drivers/raw/ifpga_rawdev/Makefile
> > > @@ -0,0 +1,34 @@
> > > +# SPDX-License-Identifier: BSD-3-Clause # Copyright(c) 2018 Intel
> > > +Corporation
> > > +
> > > +include $(RTE_SDK)/mk/rte.vars.mk
> > > +
> > > +#
> > > +# library name
> > > +#
> > > +LIB = librte_ifpga_rawdev.a
> > > +
> > > +CFLAGS += -DALLOW_EXPERIMENTAL_API
> > > +CFLAGS += -O3
> > > +CFLAGS += $(WERROR_FLAGS)
> > > +CFLAGS += -I$(RTE_SDK)/drivers/bus/ifpga CFLAGS +=
> > > +-I$(RTE_SDK)/drivers/raw/ifpga_rawdev
> > > +LDLIBS += -lrte_eal
> > > +LDLIBS += -lrte_rawdev
> > > +LDLIBS += -lrte_bus_vdev
> > > +LDLIBS += -lrte_kvargs
> > > +
> > > +EXPORT_MAP := rte_ifpga_rawdev_version.map
> > > +
> > > +LIBABIVER := 1
> > > +
> > > +VPATH += $(SRCDIR)/base
> > > +
> > > +include $(RTE_SDK)/drivers/raw/ifpga_rawdev/base/Makefile
> > > +
> > > +#
> > > +# all source are stored in SRCS-y
> > > +#
> > > +SRCS-$(CONFIG_RTE_LIBRTE_IFPGA_RAWDEV) += ifpga_rawdev.c
> > > +
> > > +include $(RTE_SDK)/mk/rte.lib.mk
> >
> > [...]
> > Your patch doesn't compile at this point: (Static build; Shared is
> still stuck on
> > patch [1/3]).
> >
> > --->8---
> > == Build drivers/raw/ifpga_rawdev
> > /home/shreyansh/build/DPDK/00_dpdk/drivers/raw/ifpga_rawdev/Makefil
> > e:27:
> > /home/shreyansh/build/DPDK/00_dpdk/drivers/raw/ifpga_rawdev/base/M
> > akefile:
> > No such file or directory
> > make[6]: *** No rule to make target
> > '/home/shreyansh/build/DPDK/00_dpdk/drivers/raw/ifpga_rawdev/base/M
> > akefile'.
> >   Stop.
> > /home/shreyansh/build/DPDK/00_dpdk/mk/rte.subdir.mk:35: recipe for
> > target 'ifpga_rawdev' failed
> > make[5]: *** [ifpga_rawdev] Error 2
> > make[5]: *** Waiting for unfinished jobs....
> > --->8---
> >
> > Which is because your patch [3/3] contains various definitions which
> are
> > being used in this patch.
> >
> > Am I missing something?
> 
> I have fixed it and try to build it after CONFIG_RTE_BUILD_SHARED_LIB =
> y,
> And it build and link well.
> Is this answer to your comments?

Yes, and no.
I get that there was an issue with shared compilation so, yes, your response has fixed that.
But, I still see the issue of patch being dependent. I think you compiled everything together (all patches combined) - so, no, that is not the expectation.

All patches should be compliable separately, shared or static.

> 
> > -
> > Shreyansh


More information about the dev mailing list