I am working on an emulated QEMU device to simulate an FPGA PCIe interface. I am using the lev-pci device as a base template:
https://github.com/levex/kernel-qemu-pci/blob/master/qemu/hw/char/lev-pci.c
My device uses MSI interrupts to communicate. The kernel driver module is capable of enabling the MSI interrupts and receiving them. I have modified lev-pci.c to add
msi_init(dev, 0x70, 1, false, false);
to the initialization and then
msi_notify(pci_dev,0);
to the "pci_levdev_read" function as a basic test. I can trace that the msi interrupt is being generated in the debugger but I am not receiving the interrupt on the host. Am I missing a step to enable the MSI interrupts?