From mboxrd@z Thu Jan  1 00:00:00 1970
Return-Path: <hemant.agrawal@nxp.com>
Received: from NAM01-BN3-obe.outbound.protection.outlook.com
 (mail-bn3nam01on0067.outbound.protection.outlook.com [104.47.33.67])
 by dpdk.org (Postfix) with ESMTP id ECADF2B8B
 for <dev@dpdk.org>; Tue,  5 Sep 2017 14:28:08 +0200 (CEST)
Received: from CY4PR03CA0103.namprd03.prod.outlook.com (10.171.242.172) by
 CY4PR03MB3318.namprd03.prod.outlook.com (10.171.246.151) with Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256) id
 15.20.13.10; Tue, 5 Sep 2017 12:28:07 +0000
Received: from BN1AFFO11FD038.protection.gbl (2a01:111:f400:7c10::195) by
 CY4PR03CA0103.outlook.office365.com (2603:10b6:910:4d::44) with Microsoft
 SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256) id 15.1.1362.18 via
 Frontend Transport; Tue, 5 Sep 2017 12:28:07 +0000
Authentication-Results: spf=fail (sender IP is 192.88.168.50)
 smtp.mailfrom=nxp.com; caviumnetworks.com; dkim=none (message not signed)
 header.d=none; caviumnetworks.com; dmarc=fail action=none header.from=nxp.com; 
Received-SPF: Fail (protection.outlook.com: domain of nxp.com does not
 designate 192.88.168.50 as permitted sender) receiver=protection.outlook.com; 
 client-ip=192.88.168.50; helo=tx30smr01.am.freescale.net;
Received: from tx30smr01.am.freescale.net (192.88.168.50) by
 BN1AFFO11FD038.mail.protection.outlook.com (10.58.52.242) with Microsoft SMTP
 Server (version=TLS1_0, cipher=TLS_RSA_WITH_AES_256_CBC_SHA) id 15.1.1385.11
 via Frontend Transport; Tue, 5 Sep 2017 12:28:06 +0000
Received: from [10.232.133.65] ([10.232.133.65])
 by tx30smr01.am.freescale.net (8.14.3/8.14.0) with ESMTP id v85CS0Xv007031;
 Tue, 5 Sep 2017 05:28:01 -0700
To: Santosh Shukla <santosh.shukla@caviumnetworks.com>, <dev@dpdk.org>
References: <20170814161059.6684-1-santosh.shukla@caviumnetworks.com>
 <20170831032618.7120-1-santosh.shukla@caviumnetworks.com>
CC: <thomas@monjalon.net>, <jerin.jacob@caviumnetworks.com>,
 <olivier.matz@6wind.com>, <maxime.coquelin@redhat.com>,
 <sergio.gonzalez.monroy@intel.com>, <bruce.richardson@intel.com>,
 <shreyansh.jain@nxp.com>, <gaetan.rivet@6wind.com>,
 <anatoly.burakov@intel.com>, <stephen@networkplumber.org>,
 <aconole@redhat.com>
From: Hemant Agrawal <hemant.agrawal@nxp.com>
Message-ID: <ba95298d-6cbc-c1ec-015e-bfd532833524@nxp.com>
Date: Tue, 5 Sep 2017 17:58:00 +0530
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:45.0) Gecko/20100101
 Thunderbird/45.8.0
MIME-Version: 1.0
In-Reply-To: <20170831032618.7120-1-santosh.shukla@caviumnetworks.com>
Content-Type: text/plain; charset="windows-1252"; format=flowed
Content-Transfer-Encoding: 7bit
X-EOPAttributedMessage: 0
X-Matching-Connectors: 131490880870336520;
 (91ab9b29-cfa4-454e-5278-08d120cd25b8); ()
