我想编写一个 Linux 驱动程序,使我能够分配和处理 MSI 中断。目前,该nvec = pci_alloc_irq_vectors(pdev, 1, nvec, PCI_IRQ_ALL_TYPES)
函数返回 -22。
在 QEMU 中,我打电话msi_init(&pciechodev->pdev,0,4,true,true,errp)
,效果很好。但是,在调试时我发现在发送 MSI 中断之前, 的值为msi_enabled(&edu->pdev)
0。
这是 QEMU 错误还是我忘记了一些初始化?