> -----Original Message----- > From: Gaëtan Rivet [mailto:gaetan.ri...@6wind.com] > Sent: Wednesday, March 28, 2018 21:26 > To: Xu, Rosen <rosen...@intel.com> > Cc: dev@dpdk.org; Doherty, Declan <declan.dohe...@intel.com>; > Richardson, Bruce <bruce.richard...@intel.com>; shreyansh.j...@nxp.com; > Zhang, Tianfei <tianfei.zh...@intel.com>; Wu, Hao <hao...@intel.com> > Subject: Re: [PATCH v3 1/6] Add Intel FPGA BUS Command Parse Code > > On Wed, Mar 28, 2018 at 05:29:51PM +0800, Rosen Xu wrote: > > Signed-off-by: Rosen Xu <rosen...@intel.com> > > --- > > lib/librte_eal/common/eal_common_options.c | 8 +++++++- > > lib/librte_eal/common/eal_options.h | 2 ++ > > 2 files changed, 9 insertions(+), 1 deletion(-) > > > > diff --git a/lib/librte_eal/common/eal_common_options.c > > b/lib/librte_eal/common/eal_common_options.c > > index 9f2f8d2..4fe0875 100644 > > --- a/lib/librte_eal/common/eal_common_options.c > > +++ b/lib/librte_eal/common/eal_common_options.c > > @@ -73,6 +73,7 @@ > > {OPT_VDEV, 1, NULL, OPT_VDEV_NUM }, > > {OPT_VFIO_INTR, 1, NULL, OPT_VFIO_INTR_NUM }, > > {OPT_VMWARE_TSC_MAP, 0, NULL, > OPT_VMWARE_TSC_MAP_NUM }, > > + {OPT_IFPGA, 1, NULL, OPT_IFPGA_NUM }, > > {0, 0, NULL, 0 } > > }; > > > > @@ -1160,7 +1161,12 @@ static int xdigit2val(unsigned char c) > > > > core_parsed = LCORE_OPT_MAP; > > break; > > - > > + case OPT_IFPGA_NUM: > > + if (eal_option_device_add(RTE_DEVTYPE_VIRTUAL, > > + optarg) < 0) { > > + return -1; > > + } > > + break; > > why do you need to add a new option if you only insert a virtual devargs? > > Why wouldn't --vdev option work instead? and for that matter, I was > expecting you to provide a PCI address. Can you give a command line > showing how you create your device? The devtype is essentially ignored > currently (at option stage, maybe there are still cruft left in PCI bus), > instead > the devargs parsing will detect the bus from the given optarg. > > This part of EAL will change rather soon, I'd prefer not to deal with > additional > options unless necessary.
For PATCH v4, I have removed all the modification from eal library. Create vdev to take IFPGA parameters configuration. The command line for PATCH v4 is(just take 2 AFU for example): testpmd -c 0x3 -n 4 --socket-mem 1024,0 --huge-dir=/mnt/huge \ --vdev 'net_ifpga_cfg0,bdf=5e:00.0,port=0,afu_bts=./xxx.gbs' \ --vdev 'net_ifpga_cfg1,bdf=be:00.0,port=0,afu_bts=./xxx.gbs' -- -i --no-numa Note: the parameter of "port" is used by OPAE for download bitstream. > > /* don't know what to do, leave this to caller */ > > default: > > return 1; > > diff --git a/lib/librte_eal/common/eal_options.h > > b/lib/librte_eal/common/eal_options.h > > index e86c711..bdbb2c4 100644 > > --- a/lib/librte_eal/common/eal_options.h > > +++ b/lib/librte_eal/common/eal_options.h > > @@ -55,6 +55,8 @@ enum { > > OPT_VFIO_INTR_NUM, > > #define OPT_VMWARE_TSC_MAP "vmware-tsc-map" > > OPT_VMWARE_TSC_MAP_NUM, > > +#define OPT_IFPGA "ifpga" > > + OPT_IFPGA_NUM, > > OPT_LONG_MAX_NUM > > }; > > > > -- > > 1.8.3.1 > > > > -- > Gaëtan Rivet > 6WIND