From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from NAM02-CY1-obe.outbound.protection.outlook.com (mail-cys01nam02on0050.outbound.protection.outlook.com [104.47.37.50]) by dpdk.org (Postfix) with ESMTP id D9863D1B2 for ; Tue, 11 Apr 2017 15:38:45 +0200 (CEST) Received: from BN3PR03CA0074.namprd03.prod.outlook.com (10.167.1.162) by CO2PR03MB2279.namprd03.prod.outlook.com (10.166.92.148) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256) id 15.1.1019.17; Tue, 11 Apr 2017 13:38:44 +0000 Received: from BY2FFO11FD002.protection.gbl (2a01:111:f400:7c0c::128) by BN3PR03CA0074.outlook.office365.com (2a01:111:e400:7a4d::34) 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; Tue, 11 Apr 2017 13:38: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 BY2FFO11FD002.mail.protection.outlook.com (10.1.14.124) with Microsoft SMTP Server (version=TLS1_0, cipher=TLS_RSA_WITH_AES_256_CBC_SHA) id 15.1.1019.14 via Frontend Transport; Tue, 11 Apr 2017 13:38:43 +0000 Received: from bf-netperf1.ap.freescale.net (bf-netperf1.ap.freescale.net [10.232.134.28]) by tx30smr01.am.freescale.net (8.14.3/8.14.0) with ESMTP id v3BDbY3H023442; Tue, 11 Apr 2017 06:38:40 -0700 From: Hemant Agrawal To: CC: , , , , , Date: Tue, 11 Apr 2017 19:07:26 +0530 Message-ID: <1491917847-3935-21-git-send-email-hemant.agrawal@nxp.com> X-Mailer: git-send-email 1.9.1 In-Reply-To: <1491917847-3935-1-git-send-email-hemant.agrawal@nxp.com> References: <1491917847-3935-1-git-send-email-hemant.agrawal@nxp.com> X-EOPAttributedMessage: 0 X-Matching-Connectors: 131363915237994818; (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)(39450400003)(39860400002)(39400400002)(39840400002)(39380400002)(39850400002)(39410400002)(2980300002)(1109001)(1110001)(339900001)(199003)(189002)(9170700003)(50226002)(48376002)(53936002)(33646002)(2950100002)(575784001)(6916009)(77096006)(86362001)(104016004)(4326008)(8656002)(50466002)(47776003)(2906002)(50986999)(76176999)(5660300001)(36756003)(305945005)(5003940100001)(97736004)(6666003)(85426001)(105606002)(106466001)(189998001)(8676002)(356003)(2351001)(38730400002)(110136004)(54906002)(81166006)(8936002); DIR:OUT; SFP:1101; SCL:1; SRVR:CO2PR03MB2279; H:tx30smr01.am.freescale.net; FPR:; SPF:Fail; MLV:ovrnspm; A:1; MX:1; PTR:InfoDomainNonexistent; LANG:en; X-Microsoft-Exchange-Diagnostics: 1; BY2FFO11FD002; 1:PmUk+azShdecuPcI4Tj3xe6poIgAVaCp3pdxxw3bie5SAGDJ8wJkaY5JlHhOZf9xBatzy3/UiRa4ad8Ddifk6FYLFGNkk6I4fmkZKfOzO+4QXi5oW7iUmQdM5u44nCnIi9mhq5Mg4pap1RaDkajYqdiTj5M7Ns+I1xvrpjdI87y2NZpGGaftIayxW6Z/tVNaQ8pXRWoMlxGJHeB8MkgPkavu/gmD/SkgGBsADRACmoRXdAUjzDKlgSd23fMPLg5wyYuTmMXIcBp4HgJuWFKjC1tIxLFomhlY+rv0vuLjDLgZ6WDik2zEpfg2AUsq+haAbdUKZn2AKdbtHXWCsHFy+Gk1lpwLCWAFfwL2YKyij4eRJV7JHO55l60nkh87oTNwJW7MfQCB0GRbML5+FziKGkxGM4TpOwW/R+1F6g9maHusJBR+zTKUgdZZHEQy3h0j275Hf0txEOqlaS8t6PCkuOxgQ2GSUPU5lKb55Ol/gjm78NdtPjtRsJFj4vqI0UQDStV4u5i8KSqEBbbaA834kr51JD/OQP1XRvFAxLybb03ewXDtfiLOdy0CME2OLIR/eqB8S9vEYK1rYk5mII+KkBo6aY48LnyJkIgjZxAvES+BG9t5R/E4x+WbpvwTwDm6kF+ZdJrocJM9QD2SJx3eVYg6nt5OlK7yeco7CWxrqMU= MIME-Version: 1.0 Content-Type: text/plain X-MS-Office365-Filtering-Correlation-Id: bfdf41b1-cae1-484f-4fe1-08d480e01285 X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(22001)(2017030255120)(201703131430075)(201703131517081); SRVR:CO2PR03MB2279; X-Microsoft-Exchange-Diagnostics: 1; CO2PR03MB2279; 3:397t0YN5u3u1nW+TzMUOw/vR7fHsvWoc/k+NJ8kkeJGeqcsWKMAQCkEaZZBkcOlalCX7tAf41Ai/Yu8XPKEcRPUf46GXcveTjKD9nqFvCiFv0sr5tBuIFlYl2NtHl2+ATIAoVDE2lql2n5SIWxe16DAxSqp01ez7FSpuDhlBjsY6Ypg2eNt620w6Zch+GVUXIBgc14/a3ucf1h3wI4uvb9HTf0RVq8y//cp8qPEMchdHQbFKTAdf6Zdx+C9qLbiOtu1qPCyFFCcwjj9Q0cyXPZruStkw17Vcp854Em8OZBVkMTIZvwG1MoivfArHWXtMB2yF51+Wrlv6Ame/D53xfB8+0Kg6bxBHohv+WuSLBzRNpRh5oiJL1V/7rmhyikohZa4wbmr3OIAq0NoERGSB1pPJJExrK7Kb2FF0JpLCqcEY0+Z7rnkg7NZXq0ILX0UG6grbBPBIUd4VrrRhZjPFrg==; 25:y0Ly0l4rLHuzTmSjzon2AlmePs4BPyKd9zi9VJjPmj/okzFsr5iWaWXkz58OyC6KdCAvaecXZKdh6Q9OZwiLWGEgkr7uhT18H40BRGcMDMv+ycAqbHQSiExEeCZ+KhbWttxKSG5+knQODSCnM8uw5CIhjbRuTINQA+1Uk47Vvw+ltnX4bqJMr60DVcJqmLdPsTDKcDbU/CM+3Uz614W/kHl4f4W4e0F4g7PhPCgWIQqnW9MaWZTOoAmgscuh29mGtzLDE6tWdd7jNhE4ur1xaUJtdwDBbahtER5chOZFvHEQcuwk2bHfiTGVCGvz8J/iob7MjTFuICnH+iIlrZVCj17kF9A2viLVJI+O4Wm3ZJbIsXW+352AcxbgQwyZHk62BrxkQA7Rb/q4521wZBkMom9saNiul4flZUOIaNKDNbWclaVjM7qaiatcjNtF7TFuIi9SPChO5BI3FBGw2h6oSw== X-Microsoft-Exchange-Diagnostics: 1; CO2PR03MB2279; 31:JbNY3t7JWfCmKZJBxxA0wNaWtW+HyEjv5rNRdiAMaARaDa4wJ5yoA9AqXuVCy1iKnAxtlhKKhnChLFvsMyzHnlMkJV+YMsZqbwiFWe4H3RLkNS0vVdoyyNYGLL9ujjOvNCZw6tcWxi25ALHXQHV/YoMP9oGo8rA5WXvjCBlGQzG9VN7LLxEB5p1Ot8QnnE4pimVmFgwAlr+bl7jfxskxLL4px8zzqWAGnWHHSHGStwzzG5Uk5QykxytvAzJIEmJNlzLpIzc99Oezz5XfgT2HsFBe+VtLWuoNMDtxuCJl5/M= 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)(13017025)(13024025)(13023025)(13018025)(8121501046)(13015025)(5005006)(10201501046)(93006095)(93001095)(3002001)(6055026)(6096035)(20161123563025)(201703131430075)(201703131448075)(201703131433075)(201703161259075)(20161123561025)(20161123556025)(20161123565025); SRVR:CO2PR03MB2279; BCL:0; PCL:0; RULEID:(400006); SRVR:CO2PR03MB2279; X-Microsoft-Exchange-Diagnostics: 1; CO2PR03MB2279; 4:TDR3P5ewQ3zAXKUnzx0b0YhprRmFmjrzAXT8Nrg5kYvMJlqOaLxdxv7cM0FY5UAC0oGbgGjsJnsIMFpHNlanfJX1NeUnMa0hkDfE2h1vjE8jy3SqZtXNAPpZu34b61ITYOgGO2teIoj3NHIVRwl45VkOXRvU6CvY8qEm5rLBAeUfnpnbSfjyquRI0qbit956UySosIKyEK5kbovh/kLdv2NVFCRNcUx5yCg3cEwVKZncD9i4CEdJCjm+94891smnC8WjTgLOF8nZ1d1fbdoqKBq3/lpK/e3dmrkKshjiVw0r+umnOYmRXfXuhTfHzQ32cZEacF0A48RzJF2TGoECVPF4AphGsNKIl+pGjfEoPAyjBu3mcu7XwtvoWmZQLZ7n7zShf2tJWc4ZoIoGstfcqKZ7uR2C58XaPMpO8eXxbly7mEBL6qhiKLF+aeBah7P/kQa4c/8oMKwEZ46Z59vPTm+nqPyvxtykzr7d6Q8ZMiUEGeHfdJVqeqLmqFaJh3uQiGfVmlqpXMbaBeWUprJEb7dxvCMILwpX5bmOHDuSqhxRylGeZwz3AgwCxuCCOasgvgf+XScIabC3Awio+x8OBzK9xz9YJSAhhAC+yrV6qb2JzDaGtbxtPwwysVK3+zJYYjK3nYRb1gmf3A1Q712rjNT+jqMet34sUG+CqWmtp6pjN/rnNTmOxC6TB/3kC59qIeke3hG27x+qz21KdOarGVWITBP6AQj/9leexl2kEyO+KIStWQmUNALU++16FfNtmVdIGcaCqAlHWkufq+bBCU+1mPF6G75fjea/7JPWg3Q6lTIWOIgbs4IfOmkpFt7AHinQzceRh1uQgv7kWZ8RK8pcDIbztZHd+Isy0sMMlCIJ9R/28lJmJqN6HSZu1175bMXFA/lIfMXAFI6hWaXYow== X-Forefront-PRVS: 0274272F87 X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; CO2PR03MB2279; 23:1Eqbg/WKZ/QUb4IsxDuVtynz1gYISBT81N5D/kGAt?= =?us-ascii?Q?hPNFFRcdXH8gYDaEc4QBhmYIujf1MObeX/ww3+GaXkoJ8r2719Ah9Gt8ruXM?= =?us-ascii?Q?S9S8a3Hnw4yngZRQICD1P+AWuVo7N17Dykwmr8mtsulhvpm0NiFrfFOvGoOn?= =?us-ascii?Q?/xFaO6pnB6ZFacEFtk/IyP5cZqP0QZ/7Awftr0Dq7lnOSiKds5IK/5DtmHks?= =?us-ascii?Q?li2T0wMs50gNvtmRkoPHoiPbVayeecagwHmVkcKU8oB5bi1O9QLPgC+PVPfC?= =?us-ascii?Q?DByenZ4ubRwE6Di7Kl+Zf7juQ17Q0zP0XLBIPNUKc0y2YsIqp3FhrGWUcs5l?= =?us-ascii?Q?MEgAlMnDQ0Q2OcTxPB7BnfqiQNmG3EDhDeSZ4B/3ExSow0KK9WwFFUK9fh45?= =?us-ascii?Q?g3AgjK2djcJawdvY0+PO2nRjgqhyk4G+LHHeiqcvyVFOofaJ5kG8w09MxHi7?= =?us-ascii?Q?hun+H+hN9o8ga1nupNbdxqPdhHPH2st5F0PJ8q+mEaYCo/LGdIFCXxbIWY/m?= =?us-ascii?Q?ojvRwNUOKN2nQA173aJBbqUGhq3C7yqd9hY/eiJOvqeIyUfil7vso4QqCPna?= =?us-ascii?Q?o6eTpk5Wh3Kdg1dHCrV5sqxKXVwfmGgFA0/2NQyHlULo788QvFkZlWcGtZYV?= =?us-ascii?Q?Gy+6ARDT/lIzkNLs75hF/moUBx5zgZXsnnsVCHPvH79Uc5guTFOgGtMFEJtm?= =?us-ascii?Q?hMQGafYJ6Nccena9iu2O6hItT1GUWQNVCTegrXmHA8EKt4MsQfxwda9ti3J4?= =?us-ascii?Q?Xv+XtpPlOnoCA03nSCfHjMruUYfDLG2hlaq6VgwQmzAuFjbngrnpgU/jt8S3?= =?us-ascii?Q?xkz2GELU43p6UPId2uouEsO98E7UMKO0/jTReOgE1MZHSROWckgVgNIRBygk?= =?us-ascii?Q?lykY6FIzrKubfC6LjHeuMzycTDtnABNY0LRnL8qIu2z5GW+P5NzE0j8BDMaU?= =?us-ascii?Q?zFltS7i1SZWQNuvwvRYu+CIob2qxwpxLUSRt5a/PqL9xFPuDKEsEMoDT+ROZ?= =?us-ascii?Q?649Ioa9A+vELF19dswxWAVnOxOPBQaEBzanTVEdt6aGp2E8dZViQ/hG2SHxQ?= =?us-ascii?Q?mPvGo2k5bL/hYmcieQFp11iwn+4oV/Y8/hda+xz8QsWuc8/EWvzCzT0GCFmu?= =?us-ascii?Q?8PPzP3okviLSqpqb7/54potdsjTVrUs1WBuu1DMjdW/DPt1NLAoLBgGbiLil?= =?us-ascii?Q?bZoPeUzG/D6DlkAY1zeEaNSRyLCRW6PZGhFSTLLDEz+xLEfKjsMOu8UfvLCy?= =?us-ascii?Q?6mLV0gcKZRThpa7pUEGLMTZbLg5zNl01l/CjFvP?= X-Microsoft-Exchange-Diagnostics: 1; CO2PR03MB2279; 6:oSH0ytPlkFHQwYtBRruM2YunQgfwFOnCiSODvoXUkLpmuhQGQNCpE2S0+Z1LS6vTcgvylxP7Hgm7upr/kRXhnx1YBdwzQGaI2JXL54RjMppH2BeFi+BdY/7J6MGP161goXt7NnpptZI9Dec8r6M7BllMWf8sbsfw09KK8biPX1Lq2yFyPK8zw8lbfutPL+YTIzafV7Hyxd7fcuCHWgtkr+7OtgGxEW3cxJVkE4DtTkIBg7ngOA4/HormbJzkCa/pK3NX+Ko6H1Uc6JNM7g7mId7nkG67W6trvxyDH6JYnR/r/5j/aOYt6mccJI4ECDJnMl58uzm+B0WpeFsl/uXmmv11QB84EKP1lj7kUj5gZJ8lbLe6AegHcZ+XWKKKbXQ9esmw1OYSeoaThbtgFdCYFyplpETvKRD0dTZbaRJxZZRpHjN2H7ZlEHku9aawQsdwuTTHslbTCOwcHCcgNZ9VMQ==; 5:olJRqo7x+Srh0aww+nH1nRkrt2lHLxqmeQwwqevdi/51xl3v1tJ0R0UWoxQOgklHlXTwnIIk2WwWgW0aNeT1U7PEHDKPvR6+fjuvG8DPy7lyZIGLdcIe8GE84yupzbchan/vlQY/TYXlAOtYFCrw1BWaDPEMjYGA2KnjRBwSxogyh0IoCLB3hiEzdmWeU0EO; 24:jSwUJRm67+hWvI617MISuPixgdIkHykFYQd2/vxl9D74GcPgqT0HjrePuY/6WzPYFGZrE+G+Hnx3un1vDewWjpzATH0jbz5imNGOVh+/fjg= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; CO2PR03MB2279; 7:H4RAIQNP89S9+O9f1AxR6KDyqOCrZShrhMAB98vxCcr4gX3GqxtYaur3A0HjicF1Z6Zh0nVbwm89rm6Zx0l30raOsW4pjZx40oZ10Fng3MYS1b4jLzoIq8VRs+pa3/R/9fjibykxXv9rYJcqXNptkBTQd4k/1yOWjWSLPCEbEK4MmfKwn2JxZb1tBvw79EesIwPkXlzQ24frUWRE0Qs+uYv79IbnN+YJyu3FuLQlmO+tODh6QaD8E2NG0gD5RedhXAQU9vvMqx2EQnTEcYX/cJoaok92BYXs258KeZ2qEywvnHs3t4Mw6+5btRwaFEWUt1wCWiZGboHW5bhdvXN3sw== X-MS-Exchange-CrossTenant-OriginalArrivalTime: 11 Apr 2017 13:38:43.5966 (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: CO2PR03MB2279 Subject: [dpdk-dev] [PATCH v4 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: Tue, 11 Apr 2017 13:38:46 -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: *; -- 1.9.1