From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-wm0-f52.google.com (mail-wm0-f52.google.com [74.125.82.52]) by dpdk.org (Postfix) with ESMTP id 6389D2A5E for ; Thu, 12 Oct 2017 10:18:47 +0200 (CEST) Received: by mail-wm0-f52.google.com with SMTP id q132so10975382wmd.2 for ; Thu, 12 Oct 2017 01:18:47 -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; bh=kckXDAaNaGWrmcoFxoR+ih/U3J8r359mM74btwDPXiM=; b=wEI7qu0hmAg10B4FFmw77NbkJ0D7xrCA+64YS+pIm2voRgLQNAUSZ/9CPKAj31ntjM zdIVK10r4l68HhipYQZK2ALOsNlDqiaKuw7o0KBDrW6pLZ6YOV+R58JzQhQ1kgNEbVYt AxpgkCV5HlE40RqLgbZKGu9vhA6kC/6WzQP5H8W1ooSTEJAKQBj3Z90bP9dbW2ld+BI5 9JeWKkBblCGdy5ne9zmIPtDeGVzZpruYtpgZU0zOZ9zs829shfNqrNo46iishit0uRVA b3jBhuemTxRruqZCIXEUa3rjf+HJyLUed3APWj/AmikYvvhPnA+ofDkjRBoJQ5v8X7F+ FbSg== 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; bh=kckXDAaNaGWrmcoFxoR+ih/U3J8r359mM74btwDPXiM=; b=Zi/yvggqPW4CjubuFLJ7deXGDImuULpstVUDBirGzHtoHqGpHM2u2e33OPi6YNL6By ojuuoQ4GXkYYpUF7e7wU02HhTP0gsUy+lBVSxjah6TSCdpik282kr1XXa0wRWmGyz8M3 IYaPmvgcCmdTIWk/ESK+8lgR1dsLd32/L33sAt0UDCd/JK1m8aGRK4uKokp28VVq6ngv DzjPOrAjCA7rFxM5slIXVWVn+WmM00u2rt+OFadZ1aoNrnLfY1Mn/4LSER3dfO9D8q8V +rrse/l6Z+rpsK5knJyZoqifA6B/gs8YMc/KO1rnWcaWrf/WYB0XnEFA0kD1Ogw9K6AZ PlkA== X-Gm-Message-State: AMCzsaW1NhPvxZTUTnH4XupAaWoT1wk8t1RuRbTIYS+VO4OKth+qO3P1 iCdc8UKYGOD6CNyGL3G4ogIdfPge X-Google-Smtp-Source: AOwi7QBaV2AtOZeXOQAQV5n48KsBxCxqxMM6F3W4SuyURsmavNpXeuBm7NsAlgvuwmgtgQ6gVZAJmw== X-Received: by 10.223.185.105 with SMTP id b38mr1407227wrg.262.1507796326663; Thu, 12 Oct 2017 01:18:46 -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 i76sm39971757wmd.2.2017.10.12.01.18.45 (version=TLS1_2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Thu, 12 Oct 2017 01:18:45 -0700 (PDT) From: Gaetan Rivet To: dev@dpdk.org Cc: Gaetan Rivet Date: Thu, 12 Oct 2017 10:18:22 +0200 Message-Id: X-Mailer: git-send-email 2.1.4 Subject: [dpdk-dev] [PATCH v1 0/8] Bus control framework 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: Thu, 12 Oct 2017 08:18:47 -0000 Probing policy was introduced in the previous release as a configuration item. It was thus added to the generic bus structure, breaking its ABI. In this release, the IOVA mode can be read from a bus to configure the EAL. This new configuration element also broke the bus ABI when it was added. As new operators had to be implemented for the probe policy item, these patches were developed to help mitigate this issue. This control framework allows to expand the rte_bus API without breaking its ABI. It is meant to be used with configuration elements that may only be valid for a few buses, while the others would remain untouched and unaware of the evolution. A central control operator is used, similarly to the working of rte_flow API in the ether layer. Each driver thus chooses to expose a set of operators relevant to its implementation. The caller is then free to use those if they are available. Both Probe mode and IOVA mode operators are implemented for the PCI bus. This patchset depends on: Move PCI away from the EAL http://dpdk.org/ml/archives/dev/2017-August/073512.html Gaetan Rivet (8): bus: rename scan policy as probe policy bus: introduce opaque control framework bus: remove probe mode configuration structure bus: add probe mode setter bus/pci: implement ctrl operator bus: add IOVA mode as a ctrl operation bus/pci: implement IOVA mode getter bus: remove redundant IOVA mode getter drivers/bus/pci/bsd/pci.c | 9 +- drivers/bus/pci/include/rte_bus_pci.h | 12 +-- drivers/bus/pci/linux/pci.c | 20 ++-- drivers/bus/pci/pci_common.c | 53 +++++++++- drivers/bus/pci/private.h | 13 +++ lib/librte_eal/bsdapp/eal/rte_eal_version.map | 1 - lib/librte_eal/common/eal_common_bus.c | 57 +++++++++-- lib/librte_eal/common/eal_common_devargs.c | 8 -- lib/librte_eal/common/eal_common_options.c | 17 +--- lib/librte_eal/common/include/rte_bus.h | 127 ++++++++++++++++-------- lib/librte_eal/linuxapp/eal/rte_eal_version.map | 1 - 11 files changed, 222 insertions(+), 96 deletions(-) -- 2.1.4