Я работаю над эмулированным устройством QEMU для имитации интерфейса PCI-интерфейса FPGA. Я использую устройство лева Ч в качестве базового шаблона:Эмуляция QEMU msi
https://github.com/levex/kernel-qemu-pci/blob/master/qemu/hw/char/lev-pci.c
Моего устройство использует MSI прерывает связь. Модуль драйвера ядра способен разрешать прерывания MSI и получать их. Я изменил лева-pci.c добавить
msi_init(dev, 0x70, 1, false, false);
для инициализации, а затем
msi_notify(pci_dev,0);
к функции «pci_levdev_read» в качестве основного теста. Я могу проследить, что прерывание msi генерируется в отладчике, но я не получаю прерывание на хосте. Мне не хватает шага для включения прерываний MSI?
Если у вас возникли вопросы, отметьте свой вопрос, как только вы ответите. – mimimito