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 因内存不足而失败。 用户空间没有好办法处理这种(不太可能)错误。 在将来的版本中,此错误不会再发生。

另请参阅