X-Forefront-Antispam-Report: CIP:192.88.168.50; IPV:NLI; CTRY:US; EFV:NLI;
 SFV:NSPM;
 SFS:(10009020)(6009001)(336005)(39380400002)(39860400002)(2980300002)(1110001)(1109001)(339900001)(189002)(199003)(24454002)(377454003)(36756003)(54906002)(106466001)(8676002)(81166006)(230700001)(105606002)(76176999)(54356999)(50986999)(8656003)(4326008)(104016004)(68736007)(626005)(8936002)(6306002)(81156014)(498600001)(6246003)(2906002)(47776003)(65956001)(65806001)(53376002)(5890100001)(53936002)(50466002)(189998001)(33646002)(64126003)(31686004)(86362001)(23746002)(229853002)(966005)(5660300001)(77096006)(53546010)(31696002)(4001350100001)(83506001)(7416002)(2950100002)(85426001)(356003)(65826007)(97736004)(305945005);
 DIR:OUT; SFP:1101; SCL:1; SRVR:CY4PR03MB3318; H:tx30smr01.am.freescale.net;
 FPR:; SPF:Fail; PTR:InfoDomainNonexistent; MX:1; A:1; LANG:en; 
X-Microsoft-Exchange-Diagnostics: 1; BN1AFFO11FD038;
 1:J/hA5erFWmzW+KsbK3ckXeUMWoJwgEqVmf2ZxzqHwWhEgehmc3YnXkB3CJzjuigybLlrUAA1IbdUFVenboPJCGJB245YQ/wj6r5gyy/rebz8o92KVPv/sgnypF7y/bPz
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 60e276c4-18f4-4453-c808-08d4f4598ff1
X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0;
 RULEID:(300000500095)(300135000095)(300000501095)(300135300095)(300000502095)(300135100095)(22001)(300000503095)(300135400095)(2017052603199)(201703131430075)(201703131517081)(300000504095)(300135200095)(300000505095)(300135600095)(300000506095)(300135500095);
 SRVR:CY4PR03MB3318; 
X-Microsoft-Exchange-Diagnostics: 1; CY4PR03MB3318;
 3:fkTW3XrgxP7WXMUPPARlW+BUhZWXdJH0oY4J2XBGJkKHtfn2z+6qvrXRZWpSVZ6aaM4kuukOtOuvSCONIO2jglPsFqxJ9lS/IuoFiMdjGe02lVnuPtrStWsRVNi2OrvpiDP+sRhbZClJwFkonLKFy03U8idXJVv5Yg8sP8EBBg4Po34kr8mxQGElO9r46fG8xM6U3l16Kikpou5e7DNUe4M3Xwo+12Jwi2RecMStXPViRegjSSSc0G2vSjM8iJocXdm9VOdDgGJTDIfBciLJAwPbjGonbrzGpsOzBPB0r9OlNruXr5MRxoWD3uKkzQ0VtnUpoSLb6Ag6f3HTSePnAaVWdqED5HAV0q2drGOReeA=;
 25:ZsjobEm6advEtnXmcsvmCf+iGKwhwf8Hcu9DCkjktEEs5QzBNnTgtIorENYlZ+QVI1q674TN8owBo2Z9oQsTjhRleJpohe3zuhdw6XdUFgTUktvao7hqvpRGW6qzSTZRuGR6GJ4xmsIMXGJxARL2hGDKXJNWAM3GM0nouK75+l5PDiHRxHH5vYxqkw5uZroXsZ3765wlVLx0PeifnyUydbKJytVm3z+2qxkYhGXoQIhBtANRrD39iMIScFHunvRviv396bgEpIn0N+jmJn7tdleE443l+5pRWrOu/YXUgnZlvpUnmpH9EcLY2AJE7R8+cbHxtHtm1f9Rgj6/2486pQ==
X-MS-TrafficTypeDiagnostic: CY4PR03MB3318:
X-Microsoft-Exchange-Diagnostics: 1; CY4PR03MB3318;
 31:pd907q+IXFImbsQ2X9CYx/JHUpaX0YUHzUZ9+It7h8olEH6YsCsH97x8IJ1BQVDkCso9N102URMXsOsmD/82/yAuDWMuuBrxlXrUmsEscCo79U1DKjNgWWGSd3Pw6pmdu3plNlAAu13Or3l0gnkOw72PHId+A2P8U6TgHDwf6U1RjwhEHTgcBDN9m3gPm2eac4xd5tb/O0KwcLIzNSKyB90osAu3G/8/vpVlAP3X3eU=;
 4:YBoeHfjmgzPB/REScoGptaQjJIHka8Tfr58uoMz8XgvO331R1nJZiUq40MMUcceyyZFsHSkrccF1bOX4yz50e9Xrk5eB3Tml6Z3DXomoUNfyU7v0EvXwa2wmcA31VpLCqABN7i7y3bieqhxWPtgvqJoNXEAR8567LzwSWafhb+TdZSCNWTPXEwCH8c1/EaC3DMUFyltnl7jvijU6Cs6umWHubedjmyXF4YLQecaf+kIkvC5zEmj4kPqUMhlwfHRo4SfmgTCkkk9yDDzEhhFdUxDQET19P/vNnEjFcjSjMo9eFIjSeEJL2OreGmJwCvqD2nRzkkCT7BF/1z/hcieIUg==
