From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from NAM02-SN1-obe.outbound.protection.outlook.com (mail-sn1nam02on0057.outbound.protection.outlook.com [104.47.36.57]) by dpdk.org (Postfix) with ESMTP id 4E5EBF60E for ; Mon, 26 Dec 2016 14:21:21 +0100 (CET) Received: from BN6PR03CA0035.namprd03.prod.outlook.com (10.175.124.21) by DM5PR03MB2473.namprd03.prod.outlook.com (10.168.233.19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P384) id 15.1.803.11; Mon, 26 Dec 2016 13:21:20 +0000 Received: from BN1AFFO11FD005.protection.gbl (2a01:111:f400:7c10::198) by BN6PR03CA0035.outlook.office365.com (2603:10b6:404:10c::21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P384) id 15.1.803.11 via Frontend Transport; Mon, 26 Dec 2016 13:21:20 +0000 Authentication-Results: spf=fail (sender IP is 192.88.158.2) smtp.mailfrom=nxp.com; nxp.com; dkim=none (message not signed) header.d=none;nxp.com; dmarc=fail action=none header.from=nxp.com;nxp.com; dkim=none (message not signed) header.d=none; Received-SPF: Fail (protection.outlook.com: domain of nxp.com does not designate 192.88.158.2 as permitted sender) receiver=protection.outlook.com; client-ip=192.88.158.2; helo=az84smr01.freescale.net; Received: from az84smr01.freescale.net (192.88.158.2) by BN1AFFO11FD005.mail.protection.outlook.com (10.58.52.65) with Microsoft SMTP Server (version=TLS1_0, cipher=TLS_RSA_WITH_AES_256_CBC_SHA) id 15.1.789.10 via Frontend Transport; Mon, 26 Dec 2016 13:21:19 +0000 Received: from Tophie.ap.freescale.net ([10.232.14.87]) by az84smr01.freescale.net (8.14.3/8.14.0) with ESMTP id uBQDKVCU029786; Mon, 26 Dec 2016 06:21:17 -0700 From: Shreyansh Jain To: CC: , , Shreyansh Jain Date: Mon, 26 Dec 2016 18:53:57 +0530 Message-ID: <1482758645-23057-5-git-send-email-shreyansh.jain@nxp.com> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1482758645-23057-1-git-send-email-shreyansh.jain@nxp.com> References: <1482756644-13726-1-git-send-email-shreyansh.jain@nxp.com> <1482758645-23057-1-git-send-email-shreyansh.jain@nxp.com> X-EOPAttributedMessage: 0 X-Matching-Connectors: 131272320800849716; (91ab9b29-cfa4-454e-5278-08d120cd25b8); () X-Forefront-Antispam-Report: CIP:192.88.158.2; IPV:NLI; CTRY:US; EFV:NLI; SFV:NSPM; SFS:(10009020)(6009001)(7916002)(336005)(39410400002)(39400400002)(39380400002)(39850400002)(39840400002)(39860400002)(39450400003)(2980300002)(1109001)(1110001)(339900001)(189002)(199003)(50986999)(105606002)(33646002)(38730400001)(106466001)(36756003)(5003940100001)(48376002)(77096006)(76176999)(2351001)(8656002)(5890100001)(50466002)(47776003)(85426001)(626004)(68736007)(4326007)(189998001)(2906002)(92566002)(69596002)(50226002)(8936002)(104016004)(5660300001)(8676002)(81156014)(81166006)(6666003)(6916009)(2950100002)(110136003)(97736004)(86362001)(356003)(305945005)(7059030); DIR:OUT; SFP:1101; SCL:1; SRVR:DM5PR03MB2473; H:az84smr01.freescale.net; FPR:; SPF:Fail; PTR:InfoDomainNonexistent; MX:1; A:1; LANG:en; X-Microsoft-Exchange-Diagnostics: 1; BN1AFFO11FD005; 1:ftvg4gmyrIwzikkVtBseX40xhJr6r0kPAmcw7NNCFKUzP5EGeOnI/LRWxW1BuhgDcl/N32hwY2NiJMbx44BGsXSbnAF5amGbSxpHbktyP3UW6Llg9woCYsc1Ez5ETSaN3yD9Pi2DLEUEdIxt0AIkswZXOcLeD75Ryhfm5PvgcK926p0ve0z7OMs19d0suGU4QR+W4/sTg99G2621DelgQCU23krS0GJhjIYgcYVuvR1TAUgqKK9GnU6i0Truix9ycysu21WJiTPFtD+Y+x3ZJUZg7u1SUGviM7qkOZMjkzf3MshlP6tvW+jLEamjoMNWFJ5kL8hwnaQCX8pTNtnPAc1V+Rpzxv/pCyD+St8+rTA5Qx/CbCTgjJo7e/D3N7SknUk7eI8fmBzm1VGEiQ6E6M+IZffKpqFCdftIOCie37qR3t+YzCf9gDx6LMdf9GpVHeo7gNQHaDQaq0JkOLnP9DaJARjPPOKixm1djw5ARqL+FuA/yJ+fDBScEms1Jm1KE/VNC5mbzY8sHfNyYBH6zho1rFk3AdvdlX/KkMdrNaCqUPHmIOiktHMGQTrG7Cqode5GjtlzqqIrgnulqDRZzJtQnlMSqAesu1WPB/ZQ1ZOUhyBfHZG6TPQjYQ/XsACLrP9JNdKVrbmoBWgDBCqQ1aoB6IQk6Cy22dbupi1D8s4iGtjmXZfdB1JH6jxsXr2pdyAns00tyLlbBnTtRyCq0tJa5o9BZK2anAaCgsfbk7M= MIME-Version: 1.0 Content-Type: text/plain X-MS-Office365-Filtering-Correlation-Id: c016468e-3172-4364-9dd3-08d42d9214a1 X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:(22001);SRVR:DM5PR03MB2473; X-Microsoft-Exchange-Diagnostics: 1; DM5PR03MB2473; 3:6zclWXK97VLbxuwnU8Q91O+2VT3PoW8+I7Cp0/wGyKT6ZS8D0EOED1td48GoSa4W3ZRssWkbVPGekj6kOnyx6Ne7hfG3CRfHs3mhs8FjodbaXB94ZhNhbJm6LKzjMJGkh6gw+tupWD/wlAABJ1GyRWmrMfiT0++xMKjRwaoaRMh2A6T7Fex+T4wJfUxINfAJQL3enXpQH5DSnQqwmcEtebDPNYMsN16yF+iI8RNyrwZhqo/zSD/yLTvis68xDRXzIF/lS/vfcGdqIjgkYFIhMow7ZXggCzRIwmkdUZuapYuvONxgjnVQl+yjBWgEcsGjqbMLTicT0kKtQJSLlCkK4WuTfEqzYJCSt307o4qaj0sVOHUi3ZDgNG7G/DU2knYi X-Microsoft-Exchange-Diagnostics: 1; DM5PR03MB2473; 25:dVcf8h77LWTKsf9j3x32sLuuGjeV1xG9yENobJmDCpX7W9HkKW4DGINcKGNGNAZf601i+gV9QzToYdNINpyjgvjAsde/iC9iOx/yHTUSvngF8zBZ52O77ovoXvCYWnjKoIGFKuvnVaFKgFFhW/zBd2D4aetZlsNZ3Rjv8MDIMgzakwKTQ79ZXQzIJwBwg/m0LA9O/y/JyoZp6EAzlAb3bJMmfIZS66SFGi66uWEhW/0oLjmk3129HBSAibON81kg+QYLAZwJqpcV4Xe80upVkI90OaOcVxADXYqFGjUjG9zAk/Hg9Mn4pgimQuHo0FLQgG9lg+ITm42BCHS36SEDc6RdZoBkTB8A/BC7dciiQ6pdQM+aXplHsOUYZi7cIhup1zu/V6iGQCreq+piJ5HHlO7PW0kOE7jRV53eWxu61+QkC9koraRDZxt7zGmConZ0yLuyB+lBLijp56UJ9i6YTcNjVHk3ddCADPpAaNOwvM8BT6X1RlaBv6bHCDPbcxj8IBmKDVASFivz9ZHfBdKiMUDRpFJGYZGx84kwHh33ldFzcxvlTxbDFscb+JoTWQBuQE2ZcmwOu+tRNL5Y53HkJ1c/DtqbeUoYgh1yiAJj72nU/k7t2jyWy/mD1tuGBUWfFqmh2vPwwq7gCH5RnRsU3i5Ea27njxN04wWecDUKXkMFDslGSvHE2Uf2AxblOeWztDdXWs5so6WkKsjOeYuXNlcL2kcc17NQPp10Ggu7/e0afmiR0XALgxPEJrvgYiT8XhIIgqLN3y00zjKfaV9cYxFi5MODDv0qOJLts/XjiZQmOLPAkzplNs4IZ0BoOOM0 X-Microsoft-Exchange-Diagnostics: 1; DM5PR03MB2473; 31:hQbpgXgt9D6TS5fbmz6QRSxHmCzQfoib1z2fhae/djdnDqtJt4yp87lYucLVRbBZ95cyrqLnpwHhyBxlcf5tBX0R9CEsyhTxvNMoPVB8/r9eSvyC9tMjsg3O+E9NZSO2o/mi0/GzfKnRE00vS/G1qNYfWlyBeWEfRAN/NnInOpZuEpqgzjI/UQbeGRQtTKqdwHoC6QBOZF9q+QPly4aQNi8SVEAsnA1/zZaAmTKgTd5V43BiLAxPXno+BDq84un2BMfXK9Z0a3mHOi3KG4zePg== X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:(185117386973197); X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(6095060)(601004)(2401047)(13024025)(13023025)(13015025)(13017025)(13018025)(8121501046)(5005006)(3002001)(10201501046)(6055026)(6096035)(20161123561025)(20161123559025)(20161123556025)(20161123565025)(20161123563025); SRVR:DM5PR03MB2473; BCL:0; PCL:0; RULEID:(400006); SRVR:DM5PR03MB2473; X-Microsoft-Exchange-Diagnostics: 1; DM5PR03MB2473; 4:hdewVtwD9PPNcVry5Wi9ZI1bhSSXmKaTeEZomNHbCAc4UVrZKHGiHCrYZyeywMqXq8Bfqh6oouMcM8DZUa7m62M5WcCeaMi8UykyplKOylhJVNN9TZMpy3d2kQ3gzPgtaoowFCADIH72K6MXHTg2wsM5AbfKPa5xZ9eThMApxqlixDq7XWs6JmDgFlQWhKYxnEz1EaZtybyEwMNmUl3+SVobMns6HVzXizpJR77maDmg5xaENE+x5FRm6GosUG7xCWOKoiuz/oFwNmAG+24OJ6XmA2QWzs1esLhgJbGbnl7lZgysRX6urToqFX/bUsiEo9TJFNyAqEEaDic4SdwgjCZvW0LBnOWvFjYY+Sn+4hqbe46IlzU5cP6P0g3/VpswzD+aoDhiu8N4tjeTbM+Xyd1AbHmt3h+5iKM6MPU+fYTRpBoZ5PKpom2f0FglaiQ3VNqbWkRzp6umtSrQlTX428cqdjnaQFMA3aCZVmy/R9IiXSOqm7RCKAy+5knO/1jJy4/2uSrKRI0AIYk2199omA79xND/Aa3ZoVjs+2J7PmDsRccM0BtELZtV1Aqxs7OHu6eWBySiGKnSO5u9XyR0PZPeDzEB5lpOu9bZNn6WazuTijWEICmd2QQ9c9yxsQn94ZJPMkEi1xqObmoLcAfWeHziRA9n0bAGNkbu5jzuPB729rob/ouS0DboIW++U2uPt4uKGGiLVcFHxWPTgtXhYtb6tmNnAReot77528uL6DKIAIz3B3dNNW+Sllzpw+t7 X-Forefront-PRVS: 016885DD9B X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; DM5PR03MB2473; 23:r7Dvt7vFqXwNyALdv8vKoOSlna6rFVMVLkwjRX4N0?= =?us-ascii?Q?ZnZzj6qkXIuDfg09sc0xjkEZj2pN3qJGtqn1CT8tKvBcAGK36LZMsO06qGpo?= =?us-ascii?Q?I/ISQa6S0k/RsV3rwuMlvUGpj8D2jFR6Xd7Z6VX2te6QGP5LKqYbIV5Wv7z1?= =?us-ascii?Q?m05TuPOaqlsml993gcoF1GIjgvYh+LcPeqWHBZAk2QNqG19Uv1O8MoqoJPov?= =?us-ascii?Q?heWZDs+BZby4656BwbZSSNArpVON32Z8E+62GbBNiMXjm5stag5p4q4le1YI?= =?us-ascii?Q?1E78b7cdlSYaXT2BDfLk2H77MPL2JPZNvSv8MrdIz0UQZqR9EyHQtSeSzMsv?= =?us-ascii?Q?X5SvZYamyX4CHwhjXwdyAn035SFKjWRziSWO+QW9g9NdINB6UpHrqJLXfVyX?= =?us-ascii?Q?39RCT+5WGEp7Qu61cvXwXZjMbXWMxeK6AK4F3GTqMZCJYVWDNAu7eoGIdILV?= =?us-ascii?Q?GwKb37GH4zV5hl1wrycVXYGvPkmbQLBYAxgDa4WjSdTs5BDe+OJQMM1VWXJx?= =?us-ascii?Q?D0xoEhRdTtSJJiqhXzxERgXo2YpDrcVG+lVOJeISNlYo2okZhk2ufG00yacP?= =?us-ascii?Q?u2/DbigWQAIW5Mgveb9AW0nV8KH1I/C5B2JJamiY3BUm7yCOAAyEeBQW2RHQ?= =?us-ascii?Q?Ix43OamkttGOWaO3qhrFLjnqPn869fVxQTlyjF2lcI4DISY2b/NG/oSqceyk?= =?us-ascii?Q?mmUmIrM0KuEqgTkdvZ5UMQEbYRo09xMyH8tRdofFPmRm4eNUHqVe6yg1lLSn?= =?us-ascii?Q?ncbb3ndvnH7D8jDxvX4IT0Pdcg0xJdEaKDRwpnfwqC0Ipu/SszAuTpzUMVHh?= =?us-ascii?Q?rdMyS1stZXZUIVWp+1BciCaIClx7cRr3bVUY4Y+1SiZ7WnIDm4jLTgmbcJfR?= =?us-ascii?Q?lJn+8oZLsyfSFB8QBuIk/psqIU8ZNAVVVh+bmVOsoRIChX9i97poCWQ9GDQt?= =?us-ascii?Q?oE2idOd8/whapD0glMlwRM7SCu9THLOVCOfc2Llz7UW7RrxCfRGR2ChOEjOk?= =?us-ascii?Q?qEML5kP2o6f2dWpqCCTGX3cbxi6vgN+n0e0CMwDnmHmGi3VmdkrfUhR/adhZ?= =?us-ascii?Q?oqcN9Xga6GqLAKJsX4CwBOe9/hsOmdHVM+YFyvAzDO8ASFG87ZBnwbjhFyq1?= =?us-ascii?Q?95qdTXA6jC892PWByC+u/XI4xqKxMpkXGy0jQ2gCAi04i4Mag2dboufyc/xm?= =?us-ascii?Q?SyBIHIMiTJUbbyPEMpPCU7OGpUN7+8hYnIaYogAIMc3zeeFezwlNKZ3DIk+n?= =?us-ascii?Q?lhnuzU7buLsvS/klsCU0/vSG/6xywY05nCS+3lFxb9OC8Q2jgdMpf8YxA1bG?= =?us-ascii?Q?1+hXcOCj82EdKLPPJtJhQozPVvjcG2eFhoSxRbKP82D?= X-Microsoft-Exchange-Diagnostics: 1; DM5PR03MB2473; 6:T5z9JIoyuOfvDyYbY6jqgDUtNvME2AuFGKuPcQRJ70nXiBlZ1QE+JW75Su2h6XZ0PfCcKIygVM/oRjf9wvN6XltT6wTbKFqvlGdwMRIte6HUskrU5cTaeZ7P/UVnDKmKENNaT11m/TGs9i7mGtq1s9eWPHiXerJMEr5zvEpSFjVQknpre3U6VD1qyTz3hfuwlG9cZhZq61eWgtoDc1NF5AjXHNgDlNnflJQGlkLlzEirYuddFQLoIwccTdYew7TW8QFkE5AWJ02ZxR9zeK3WJiO4p0Z76PfgQDaGFgvd80KR1nAJNVcswS+V7DNuqFg9eGZVTtv98cQVIZbLfRDlTuzKea2c918JHvA6Jk/7z7VbZUTFuff+LFMxGbAweUjgn4ME4CKECTRWPgj3r3PrH1r2tbJkp/Scg2VhR35GVGDMv9jJohPd5Iur/vFb+5If; 5:jK1d7Be0Py3pmBBipqz9mu/GYz81VoKcmFAHBtWIU3vy9unCF8J79T2tQeeIiZu+vzGw+Sg3n5IpFzisq/P8SLJoSEoNaqKlwlBo8jILHEXako22gY27ZtivhFbsvlhLkS02bbicv2xXFfYMFhSCB7QYEZEm3aCzhUnPRRBoqeFKBgwKS3stXSb3a2GI2IKT; 24:6J50GSay3MhRcXY7g93YJLxaol3TUhvgXaco4C5aj6m4FalRnPevjUks1kOEjAGozrxCYVsHQImvNIecK1ZjDoVGQMHgCydIZ7HmGIhmInQ= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; DM5PR03MB2473; 7:9jE0x83HgzZegFPKTq35jcP8QErxklW9YRdtOjjvv78ThalBRw088hUw/xFy9xPzk6XwcMf3g9eS5c4kLUD71u4drwvh5bskHPEXJTYT4oi7BEcjx2zEXdEGkCy+AJeDurkDFZBrzkmftJVAmtdKxzhIflL4ZEYQQ8o15hP4ZVikZHq5tgFBxmT31c4eVqK2D3btOaDnJFmlPwzxnszDtu4LT0+mvkZW3a6JjjaSxpufRZIEf65RhC+bMp1FIpxogjNrhQCgUwLX+7qn5RiObNT19tvOSoK0W0ExMrDdGQOyW7Xuq/v+0gJiBMuFumuacNy+pyM+0wn8rAh3SMfggzLxbhMEgX1akbH5Fp2Guc0qE7ooDWP3fuuTea/538MDjEJw59yEc/1rggMSU0YL9+X6xjSGAaLWqSaneO4gUUEnZDotJRZ5/2g8CEVU66ssNImh+fg+M4UQnWGsAChNFw== X-MS-Exchange-CrossTenant-OriginalArrivalTime: 26 Dec 2016 13:21:19.8197 (UTC) X-MS-Exchange-CrossTenant-Id: 5afe0b00-7697-4969-b663-5eab37d5f47e X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=5afe0b00-7697-4969-b663-5eab37d5f47e; Ip=[192.88.158.2]; Helo=[az84smr01.freescale.net] X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM5PR03MB2473 Subject: [dpdk-dev] [PATCH v5 04/12] eal: integrate bus scan and probe with EAL 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: Mon, 26 Dec 2016 13:21:22 -0000 Still a dummy implementation as no real bus driver exists. This adds calls from EAL to bus specific scan, match functions. Once driver->probe is in place, and a bus handler has been installed, the code would become effective. Signed-off-by: Shreyansh Jain --- lib/librte_eal/bsdapp/eal/eal.c | 7 +++++++ lib/librte_eal/common/eal_common_bus.c | 30 ++++++++++++++++++++++++++++++ lib/librte_eal/common/include/rte_bus.h | 19 +++++++++++++++++++ lib/librte_eal/linuxapp/eal/eal.c | 7 +++++++ 4 files changed, 63 insertions(+) diff --git a/lib/librte_eal/bsdapp/eal/eal.c b/lib/librte_eal/bsdapp/eal/eal.c index 2206277..2c223de 100644 --- a/lib/librte_eal/bsdapp/eal/eal.c +++ b/lib/librte_eal/bsdapp/eal/eal.c @@ -64,6 +64,7 @@ #include #include #include +#include #include #include #include @@ -577,6 +578,9 @@ rte_eal_init(int argc, char **argv) rte_config.master_lcore, thread_id, cpuset, ret == 0 ? "" : "..."); + if (rte_eal_bus_scan()) + rte_panic("Cannot scan the buses for devices\n"); + RTE_LCORE_FOREACH_SLAVE(i) { /* @@ -613,6 +617,9 @@ rte_eal_init(int argc, char **argv) if (rte_eal_pci_probe()) rte_panic("Cannot probe PCI\n"); + if (rte_eal_bus_probe()) + rte_panic("Cannot probe devices\n"); + if (rte_eal_dev_init() < 0) rte_panic("Cannot init pmd devices\n"); diff --git a/lib/librte_eal/common/eal_common_bus.c b/lib/librte_eal/common/eal_common_bus.c index 5a5ae75..b7ccbd8 100644 --- a/lib/librte_eal/common/eal_common_bus.c +++ b/lib/librte_eal/common/eal_common_bus.c @@ -172,6 +172,36 @@ rte_eal_bus_unregister(struct rte_bus *bus) RTE_LOG(INFO, EAL, "Unregistered [%s] bus.\n", bus->name); } +/* Scan all the buses for registering devices */ +int +rte_eal_bus_scan(void) +{ + int ret; + struct rte_bus *bus = NULL; + + TAILQ_FOREACH(bus, &rte_bus_list, next) { + ret = bus->scan(bus); + if (ret) { + RTE_LOG(ERR, EAL, "Scan for (%s) bus failed.\n", + bus->name); + /* TODO: Should error on a particular bus block scan + * for all others? + */ + return ret; + } + } + + return 0; +} + +/* Match driver<->device and call driver->probe() */ +int +rte_eal_bus_probe(void) +{ + /* Until driver->probe is available, this is dummy implementation */ + return 0; +} + /* dump one bus info */ static int bus_dump_one(FILE *f, struct rte_bus *bus) diff --git a/lib/librte_eal/common/include/rte_bus.h b/lib/librte_eal/common/include/rte_bus.h index da76db3..3bd3ab5 100644 --- a/lib/librte_eal/common/include/rte_bus.h +++ b/lib/librte_eal/common/include/rte_bus.h @@ -212,6 +212,25 @@ void rte_eal_bus_unregister(struct rte_bus *bus); */ struct rte_bus *rte_eal_bus_get(const char *bus_name); +/** @internal + * Scan all the buses attached to the framework. + * + * @param void + * @return void + */ +int rte_eal_bus_scan(void); + +/** @internal + * For each device on the bus, perform a driver 'match' and call the + * driver's probe for device initialization. + * + * @param void + * @return + * 0 for successful match/probe + * !0 otherwise + */ +int rte_eal_bus_probe(void); + /** * Dump information of all the buses registered with EAL. * diff --git a/lib/librte_eal/linuxapp/eal/eal.c b/lib/librte_eal/linuxapp/eal/eal.c index 16dd5b9..1a17891 100644 --- a/lib/librte_eal/linuxapp/eal/eal.c +++ b/lib/librte_eal/linuxapp/eal/eal.c @@ -69,6 +69,7 @@ #include #include #include +#include #include #include #include @@ -844,6 +845,9 @@ rte_eal_init(int argc, char **argv) if (rte_eal_intr_init() < 0) rte_panic("Cannot init interrupt-handling thread\n"); + if (rte_eal_bus_scan()) + rte_panic("Cannot scan the buses for devices\n"); + RTE_LCORE_FOREACH_SLAVE(i) { /* @@ -884,6 +888,9 @@ rte_eal_init(int argc, char **argv) if (rte_eal_pci_probe()) rte_panic("Cannot probe PCI\n"); + if (rte_eal_bus_probe()) + rte_panic("Cannot probe devices\n"); + if (rte_eal_dev_init() < 0) rte_panic("Cannot init pmd devices\n"); -- 2.7.4