From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-wr0-f171.google.com (mail-wr0-f171.google.com [209.85.128.171]) by dpdk.org (Postfix) with ESMTP id 0C89E2C8 for ; Fri, 7 Jul 2017 02:03:41 +0200 (CEST) Received: by mail-wr0-f171.google.com with SMTP id c11so24153951wrc.3 for ; Thu, 06 Jul 2017 17:03:41 -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=g/QqtArf42VbouLJECxCvzroWGByLH2mAVIM9wVtPlA=; b=Owy8vkDqmnwZvWMi1fAtPiVO9n7LeK2SB4qzwvKMXfXx0M7C4AMqGZwL1lnTOLxgpW cVegaZKHZKSWMFotS/83ZmyUEggqn62kJWDytD32k7H4NA8OkcrUVR8Wnvmso2czd8kO b3FcCPv6DObQG4Bt1aADq2+nkZizeJ+fmFd83hqTFKbR3mFOxTKDKE2JmJJ5LzAd/MRl AB2bjJQL7eG2u2KU0Spj0xm01T8m4CFW8jWJUWiJRl3pnlu0DBgl6rbVFjgNwblslGJn ym4mRdluGDkg5Vlo4rwItL/kHxPKQw2YwyFgScBFJfs7xPOXYWERjgiy12EGS5AXpsgc ygfg== 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=g/QqtArf42VbouLJECxCvzroWGByLH2mAVIM9wVtPlA=; b=KOOkB9pnhoKqFPHpHJ8D8mDf0MkUalSCsjiAV16xFG67SgZPdchLKMPqjFEGZKACwR QHxQnpYTiDhTtgETZhLQ37tEVupr1hkonRcK+8Yovp5403pPFVKaL7a65r16rhwheJ7Z gpXaoUuNZ14SUq2hfwrsnxU03bYceqM8IspJyw7FsO6Kc/ASIie48n8+Lu4UUIc3mxBx Yu5dnWgBz7xRiMNLUOY0wmGpYPsdJLPkBbJtO5ODBX3+zB9VRFn0+bU5jyha471JXoXl 0tOi+/8ohLxPbDJ/PDADa9ZFMZAcOcph6cQHSpB8tJpCdHg6TN6aZi1V8ZjQxx2OeYDI C7Cw== X-Gm-Message-State: AIVw110pHYROuuXGKT/lTJtJytaWgHuGDv9j5zfgduV48Sbz80DILLIf l6moHJdwXt5yPl1UEQY= X-Received: by 10.28.214.213 with SMTP id n204mr293474wmg.114.1499385820300; Thu, 06 Jul 2017 17:03:40 -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 p7sm2364921wmf.11.2017.07.06.17.03.38 (version=TLS1_2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Thu, 06 Jul 2017 17:03:39 -0700 (PDT) From: Gaetan Rivet To: dev@dpdk.org Cc: Gaetan Rivet , Jan Blunck , Stephen Hemminger , Bruce Richardson Date: Fri, 7 Jul 2017 02:03:06 +0200 Message-Id: X-Mailer: git-send-email 2.1.4 In-Reply-To: References: Subject: [dpdk-dev] [PATCH v8 0/6] rte_bus parse API 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: Fri, 07 Jul 2017 00:03:41 -0000 Following the evolutions announced in [1], here is the first part of the rte_devargs rework planned for 17.08. The rationale has been partially explained in [2]. This first part covers the introduction of the necessary facilities in rte_bus to allow for generic device parsing. This API is implemented for the virtual and PCI buses. Additionally, this rte_bus evolution is being used within rte_devargs to characterize a device type by its bus. This work is the first of two parts to reduce the dependency of the EAL upon specific bus implementations. The modified rte_devargs parsing allows declaring on the EAL command line explicit buses to handle a device. The format is as follow: --vdev="virtual:net_ring0" --vdev="net_tap0,iface=tap0" -w PCI:00:02.0 -w 00:03.0 This explicit bus designation is optional; no evolution is currently forced on users to migrate to this new format. The separating character is arbitrary. [1]: http://dpdk.org/ml/archives/dev/2017-May/065634.html [2]: http://dpdk.org/ml/archives/dev/2017-May/065670.html This patchset depends on: bus attach/detach API and hotplug rework http://dpdk.org/ml/archives/dev/2017-June/069643.html http://dpdk.org/dev/patchwork/patch/26135/ v1 -> v2: * fix PCI parse implementation v2 --> v3: * Rebase the series on the new plug / unplug API v3 --> v4: * Several bug fixes, commit log rewrite. * Follow the changes to the plug / unplug API. v5: * Do not verify bus name on bus registration. Actually, a legal bus name is not defined anymore. The bus/device separator in a device declaration can be anything, as long as it is a single character. The behavior is otherwise unchanged. v6: * Rebase upon new hotplug patchset version. * Rename rte_bus_from_dev as rte_bus_find_by_device_name. This function is now private to the EAL. * Remove rte_bus_from_name, as it has been integrated as rte_bus_find_by_name by Jan Blunck. * Reduce parsing ambiguity in rte_devargs. v7: * Use Thomas' bus registration fix. * Improve rte_bus_find_by_device_name, by making more resistant to shaky bus parse implementation. v8: * Fix a few incorrect bus name references. * Add a few acks. * Clarify the standing of the bus parse API in its introductory commit log. Gaetan Rivet (5): bus: introduce parsing functionality vdev: implement parse bus operation pci: implement parse bus operation bus: add helper to find a bus from a device name devargs: parse bus info Thomas Monjalon (1): bus: fix driver registration drivers/bus/fslmc/fslmc_bus.c | 2 +- drivers/bus/fslmc/rte_fslmc.h | 3 -- lib/librte_eal/common/eal_common_bus.c | 23 +++++++++- lib/librte_eal/common/eal_common_dev.c | 2 +- lib/librte_eal/common/eal_common_devargs.c | 42 +++++++++++++++--- lib/librte_eal/common/eal_common_pci.c | 17 +++++++- lib/librte_eal/common/eal_common_vdev.c | 66 +++++++++++++++-------------- lib/librte_eal/common/eal_private.h | 12 ++++++ lib/librte_eal/common/include/rte_bus.h | 24 ++++++++++- lib/librte_eal/common/include/rte_devargs.h | 3 ++ lib/librte_eal/common/include/rte_eal.h | 3 ++ lib/librte_eal/common/include/rte_pci.h | 3 -- lib/librte_eal/common/include/rte_vdev.h | 2 - 13 files changed, 150 insertions(+), 52 deletions(-) -- 2.1.4