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 资源 用于创建与设备中断对应的中断对象。 当 handle 关闭且没有待处理项时,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”的计数不是有效值。

ZX_ERR_ACCESS_DENIED handle 不是根资源句柄。

ZX_ERR_NOT_SUPPORTED平台不支持 MSI。

另请参阅