From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from NAM03-DM3-obe.outbound.protection.outlook.com (mail-dm3nam03on0070.outbound.protection.outlook.com [104.47.41.70]) by dpdk.org (Postfix) with ESMTP id 015FBFB03 for ; Wed, 15 Feb 2017 20:07:55 +0100 (CET) Received: from BN3PR0301CA0031.namprd03.prod.outlook.com (10.160.180.169) by DM2PR0301MB0736.namprd03.prod.outlook.com (10.160.97.144) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P384) id 15.1.888.16; Wed, 15 Feb 2017 19:07:55 +0000 Received: from BN1BFFO11FD019.protection.gbl (2a01:111:f400:7c10::1:134) by BN3PR0301CA0031.outlook.office365.com (2a01:111:e400:4000::41) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P384) id 15.1.888.16 via Frontend Transport; Wed, 15 Feb 2017 19:07:55 +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;caviumnetworks.com; dkim=none (message not signed) header.d=none; 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 BN1BFFO11FD019.mail.protection.outlook.com (10.58.144.82) with Microsoft SMTP Server (version=TLS1_0, cipher=TLS_RSA_WITH_AES_256_CBC_SHA) id 15.1.904.16 via Frontend Transport; Wed, 15 Feb 2017 19:07:54 +0000 Received: from bf-netperf1.idc ([10.232.134.28]) by tx30smr01.am.freescale.net (8.14.3/8.14.0) with ESMTP id v1FJ5fME020023; Wed, 15 Feb 2017 12:07:51 -0700 From: Hemant Agrawal To: CC: , , , , , Date: Thu, 16 Feb 2017 06:09:43 +0530 Message-ID: <1487205586-6785-45-git-send-email-hemant.agrawal@nxp.com> X-Mailer: git-send-email 1.9.1 In-Reply-To: <1487205586-6785-1-git-send-email-hemant.agrawal@nxp.com> References: <1485172803-17288-1-git-send-email-hemant.agrawal@nxp.com> <1487205586-6785-1-git-send-email-hemant.agrawal@nxp.com> X-EOPAttributedMessage: 0 X-Matching-Connectors: 131316592745384352; (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)(7916002)(39400400002)(39450400003)(39860400002)(39380400002)(39850400002)(39840400002)(39410400002)(2980300002)(1109001)(1110001)(339900001)(189002)(199003)(92566002)(8936002)(77096006)(6666003)(50226002)(48376002)(2351001)(106466001)(2950100002)(6916009)(33646002)(8656002)(50986999)(5660300001)(626004)(4326007)(47776003)(76176999)(2906002)(85426001)(54906002)(97736004)(81166006)(105606002)(36756003)(8676002)(189998001)(81156014)(68736007)(104016004)(53936002)(575784001)(356003)(305945005)(86362001)(38730400002)(5003940100001)(50466002)(110136004)(389900002); DIR:OUT; SFP:1101; SCL:1; SRVR:DM2PR0301MB0736; H:tx30smr01.am.freescale.net; FPR:; SPF:Fail; PTR:InfoDomainNonexistent; MX:1; A:1; LANG:en; X-Microsoft-Exchange-Diagnostics: 1; BN1BFFO11FD019; 1:OQfn+lqpPzsY73/zVBEAhtbQg8cuP3qjUK6IZ8DaiEAPPBIRTe6crs6xcHZ7a72hwKmi/9c1Kj3n//vwz6bzP4ICp5ztDEo+xRmJIzfLLSLRsW+4eYEs2Q9FuT9Dvfd8zGoNrBnZPGxHZP90Ndd9vQytUbafq5sxQr+VrIYvJDw/4q+Sod7andnbABKwI1090UmoltQXM0tnEx9NlOKgQOXqNCrcR4dMXZ5G8XiR2B2ZlL5mkYcg+9aiDpP/sZyGwu81t0q6GFqiLqHP8OIUggI6ZhqI9ggeCQaTvu1qkTqUdaQB9GGcGcTnF8JrvI3scr19WywmHr4zzS+8br/95e2QBMFY+M7Pg38HhOWqHKqOAPIP/BNX6RyOmJlcC1r44qznGIQN4x0f8PUIfSZElouaNxse9NyOxosY69F77OtuKrDQtta/PZDpB3lc5N+bd2rgGad7IYy+fY8rhQXweXxSeqpBlNi5sdo06Drjo0KKIJK07+8YsnR5zPI2FBCOAC1Q2pEvqSpzT5EFMU7MjHtsFZnCt+XSsNR1So03o2UMiqm35Ub9n4Fpcf/QwnMPdpLY5ip2GvZSU0FuMAG0ddM53lH1vd96IJTEAnANkUoo1nG9A2FcwllL4XucMJ39gUWrwbNBbT0FCc19E4uhtA== MIME-Version: 1.0 Content-Type: text/plain X-MS-Office365-Filtering-Correlation-Id: 0c30d6c0-3082-4809-a841-08d455d5f228 X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(22001); SRVR:DM2PR0301MB0736; X-Microsoft-Exchange-Diagnostics: 1; DM2PR0301MB0736; 3:kCsCUZKjI/Ib60b9skx82H80g+T6YpzUGKOectKuAT4ujikMKMqFDaiHOssifBQKgM+JwlTzL0iw3dVKJ5u3u78UFXLtg6TseO20zjDv4C1Ajgm0dsMmKXEH66AdiQm2j86nVxeYqciinfLItCX+QnputUXBb4sZ6icWL1CiG4rTkk89w+zgZfad6qKQc99rvlrPwUhavnNvu3HwicrTDog84vaKi4qFWyQPcZFNiv/2C3XZUwKtUPTGbGwGqbKmWEOInpVtKS+CT60cX5hi34SLygb9M6ztqbdbEe/Gsi2nKjHATCGb4nqEWgVtoLE/r+IYIPtTyfTYHruETlg8wQ4rGDJmrsK9huqlQythIPOSC3PfPAD5j/4A91BjI4hf; 25:sDX7ZskYnsGmLjdllFfbNbLNeBuPEVqzIhhoopPvI2IwSuykF0goSGvWFFClm2MITIOCt1kgDWNXW9vuMWJPfadfQSvYrmfEx8CgTbfcPDmWiKnd/oqofGloOYMtSao59J5DDZqzjvr8xVyqyD0g1q/tw+HvM3ACS+GcxzsZE1lUo7SATfpWsrvS3rZttwdmhjBM7BsY4uyqy06mbCQTjE5HQaHht+aTGLYcQBEEMXyNnYS3XZYTsjQv1nIyFWd+djm9zaPLb0w+7d8Eg6qfSQco7YWsqAxH6qwc9f39gObVMCqi54jCYru9PPGI+B0uaZfyjQDjI53wI6Efe2e16yQvA/wyQbiZCIE3K0gJXFecJShzibeSH/boGfywr4NUEFB2a6gnygr085UsaP6bKv9/6UiOydGRJGZWqyQfSR0dBxJk3+FMf1QFp+AFX8W5aBoZMB7cuCPj02uSW+ZMnw== X-Microsoft-Exchange-Diagnostics: 1; DM2PR0301MB0736; 31:N4gOmNFh81LFotDD/h4KJtvMI7dISNqrjqU49avHMjr868oQX1vuPeeDF9NxevUDAvIHVcpGW+zaWuHxAaaxGkv2ktN7a7XFoVgVDV60hELwwgFUxIaSw7bw13cW7Ch9VKAMnDmVqAWYCFvi/kg8E4suB40+1aZo99xyOzRsWP3wUx8dmPxzLJ6NQ2RBaRRC2R2aqckHuqxiol/lTqycRyGBtV3qD66eR4BcEqcWJCRaEn2xfnBuQnC8zL2bXnIcfm8V0Jiswf5CZeFuDVbcy368G1ztdz9EOGI3qdgWBvg= 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)(8121501046)(5005006)(13024025)(13015025)(13017025)(13018025)(13023025)(10201501046)(3002001)(6055026)(6096035)(20161123559025)(20161123561025)(20161123565025)(20161123556025)(20161123563025); SRVR:DM2PR0301MB0736; BCL:0; PCL:0; RULEID:(400006); SRVR:DM2PR0301MB0736; X-Microsoft-Exchange-Diagnostics: 1; DM2PR0301MB0736; 4:sL2ZiJ9qTTG2yTPE8lDkVIBPl91Lo/zEH4oib6jrao0WlRSAyZfveQfvHKyweCNZJFLLdU7w+oupB37phqwEUX6QM7fH0GsI59/0hh2cpnt4pxRl0zjJRn5oMjDIfQUU1gA0OWybfAtbsgs48bTZpbFc9qE3Vg2npTvf1F1WPype8iULHXbor+lS85WQwOWzHa5N3hEHaknZf9PvCP+HV54twjjS/lUwOOntNEJl7NWUg6OumD7nqI26lOoqFY1VJxeYOk69uAXpwDAWaFDok2UFLeBJiUBDKxR3aKWnVG1nNe5ociHaKHiylQ1SwSL+4GrCCMET5AIQiEx/UONu7OnO+DxHS9YLUp4M/UwLQmiU/f4lzYSK9hUvtUkO3ok7B+ar7WdzjAFMhGzhz6t/LSZCuonLsShTNBF91/aKTRBqqWkDQL1JfLQIadhxy2iLIFIKPKa/14KRC6kolfEjH7M4n2JL9+iu979NUSti8q5qInqPu0XivrkJAs4ijP4I31A9P0TTivwGaTXcGAnKO5uF0kSBRlhWHTScpVy4ZiQiuDJ+YdbVKdv2YxXfU0BDFaFtBUeKK99OLl4+mlKkToXRV690MMzKNqK+fG/0WjiSMfYn5AcBuFr9zP3VFGNiEVfa5TrjJdnZGxM7okcqYmvxW/JWsIpcSWlCk9ljtvv7xWlJsSkAFNYQtMTmpnbehg0OoBaHzBEurnHM55Uxkp7XMw7wXBJJWbtMbBLOglNROA7VR0lJHkzsiCF9zLDA X-Forefront-PRVS: 021975AE46 X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; DM2PR0301MB0736; 23:fSL1kdOQeByGNDn9U25qXf9F1P3+07hJLZu9qoW?= =?us-ascii?Q?sNxN75I2Mn25WxqirMtXGlYtTIby9luJRBnHgox8r6hTiWoB8jV/ueW1TAm6?= =?us-ascii?Q?br6XNYQP2JWwEWbHPhLwMSwJr2tEXgVyljtYP6Nn+kW79qEKCnfuVyV+qW6E?= =?us-ascii?Q?uKipMh7em4q1uLxjJFCVgNU4lY5R4R9CiWoa/UAtmhcm2ke1vobK9Cj+HzUk?= =?us-ascii?Q?dIzyR9N2rGS9vKjxRf6mW2qxR/FrjvyidMOR8rm4KjW4hmepewiClEVjxLfm?= =?us-ascii?Q?5o3P/jLeU4bC7dtKWoJ0uI1n7NAIFC3SRJAhcTcPcGf5kf5oQvOk5Tx4fkho?= =?us-ascii?Q?X84OXxbRmFzXu0qq3ZLa6mI3IdXvUTY6XzdpKEUdWbeTAQ9IH/WLHNdvBaBN?= =?us-ascii?Q?4S71UZOyR/6ODbLjZzCxpyuxMKay/ToyuJzghmXgFrTORWuDYD4baTabV6+K?= =?us-ascii?Q?IQfcDQpLD3E9EJM1C4SlEgJp3zcyqEYgCHjkHp0XOcEt01wpENJtjhoGOssR?= =?us-ascii?Q?vpRW41XnjwlnR46rJx0Vou9NrK586zzb3raMslm3OMvGevKCV2wEjqcE796D?= =?us-ascii?Q?iKGZhzY27pcFJnptYCMocsegcrKub60LcAW3xJxANkG9wtUW+a4EoIklymJx?= =?us-ascii?Q?iU2ErE4BcMG3Pt+Aeu5xJQ6qsoy7b0i88LrZyn/HxrpBALsGVwWtzNz7ySov?= =?us-ascii?Q?9Kbo2F2UgpoyUeSl4YuANmHk49J2EB4fFzqwq/ndQYn+6TvWfFkcguIwUgsK?= =?us-ascii?Q?1WGqed6zX+Re5miCmsXz2hjHqV3XPVlUJ8nsIJprTAn6VRH8K4NxgGRfykwM?= =?us-ascii?Q?9UUM2oYLgd6NlMd2S1IurfxlBQJA/p8wAv3DI9cN7QyjfSKHNn9Edd1zHk8H?= =?us-ascii?Q?aV6J4KYoguU+SQndOPgDEk5/kLrgQYqrekph2cIVnG0qU6hcKzQIJdfukRoa?= =?us-ascii?Q?DKhrS6rJcy5CqrOrObktDSZAA5lAviEHWMF9y/mtn2d7PXvd/4qR3DCPMnp0?= =?us-ascii?Q?0144rmIfJCSdryJe0PKcZl+TruitNFXMFi/KKW7tGDJo2E1rYBJJuSOEGXAx?= =?us-ascii?Q?7vhqwDjlaL0FYOhOFdWE8/25BhwnQOUEjEhdGBNrog+1lFeQbDMBi8gslPKR?= =?us-ascii?Q?UDH3ofyCL0f5Kd7R5+5qxRJ09+xTBxnlhIckbt1Y9/T75uCx2SjWmjZVRI3d?= =?us-ascii?Q?nDqvTIMvNM1vPt00FN0Op6blnt/gCTJ95HlslpFgmiZe4NskHAz+Hv3o4S+q?= =?us-ascii?Q?snt1pOfU5HzQ/ruIiJYwWJV4u4kCI5ihse8t5C+apBaUuhFJ6p85csUS/f5U?= =?us-ascii?Q?YhDlnndQDrGUkKpBaCu8CEH1Uf5zVFQEnjuptZb5yzi6B9r3dEqBgvwXKqXX?= =?us-ascii?Q?rXUkOqw=3D=3D?= X-Microsoft-Exchange-Diagnostics: 1; DM2PR0301MB0736; 6:JCyMfesP5MWpYV+KNHPTK+BBGLj7P3G1zMkhU1cBe5mwcZOaFhXvmRvhXynGIXb56NQVz6QvaQq01ajDmGknj4rcuD4izoXPEluxXSPQMbdJikG8Z7wDVF35o3HkMvTYoZ7HIMcypx9ybBBTlEJZkYFG3vcaoJO/8pO16TQVuh5u1n7qoOJb5TybJrcTDlfwY4P/QjdOBKS5DAb1B9X1jerp8X+QuTPdXMG9TKsgrVIdEHyKZSc8tOpl0HMVymAnsmS7rEuogZhD9eus6zr4UtbCmu3lhVqBzviDuMBVSK8UiWTwVlhJZo55g/f0VGFJWgwUFlD7nj9j0KZ9TP9PiRTrs1VHFsdizGVrjTm0gf3uzr5EoRXw2AyLdgJ29OvseEVxMtGESMGBtHPwBTyEcXgq6xfSZflgI5JAwaLUwdw=; 5:zU5XqCVm7h2027vEZC4DlS0bSCgt+jqI7XlG0Rbh4DYQZQkk70ABFfx3ZYHOQzN4nEMtCi7jD/DiadV5Rmd609dsRnL+d8dIuRG5w9W+bsHcHIMhkS52FqjdOy9NRTlH4SSnApspxUpoMWT6h2uV6RsY2P3POWvHXczsNJRsRJAqTaiqVvpiStui5SHL5wL6; 24:zdSo6Myc29iOSiYbc/fFZLRt1zQPN4AhHaCGecFmIV7sd2AsmkkKfExWX6V73FIFt4Fb+OyYxhOL7ZxdTSzZPAxKiOpFdQtr+5N4qMD8vTE= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; DM2PR0301MB0736; 7:4LQV2Yw6CwzL5qSo5UqCHIGqypcF/ykFRCesw0CJL5J7ID/dZjEdqtc0FZe8VmFqDbh1oOWTyB5nJX+EcZevKvj0CQejLuT1vcaehCzK4mWcpe7MNCM90Gix4n0ooG65iAWnhu6KHOpwGyqXOXkBJmqzxm3Hli76Odtlvx9qIsEVfxROoYlPom+CxFygjECzhKSpsIv2aS9H0B3gdnudpVj477wtZLDZW8fSDwCCUDI4vYJlAE6pDtzeKQ5OdA/lhWPoOX6QsjfPUM9FRotofPFkm5hn9Bdauy1u60WGbh12UoYqPubfjlTS34XWPGdyxCtFNC/Khtx45K6uYSmgxA== X-MS-Exchange-CrossTenant-OriginalArrivalTime: 15 Feb 2017 19:07:54.3200 (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: DM2PR0301MB0736 Subject: [dpdk-dev] [PATCHv7 44/47] 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: Wed, 15 Feb 2017 19:07:56 -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 fc017fc..5f1d1b7 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 4a8f478..505873a 100644 --- a/drivers/bus/fslmc/rte_bus_fslmc_version.map +++ b/drivers/bus/fslmc/rte_bus_fslmc_version.map @@ -52,6 +52,7 @@ DPDK_17.02 { per_lcore__dpaa2_io; rte_fslmc_driver_register; rte_fslmc_driver_unregister; + rte_fslmc_vfio_dmamap; rte_mcp_ptr_list; local: *; -- 1.9.1