zx_bti_create

总结

创建新的总线事务发起者。

声明

#include <zircon/syscalls.h>

zx_status_t zx_bti_create(zx_handle_t iommu,
                          uint32_t options,
                          uint64_t bti_id,
                          zx_handle_t* out);

说明

zx_bti_create() 会创建一个新的总线事务发起者,并给定一个 IOMMU 的句柄以及该 IOMMU 下游设备的硬件事务标识符。

options 必须为 0(预留给创建标志的未来定义)。

成功后,将返回新 BTI 的句柄。此标识名将拥有以下权限:ZX_RIGHT_READZX_RIGHT_WRITEZX_RIGHT_MAPZX_RIGHT_INSPECTZX_RIGHT_DUPLICATEZX_RIGHT_TRANSFER

权限

iommu 必须是 ZX_OBJ_TYPE_IOMMU 类型且具有 ZX_RIGHT_NONE

返回值

zx_bti_create() 会在成功时返回 ZX_OK 和新 BTI 的句柄(通过 out)。如果失败,则返回负的错误值。

错误

ZX_ERR_BAD_HANDLE iommu 不是有效的句柄。

ZX_ERR_WRONG_TYPE iommu 不是 Iommu 句柄。

ZX_ERR_ACCESS_DENIED iommu 标识名没有足够的权限。

ZX_ERR_INVALID_ARGS bti_id 在给定 IOMMU 上无效,out 是无效的指针,或者 options 为非零值。

ZX_ERR_NO_MEMORY 由于内存不足而失败。 用户空间没有什么方法来处理此(不太可能)错误。在以后的 build 中,此错误不会再发生。

另请参阅