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. > /* 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