我正在编写PCIe设备驱动程序。 硬件驱动程序对4个IO命令队列使用MSIX中断。 那么如何注册MSI-X中断?
我使用以下代码进行MSI中断。
ies = IOInterruptEventSource::interruptEventSource (this,
&Controller::interruptOccurred,
fProvider,
index );
但此代码不适用于msix中断。
我查看了IOPCIMessagedInterruptController源代码,似乎IOKit确实支持MSIX功能。 但是如何将MSIX事件添加到workloop?