无法在Linux系统中启用MSI-X中断
我正在Linux平台上开发基于PCIe的Cyclone V FPGA板 我已经尝试过传统中断,它在我的PCIe驱动程序中运行良好。现在,我想在PCIe驱动程序中启用MSI-X中断 MSI-X中断是在FPGA系统中实现的,我在lspci命令的输出中得到总共4个msix向量 我尝试调用pci_enable_msix()例程来启用MSI-X中断,在用该例程加载驱动程序后,该中断卡住了我的Linux系统 我还尝试调用pci_enable_msi()例程,该例程成功地启用了msi中断,并在pdev->irq中分配了空闲irq号无法在Linux系统中启用MSI-X中断,linux,linux-device-driver,pci-e,Linux,Linux Device Driver,Pci E,我正在Linux平台上开发基于PCIe的Cyclone V FPGA板 我已经尝试过传统中断,它在我的PCIe驱动程序中运行良好。现在,我想在PCIe驱动程序中启用MSI-X中断 MSI-X中断是在FPGA系统中实现的,我在lspci命令的输出中得到总共4个msix向量 我尝试调用pci_enable_msix()例程来启用MSI-X中断,在用该例程加载驱动程序后,该中断卡住了我的Linux系统 我还尝试调用pci_enable_msi()例程,该例程成功地启用了msi中断,并在pdev->ir
对于Linux系统中MSI-X中断的这类问题,有人有想法或解决方案吗 您能提供您的探测代码和内核dmesg错误吗?我已经更改了代码,现在我能够使用系统提供的免费IRQ号启用MSI-X中断,之后,我已经用一个句柄注册了该IRQ并触发了IRQ,但无法获取该IRQ的中断事件。如果您对此有任何想法,请尽快告诉我。最后,通过更改FPGA系统设计,我能够在Linux主机系统中成功生成MSI-X中断。