zx_bti_create
名称
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);
描述
bti_create() 创建一个新的总线事务启动器,给定IOMMU的句柄和该IOMMU下游设备的硬件事务标识符。
options必须为0(保留用作将来创建标识位的定义)。
调用成功后,将返回新BTI的句柄。 该句柄将具有ZX_RIGHT_READ,ZX_RIGHT_WRITE,ZX_RIGHT_MAP,ZX_RIGHT_INSPECT,ZX_RIGHT_DUPLICATE和ZX_RIGHT_TRANSFER权限。
权限
TODO(ZX-2399)
返回值
bti_create() 调用成功则返回ZX_OK和(通过out)返回新BTI句柄。 如果调用失败,则返回负的错误码。
错误码
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:由于内存不足导致的失败。而用户空间无法处理这个(不太可能发生的)错误。在将来的构建版本中,将不再出现此错误。