Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/28.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jsf-2/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
无法在Linux系统中启用MSI-X中断_Linux_Linux Device Driver_Pci E - Fatal编程技术网

无法在Linux系统中启用MSI-X中断

无法在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平台上开发基于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中断的这类问题,有人有想法或解决方案吗

您能提供您的探测代码和内核dmesg错误吗?我已经更改了代码,现在我能够使用系统提供的免费IRQ号启用MSI-X中断,之后,我已经用一个句柄注册了该IRQ并触发了IRQ,但无法获取该IRQ的中断事件。如果您对此有任何想法,请尽快告诉我。最后,通过更改FPGA系统设计,我能够在Linux主机系统中成功生成MSI-X中断。