X-Exchange-Antispam-Report-Test: UriScan:(185117386973197)(278021516957215);
X-Microsoft-Antispam-PRVS: <CY4PR03MB3318E435E5115E49B3C63A5F89960@CY4PR03MB3318.namprd03.prod.outlook.com>
X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0;
 RULEID:(100000700101)(100105000095)(100000701101)(100105300095)(100000702101)(100105100095)(6095135)(2401047)(8121501046)(5005006)(93006095)(93001095)(3002001)(10201501046)(100000703101)(100105400095)(6055026)(6096035)(20161123565025)(201703131430075)(201703131433075)(201703131448075)(201703161259150)(201703151042153)(20161123559100)(20161123563025)(20161123556025)(20161123561025)(201708071742011)(100000704101)(100105200095)(100000705101)(100105500095);
 SRVR:CY4PR03MB3318; BCL:0; PCL:0;
 RULEID:(100000800101)(100110000095)(100000801101)(100110300095)(100000802101)(100110100095)(100000803101)(100110400095)(400006)(100000804101)(100110200095)(100000805101)(100110500095);
 SRVR:CY4PR03MB3318; 
X-Forefront-PRVS: 0421BF7135
X-Microsoft-Exchange-Diagnostics: =?Windows-1252?Q?1; CY4PR03MB3318;
 23:ed5JelwbLLBHIi7nCU1SGOmKzx5rgAGd3ZL6i?=
 =?Windows-1252?Q?5bi7p3IDlPs1gB5/QtM5E/rKcF6a9DF1K17MjdPmMC02Nd3BRlGhA6A4?=
 =?Windows-1252?Q?uUN5dL/1tOtHTtPrpvC7b3SHkYcapexPqRjIHWVeVX7PHILAAkSgZ60W?=
 =?Windows-1252?Q?E79Z5llp275b69LN7YDs8mZc68C+BKY0eJIEQD6UeWVMyNgYUUWihi9r?=
 =?Windows-1252?Q?kRcxdFtaHW4g8hdS1H7LSCk4Z7nOxYiRAqoKkNk7IRkUZ4Y8TLgkSm2K?=
 =?Windows-1252?Q?DWr19D3xDkY9wCKsgAMKvrr5/gg988C47TJBP0/Zq5nLqWgHA5HLewOa?=
 =?Windows-1252?Q?zpZAsZYkUxDX6oInbbI9DQuESWWN4+iJq7PUwwZB9i8sXF//AKbk/XqZ?=
 =?Windows-1252?Q?7B5N5qJXCMEta8PmjijuW6AqoYJKH7Rl4uQBZdUtD9KaUSVhYJ0K8hQ6?=
 =?Windows-1252?Q?/kowVcDjzfQXTl7vev9lRnc5Y31VJhUcZMT9i9M1epz4WbBPPHOkPEX0?=
 =?Windows-1252?Q?lWYQUr5ENrCF9Ol7TZbD+8YOEHgfNBHJbYMU5sC5FV2i3CaT3QbIagSI?=
 =?Windows-1252?Q?BfO+Q6oski/FFdf7Q9WVUlJYxD8mws0Ei5mhYEsvV5FOn9LKUW1Lp/DU?=
 =?Windows-1252?Q?//dceTkCHxr/r8ZlMOAz9fkObgAe7L5bwwLNOlTo9dEcaZY5chBndhMJ?=
 =?Windows-1252?Q?N4r0AqHI3mvbloPNrq2p/QYVQTxGqNXaYSYWsG0NZMpa1oI3QYLF9Ou6?=
 =?Windows-1252?Q?RolFMyy/Vzh2hYfAbYdzeIHzG+TKDcFCdwjhi3sSZ14K0QfosBPZbXyS?=
 =?Windows-1252?Q?unaSBAg5WFfm8QDlqx3E1ZrrbDuVAz+BPSsEyIkxR1ymz7gE0Sn7JTXC?=
 =?Windows-1252?Q?FigxKYs55WhjYUFDaI5v6rbmN1EL/KJyHoh6iHC8DMKuyeaCkhBCxiuK?=
 =?Windows-1252?Q?JMX9QK2fAq/DP+yily1Iz1H9eI3Yt7wTSbnsgQF5WeaKWFM4vGvaAhwa?=
 =?Windows-1252?Q?j5Boog0q11MXqpppuhTCvr7B7GDo2QcN401EAQi4Cka6Wbh7DM5sfzKj?=
 =?Windows-1252?Q?C7+4PQi5vhqlTyX6VnUcYoaruJjxLsSYeBiZYbzBGmMtvo2LpQDtWb0u?=
 =?Windows-1252?Q?jYdDbqGR+ed7+YPEPfBNnMdjEwUcbl8gSK2TK0KeiU2hzvkY1tsX+5Nu?=
 =?Windows-1252?Q?b7qNq15KCFTDHvL7qx31oE8E2JoDMVZtcHT8rh6okt1K69AEoCuGj7Lm?=
 =?Windows-1252?Q?Brs1qv4jJUev/EsGNDcH/pBfPdH1J6MhxASn/aN1C8B5oD9z9anleVl/?=
 =?Windows-1252?Q?sCE8UsfzpohMHti83s9noVAiJD7CCoguJmM2b/27i4uhZQGGFMHc6J9C?=
 =?Windows-1252?Q?LOkdOamibBELjI/TbB1Cf4+dz0NdKgpyfdY4DcOaTts45+GKQw6n089Q?=
 =?Windows-1252?Q?ad/e+fFlXzecasareW8+lbec+GakgnYa5xkAVofdeRAbDKw+d1/lurvc?=
 =?Windows-1252?Q?v55uJC6A7QJU6xNWEF0G20d7m/nOvWTp/jADFRQ6Cw5FOknNvksyI1eB?=
 =?Windows-1252?Q?iRRviQOehscwtE=3D?=
