From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-wr0-f180.google.com (mail-wr0-f180.google.com [209.85.128.180]) by dpdk.org (Postfix) with ESMTP id 7622A913D for ; Wed, 24 May 2017 18:17:00 +0200 (CEST) Received: by mail-wr0-f180.google.com with SMTP id j27so4268713wre.1 for ; Wed, 24 May 2017 09:17:00 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=6wind-com.20150623.gappssmtp.com; s=20150623; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=Ls5k8AmPYUFc8IoLuVRtkNj/VtfRT9CgQ989PiFMCGE=; b=AAqbUrqckbwBORuKeEdL9yYHoe0quJoTITr0NvaOy9tlXLp8XxPZl6z+LSbQq6vi5j jd3slVrrfQJ9ixsDPce93R9NFHTtuUN/5vA6Fi+q9+dNuql7lFUCEJBPmc0f9CepYzFp HPCe/g34A/RBUfmov2UMla+WnL0av/fp9iwVeM18h4Cq3CiPtWbddf5HtdNt4MPXNY3A mvmhqyX8bMSKjofjrP+nJ/sjtdZUxQvNPz/HnVzxyeUBUnim5Ay+3ameCAHGcsjmyrf3 12jMS4Go+JCSIhyUeuaLnG0CbHLINAHTlre7kF5bp6yTA02sPosJ56Gluqfv1+89bOQ9 W0VA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references; bh=Ls5k8AmPYUFc8IoLuVRtkNj/VtfRT9CgQ989PiFMCGE=; b=b4dv9WfwLWjqDRN2BYSPumvK/nD4zgr1iftiwuZ8aTxTKTxgNjUuYZPbV5KL2xJCLF BQ6kJa8trcpCsPsA/1XxOfv5d0UATMy+MuRIRTK9RjVIik0RL0SihHnAdN5WU4aTjfkN g2HHUGoyhXodgy/MwaoVxDmdSNxmTIAh/iOjNFkpcUrhUpYZjMYYMPEfzKbDnubqyzip ENSyRmHd4ONSgwxxm9H3gI3fucHPHbaW1f3PSaSG4v9WoQXcgIrCWtpYlZBzwIOoN8we 3XsCMCc4nl3ofLg9GkM2bN00SC91CRWf/5gZI9RUKLvoN3Okjk7nmZ3fONc0Nh2b0Kxd JCdw== X-Gm-Message-State: AODbwcARUWieEmQadAJyPUD6XDz3vpcThFt0MY5nCVvTXgqdSVh8QE3y vdH7GdXG3plnEQ0hbH0= X-Received: by 10.223.166.129 with SMTP id t1mr23803214wrc.116.1495642619656; Wed, 24 May 2017 09:16:59 -0700 (PDT) Received: from bidouze.dev.6wind.com (host.78.145.23.62.rev.coltfrance.com. [62.23.145.78]) by smtp.gmail.com with ESMTPSA id 17sm5816909wml.32.2017.05.24.09.16.58 (version=TLS1_2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Wed, 24 May 2017 09:16:58 -0700 (PDT) From: Gaetan Rivet To: dev@dpdk.org Cc: Gaetan Rivet Date: Wed, 24 May 2017 18:16:35 +0200 Message-Id: X-Mailer: git-send-email 2.1.4 In-Reply-To: References: Subject: [dpdk-dev] [PATCH v2 00/14] Generic devargs parsing X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 24 May 2017 16:17:00 -0000 The second part of the work outlined in [1] and [2]. The first part is at [3]. In this patchset, the representation of devices in rte_devargs is made generic to remove some dependencies of the EAL on specific buses implementations. Following the device types being characterized by their bus, the DEVTYPE flags are updated not to reference virtual / PCI devices anymore. The device type was one of two elements expressed by these flags and the bus handle only covers one. The second is the bus scan behavior, namely "whitelist mode" or "blacklist mode". These two modes are consequently introduced as bus scan policies, expressed within a bus configuration structure. Finally, once all specialized parts have been removed from rte_devargs, a cleaner rte_devargs parser is proposed. This parser should allow following further changes without having to update its API, and is already available for third parties to build rte_devargs structures from device declarations. With this patchset, it is now possible to use any device type on the EAL command line, with either the -w or -b parameters. The bus name can be used to explicitly ask for one bus to handle a device if there is any ambiguity. Buses needs only to implement the "parse" method for their devices to be declared in this way. [1]: http://dpdk.org/ml/archives/dev/2017-May/065634.html [2]: http://dpdk.org/ml/archives/dev/2017-May/065670.html [3]: http://dpdk.org/ml/archives/dev/2017-May/066341.html This patchset depends on: [PATCH 0/9] rte_bus parse API http://dpdk.org/ml/archives/dev/2017-May/066341.html http://dpdk.org/dev/patchwork/patch/24499/ v1 -> v2: * fix PCI whitelist mode Gaetan Rivet (14): net/bonding: properly reference PCI header net/bnxt: properly reference PCI header net/mlx5: properly reference PCI header net/e1000: properly reference PCI header net/ixgbe: properly reference PCI header net/sfc: properly reference PCI header app/testpmd: properly reference PCI header dev: device kernel module is a device attribute bus: introduce bus scan policies devargs: parse bus policies devargs: generic device representation net/virtio: do not reference device type devargs: generic device types devargs: introduce cleaner parsing helper app/test-pmd/testpmd.c | 9 +- app/test-pmd/testpmd.h | 2 + doc/guides/rel_notes/deprecation.rst | 5 + drivers/net/bnxt/bnxt.h | 1 + drivers/net/bonding/rte_eth_bond_args.c | 1 + drivers/net/e1000/e1000_ethdev.h | 1 + drivers/net/ixgbe/ixgbe_ethdev.h | 1 + drivers/net/mlx5/mlx5.h | 1 + drivers/net/sfc/sfc.h | 1 + drivers/net/virtio/virtio_pci.c | 5 +- lib/librte_eal/common/eal_common_devargs.c | 137 ++++++++++++++++------------ lib/librte_eal/common/eal_common_options.c | 13 +-- lib/librte_eal/common/eal_common_pci.c | 15 +-- lib/librte_eal/common/eal_common_vdev.c | 12 +-- lib/librte_eal/common/include/rte_bus.h | 17 ++++ lib/librte_eal/common/include/rte_dev.h | 12 +++ lib/librte_eal/common/include/rte_devargs.h | 42 +++++---- lib/librte_eal/common/include/rte_pci.h | 9 -- lib/librte_eal/common/include/rte_vdev.h | 2 +- 19 files changed, 167 insertions(+), 119 deletions(-) -- 2.1.4