From: Shreyansh Jain <shreyansh.jain@nxp.com>
To: <david.marchand@6wind.com>
Cc: <dev@dpdk.org>, <thomas.monjalon@6wind.com>,
Shreyansh Jain <shreyansh.jain@nxp.com>
Subject: [dpdk-dev] [PATCH v10 02/13] test: add basic bus infrastructure tests
Date: Wed, 18 Jan 2017 19:35:18 +0530 [thread overview]
Message-ID: <1484748329-5418-3-git-send-email-shreyansh.jain@nxp.com> (raw)
In-Reply-To: <1484748329-5418-1-git-send-email-shreyansh.jain@nxp.com>
Verification of bus registration, deregistration methods.
Signed-off-by: Shreyansh Jain <shreyansh.jain@nxp.com>
Reviewed-by: Ferruh Yigit <ferruh.yigit@intel.com>
---
app/test/Makefile | 2 +-
app/test/autotest_data.py | 6 +
app/test/test.h | 2 +
app/test/test_bus.c | 359 ++++++++++++++++++++++++
lib/librte_eal/bsdapp/eal/rte_eal_version.map | 1 +
lib/librte_eal/common/include/rte_bus.h | 3 +
lib/librte_eal/linuxapp/eal/rte_eal_version.map | 1 +
7 files changed, 373 insertions(+), 1 deletion(-)
create mode 100644 app/test/test_bus.c
diff --git a/app/test/Makefile b/app/test/Makefile
index 5be023a..ca0f106 100644
--- a/app/test/Makefile
+++ b/app/test/Makefile
@@ -94,7 +94,7 @@ SRCS-y += test_cycles.c
SRCS-y += test_spinlock.c
SRCS-y += test_memory.c
SRCS-y += test_memzone.c
-
+SRCS-y += test_bus.c
SRCS-y += test_ring.c
SRCS-y += test_ring_perf.c
SRCS-y += test_pmd_perf.c
diff --git a/app/test/autotest_data.py b/app/test/autotest_data.py
index 0cd598b..ea8f9ca 100644
--- a/app/test/autotest_data.py
+++ b/app/test/autotest_data.py
@@ -239,6 +239,12 @@ def per_sockets(num):
"Func": default_autotest,
"Report": None,
},
+ {
+ "Name": "Bus autotest",
+ "Command": "bus_autotest",
+ "Func": default_autotest,
+ "Report": None,
+ },
]
},
{
diff --git a/app/test/test.h b/app/test/test.h
index 82831f4..c8ec43f 100644
--- a/app/test/test.h
+++ b/app/test/test.h
@@ -236,6 +236,8 @@ int commands_init(void);
int test_pci(void);
int test_pci_run;
+int test_bus(void);
+
int test_mp_secondary(void);
int test_set_rxtx_conf(cmdline_fixed_string_t mode);
diff --git a/app/test/test_bus.c b/app/test/test_bus.c
new file mode 100644
index 0000000..9680bac
--- /dev/null
+++ b/app/test/test_bus.c
@@ -0,0 +1,359 @@
+/*-
+ * BSD LICENSE
+ *
+ * Copyright(c) 2016 NXP.
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * * Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * * Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in
+ * the documentation and/or other materials provided with the
+ * distribution.
+ * * Neither the name of NXP nor the names of its
+ * contributors may be used to endorse or promote products derived
+ * from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+ * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+ * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#include <stdio.h>
+#include <string.h>
+#include <stdint.h>
+#include <sys/queue.h>
+
+#include <rte_bus.h>
+#include <rte_pci.h>
+#include <rte_devargs.h>
+
+#include "test.h"
+#include "resource.h"
+
+/* Visualizing following bus-device-driver model for test
+ *
+ * ===.===========.===========.=========,= busA
+ * | | . |
+ * devA1 devA2 . '____CPU_
+ * `-----------`-------> driverA |
+ * '
+ * ===.===========.===========.=========|= busB
+ * | | .
+ * devB1 devB2 .
+ * `-----------`-------> driverB
+ *
+ */
+
+#define MAX_DEVICES_ON_BUS 10
+#define MAX_DRIVERS_ON_BUS 10
+
+struct dummy_driver;
+struct dummy_device;
+struct dummy_bus;
+
+TAILQ_HEAD(dummy_device_list, dummy_device); /**< List of dummy devices */
+TAILQ_HEAD(dummy_driver_list, dummy_driver); /**< List of dummy drivers */
+
+/* A structure representing a ethernet/crypto device, embedding
+ * the rte_device.
+ */
+struct dummy_device {
+ TAILQ_ENTRY(dummy_device) next;
+ const char *name;
+ struct rte_device dev;
+};
+
+/* A structure representing a PMD driver of a particular type,
+ * for e.g. PCI.
+ */
+struct dummy_driver {
+ TAILQ_ENTRY(dummy_driver) next;
+ const char *name;
+ struct rte_driver drv;
+};
+
+struct dummy_bus {
+ TAILQ_ENTRY(dummy_bus) next;
+ const char *name;
+ struct rte_bus bus;
+ struct dummy_driver_list driver_list;
+ struct dummy_device_list device_list;
+};
+
+/* Structure representing a Bus with devices attached to it, and drivers
+ * for those devices
+ */
+struct dummy_bus_map {
+ const char *name;
+ struct dummy_bus *dbus;
+ struct dummy_driver *ddrivers[MAX_DRIVERS_ON_BUS];
+ struct dummy_device *ddevices[MAX_DEVICES_ON_BUS];
+};
+
+struct rte_bus_list orig_bus_list =
+ TAILQ_HEAD_INITIALIZER(orig_bus_list);
+
+struct dummy_bus busA = {
+ .name = "busA_impl", /* busA */
+ .bus = {
+ .name = "busA",
+ },
+};
+
+struct dummy_bus busB = {
+ .name = "busB_impl", /* busB */
+ .bus = {
+ .name = "busB",
+ },
+};
+
+struct dummy_driver driverA = {
+ .name = "driverA_impl",
+ .drv = {
+ .name = "driverA",
+ },
+};
+
+struct dummy_device devA1 = {
+ .name = "devA1",
+ .dev = {
+ .bus = NULL,
+ .driver = NULL,
+ }
+};
+
+struct dummy_device devA2 = {
+ .name = "devA2",
+ .dev = {
+ .bus = NULL,
+ .driver = NULL,
+ }
+};
+
+struct dummy_driver driverB = {
+ .name = "driverB_impl",
+ .drv = {
+ .name = "driverB",
+ },
+};
+
+struct dummy_device devB1 = {
+ .name = "devB1",
+ .dev = {
+ .bus = NULL,
+ .driver = NULL,
+ }
+};
+
+struct dummy_device devB2 = {
+ .name = "devB2",
+ .dev = {
+ .bus = NULL,
+ .driver = NULL,
+ }
+};
+
+struct dummy_bus_map bus_map[] = {
+ {
+ .name = "busA",
+ .dbus = &busA,
+ .ddrivers = {&driverA, NULL},
+ .ddevices = {&devA1, &devA2, NULL},
+ },
+ {
+ .name = "busB",
+ .dbus = &busB,
+ .ddrivers = {&driverB, NULL},
+ .ddevices = {&devB1, &devB2, NULL},
+ },
+ {NULL, NULL, {NULL,}, {NULL,}, },
+};
+
+/* @internal
+ * Dump the device tree
+ */
+static void
+dump_device_tree(void)
+{
+ int i;
+ struct dummy_bus_map *db;
+ struct rte_bus *bus;
+ struct dummy_bus *dbus;
+ struct dummy_driver *ddriver;
+ struct dummy_device *ddevice;
+
+ printf("------>8-------\n");
+ printf("Device Tree:\n");
+ for (i = 0; bus_map[i].name; i++) {
+ db = &bus_map[i];
+
+ bus = &db->dbus->bus;
+ if (!bus)
+ return;
+
+ dbus = container_of(bus, struct dummy_bus, bus);
+ printf(" Bus: %s (Implementation name: %s)\n",
+ bus->name, dbus->name);
+
+ printf(" Drivers on bus:\n");
+ TAILQ_FOREACH(ddriver, &dbus->driver_list, next) {
+ printf(" %s\n", ddriver->name);
+ }
+
+ printf(" Devices on bus:\n");
+ TAILQ_FOREACH(ddevice, &dbus->device_list, next) {
+ printf(" Addr: %p\n", ddevice);
+ if (ddevice->dev.driver)
+ printf(" Driver = %s\n",
+ ddevice->dev.driver->name);
+ else
+ printf(" Driver = None\n");
+ }
+ }
+ printf("------>8-------\n");
+}
+
+static int
+test_bus_setup(void)
+{
+ struct rte_bus *bus_p = NULL;
+
+ /* Preserve the original bus list before executing test */
+ while (!TAILQ_EMPTY(&rte_bus_list)) {
+ bus_p = TAILQ_FIRST(&rte_bus_list);
+ TAILQ_REMOVE(&rte_bus_list, bus_p, next);
+ TAILQ_INSERT_TAIL(&orig_bus_list, bus_p, next);
+ }
+
+ return 0;
+}
+
+static int
+test_bus_cleanup(void)
+{
+ struct rte_bus *bus_p = NULL;
+
+ /* Cleanup rte_bus_list before restoring entries */
+ while (!TAILQ_EMPTY(&rte_bus_list)) {
+ bus_p = TAILQ_FIRST(&rte_bus_list);
+ rte_bus_unregister(bus_p);
+ TAILQ_REMOVE(&rte_bus_list, bus_p, next);
+ }
+
+ bus_p = NULL;
+ /* Restore original entries */
+ while (!TAILQ_EMPTY(&orig_bus_list)) {
+ bus_p = TAILQ_FIRST(&orig_bus_list);
+ TAILQ_REMOVE(&orig_bus_list, bus_p, next);
+ TAILQ_INSERT_TAIL(&rte_bus_list, bus_p, next);
+ }
+
+ return 0;
+}
+
+static int
+test_bus_registration(void)
+{
+ int i;
+ int ret;
+ struct rte_bus *bus = NULL;
+
+ for (i = 0; bus_map[i].name != NULL; i++) {
+ bus = &(bus_map[i].dbus->bus);
+ rte_bus_register(bus);
+ printf("Registered Bus %s\n", bus_map[i].name);
+ }
+
+ /* Verify that all buses have been successfully registered */
+ i = 0;
+ TAILQ_FOREACH(bus, &rte_bus_list, next) {
+ /* Or, if the name of the bus is NULL */
+ if (!bus->name) {
+ /* Incorrect entry in list */
+ printf("Incorrect bus registered.\n");
+ return -1;
+ }
+
+ /* Or, if the bus name doesn't match that of bus_map */
+ ret = strcmp(bus->name, bus_map[i].name);
+ if (ret) {
+ /* Bus name doesn't match */
+ printf("Unable to correctly register bus (%s).\n",
+ bus_map[i].name);
+ return -1;
+ }
+ i++;
+ }
+
+ /* Current value of bus_map[i] should be the NULL entry */
+ if (bus_map[i].name != NULL) {
+ printf("Not all buses were registered. For e.g. (%s)\n",
+ bus_map[i].name);
+ return -1;
+ }
+
+ printf("Buses registered are:\n");
+ rte_bus_dump(stdout);
+
+ return 0;
+}
+
+static int
+test_bus_unregistration(void)
+{
+ int i;
+ struct rte_bus *bus = NULL;
+
+ for (i = 0; bus_map[i].name != NULL; i++) {
+ bus = &(bus_map[i].dbus->bus);
+ if (bus) {
+ printf("Unregistering bus: '%s'\n", bus->name);
+ rte_bus_unregister(bus);
+ }
+ }
+
+ if (!TAILQ_EMPTY(&rte_bus_list)) {
+ /* Unable to unregister all dummy buses */
+ printf("Unable to unregister all buses\n");
+ return -1;
+ }
+
+ printf("All buses have been unregistered.\n");
+ dump_device_tree();
+ return 0;
+}
+
+int
+test_bus(void)
+{
+ /* Make necessary arrangements before starting test */
+ if (test_bus_setup())
+ return -1;
+
+ if (test_bus_registration())
+ return -1;
+
+ if (test_bus_unregistration())
+ return -1;
+
+ /* Restore the original environment/settings */
+ if (test_bus_cleanup())
+ return -1;
+
+ return 0;
+}
+
+REGISTER_TEST_COMMAND(bus_autotest, test_bus);
diff --git a/lib/librte_eal/bsdapp/eal/rte_eal_version.map b/lib/librte_eal/bsdapp/eal/rte_eal_version.map
index 12298f2..4dcf653 100644
--- a/lib/librte_eal/bsdapp/eal/rte_eal_version.map
+++ b/lib/librte_eal/bsdapp/eal/rte_eal_version.map
@@ -178,6 +178,7 @@ DPDK_16.11 {
DPDK_17.02 {
global:
+ rte_bus_list;
rte_bus_dump;
rte_bus_register;
rte_bus_unregister;
diff --git a/lib/librte_eal/common/include/rte_bus.h b/lib/librte_eal/common/include/rte_bus.h
index 2dc9bef..204e576 100644
--- a/lib/librte_eal/common/include/rte_bus.h
+++ b/lib/librte_eal/common/include/rte_bus.h
@@ -56,6 +56,9 @@ extern "C" {
/** Double linked list of buses */
TAILQ_HEAD(rte_bus_list, rte_bus);
+/* Bus list exposed */
+extern struct rte_bus_list rte_bus_list;
+
/**
* A structure describing a generic bus.
*/
diff --git a/lib/librte_eal/linuxapp/eal/rte_eal_version.map b/lib/librte_eal/linuxapp/eal/rte_eal_version.map
index d996cbc..b553b13 100644
--- a/lib/librte_eal/linuxapp/eal/rte_eal_version.map
+++ b/lib/librte_eal/linuxapp/eal/rte_eal_version.map
@@ -182,6 +182,7 @@ DPDK_16.11 {
DPDK_17.02 {
global:
+ rte_bus_list;
rte_bus_dump;
rte_bus_register;
rte_bus_unregister;
--
2.7.4
next prev parent reply other threads:[~2017-01-18 14:03 UTC|newest]
Thread overview: 146+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-01-16 15:38 [dpdk-dev] [PATCH v6 0/8] Introducing EAL Bus-Device-Driver Model Shreyansh Jain
2017-01-16 15:38 ` [dpdk-dev] [PATCH v6 1/8] eal/bus: introduce bus abstraction Shreyansh Jain
2017-01-16 15:38 ` [dpdk-dev] [PATCH v6 2/8] test: add basic bus infrastructure tests Shreyansh Jain
2017-01-16 15:38 ` [dpdk-dev] [PATCH v6 3/8] pci: split match and probe function Shreyansh Jain
2017-01-16 18:24 ` Stephen Hemminger
2017-01-17 10:10 ` Shreyansh Jain
2017-01-16 19:53 ` Ferruh Yigit
2017-01-17 4:54 ` Shreyansh Jain
2017-01-17 9:58 ` Ferruh Yigit
2017-01-17 10:14 ` Shreyansh Jain
2017-01-16 15:38 ` [dpdk-dev] [PATCH v6 4/8] eal/bus: support for scanning of bus Shreyansh Jain
2017-01-16 15:38 ` [dpdk-dev] [PATCH v6 5/8] eal: introduce bus scan and probe in EAL Shreyansh Jain
2017-01-16 19:58 ` Ferruh Yigit
2017-01-17 5:03 ` Shreyansh Jain
2017-01-17 23:04 ` Thomas Monjalon
2017-01-17 10:13 ` Shreyansh Jain
2017-01-16 15:38 ` [dpdk-dev] [PATCH v6 6/8] test: update bus and pci unit test cases Shreyansh Jain
2017-01-16 15:38 ` [dpdk-dev] [PATCH v6 7/8] eal: enable PCI bus Shreyansh Jain
2017-01-16 19:58 ` Ferruh Yigit
2017-01-17 5:04 ` Shreyansh Jain
2017-01-17 10:11 ` Shreyansh Jain
2017-01-16 15:38 ` [dpdk-dev] [PATCH v6 8/8] eal: enable hotplugging of devices on bus Shreyansh Jain
2017-01-17 7:24 ` Shreyansh Jain
2017-01-16 18:27 ` [dpdk-dev] [PATCH v6 0/8] Introducing EAL Bus-Device-Driver Model Stephen Hemminger
2017-01-17 5:08 ` Shreyansh Jain
2017-01-17 5:09 ` Shreyansh Jain
2017-01-17 10:09 ` [dpdk-dev] [PATCH v7 0/9] " Shreyansh Jain
2017-01-17 10:09 ` [dpdk-dev] [PATCH v7 1/9] eal/bus: introduce bus abstraction Shreyansh Jain
2017-01-17 10:09 ` [dpdk-dev] [PATCH v7 2/9] test: add basic bus infrastructure tests Shreyansh Jain
2017-01-17 10:09 ` [dpdk-dev] [PATCH v7 3/9] pci: split match and probe function Shreyansh Jain
2017-01-17 10:09 ` [dpdk-dev] [PATCH v7 4/9] eal/bus: support for scanning of bus Shreyansh Jain
2017-01-17 10:09 ` [dpdk-dev] [PATCH v7 5/9] eal/bus: introduce support for bus probing Shreyansh Jain
2017-01-17 10:09 ` [dpdk-dev] [PATCH v7 6/9] eal: integrate bus scan and probe with EAL Shreyansh Jain
2017-01-17 10:09 ` [dpdk-dev] [PATCH v7 7/9] test: update bus and pci unit test cases Shreyansh Jain
2017-01-17 10:09 ` [dpdk-dev] [PATCH v7 8/9] eal: enable PCI bus Shreyansh Jain
2017-01-17 10:09 ` [dpdk-dev] [PATCH v7 9/9] eal: enable hotplugging of devices on bus Shreyansh Jain
2017-01-17 10:47 ` Ferruh Yigit
2017-01-17 11:04 ` Shreyansh Jain
2017-01-17 13:40 ` Shreyansh Jain
2017-01-17 10:50 ` [dpdk-dev] [PATCH v7 0/9] Introducing EAL Bus-Device-Driver Model Ferruh Yigit
2017-01-17 13:37 ` [dpdk-dev] [PATCH v8 " Shreyansh Jain
2017-01-17 13:37 ` [dpdk-dev] [PATCH v8 1/9] eal/bus: introduce bus abstraction Shreyansh Jain
2017-01-17 23:19 ` Thomas Monjalon
2017-01-18 5:12 ` Shreyansh Jain
2017-01-17 13:37 ` [dpdk-dev] [PATCH v8 2/9] test: add basic bus infrastructure tests Shreyansh Jain
2017-01-17 23:23 ` Thomas Monjalon
2017-01-18 5:13 ` Shreyansh Jain
2017-01-18 6:56 ` Shreyansh Jain
2017-01-18 7:28 ` Thomas Monjalon
2017-01-18 8:42 ` Shreyansh Jain
2017-01-17 13:37 ` [dpdk-dev] [PATCH v8 3/9] pci: split match and probe function Shreyansh Jain
2017-01-17 23:31 ` Thomas Monjalon
2017-01-18 6:17 ` Shreyansh Jain
2017-01-18 7:31 ` Thomas Monjalon
2017-01-17 13:37 ` [dpdk-dev] [PATCH v8 4/9] eal/bus: support for scanning of bus Shreyansh Jain
2017-01-17 23:37 ` Thomas Monjalon
2017-01-18 5:15 ` Shreyansh Jain
2017-01-18 7:32 ` Thomas Monjalon
2017-01-17 13:37 ` [dpdk-dev] [PATCH v8 5/9] eal/bus: introduce support for bus probing Shreyansh Jain
2017-01-17 23:38 ` Thomas Monjalon
2017-01-17 13:37 ` [dpdk-dev] [PATCH v8 6/9] eal: integrate bus scan and probe with EAL Shreyansh Jain
2017-01-17 23:44 ` Thomas Monjalon
2017-01-17 13:37 ` [dpdk-dev] [PATCH v8 7/9] test: update bus and pci unit test cases Shreyansh Jain
2017-01-17 23:46 ` Thomas Monjalon
2017-01-17 13:37 ` [dpdk-dev] [PATCH v8 8/9] eal: enable PCI bus Shreyansh Jain
2017-01-17 23:57 ` Thomas Monjalon
2017-01-17 13:37 ` [dpdk-dev] [PATCH v8 9/9] eal: enable hotplugging of devices on bus Shreyansh Jain
2017-01-17 15:17 ` Ferruh Yigit
2017-01-18 10:37 ` [dpdk-dev] [PATCH v9 00/12] Introducing EAL Bus-Device-Driver Model Shreyansh Jain
2017-01-18 10:37 ` [dpdk-dev] [PATCH v9 01/12] eal/bus: introduce bus abstraction Shreyansh Jain
2017-01-18 10:46 ` Thomas Monjalon
2017-01-18 10:52 ` Shreyansh Jain
2017-01-18 10:37 ` [dpdk-dev] [PATCH v9 02/12] test: add basic bus infrastructure tests Shreyansh Jain
2017-01-18 10:37 ` [dpdk-dev] [PATCH v9 03/12] pci: split match and probe function Shreyansh Jain
2017-01-18 10:37 ` [dpdk-dev] [PATCH v9 04/12] eal: remove loop over drivers in device detach Shreyansh Jain
2017-01-18 10:41 ` Shreyansh Jain
2017-01-18 11:12 ` Thomas Monjalon
2017-01-18 12:15 ` Shreyansh Jain
2017-01-18 10:37 ` [dpdk-dev] [PATCH v9 05/12] eal/bus: support for scanning of bus Shreyansh Jain
2017-01-18 10:37 ` [dpdk-dev] [PATCH v9 06/12] eal/bus: introduce support for bus probing Shreyansh Jain
2017-01-18 10:37 ` [dpdk-dev] [PATCH v9 07/12] eal: integrate bus scan and probe with EAL Shreyansh Jain
2017-01-18 10:37 ` [dpdk-dev] [PATCH v9 08/12] eal/pci: add support for PCI bus Shreyansh Jain
2017-01-18 10:37 ` [dpdk-dev] [PATCH v9 09/12] test: add test cases for scan and probe on BUS Shreyansh Jain
2017-01-18 10:37 ` [dpdk-dev] [PATCH v9 10/12] test: add Bus based scan and probe test cases for PCI Shreyansh Jain
2017-01-18 10:37 ` [dpdk-dev] [PATCH v9 11/12] eal: enable PCI bus Shreyansh Jain
2017-01-18 10:38 ` [dpdk-dev] [PATCH v9 12/12] eal: enable hotplugging of devices on bus Shreyansh Jain
2017-01-18 11:10 ` [dpdk-dev] [PATCH v9 00/12] Introducing EAL Bus-Device-Driver Model Thomas Monjalon
2017-01-18 14:05 ` [dpdk-dev] [PATCH v10 00/13] " Shreyansh Jain
2017-01-18 14:05 ` [dpdk-dev] [PATCH v10 01/13] eal/bus: introduce bus abstraction Shreyansh Jain
2017-01-18 14:05 ` Shreyansh Jain [this message]
2017-01-18 14:05 ` [dpdk-dev] [PATCH v10 03/13] pci: split match and probe function Shreyansh Jain
2017-01-18 14:05 ` [dpdk-dev] [PATCH v10 04/13] eal: remove loop over drivers in device detach Shreyansh Jain
2017-01-18 14:05 ` [dpdk-dev] [PATCH v10 05/13] eal/bus: support for scanning of bus Shreyansh Jain
2017-01-18 14:05 ` [dpdk-dev] [PATCH v10 06/13] eal/bus: introduce support for bus probing Shreyansh Jain
2017-01-18 14:05 ` [dpdk-dev] [PATCH v10 07/13] eal: integrate bus scan and probe with EAL Shreyansh Jain
2017-01-18 14:05 ` [dpdk-dev] [PATCH v10 08/13] eal/pci: add support for PCI bus Shreyansh Jain
2017-01-18 14:05 ` [dpdk-dev] [PATCH v10 09/13] test: add test cases for scan and probe on BUS Shreyansh Jain
2017-01-18 14:05 ` [dpdk-dev] [PATCH v10 10/13] test: add Bus based scan and probe test cases for PCI Shreyansh Jain
2017-01-18 14:05 ` [dpdk-dev] [PATCH v10 11/13] eal: enable PCI bus Shreyansh Jain
2017-01-18 14:05 ` [dpdk-dev] [PATCH v10 12/13] eal: enable hotplugging of devices on bus Shreyansh Jain
2017-01-18 14:05 ` [dpdk-dev] [PATCH v10 13/13] doc: remove deprecation notice for rte_bus Shreyansh Jain
2017-01-19 4:45 ` [dpdk-dev] [PATCH v11 00/13] rte_bus + rte_pci_bus Thomas Monjalon
2017-01-19 4:45 ` [dpdk-dev] [PATCH v11 01/13] bus: introduce bus abstraction Thomas Monjalon
2017-01-19 4:45 ` [dpdk-dev] [PATCH v11 02/13] bus: add scanning Thomas Monjalon
2017-01-19 4:45 ` [dpdk-dev] [PATCH v11 03/13] bus: add probing Thomas Monjalon
2017-01-19 4:45 ` [dpdk-dev] [PATCH v11 04/13] app/test: check bus registration Thomas Monjalon
2017-01-19 4:45 ` [dpdk-dev] [PATCH v11 05/13] app/test: check bus scan Thomas Monjalon
2017-01-19 4:45 ` [dpdk-dev] [PATCH v11 06/13] app/test: check bus probe Thomas Monjalon
2017-01-19 4:45 ` [dpdk-dev] [PATCH v11 07/13] pci: split match and probe Thomas Monjalon
2017-02-15 10:45 ` Jan Blunck
2017-02-15 11:22 ` Thomas Monjalon
2017-02-15 11:52 ` Shreyansh Jain
2017-02-15 11:30 ` Shreyansh Jain
2017-01-19 4:45 ` [dpdk-dev] [PATCH v11 08/13] pci: remove loop over drivers in device detach Thomas Monjalon
2017-01-19 4:45 ` [dpdk-dev] [PATCH v11 09/13] pci: add bus driver Thomas Monjalon
2017-02-15 10:42 ` Jan Blunck
2017-02-15 11:20 ` Thomas Monjalon
2017-01-19 4:45 ` [dpdk-dev] [PATCH v11 10/13] app/test: add PCI " Thomas Monjalon
2017-01-19 4:45 ` [dpdk-dev] [PATCH v11 11/13] pci: use bus driver for scan/probe Thomas Monjalon
2017-01-19 4:45 ` [dpdk-dev] [PATCH v11 12/13] pci: use bus driver for attach/detach Thomas Monjalon
2017-02-15 11:08 ` Jan Blunck
2017-02-15 11:26 ` Thomas Monjalon
2017-02-15 11:39 ` Jan Blunck
2017-02-15 14:04 ` [dpdk-dev] [RFC] eal: use busname and devargs to attach devices Jan Blunck
2017-01-19 4:45 ` [dpdk-dev] [PATCH v11 13/13] doc: remove deprecation notice for rte_bus Thomas Monjalon
2017-01-19 17:40 ` Mcnamara, John
2017-01-19 4:50 ` [dpdk-dev] [PATCH v11 00/13] rte_bus + rte_pci_bus Thomas Monjalon
2017-04-07 15:28 ` [dpdk-dev] [PATCH v12 0/5] rte_bus_pci Gaetan Rivet
2017-04-07 15:28 ` [dpdk-dev] [PATCH v12 1/5] pci: split match and probe Gaetan Rivet
2017-04-07 15:28 ` [dpdk-dev] [PATCH v12 2/5] pci: remove loop over drivers in device detach Gaetan Rivet
2017-04-07 15:28 ` [dpdk-dev] [PATCH v12 3/5] pci: add bus driver Gaetan Rivet
2017-04-07 15:28 ` [dpdk-dev] [PATCH v12 4/5] pci: use bus driver for scan/probe Gaetan Rivet
2017-04-07 15:28 ` [dpdk-dev] [PATCH v12 5/5] test: remove pci tests Gaetan Rivet
2017-04-11 11:07 ` [dpdk-dev] [PATCH v13 0/7] rte_bus_pci Gaetan Rivet
2017-04-11 11:07 ` [dpdk-dev] [PATCH v13 1/7] test: remove pci tests Gaetan Rivet
2017-04-11 11:07 ` [dpdk-dev] [PATCH v13 2/7] pci: split match and probe Gaetan Rivet
2017-04-11 11:07 ` [dpdk-dev] [PATCH v13 3/7] pci: remove loop over drivers in device detach Gaetan Rivet
2017-04-11 11:07 ` [dpdk-dev] [PATCH v13 4/7] pci: add bus driver Gaetan Rivet
2017-04-11 11:07 ` [dpdk-dev] [PATCH v13 5/7] pci: use bus driver for scan/probe Gaetan Rivet
2017-04-11 11:07 ` [dpdk-dev] [PATCH v13 6/7] pci: use bus driver for attach/detach Gaetan Rivet
2017-04-14 8:43 ` Thomas Monjalon
2017-04-11 11:07 ` [dpdk-dev] [PATCH v13 7/7] doc: remove deprecation notice for rte_bus Gaetan Rivet
2017-04-11 11:32 ` Shreyansh Jain
2017-04-11 11:54 ` Gaëtan Rivet
2017-04-12 16:09 ` [dpdk-dev] [PATCH v13 0/7] rte_bus_pci Stephen Hemminger
2017-04-14 12:16 ` Thomas Monjalon
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1484748329-5418-3-git-send-email-shreyansh.jain@nxp.com \
--to=shreyansh.jain@nxp.com \
--cc=david.marchand@6wind.com \
--cc=dev@dpdk.org \
--cc=thomas.monjalon@6wind.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).