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() 會分配一個連續區塊「count」(MSI),並傳回 out_allocation 中的 MSI 配置物件,以便與 zx_msi_create() 搭配使用。這可讓 PCI 裝置要求預先分配 MSI 資源,以便建立與裝置中斷情形對應的中斷物件。當帳號代碼關閉時,系統會釋出 MSI 配置物件,且沒有對中斷物件建立的待處理處理。zx_msi_create()

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

handle 必須是根資源的控制代碼,因為此系統呼叫僅供平台匯流排和 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。

另請參閱