From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from NAM02-SN1-obe.outbound.protection.outlook.com (mail-sn1nam02on0082.outbound.protection.outlook.com [104.47.36.82]) by dpdk.org (Postfix) with ESMTP id 0D4D15592 for ; Mon, 26 Dec 2016 13:50:48 +0100 (CET) Received: from CY1PR03CA0019.namprd03.prod.outlook.com (10.174.128.29) by CY1PR0301MB0746.namprd03.prod.outlook.com (10.160.159.152) 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 12:50:47 +0000 Received: from BY2FFO11FD009.protection.gbl (2a01:111:f400:7c0c::100) by CY1PR03CA0019.outlook.office365.com (2603:10b6:600::29) 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 12:50:47 +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 BY2FFO11FD009.mail.protection.outlook.com (10.1.14.73) 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 12:50:45 +0000 Received: from Tophie.ap.freescale.net ([10.232.14.87]) by az84smr01.freescale.net (8.14.3/8.14.0) with ESMTP id uBQCl90M011201; Mon, 26 Dec 2016 05:50:42 -0700 From: Shreyansh Jain To: CC: , , Shreyansh Jain Date: Mon, 26 Dec 2016 18:20:36 +0530 Message-ID: <1482756644-13726-5-git-send-email-shreyansh.jain@nxp.com> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1482756644-13726-1-git-send-email-shreyansh.jain@nxp.com> References: <1481893853-31790-1-git-send-email-shreyansh.jain@nxp.com> <1482756644-13726-1-git-send-email-shreyansh.jain@nxp.com> X-EOPAttributedMessage: 0 X-Matching-Connectors: 131272302465002997; (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)(39380400002)(39410400002)(39850400002)(39840400002)(39450400003)(39860400002)(39400400002)(2980300002)(1109001)(1110001)(339900001)(189002)(199003)(76176999)(305945005)(50986999)(8656002)(356003)(2351001)(92566002)(5003940100001)(38730400001)(8936002)(81166006)(8676002)(50226002)(81156014)(33646002)(69596002)(104016004)(36756003)(68736007)(5660300001)(77096006)(97736004)(4326007)(2906002)(85426001)(6666003)(189998001)(626004)(50466002)(2950100002)(6916009)(106466001)(48376002)(5890100001)(105606002)(86362001)(110136003)(47776003)(7059030); DIR:OUT; SFP:1101; SCL:1; SRVR:CY1PR0301MB0746; H:az84smr01.freescale.net; FPR:; SPF:Fail; PTR:InfoDomainNonexistent; MX:1; A:1; LANG:en; X-Microsoft-Exchange-Diagnostics: 1; BY2FFO11FD009; 1:iraZSmILGiToXVtURTeJFUDO4gWbQnHK2NM10t8USifiHnnoEg5E1MoJFZw3QNIqdSPYLy3TEyL0azuRgz02Q3hrN93KEVgifE4smcqkCeUUxAfYODTsgosW65YnWbL/Byp+VBHnhQZx5Cu4WnO2ozjJYkYFsQRx9lUqAXCoUchq0bOunQPf0wBReT89AtA+p/uq1kAsmUC55d3WCcQmNHjMZbdU/iY8kySZ1xYZ4mLdgKRF+sg7tKrsqo/H2UYp4ZXFmMTMXl90XnT4zKAtvqXnufQe5tWbCDn1w0rfQJFdpruTtFJF5BhXQyLP+bRc95CfsZbGlwZxaCVvGB++ZqFrnYa/QjeNZG10VIhI6dAjyA9ioXItBWNM8E+RKJR2w/s52ilRQynha3vML9eaL6f7NPyuYoqD+y5xR8SCl99lU9L9Ub/GQ33kJXnQnx/szZTPC3wSFbVeF/4imX0acBc5dKGg3sJeq6n5d1gTi1mBHKiBjA7kNUoPxI8rMvd55neFPnYZ+F2luNhVPzUEYhWKi6IejbHBff49zp0D6ZGwo0iny7KSqT9GihY3j59lZQOv7nqRCZg2YH5xmBFK7KRJWv00WvO+UT/mSBLIwcu+lGJzpYjX8I4gdD/NUVkKDP36seSGFoefeSoN9/30QQLEgQCJai9/gnVO4wgEZqwibklHQNEFUzY0OPqrKKDt01SFDu3BQi4EwNnfcutmjQuK/6TIW/3P65YymCdAx80= MIME-Version: 1.0 Content-Type: text/plain X-MS-Office365-Filtering-Correlation-Id: 570b67a0-0ed9-475e-2df5-08d42d8dcfbd X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(22001); SRVR:CY1PR0301MB0746; X-Microsoft-Exchange-Diagnostics: 1; CY1PR0301MB0746; 3:q8j2Rs1XIyZIDqptP1Hqv/5VFQnbQ7COu2IlAyMKKmCVnlbFJPUZvDajrTVyp8H8C3Ufqw9LVR9K1pwTMAICrnJaQXdd1iVDwWcmg+JoaYL/tLLVLQmridaCyZNbV1L6lCKgNYi8Ez3jPrZFUTdFGZrg+/GuLzZF6DHPITs/k45Tel9bE1DG2adu6CMG4nvXOnB66Zo01SmA5D5d84owm8d8FKlzLtOa7dVDSfzgFJ7yTJTTxOTagmZPAcRk0PBsF12UrTeSIZGID52kSNoHs9r7B/BXhGlRD2erESsaAa08byyfeP9llIatLVXHZJH4GKS06CsxmqE6nlhUtHYBqbaIgAfuYK1E+lCiAdAP/eA= X-Microsoft-Exchange-Diagnostics: 1; CY1PR0301MB0746; 25:b+hWNNzlQbk9Tv+plAzvZCcFjeRiXij2Y708ZuHeEePli45pMdfKxyNe04y7i99xsiLf8aXuPXTEJLh4oGBMXM1jQGXAY8Kc6H6x0hNkP7ZUDgZThBMD3uLNntYChsKRpBTiyq0g0axEtl1nDTsXeJyV7pU7hgkTzEPbDo4mnLSRvzrHAinDENUDCtlbENHVacVPhAhIrmhui8CwnMNxUuXsI/85FqqTT3i3qaDpPilWUVlSvXfpeBTPSDDdDK7CaNSApfVSt1MznIFcSimQtEtynbft13ELQoqxY8+NtYY4gyQzKSWXw4Z5Glf10rAEiyuJU7hD6evYcq3zKZJQQ6PD+V4Ps5hvH15t4k6W7BoEVRwaTfkz4NlJ4mR9ZNvxKfplSFHcRG7Fi93j+UcBrdpch+xKNqts1kZjtkr4rBTEPD8QgEMjttApoL1zwNQhgp3e5NYGpCplsWToaau5Tu55xmFRivnwv3EslG5VDrV/mmoNasSwK0ayOV4VEOjqv8KXiau1ixfAhIp+Qgf6ghOMpG7r3tpVWarRbFFeNyOtpJeMaV7I8zpi3eFJbIrI6iOgjRrMoZ02ZY9M1BbmIpeEG5yg8Xw0FD1usLMQZptKCvy27KlWDlSNKZJ+p8z7UPsEc4+Qk/KFRhLfi898l/lBrCWff4rTVep7zNvcnbZ1RLymziUjaG9Xrx51f/zTYqc9el0HkhsuasofseV1ND28p+JmGY7WvgiFAZeOw3GMJHBnxNkq4Pv7n6yussrVsYSslVkWFVYfTKuvjvQ99XveeFW1zmHItfjoPnhgRSp53cvLfMOFApOpt3WUsemw X-Microsoft-Exchange-Diagnostics: 1; CY1PR0301MB0746; 31:3rTasmngXP0zUFzPjYgfa7LeaiMysfgnbwPxBmjN2n3YYg8JXP7LJVaRUEwBXF9LBdqPUh611cyJoyowguuL+/oRsg80fNOEjwjbNWJlO4jfYzWdG99LQEODX11oQf0UOWr3HhTNVn+I7jpbOo4NOuGaEwbzVn+ZvK5jIiMma5MhzB1pRKkMyjQr544sEfIYjunr43u+BOaMDF9YkT4X1RAK6LBmWdMNE6VXMmKb296X0AX/dohjkUN/R0qTdSBDuLf5rcfl9CNVVqeA8/qTqE3jycwOe7Godw/boj7rWbc= 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:CY1PR0301MB0746; BCL:0; PCL:0; RULEID:(400006); SRVR:CY1PR0301MB0746; X-Microsoft-Exchange-Diagnostics: 1; CY1PR0301MB0746; 4:AwvGt8Kxxj4IVuEFqLiP79/GpDLCRlK1wiMEmTGpoF6ViwVkyibbFD60cUuP/N86Cr2krXtSO1J/PnmEJO+bZBPszg6vxHUSR0wr90vuXPVzhktW6CXtdMIx0jsJnmKW5NgT4rR9m3c8nbRBKu4Y5IFwQuilnQvWnt1Dk7tCw72qOAIgLWyyeclRAUW3uqCjcv2/JYZW3qbQfPqSjzZxzEZDTmVY5pyw/k5egpYUGx0PlX1cde4bUU15mPsP6cFUZkUnCFmCmYilCdPCTAP2HC3AIkgScdHOPaeJmRiEP/9uP+yQMIEyuBtQsVOOKnWUIwGPSUsAYIJPQOu62bkCYrBjFyu+ifmtd7QTgfl8AqziqgANLIwfLZEWsmD9AbERiH9/jIc1IlM+Xofb0LALA5PNLRWorOU6mMVHt57Q4/xBSAbdOEJ8ETA2F1cykH+uG21Y4aHWPD27thSwSxBtDctZm3eup0hEEhcOWrWdGXJi7+G57NfwsQxMlZFK7GSpPVnAGCMB0uFD0ATDaji47veiueROYsQ9Snv3EQETCilwhC/LZSiMdYAR2Cn6Upv808v5SFW9N9Y7S4bUVfqImUzayqPpZZ6mXgq8n1hWvdAIrVDzVz0J9ZmvG70Kl+ekr8EVbClFv/qO8dB3a4qMRZJOpl4qOLOydY6SHvIyMqbLW+uso4eZk+uYXCP37TK4/V6n1pZ1lgF4p8DSp7G2npcKQuLZVYPh7xPKpafxbLyMEnR2qylKVa6q/77qCDee X-Forefront-PRVS: 016885DD9B X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; CY1PR0301MB0746; 23:4zxD8K2sNBgVnwQ//JW9x9ssVvIJiaUyIpc/jo9?= =?us-ascii?Q?/vuAuFo7DDfmA8pFSC0JywToH8NCFQz/ag9NQmTwew8+2pr9W6ecbstDBhKH?= =?us-ascii?Q?Mxf2swHLBOGJLVZa9sSgaeohAnMyHaYc8Nt0FruRo7MOD8cr6LxWZ59rph/S?= =?us-ascii?Q?GuEgFxkPjJFHWjTeecXScgz0FxtS4BGbjm2BMI+Eh7TOtvUi3LnZUkltdqeA?= =?us-ascii?Q?dfeAU+JBDeWyj74AIN6oHPbrFesWsQLf4xnfhXtRV47RY8WvGydEvAhQbMOO?= =?us-ascii?Q?IwdicQIA/T6jds6EQ9fSjavdiru4APnEomM9dw5UR6E0zP60zkyW37EwKmNt?= =?us-ascii?Q?VaMY/DLQnBW6ry+lJvP61O0Dptq4dseKnyQvGGdLL+ex7G/3C/PgeSZKjm1M?= =?us-ascii?Q?T6XL1jwS0rl4c9+yrBGhhpRaDTfUOMbHHwnVEVeCx+h4fX9BlSmGz/xDopZH?= =?us-ascii?Q?t7Jpb2ChSEO1E2Jo+6MCEEB+8u2BktGImiFRY9zmN65HQxrmpxqDgMntR4Ns?= =?us-ascii?Q?35h6Uqu5jb0Ogp9jCSOOSzxKUPz9tCM+VQV3q9GlzsS9LUoslkUn49yVv9+9?= =?us-ascii?Q?22CMt/c8S/CPRb+8rIa09OnG38w9piUI7K3JdENbU4jwdnxDqNK9zf252cOi?= =?us-ascii?Q?a3+8YpW65l7d4dCPhkNY4/SrqORKrGrcbT7WDT4z1R/UMlsLYwQseDaaLUSC?= =?us-ascii?Q?tRL11msf2cZ8fJOhelMAWJZtqxH75h4qURgsRC34nECDerm6opgNT8fum1Xm?= =?us-ascii?Q?VwSubrT3YnwDxoAWRRAAYRAcaG0MvNOrWsH9sapFGtRBzud0Bdc7DN19S5i8?= =?us-ascii?Q?oErDbqrzjRWxXp8N3KUzK2NmV6UE9D/Ls3Ln/VLE7Onsu72Vj5gDmo+/0bMq?= =?us-ascii?Q?qJMVs7YxLOpbIF20qTJeVkWiVbNM45IHG+/ztl61YTYeic8ItFud9MolWkX5?= =?us-ascii?Q?PAEklvcRkJOwOFNMsfFvLyWhuHwnBZ5k5TWQPivAQkrGF7cM0Lg3frlj8Na2?= =?us-ascii?Q?9uH8EDoFW4hgEaYoq15+YlIDmBSXZlVOIUOuwLyyAcN4nHMWnW1ngP9aojKk?= =?us-ascii?Q?Ug99vh1ze3l4koYUykKsCPJAT93hE361j36UabayOFZpmJBWAvm5E4JV4GMU?= =?us-ascii?Q?KxS547DS/8Phz6hTbhwDUGModx6C0QE3ZGNlCqE9n8leSGvHsEb0K+5onOJv?= =?us-ascii?Q?pnUq6uI0OhCaWjTKYU/wn+NkeQDgZEhtwhze1kKneUT7aPj+HgStD/C7UlDA?= =?us-ascii?Q?YXpZurEJFnntWMgPAFvSFM7cR+auXELMBkUn4MFrViKrgHcGxPQeG6Mm3Tsi?= =?us-ascii?Q?7+TFYJzg6x0GE0DiWShUgN6nH2iiZXRMbDCDGXSGvlCE+?= X-Microsoft-Exchange-Diagnostics: 1; CY1PR0301MB0746; 6:oG8l1oPCo+I6FNt5OJCUozVkrKvwI24uYXC6nTVKJa5FPtomUvkz5sj1AJQGgYf24tT2vrL5VwWGjvEKlXG8e1mtWM7KTOiuI6EbJrUROiJAD2wyRO6DlZIsxmqhYPJacZKdoHBhB0lgYsf9B/hn43II1GgW3gOfp0rAHTjy9zYvTQE6oiWpHxwzsr/N/pbLMYSekLRDxfaENaAEwb1LoLmlV1U8tcQj0dlrbab9cRY2bcpoqlUGB1sbAcfRBz5V0RteqVdtvib5a+/QeLOx262Kxq9RNUUioG6GAFAyEJqPKROvX9K0SBWJ086sTle2F5dCdbblQo8alL0Qd4cleOviap6nuEzbYUtvUB56/6VHyQHbcwuo9hckvMFMNifKmKufy0ehBUosPwGK24PB5W8vW/ulpzChc5gAjPGKAumOm8KZCAGK1RDxSRDOrAol; 5:Qpp1NYaLG2UXFoFflXnjSDDJH8uuBwQCUOzxZxJpmiBBrWtG5zmJfZflU6QjTStRT5hUt+mEE3FAt7wgMmViDXDx3g9ae/pnXUD/fAm0TvaBK15WAAbmtch+ag/+P1fAktrF3DdYeHFg/6wEm4GOAhNoWjlmdkkg7yyjR0dkpQLleYrfRrmWJXuK/7jgoF7u; 24:6+r1H35rGK4DPKS31QOShtNkl0ldtyAErZGq3HFhT/h6P60uCDN31q3BnizF8cGLLW4/rkquODDcaBbor/daTnNdzI+lDxbuNgsc5tYlp+s= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; CY1PR0301MB0746; 7:AsjHgtbOejQBQRJa3mIoiGQmvvW8zc3h4vln0H5SrbIgKFj+TzzsL/oocy0ZVXGOWhJn+Sjpm0SM8JsYWgtJdHo1s7W1KHuawvUxEdNsMybW1crDr1AZh17k3wbSFA3zvTzMjexa4bq7qqJn9jwVk7TTRHfo3nnJbU5lUacZmi/4bC/vTN127IW63kHGTbdXfEeyvrrYZv4Y4cXEplPOSEdpv/9O0Rda+t2H6PzuETytSN9zx3yVeEHb6vWl0ebcJ6VZLsoU//11+RImALNzcyfV65TopabddH1JH5NsiLPgnXBBY5aqOFGVXIM577R1DE7hUhaojZ5wrDG4+cxtYKjh8A1ZibDHmpBpeEIsjaNCzlBrrqSbSbP4YXwhL00hqMUPxigAKqRht/wq9ml+HohAeFNQQUTReUNfXC/a1NVbp3uU14VUMipgIWtDuZ+6mDUXHfwi6DXsNReJtU89Pw== X-MS-Exchange-CrossTenant-OriginalArrivalTime: 26 Dec 2016 12:50:45.0182 (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: CY1PR0301MB0746 Subject: [dpdk-dev] [PATCH v4 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 12:50:49 -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