X-Microsoft-Exchange-Diagnostics: 1; CY4PR03MB3318;
 6:rFyZqtwmdPaFLAM2qdTWPR2Xu45OEAt3x7qlPa0EAy4tw5H5QucZn5HGNicddj3iiVtQVka1XEsTsldqRMtEV0zlQZokE02Rj4G6GlgI2L/m8Rarn7+ZCSwMpYhVlXHHP9tWx/VdrAArKQYOgNkx0VyFRjlbWJG6a0QtnEGzhshRf/59nn6JhZyhJxiast6OdiLO6JUi93imBLHU1yNFZGz2EOxxdK2T7UXZpLotPgU5nJ2UaERbYol4hN2iMLHCFI/tnF8wmNzwQfvOH/15aOkQsMfPubeqJH8dXT9gk8esXqaDHrH8EJaAuoCt+veaPlv+2G2/njlaony/o4rhyQ==;
 5:cctdBf6xdOn5+dgft/YUvwN1WOG5M1SlFzuwosXV6r4eeVfRNbW9r/PM9IVz5Y8SAoXkRd6naY1oG4mwQXh7gDnA0uLRHQdE0HMCzLCrEnURi9uupqk4kZWSUuPK4OIWnPj/vmk72jKQG5HMCcFoBg==;
 24:/CvpqwOItmla4b1adwZjsZ77INFAk+dYNfOeKv5FqJyBiJ8qU4UTPoCgI1fpwVdU7zWJGP/fhnzU2n2DOiJtno91SYZsnfmnj2+Xmi5MLLI=;
 7:lMBjG991XzCXXaM9kw5wfkRZhz3Ml21cbOuNfQKdVoAl9ADnCvULo+oTYmSh2A6S9GHdZNPKqcwBBEh1IwAExLZ63CavxcvoufYvRD0D3cTIkNPEpMrCgK51u0vDr/DO1bBNIuliQ4uW2YPfLUFV+r7lM4JuBeefnPQ4cJgA5eH938Iudw8YlGnUTOBlUOeX2hHVJk18W54ZYNeFSmJwYi7pc/wdeRo1KB4V9c4RvJw=
