From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from NAM03-DM3-obe.outbound.protection.outlook.com (mail-dm3nam03on0040.outbound.protection.outlook.com [104.47.41.40]) by dpdk.org (Postfix) with ESMTP id 5E996D148 for ; Fri, 24 Mar 2017 13:42:48 +0100 (CET) Received: from BN6PR03CA0013.namprd03.prod.outlook.com (10.168.230.151) by DM5PR03MB2794.namprd03.prod.outlook.com (10.168.198.19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256) id 15.1.991.14; Fri, 24 Mar 2017 12:42:45 +0000 Received: from BY2FFO11FD012.protection.gbl (2a01:111:f400:7c0c::124) by BN6PR03CA0013.outlook.office365.com (2603:10b6:404:23::23) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256) id 15.1.991.14 via Frontend Transport; Fri, 24 Mar 2017 12:42:44 +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 BY2FFO11FD012.mail.protection.outlook.com (10.1.14.130) with Microsoft SMTP Server (version=TLS1_0, cipher=TLS_RSA_WITH_AES_256_CBC_SHA) id 15.1.977.7 via Frontend Transport; Fri, 24 Mar 2017 12:42:44 +0000 Received: from bf-netperf1.idc ([10.232.134.28]) by tx30smr01.am.freescale.net (8.14.3/8.14.0) with ESMTP id v2OCfacS031007; Fri, 24 Mar 2017 05:42:41 -0700 From: Hemant Agrawal To: CC: , , , , , Date: Fri, 24 Mar 2017 18:11:31 +0530 Message-ID: <1490359292-18773-22-git-send-email-hemant.agrawal@nxp.com> X-Mailer: git-send-email 1.9.1 In-Reply-To: <1490359292-18773-1-git-send-email-hemant.agrawal@nxp.com> References: <1489754201-1027-1-git-send-email-hemant.agrawal@nxp.com> <1490359292-18773-1-git-send-email-hemant.agrawal@nxp.com> X-EOPAttributedMessage: 0 X-Matching-Connectors: 131348329646038503; (91ab9b29-cfa4-454e-5278-08d120cd25b8); () X-Forefront-Antispam-Report: CIP:192.88.168.50; IPV:NLI; CTRY:US; EFV:NLI; SFV:NSPM; SFS:(10009020)(979002)(6009001)(336005)(39860400002)(39400400002)(39840400002)(39380400002)(39850400002)(39450400003)(39410400002)(2980300002)(1110001)(1109001)(339900001)(199003)(189002)(9170700003)(305945005)(77096006)(356003)(33646002)(189998001)(2351001)(8936002)(47776003)(76176999)(36756003)(48376002)(50466002)(106466001)(105606002)(50986999)(8676002)(5660300001)(110136004)(50226002)(575784001)(81166006)(2906002)(104016004)(38730400002)(85426001)(53936002)(6666003)(2950100002)(6916009)(5003940100001)(8656002)(86362001)(54906002)(4326008)(969003)(989001)(999001)(1009001)(1019001); DIR:OUT; SFP:1101; SCL:1; SRVR:DM5PR03MB2794; H:tx30smr01.am.freescale.net; FPR:; SPF:Fail; MLV:ovrnspm; A:1; MX:1; PTR:InfoDomainNonexistent; LANG:en; X-Microsoft-Exchange-Diagnostics: 1; BY2FFO11FD012; 1:ftLkWr7bkgIbWlET+R+nm6GaTORPTLztDoCFmcEhQPOqQAUATa0VC09y7OWDP8vD9Zo1Jnu5Gl/MNdbFuB7dqn/I3t6/Bm7jteN/kX8Pz8qwCRORUHWPwA678Ux9PWVuD6ZQW9cM8iWzKYL97j8sBIL0sZhXx/TeSQOuYAmkD1VTBHqzyynYj7mCkTxm8l8Fa7cfwO4Z7EX7jnr3dgAoe50gCCXsM30qtABYjtdAZobwAUmdX2bpY+vXsn5LXBMcxdzzH/VShw0cm+19lGGLjD0xO6nRvL6KPELAWNUa0lsNHnNBtb52NqEFGFqRNvfCnqigTM9GqmDXtelyCAR9czTa3tYa2ZhaWHaVKlxP5jD2y5VyI3PHo1AU/sGXM8f3tTxD0fsJ7TBJR1+2agqsb1cIQNpPLP9YNDWP6jww5Gbsn53Knv6GDXMnSIWShXvzyACbtBwJyng3Ee95jEXFKf/WXCLe09dQUxdj46zCvKpo+FDK0f60X4bka9iIXeKjeNHpkvFSTYBwexvUZ06+4OJTWnHBG7FVWfVTlPrZRTG1I/7VZ2ect9ZqG3jUX7udGWFTZAoVbPH5MFuYqnkEYMWkJdL5beCowEfCJAPtb9QEsTwDw9R9eJlll2d/wjBIPJkLCDRqoSRpbaC77rxGAQ== MIME-Version: 1.0 Content-Type: text/plain X-MS-Office365-Filtering-Correlation-Id: a3a11ab0-86c5-4e75-9de7-08d472b344db X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:(22001);SRVR:DM5PR03MB2794; X-Microsoft-Exchange-Diagnostics: 1; DM5PR03MB2794; 3:bOwnFm+I+6f0fr9M/9gxvdysx5oAsWmj1X54oV/xegk/IXHreesiqS/G6U+6ndWmdXLV4lqmXXonasCjLbG54lmg16B2tRknEzsvxsRKgCSpIYrVuqC0Enhw6IlJMRLGB58X3BEICbCxIsuDqVkqPSRwFZMvuS83lCDxIPZfmOv+sGZus3qEuSnKOHRG3OILPwIGg5r8AnpXanPczwEdAMaRRKWBQEmxDsN/8Nm5nMGayN387nYXUbQOedZPMOA1oid2HjYFI/86/8s44uWYU6H+/GGf3uS6MiwazMSqnW4f9Pl1ZGxM93RLjq/11TtzBI05rgqXfO3oZ4SAOdCPj50TM3Wvqt4Gus45AvgVvYKxfbD6xy2fOllvJt8Jz+yN; 25:BWI6T7jT6tRBH0+vRhDReVh7ohdGvv/zziYG8DBJ18SU/mQVUgxqAW+cXi/CyTRusFAhn7DcMfy+GxcFL3hhY1klyilcTL9ej2mMctcDsLFvgWMKTOMVin9PYDZnSfLwzxWKwZ29fApW/G8GULr1Ei6Jhr5S9Ltk6jSJiHy92yFVek8fRJceN/Gb80a0qjGhc7mzMaJIAS/IhNhYl2RD0g94OnRUgwjeTvo+hbm3ICkEP6xinNVjFX8KgYxdwX2nHQGRmaT11fdpErg7qlqaO2Iin/K2Qc1DBr50jIvK/DL/wDpTxVBTqxQsQJOf56Vioi/xafRGPTIjv4Fs75ueibl4N9CFoZ2+T2nVctSfE/WN43Qk4ZgJGYLxMNQ6gqo9/i/umOmLKub6qOxvGgjYWiDuA4awK/1R7+bg8fVCCDwz27FLOqfSeHF55WGQElkufWAiGYFZo+8cOa82BznBBg== X-Microsoft-Exchange-Diagnostics: 1; DM5PR03MB2794; 31:GEtBX07sNfo548TRTjazBpNh2pZiTjrkqUUYu/gpuIcKPgKY7t9FO3hpW+NVC6UDNAeQ3vey4bXghC42gmw6wjQrUMXMzc8pjUvo6YjQ7zdcXMwUTXg0OeblLF1MzqeU5YV4uxHs6tD9s+EUnNzHuvkqcl1JutVNu4DCxr+SaIjmH/KY1eC0VBEYBtIxXTCMzfRvC4Z43h3xS6CpDZJvvTzlSH+e5dHt1iraaUFTOdWIKH+xXR7znBVwhMqs92QFi9Ic7fyiWFg8J5ZN0jaBHA== 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)(13017025)(5005006)(13024025)(13015025)(13018025)(13023025)(10201501046)(3002001)(6055026)(6096035)(20161123559025)(20161123556025)(20161123563025)(20161123565025)(20161123561025); SRVR:DM5PR03MB2794; BCL:0; PCL:0; RULEID:(400006); SRVR:DM5PR03MB2794; X-Microsoft-Exchange-Diagnostics: 1; DM5PR03MB2794; 4:3XA7lHRtCE0AibuXoRTTdDGPZ50yEtBUR5TPALS4wTYN+Av5+vXN5OEEgxmVgJtd/O53+9xToWRDbRb80g4TMS2dBCW6VoWBI3mGN00rj2V9FD5vaqwvneJkWPXMvZmUoZFY/HnmOO1jALb4xjAKVoqrvqSvgy5khuPIKfJVx8UBWQgrgPpleNkRmLYWT1rs1b8z4f6JnKSG3eZ011ZTauiPcQNSlJfLRQOb6zBqwPtVLp57Mj+n7BV5XKJosiIVeFXnNSgNN1lXF6sGI+jo9EUEbZXmuRUvjP+6xzOr2vMb1DJKwBn8YTE+1md2NLG0CfLARcCHzTmo+QDePWGXbhha3B7yzX+loKGf9FWeiPmoXDAt1xEh+8eQRVdXH5x7bmI9gYV++J2Bi2+x64VGI60+bwY5z0nsg9W47BG/+WwM+iurI1O90Gl/y7J4tGlRhWEA4w1mJ6bN4EQrDO7UkxBv/g3VVStX2g63RerWSvkQZFNF2p9MPS/RAFzK+Juyn7KwYyZaXkklXYU8TJ9+/acfQ1wJIG+B07owT3tM2lk5Y6pBSs/2SiilpzK8Hazs0l1Dgt56GZCzlmIbtZM3h4mx2IyojprXjop67PSZwzPCZ2en88C6L4+Io1d2U+K3F9V/p8RtjeBXWIi/Piw3bPU5trquJA5VyLvp3fgROq7x9OJ7JCggwwV0Sg+P0ZZmLfjZXZSH273tCz1KVjV02tnAWpoEbltaW9LMwR9cco2k4osrz2mNzwLydZ+xfEMY X-Forefront-PRVS: 0256C18696 X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; DM5PR03MB2794; 23:el1+OKAFwuWr4PjykUHT8EifB58yWQJWtjdB80rQg?= =?us-ascii?Q?hsSPdyhIbtuPFSZgfvlDtXjmqOMjFqP+N/dH+fVln/dAGeuUCjG6sQjLdtHr?= =?us-ascii?Q?dLlDd9AexpSiKhs4Y2HlwbxpVplGfQb87rUaSwCMxy3qAGzzAQ78bU5+xZeU?= =?us-ascii?Q?VKw69qr1tERYWCg94TP71YUNvRjStjajeMfUHp1gMkC9ixwDqWFhgf8wCUqA?= =?us-ascii?Q?f1goAVT5VHAx7bW07KLSfIH5hbDQDJITTPxGTLKSpnCsg2QkYdjZIfH/jW63?= =?us-ascii?Q?Tp4z+xNOEaKitop+jojsXnAj2Phnh0eGwj1Dl6TU3iR8YlWdPLVOCFVK5N1O?= =?us-ascii?Q?oA4wCiuZVo/N8UZcSePxCR4A7K1Ltb5K8J5W5a+kuu6wRlR7ZmV2dKoKJniN?= =?us-ascii?Q?+6qjs/9jP/Y68N5k1XDCT4oJ/HT5vC+ZADC3z96V8vBO+3JqWUqXrvHOBuE6?= =?us-ascii?Q?FIXXDkQSxsazqWNBLL60UcLTbCR748is/iVFXUkjeKp28OcHtzJHm9OLamaq?= =?us-ascii?Q?bIkiYVR8k0mfj1kxXM5WIjiYoQS2JvgsxzEa3R/+sD/djxCEhIr2LmjJhGfd?= =?us-ascii?Q?QEn15XlsT+gz2/WzmGIV/uiLY2McVtQdPKQUbEQJJxIX0jfdW7OGCEQfGKGh?= =?us-ascii?Q?6Xq/ADxYQe4bvlaN1aObHRzNMmMB/XmEGx9MGH5sASBn6o/ZhI/JplVY2gEp?= =?us-ascii?Q?uv4XcYUodNXzZVN19v77S1UCcY11FWmNwFBZwhC13MNFyxP46FRYJVXIuhpK?= =?us-ascii?Q?O+xsGYMaXi4lL5PfdyznKiRGRnw+uGPXmRZV/QBGIWpTQr9WefCGMhAAV35u?= =?us-ascii?Q?wEGeY97hod1kYo4gXjBhJYpMlqtsq0SWJHxbxux6z7zBAaHc8qw4BtdQHUX1?= =?us-ascii?Q?tvPjv/4BffAd57vGgaHquHxo2Phfvzmz6ABYp+q715CHhmX3MohKJv4JPR+6?= =?us-ascii?Q?+6w4Dk0xHDdX2L0YbZFbJR7Hdz5W/+SWYnBt/LJ6xwghRO9TXOdP+ZhRLZwv?= =?us-ascii?Q?mIXPGaiAFlwfRqfLG+zeFx32dgjSYJWEJQc/Lh67k/to1I5mGglHXC0hXjW4?= =?us-ascii?Q?zioxUMHaW/zsEabaEOI8TqaKECOORI/3bpHSLMkObOvg7bx3auGgsWQee2Pw?= =?us-ascii?Q?tVdus0V4+mxgKM06Xu1zkg6brl4oSRQsKBvssvHgEGWQeqPTdSx/X4TYNdFl?= =?us-ascii?Q?nkq20O2Ea7kIP/WAyEJizUWy1DKTsJ//UOI8tuK0ku/pgg/RThSnJS7PsT9H?= =?us-ascii?Q?VTK+A+TrIJu9iZ9+gJUdEb1RB052QeHkqnZ17VQsZ6Cvu24BpIUIXStKeOiO?= =?us-ascii?Q?btwOBFx6YpXX9kLKes4gJa0pxxJvZYXzFfnKUVv9Z1D?= X-Microsoft-Exchange-Diagnostics: 1; DM5PR03MB2794; 6:VRmSl3TctcrBLN5pvB0UrM66oE2HJ5pseYUTLMianBbvGL7mLK4A1D9plPMkTcLbF7cR9llTqkIomU0SwWuXZsCGpZgqERo7NnVCxQY5zHQMKtOhmDNMf6PsheQvUIlLv4uVxZZEUH27zqBFGeGCbb0XvNGAvuL2iidD1K4PhHRkEW7ZocrdePc0hvAdezZfmJqCdVEaqanBi8nfh4HKFhYvMSUpkyBqvFKdj/vcuq4uFKVAdlM2y/tLW07K8d95XQ0BJ6rMq0JqT7UuB8cwD1Ecn9uXUw+l709r5fXHCvOn8oQ0pFAo3rK1gZhyJf4XsN7qVXoLg4qXfRrexxCj/oGLAwAGJ7r0ma+1YNGMQZc8Wh8v4Mnx/0nYsyjQzmonSWbU50Ytz8OKGfdlAbNB82CZqOSDJPYhHHAAZhmRip8=; 5:SHloPH21o9bzDnJlj75APUVhQ6Fhdj5v4f4/2NMhwdmdtiPm+2kxqkvFxGLWqwPosecCz6bphLhteFqxK2+M+z8hX93OyWNsEXLpNrq6914J05iu3XjpFighPTx/J2lYdBrCpmemo67EtZKcoJnJLP+waghE+gXXes+xWj5aZkl+f1mlVLImhLy1czhQPsIY; 24:VQJxGLnMi70gqEjSG1FFlcrG7mGgW9nJqTZapPHN0ZD0Rwim3BxsE5LEIZ76VdMDPVkEu42Ejm6JB9lHc8bSouJWF02kNNTkNVLGarIZO90= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; DM5PR03MB2794; 7:ZMGGxrzINGnNI1XHBpPWBOaPGPBr+HYE75Zo3I25s6QUmAuHRYTHVCNjgvbKihMDtpEeLS6BoAVUslVfrWYDQ7eUcUT/9BXYQRmuOcw+M42OskzQStSE/h999R9W/vc6rWl54nUQkFQH+48Disy4hwIPaB729+7kS7vYhjSRFutC7oXAFnt816G9Y68MpY9RK/Bs/i68nNmjzKIRR/bKGeCBF/4YQrW4edfJ8z/MGgGY+NpS5Ii3yJdmK1P5dfXPP9fyZktIFJoHqDWXnd+oZOBw13hz0jj3JqS0yfhuPn6udhy6N9DUiBbnWndoujKL25SOjsZTDmLzVf3NlT3G7Q== X-MS-Exchange-CrossTenant-OriginalArrivalTime: 24 Mar 2017 12:42:44.4166 (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: DM5PR03MB2794 Subject: [dpdk-dev] [PATCH v2 21/22] 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: Fri, 24 Mar 2017 12:42:48 -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 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: *; -- 1.9.1