---
title: 特殊场景2-不支持SVA，所有注册到UACCE框架的设备都不支持IOMMU的场景
description: "为了解决要传递加速器硬件可见的地址给硬件的问题，WD基础层接口又新增了wd_blk_iova_map和wd_blk_iova_unmap接口，把用户态地址转换成硬件可见的地址，把硬件可见地址转成用户态地址。具体API细节请参考BLK内存管理接口。需要注意的是支持这些场景的接口都不是主流，而且由于不支持IOMMU的方案存在安全问题，后续这些接口可能会移除。"
url: https://www.hikunpeng.com/document/detail/zh/kunpengboostkithistory/251RC1/accel/kunpengaccel_17_0016.html
sourcePath: /source/zh/kunpengboostkithistory/251RC1/accel/kunpengaccel_17_0016.html
indexId: 7b0e97415915b0483fee24af0b1761d97ce234d303b60da3ab4e0967ada9d39972
---
# 特殊场景2-不支持SVA，所有注册到UACCE框架的设备都不支持IOMMU的场景

为了解决要传递加速器硬件可见的地址给硬件的问题，WD基础层接口又新增了wd_blk_iova_map和wd_blk_iova_unmap接口，把用户态地址转换成硬件可见的地址，把硬件可见地址转成用户态地址。具体API细节请参考BLK内存管理接口。需要注意的是支持这些场景的接口都不是主流，而且由于不支持IOMMU的方案存在安全问题，后续这些接口可能会移除。

在这种场景下，使用WD基础层接口时，和特殊场景1-不支持SVA但是使能IOMMU，所有注册到UACCE框架的设备都是支持PASID和支持IOMMU的场景一致。只是硬件加速器用户态驱动层接口要进行调整，这些调整由开发人员开发用户态驱动时实现，WD基础层接口用户不用作任何动作。当执行wd_send操作时，需要对通过wd_alloc_blk分配的内存使用wd_blk_iova_map转成硬件可见的地址；当执行wd_recv操作时，需要对通过wd_alloc_blk分配的内存使用wd_blk_iova_unmap将硬件可见地址转成用户态可见地址。