SpamDiagnosticOutput: 1:99
SpamDiagnosticMetadata: NSPM
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 05 Sep 2017 12:28:06.8152 (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.168.50];
 Helo=[tx30smr01.am.freescale.net]
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY4PR03MB3318
Subject: Re: [dpdk-dev] [PATCH v7 0/9] Infrastructure to detect iova mapping
	on the bus
X-BeenThere: dev@dpdk.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: DPDK patches and discussions <dev.dpdk.org>
List-Unsubscribe: <http://dpdk.org/ml/options/dev>,
 <mailto:dev-request@dpdk.org?subject=unsubscribe>
List-Archive: <http://dpdk.org/ml/archives/dev/>
List-Post: <mailto:dev@dpdk.org>
List-Help: <mailto:dev-request@dpdk.org?subject=help>
List-Subscribe: <http://dpdk.org/ml/listinfo/dev>,
 <mailto:dev-request@dpdk.org?subject=subscribe>
X-List-Received-Date: Tue, 05 Sep 2017 12:28:09 -0000

Tested-by: Hemant Agrawal <hemant.agrawal@nxp.com>

On 8/31/2017 8:56 AM, Santosh Shukla wrote:
> v7:
> Includes no major change, minor change detailing:
> - patch sqashing (Aaron suggestion)
> - added run_once for device_parse() and bus_scan() in eal init
> 	(Aaron suggestion)
> - Moved rte_eal_device_parse() up in eal initialization order.
> - Patches rebased on top of version: 17.11-rc0
> For v6 info refer [11].
>
> v6:
> Sending v5 series rebased on top of version: 17.11-rc0.
>
> v5:
> Introducing RTE_PCI_DRV_IOVA_AS_VA flag for autodetection of iova va mapping.
> If a PCI driver demand for IOVA as VA scheme then the driver can add it in the
> PCI driver registration function.
>
> Algorithm to select IOVA as VA for PCI bus case:
>      0. If no device bound then return with RTE_IOVA_DC mapping mode,
>      else goto 1).
>      1. Look for device attached to vfio kdrv and has .drv_flag set
>      to RTE_PCI_DRV_IOVA_AS_VA.
>      2. Look for any device attached to UIO class of driver.
>      3. Check for vfio-noiommu mode enabled.
>
>      If 2) & 3) is false and 1) is true then select
>      mapping scheme as RTE_IOVA_VA. Otherwise use default
>      mapping scheme (RTE_IOVA_PA).
>
> That way, Bus can truly autodetect the iova mapping mode for
> a device Or a set of the device.
>
> v6 --> v7:
> - Patches squashed per v6.
> - Added run_once in eal per v6.
> - Moved rte_eal_device_parse() up in eal init oder.
>
> v5 --> v6:
> - Added api info in eal's versiom.map (release DPDK_v17.11).
>
> v4 --> v5:
> - Change DPDK_17.08 to DPDK_17.11 in _version.map.
> - Reworded bus api description (suggested by Hemant).
> - Added reviewed-by from Maxime in v5.
> - Added acked-by from Hemant for pci and bus patches.
>
> v3 --> v4:
> - Re-introduced RTE_IOVA_DEC mode (Suggested by Hemant [5]).
> - Renamed flag to RTE_PCI_DRV_IOVA_AS_VA (Suggested by Maxime).
> - Reworded WARNING message(suggested by Maxime[7]).
> - Created a separate patch for rte_pci_get_iommu_class (suggested by Maxime[]).
> - Added VFIO_PRESENT ifdef build fix.
>
> v2 --> v3:
> - Removed rte_mempool_virt2phy (suggested by Olivier [4])
>
> v1 --> v2:
> - Removed override eal option i.e. (--iova-mode=<>) Because we have means to
>    truly autodetect the iova mode.
> - Introduced RTE_PCI_DRV_NEED_IOVA_VA drv_flag (Suggested by Maxime [3]).
> - Using NEED_IOVA_VA drv_flag in autodetection logic.
> - Removed Linux version check macro in vfio code, As per Maxime feedback.
> - Moved rte_pci_match API from local to global.
>
> Patch Summary:
> 1) 1nd: declare rte_pci_match api in pci header. Required for autodetection in
> follow up patches.
> 2) 2nd - 3rd - 4th : autodetection mapping infrastructure for Linux/bsdapp.
> 3) 5th: iova mode helper API.
> 4) 6th: Infra to detect iova mode.
> 5) 7th: make vfio mapping iova aware.
> 6) 8th - 9th : Check for IOVA_VA mode in below APIs
>          - rte_mem_virt2phy
>          - rte_malloc_virt2phy
>
> Test History:
> - Tested for x86/XL710 40G NIC card for both modes (iova_va/pa).
> - Tested for arm64/thunderx vNIC Integrated NIC for both modes
> - Tested for arm64/Octeontx integrated NICs for only
>    Iova_va mode(It supports only one mode.)
> - Ran standalone tests like mempool_autotest, mbuf_autotest.
> - Verified for Doxygen.
>
> Work History:
> For v1, Refer [1].
> For v2, Refer [2].
> For v3, Refer [9].
> For v4, refer [10].
> for v6, refer [11].
>
> Checkpatch result:
> * Debug message - WARNING: line over 80 characters
>
> Thanks.,
> [1] https://www.mail-archive.com/dev@dpdk.org/msg67438.html
> [2] https://www.mail-archive.com/dev@dpdk.org/msg70674.html
> [3] https://www.mail-archive.com/dev@dpdk.org/msg70279.html
> [4] https://www.mail-archive.com/dev@dpdk.org/msg70692.html
> [5] http://dpdk.org/ml/archives/dev/2017-July/071282.html
> [6] http://dpdk.org/ml/archives/dev/2017-July/070951.html
> [7] http://dpdk.org/ml/archives/dev/2017-July/070941.html
> [8] http://dpdk.org/ml/archives/dev/2017-July/070952.html
> [9] http://dpdk.org/ml/archives/dev/2017-July/070918.html
> [10] http://dpdk.org/ml/archives/dev/2017-July/071754.html
> [11] http://dpdk.org/ml/archives/dev/2017-August/072871.html
>
>
> Santosh Shukla (9):
>   eal/pci: export match function
>   eal/pci: get iommu class
>   linuxapp/eal_pci: get iommu class
>   bus: get iommu class
>   eal: introduce iova mode helper api
>   eal: auto detect iova mode
>   linuxapp/eal_vfio: honor iova mode before mapping
>   linuxapp/eal_memory: honor iova mode in virt2phy
>   eal/rte_malloc: honor iova mode in virt2phy
>
>  lib/librte_eal/bsdapp/eal/eal.c                 | 33 ++++++---
>  lib/librte_eal/bsdapp/eal/eal_pci.c             | 10 +++
>  lib/librte_eal/bsdapp/eal/rte_eal_version.map   | 10 +++
>  lib/librte_eal/common/eal_common_bus.c          | 23 ++++++
>  lib/librte_eal/common/eal_common_pci.c          | 11 +--
>  lib/librte_eal/common/include/rte_bus.h         | 35 +++++++++
>  lib/librte_eal/common/include/rte_eal.h         | 12 ++++
>  lib/librte_eal/common/include/rte_pci.h         | 28 ++++++++
>  lib/librte_eal/common/rte_malloc.c              |  9 ++-
>  lib/librte_eal/linuxapp/eal/eal.c               | 33 ++++++---
>  lib/librte_eal/linuxapp/eal/eal_memory.c        |  3 +
>  lib/librte_eal/linuxapp/eal/eal_pci.c           | 95 +++++++++++++++++++++++++
>  lib/librte_eal/linuxapp/eal/eal_vfio.c          | 29 +++++++-
>  lib/librte_eal/linuxapp/eal/eal_vfio.h          |  4 ++
>  lib/librte_eal/linuxapp/eal/rte_eal_version.map | 10 +++
>  15 files changed, 311 insertions(+), 34 deletions(-)
>