zx_msi_assign

摘要

分配訊息信號中斷 (MSI)。

宣告

#include <zircon/syscalls.h>

zx_status_t zx_msi_allocate(zx_handle_t handle,
                            uint32_t count,
                            zx_handle_t* out_allocation);

說明

zx_msi_allocate() 會分配 MSI 的連續區塊,並傳回 適用於 out_allocation 的 MSI 配置物件,可與 zx_msi_create() 搭配使用。 這可讓 PCI 裝置要求預先分配 MSI 資源 ,用於建立對應裝置中斷情形的 Interrupt 物件。 當 handle 關閉且沒有未完成時,系統會釋出 MSI 配置物件 「中斷」物件 (由 zx_msi_create() 建立) 的控點。

count 必須是 1、2、4、8、16 或 32。

handle 必須是根資源的處理常式,例如此 syscall 是 僅供平台匯流排和 Zircon 核心測試使用。

權限

handle 必須具備資源種類 ZX_RSRC_KIND_SYSTEM 和資源集 ZX_RSRC_SYSTEM_MSI_BASE

傳回值

zx_msi_allocate() 會在成功時傳回 ZX_OK。故障時, 會傳回負錯誤值。

錯誤

ZX_ERR_INVALID_ARGS count 不是有效的值。

ZX_ERR_ACCESS_DENIED「處理常式」不是根資源控制代碼。

平台不支援 ZX_ERR_NOT_SUPPORTED MSI。

另請參閱