From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from NAM01-BY2-obe.outbound.protection.outlook.com (mail-by2nam01on0047.outbound.protection.outlook.com [104.47.34.47]) by dpdk.org (Postfix) with ESMTP id CA667D072 for ; Sun, 9 Apr 2017 09:49:11 +0200 (CEST) Received: from DM5PR03CA0012.namprd03.prod.outlook.com (10.175.104.22) by BLUPR03MB391.namprd03.prod.outlook.com (10.141.78.21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256) id 15.1.1019.17; Sun, 9 Apr 2017 07:49:10 +0000 Received: from BN1AFFO11FD010.protection.gbl (2a01:111:f400:7c10::196) by DM5PR03CA0012.outlook.office365.com (2603:10b6:3:118::22) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256) id 15.1.1019.17 via Frontend Transport; Sun, 9 Apr 2017 07:49:10 +0000 Authentication-Results: spf=fail (sender IP is 192.88.168.50) smtp.mailfrom=nxp.com; intel.com; dkim=none (message not signed) header.d=none;intel.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 BN1AFFO11FD010.mail.protection.outlook.com (10.58.52.70) with Microsoft SMTP Server (version=TLS1_0, cipher=TLS_RSA_WITH_AES_256_CBC_SHA) id 15.1.1019.14 via Frontend Transport; Sun, 9 Apr 2017 07:49:09 +0000 Received: from DTS-02.ap.freescale.net (DTS-02.ap.freescale.net [10.232.132.223]) by tx30smr01.am.freescale.net (8.14.3/8.14.0) with ESMTP id v397mBLd024015; Sun, 9 Apr 2017 00:49:06 -0700 From: Hemant Agrawal To: , CC: , , Date: Sun, 9 Apr 2017 13:20:23 +0530 Message-ID: <1491724224-6319-21-git-send-email-hemant.agrawal@nxp.com> X-Mailer: git-send-email 1.9.1 In-Reply-To: <1491724224-6319-1-git-send-email-hemant.agrawal@nxp.com> References: <1489754838-1455-1-git-send-email-hemant.agrawal@nxp.com> <1491724224-6319-1-git-send-email-hemant.agrawal@nxp.com> X-EOPAttributedMessage: 0 X-Matching-Connectors: 131361977499235554; (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)(39400400002)(39410400002)(39380400002)(39850400002)(39840400002)(39860400002)(39450400003)(2980300002)(1110001)(1109001)(339900001)(3190300001)(189002)(199003)(9170700003)(8936002)(5003940100001)(76176999)(50226002)(50986999)(86362001)(575784001)(4326008)(36756003)(5660300001)(105606002)(106466001)(33646002)(104016004)(50466002)(189998001)(53936002)(48376002)(305945005)(2950100002)(6666003)(54906002)(81166006)(8676002)(47776003)(77096006)(38730400002)(356003)(85426001)(8656002)(2906002); DIR:OUT; SFP:1101; SCL:1; SRVR:BLUPR03MB391; H:tx30smr01.am.freescale.net; FPR:; SPF:Fail; MLV:ovrnspm; MX:1; A:1; PTR:InfoDomainNonexistent; LANG:en; X-Microsoft-Exchange-Diagnostics: 1; BN1AFFO11FD010; 1:6aeS4QfT9if4YTDbCqDIh/FfJZi+t+F+PY7q7G/+zaIeQNDZMJ0xb4GU/B7a2HkyhJnqbp8/tfyjKsTlK/G1UCug/LU+ab0ZQZd4HPs2p7+d0f/CO07Fbr2VI/QnyQBjxC3LFZaZ5FQTCF3AY0h2GH39ddhXtvmMiJPDX+89OvdhNmxv2kmLaPEpMQZW2bcyzuNi3iofZSBSk5qsoc0clW10BUU3mYg+ZbgVUl7A8QpUSwLWXxIvIy/CuyoEuk9LuJuQGhszT1N+LB4siudW63U1ZTqhh0va6fDozVcvVipJ5KIhgwS9hpJo9g5RsE3yYe7MYN9FbpxwDNjNjQXFUmYAm3n3xjXaTIt3B8gI4eqPt568um72tQyY7a+l4ZVAd3XWiH3JFeREm7LiMG+Co2gmKsKDHtXkQ+eVFJxPZmwYwdIRTVFxRjLdimDitRSAS3Nw/Wwf1GC6X8WaW5VNBoATqf7CwSuNFg6ne2BMPP8QDCVKsHnAqXpQ32m/9Tn9u4V+ZQzgTi/kwg7HxFuaBEFVPRlgcIs98YgCk+tSqF4utASi1uaWSv5kXv8X6u6Fb7PE8tlsjAUk8848j34mC72GK4NgJx0KXwCnSs4qpZO+F4E1YjDhzISwEw1JgO7daiHhykOB7jdzaInq3qbC5fmyd7aOcbmrQl5RSD+wHNgueEZ+bOUm8nqETNtlnIhk MIME-Version: 1.0 Content-Type: text/plain X-MS-Office365-Filtering-Correlation-Id: 9a9b75ce-c0b6-4c65-5381-08d47f1ce84a X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(22001)(201703131430075)(201703131517081); SRVR:BLUPR03MB391; X-Microsoft-Exchange-Diagnostics: 1; BLUPR03MB391; 3:w7nqyM7cCPPuLRFVEwXlMCe7P71ndOh2SWpznlu0gu2SJGZLBBnxbSxm0pc1KdieBoFClyLuBLxeuRipIYQLR3HIgJZgfP1ruWu+9KlimHxeSLfcFZH8xyE726o9vkkmxQTsC717Dv5lxBn6a+uUOgejOmJTsSuzaDRhQk0hP2WlpIhYZ92el7J+IHqnyEfNcQMr19qNjsOiX90OiSsXGiYOeGiZ1nB3VdZB7v1lnVlQkIy7ijXcob+l831vt6y3EG7/JfbWr6bg5RhHbndNs839wjVJcdypQe68N4D/uzOErOUA1t0TmHYEY16S7W6YnxUj4ig67CYcvh38umkb4kckjfX1opMzjA9+hbUPvjqH3vXXXUn2FwHH+tIhRiR1jqGFpxkfaeod7Ws17ZpPMf/1OzTHWhdsH0NKjWrEwvOILIfzSMh17uitwRq3X4i1; 25:DCOsM6erE9pVAbqgsV0VEG+ch2zqa5A04b6wvlD8S2VYJ51MLwl5S6iR6DrmpYmmC0yuQpBtHIlhvS4/E9bR4q4pQSlONmthz0M8cbQxI6zIM2W8q/gts8vAwdPumfWnpihmlo4AudQCUrQiWAofVHVTZGe/MJcAPJdiKa12zPxHPCbKvohxI2X1M2rUwBoF1U0BvjJqUhSjXoQ+pzOzvAXaowe7lyP0uKfRSi+NeVtiuyisXvN3XFqcClJfWDDRuZhQPeTLEJ289GB7M6yz2e5/B6LepLYaE1z/LhcguhagM5OtF3CMeG0O5HY3mfeQKzA5fX/gm0Rxyh70DrmKOszhLxN4qRQYTyJR1fMtaydOTNvC2crzTpLfflMxuZ+GqSSuXSIdrtKccHhpFnTzMHSvXPMsYssCaArwVX2f6umH5zAMrLPniHkbPvDdvQDuFPp72UB608dmPLd91ZOHmw== X-Microsoft-Exchange-Diagnostics: 1; BLUPR03MB391; 31:zZ7kx0w7H6j6D8HsZRNaXeM5hgzGT5a8nuUDENEz3iGXk0vHcS+00ZjbucCHrnclsUL18nmzroduNuNkCH3icHOKyYguy+S8zTd6qV0s0DxT88Df6xVRZOvgksr2PH0TVJoOkL7vPmVvG32bsJEd0CCCes5Kg/rMlRuVqSBemWdH6AyaXm/fp34ECZCEplBhfvoeOZnkatrAOYtxzc1RqpLIkXCWnqZixXQUHIEiva9yLQ3Ry9MGVddSLhJxIgEyGHq1KlUqGfRAPEYue8sNanbHgk0PqrXgDYhSshopeGE= X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:(185117386973197); X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(6095135)(601004)(2401047)(13015025)(5005006)(8121501046)(13017025)(13018025)(13024025)(13023025)(93006095)(93001095)(10201501046)(3002001)(6055026)(6096035)(20161123563025)(20161123561025)(20161123556025)(20161123565025)(201703131430075)(201703131448075)(201703131433075)(201703161259075); SRVR:BLUPR03MB391; BCL:0; PCL:0; RULEID:(400006); SRVR:BLUPR03MB391; X-Microsoft-Exchange-Diagnostics: 1; BLUPR03MB391; 4:VaLwhMqIsoXwuuW9be6kwAzdyrPgfPI8/Q5P88bGCs+kVPz6Lf3GVeqI5AqVZSY7/f11bmb9xtilRwhAEv/x1c9ZwtSezpf7SLPd/62rS/SKWjX34Kz4wTUiI645LgwdF9mWStIrN8UsBeQn+FVMCDe/RrqFKIGZBYK3qp/eVcw8AfO1P7H9VEP+jbtXjL/4FzQygULt7pmVk+T9AXYdz5oMD3F15s23WwStw3eYawTFq0vLAw9RD3cO/UhWVqlKOudBWw4umPL24gc0zwBBTezZ4qxpe8UO+ufboAKBAOWFms71JlwTddUsD032WGNlpXvwzmj4I1Y2g3PNxslcclm/VDn2S8/FnZ4yx27CseTZv/tuY/VN9FWh3qKSfonAi8JlFSLPBG8+1/w3yaoPZ0dGATM5ZQFHu5/whfGSPAtKNIrZLju0mfzo/5dJZGvZ2N+fuFgnG2J9SuaryXOD1RA2KyXBqC45+IP8xJxKx8RFXvzc97jGdJ5izqlCO+2lgKLeWsE1b1GP05SYdXcgiQ728uhmkxMe9aZ5zl0Qofd6h/5ysBomI+caAxpfiveDhnmJ8uUJZinPavwIJnXIC2n9uhTr1fLmlQIO7/LH9qjw1g/l2ZoetpjKoGBLN/961bLAkKu/1aZcYciDMwH+KIk5Ky6wWmHM98/sOVADXXhlFWFp8uXkivmU0t3ojVFMDC9YYzLz0+t3+8vLturv2ByyHB8tuv1PJtPIjWSzJeClQ46TFRtqZUvfFoCCOrClgtjwRFKtiC4OwO9y9Uwwz8+D7FdJh3R2ZDpZHoDbBO0r5eFNtxCg0APxAwFXkwJvkx4eRuUBXB+fPbfFLgFwvRhtgwPPGbijL2Eb9U9bIm68trJoABz4g1iK42NU9Fz7PPNABanWRqvgjBWjtI+k8Q== X-Forefront-PRVS: 02723F29C4 X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; BLUPR03MB391; 23:UzG0fK3MCOcCSsSERIIk3HlyPF6h8eVA1nPQDHIfrl?= =?us-ascii?Q?iW/t8NKWpkDxVOq4R8F2hwDh1kxB1ULYEfqdM9iPYvgw2VYKmKB33K+4DpjA?= =?us-ascii?Q?v8zkEFAp9pPtP45FgOmPmOrerTTwYUHB7nkEcwjKYvhAK8SswRAFx0uyOSyZ?= =?us-ascii?Q?Bb+O76/vD1ghz/ueH6SFqHdputbPXotwxpydPE9yjaV7++aW1cudOmtqougF?= =?us-ascii?Q?t9LQnuPkaSL1M+OzInrO1yMGAi9DBYHI2qgJjNTID6SkUlwg3g71ejvyX+4s?= =?us-ascii?Q?VYSsmy1yyHOP35BPH/I4+wsMdq8IYFnb+yklCDi4OMtnRHJW5qsgFU7hEwyg?= =?us-ascii?Q?glCrvJ+nBsQvIEm5wxMtH6YbjVlIkiQXPXaGU1pzUxLmy/v5XuaaQGr/hQ5Q?= =?us-ascii?Q?MpHgog2y9qzYj0FW0N4s/l+wu1X/sQiKlUmibiZwYz8KA90CJ6iQswHfPENF?= =?us-ascii?Q?IY5et57l8iEB5qt7H309ymNVqqXVapMy0hIz+lCDb9YxjEv3zRjaane8TWnJ?= =?us-ascii?Q?m3U6Wmxzm8vOuXCou+mnsj38io8q9iPKQzCZMZoLBhsRLQOSKcHgncAiDqdP?= =?us-ascii?Q?ECk1Pg+pIKB9bhwBGy5MjLRwXxfRxnhhjgT73PWa0FlboMW4/NE2PTrsNujX?= =?us-ascii?Q?3fWgCZQM4nuK/Ngtu/FQFrF6qndWtx+8QJaFzm4GSLv72LnUAwwGv47Y1fcm?= =?us-ascii?Q?d+4iDfaNofPm/1r0AAJzJca107baZzGmP1efxIIG8I2wxIr3+9JHLSfUotu5?= =?us-ascii?Q?YaQNFmXv0ie5sCMIgdvmBl5aqQz7/TyQss7LzkKy3us+FDAU0Zj+HVtOccen?= =?us-ascii?Q?sXIHhH5jbqf3CHsjY+uGYe9nzrpdOKcV0QINxTKSY/B46U2Q/9JHfZHG11pG?= =?us-ascii?Q?I7yvh3WuhSVNe0+0/nOPDUNIApylpP6k215s2rGjBb9b6c6RW1GIx1XzjuiF?= =?us-ascii?Q?Tj5UFzUAH3o56WgI/ZONc8s1AMh5g1tTZZxk+j7DzntLLcXsQpMJlOwfTrsn?= =?us-ascii?Q?DskPBEGDehBQauUE5hMfe+Uu/wXwOqk79mya/f5umDmkBxojF1TK0pa8kCD9?= =?us-ascii?Q?COPMNzc0WIMR3O5jZ4IzvrhIo+pNK1QM0P7QmH/xql66okQwRcMKmXLmESVa?= =?us-ascii?Q?Dj/HKbRUl2JGHBggR2BEorY2YSOgAAlRg8ZbuUzA/H0oGuu+UoqphPGygxwF?= =?us-ascii?Q?omKyHtjQ7ET2FDjgt9ZDane7ZRJyMByvb1?= X-Microsoft-Exchange-Diagnostics: 1; BLUPR03MB391; 6:FNwKTnsZWpI6ebMTe2gSjVuY8sR/NU5ZGdRugnpl3XtMc+L3i+KfptQWd3ae3IuyTAITGZGn/kaGaY3a9KFfkObS+WNYvbsxCtCA1hNq9R8aW8eXdzascsq9Ko+DoFJxXQW+GrghJeijaIMzgtUnEVQLMWj8Wli9K+lAbGQf3Tbq+YTPkPdDCQqmEEVRArTYEJ9EThQAK61TCQcylYIoGejS34FYHm2R3czqERF0p9ihdlNtB7zKuqZGU9RMBOUlDPWGt+nZbztGhOutoooQ67dRrODmB1YQGMpVfPxPaXT7zkzd2l6UcEkhOZC3p6chNSzRUKV+pll/Bqt8pyC7C987d8uxKdkwIhmDfunSgD+z2ApzmgDd6qXJXWBe1v0oQlgCNsNg3PyVy9J9iGr3P6mcd2yTZrTQRwVGzMQSiEIoXFaO8TyLUuUyQ5FuR1UP1k+ZG1trKWHNxG4E3h7ZFw==; 5:Bztalf6VkSdlrno+x8nP9J0CZTUiI0inhZgCfWTVpM8dV7doiYPZA5hCqLADlhIAocSNdDJLfKblnDxBqLDDDay0y/J+aHv29R5bhbkPHW+nYOLq4SdsKHW0jNB3cN8foP0k4FFMYrOVRbjWp1GNPURsTHngtbk5fRA9n220U7rlE30B7BJDBx2kOTWNYl4T; 24:UfGUgneVO2CShgh4hwZGHWrIftXv6afyLE9nVvjz8sKSTG4CrWLSkFCUoPLajFWolW+FeoVZxVuUbG5Hpmo3Zw/QJxzKftFsHDQ7pqaHPI0= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; BLUPR03MB391; 7:gqBZv6MGW6GL4Qr7bFeu6aB51eueSOq+BhWSTPEczFXzspJF3/StS7wqQhcfogdf2Oy374wIuWXzWHp+YY7iruF3fOlL2cFNEtDKvD59BBaEydyr9hQ+CzLPHzeozclrXwpOUOMxBddWTzTK7RiIQV/e2cpE726k2vLBYDDkbBHVHiwl9SeRD40spapqyUizVxJr/LpF48GYGfObn9gbhQQJOwI6+GqWa9VWZvcejkkI7cyOrkEGgZxflBejzOwk4uz0PNnWrXQG12Z+orKKfjeGuCzqbSLBA327TxYyNi8sLvPl6Oyad3OM2pH4Utqak7HG3Le10gqJ6T5VIa5lAg== X-MS-Exchange-CrossTenant-OriginalArrivalTime: 09 Apr 2017 07:49:09.0811 (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: BLUPR03MB391 Subject: [dpdk-dev] [PATCH v3 20/21] bus/fslmc: add support for DMA mapping for ARM SMMU 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: Sun, 09 Apr 2017 07:49:12 -0000 Signed-off-by: Hemant Agrawal --- drivers/bus/fslmc/fslmc_vfio.c | 96 +++++++++++++++++++++++++++++ drivers/bus/fslmc/fslmc_vfio.h | 1 + drivers/bus/fslmc/rte_bus_fslmc_version.map | 1 + 3 files changed, 98 insertions(+) diff --git a/drivers/bus/fslmc/fslmc_vfio.c b/drivers/bus/fslmc/fslmc_vfio.c index d28fb7b..5d4ac67 100644 --- a/drivers/bus/fslmc/fslmc_vfio.c +++ b/drivers/bus/fslmc/fslmc_vfio.c @@ -76,8 +76,10 @@ static struct fslmc_vfio_group vfio_groups[VFIO_MAX_GRP]; static struct fslmc_vfio_container vfio_containers[VFIO_MAX_CONTAINERS]; static int container_device_fd; +static uint32_t *msi_intr_vaddr; void *(*rte_mcp_ptr_list); static uint32_t mcp_id; +static int is_dma_done; static int vfio_connect_container(struct fslmc_vfio_group *vfio_group) { @@ -147,6 +149,35 @@ static int vfio_connect_container(struct fslmc_vfio_group *vfio_group) return 0; } +static int vfio_map_irq_region(struct fslmc_vfio_group *group) +{ + int ret; + unsigned long *vaddr = NULL; + struct vfio_iommu_type1_dma_map map = { + .argsz = sizeof(map), + .flags = VFIO_DMA_MAP_FLAG_READ | VFIO_DMA_MAP_FLAG_WRITE, + .vaddr = 0x6030000, + .iova = 0x6030000, + .size = 0x1000, + }; + + vaddr = (unsigned long *)mmap(NULL, 0x1000, PROT_WRITE | + PROT_READ, MAP_SHARED, container_device_fd, 0x6030000); + if (vaddr == MAP_FAILED) { + FSLMC_VFIO_LOG(ERR, "Unable to map region (errno = %d)", errno); + return -errno; + } + + msi_intr_vaddr = (uint32_t *)((char *)(vaddr) + 64); + map.vaddr = (unsigned long)vaddr; + ret = ioctl(group->container->fd, VFIO_IOMMU_MAP_DMA, &map); + if (ret == 0) + return 0; + + FSLMC_VFIO_LOG(ERR, "VFIO_IOMMU_MAP_DMA fails (errno = %d)", errno); + return -errno; +} + int vfio_dmamap_mem_region(uint64_t vaddr, uint64_t iova, uint64_t size) @@ -170,6 +201,71 @@ int vfio_dmamap_mem_region(uint64_t vaddr, return 0; } +int rte_fslmc_vfio_dmamap(void) +{ + int ret; + struct fslmc_vfio_group *group; + struct vfio_iommu_type1_dma_map dma_map = { + .argsz = sizeof(struct vfio_iommu_type1_dma_map), + .flags = VFIO_DMA_MAP_FLAG_READ | VFIO_DMA_MAP_FLAG_WRITE, + }; + + int i; + const struct rte_memseg *memseg; + + if (is_dma_done) + return 0; + is_dma_done = 1; + + for (i = 0; i < RTE_MAX_MEMSEG; i++) { + memseg = rte_eal_get_physmem_layout(); + if (memseg == NULL) { + FSLMC_VFIO_LOG(ERR, "Cannot get physical layout."); + return -ENODEV; + } + + if (memseg[i].addr == NULL && memseg[i].len == 0) + break; + + dma_map.size = memseg[i].len; + dma_map.vaddr = memseg[i].addr_64; +#ifdef RTE_LIBRTE_DPAA2_USE_PHYS_IOVA + dma_map.iova = memseg[i].phys_addr; +#else + dma_map.iova = dma_map.vaddr; +#endif + + /* SET DMA MAP for IOMMU */ + group = &vfio_groups[0]; + + if (!group->container) { + FSLMC_VFIO_LOG(ERR, "Container is not connected "); + return -1; + } + + FSLMC_VFIO_LOG(DEBUG, "-->Initial SHM Virtual ADDR %llX", + dma_map.vaddr); + FSLMC_VFIO_LOG(DEBUG, "-----> DMA size 0x%llX\n", dma_map.size); + ret = ioctl(group->container->fd, VFIO_IOMMU_MAP_DMA, + &dma_map); + if (ret) { + FSLMC_VFIO_LOG(ERR, "VFIO_IOMMU_MAP_DMA API" + "(errno = %d)", errno); + return ret; + } + FSLMC_VFIO_LOG(DEBUG, "-----> dma_map.vaddr = 0x%llX", + dma_map.vaddr); + } + + /* TODO - This is a W.A. as VFIO currently does not add the mapping of + * the interrupt region to SMMU. This should be removed once the + * support is added in the Kernel. + */ + vfio_map_irq_region(group); + + return 0; +} + static int64_t vfio_map_mcp_obj(struct fslmc_vfio_group *group, char *mcp_obj) { int64_t v_addr = (int64_t)MAP_FAILED; diff --git a/drivers/bus/fslmc/fslmc_vfio.h b/drivers/bus/fslmc/fslmc_vfio.h index 80c6869..53dd0b7 100644 --- a/drivers/bus/fslmc/fslmc_vfio.h +++ b/drivers/bus/fslmc/fslmc_vfio.h @@ -70,6 +70,7 @@ int vfio_dmamap_mem_region( int fslmc_vfio_setup_group(void); int fslmc_vfio_process_group(void); +int rte_fslmc_vfio_dmamap(void); /* create dpio device */ int dpaa2_create_dpio_device(struct fslmc_vfio_device *vdev, diff --git a/drivers/bus/fslmc/rte_bus_fslmc_version.map b/drivers/bus/fslmc/rte_bus_fslmc_version.map index ed445e2..09c4fac 100644 --- a/drivers/bus/fslmc/rte_bus_fslmc_version.map +++ b/drivers/bus/fslmc/rte_bus_fslmc_version.map @@ -41,6 +41,7 @@ DPDK_17.05 { qbman_swp_send_multiple; rte_fslmc_driver_register; rte_fslmc_driver_unregister; + rte_fslmc_vfio_dmamap; rte_mcp_ptr_list; local: *; -- 2.1.4