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 中裝置下游裝置的硬體交易 ID。

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 的控制代碼 (透過「出」)。如果失敗,會傳回負值錯誤值。

錯誤

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 因記憶體不足而失敗。使用者空間無法以任何方式處理這個錯誤 (極可能) 錯誤。日後的建構作業不會再發生這個錯誤。

另請參閱