如何解决QEMU PCI 设备永远触发
我在 QEMU 中编写了一个小型 PCI 设备,使用 https://github.com/qemu/qemu/blob/v2.7.0/hw/misc/edu.c 作为基础,并使用 https://github.com/cirosantilli/linux-kernel-module-cheat/blob/6788a577c394a2fc512d8f3df0806d84dc09f355/kernel_module/pci.c 与之交互。但是,中断似乎大约每 2 秒触发一次。
我将数据写入 PCI 设备以确认中断,我可以在调用之前和之后看到:
if (!device->irq_status && !device_msi_enabled(device)) {
printf("Set state from %d ",device->pdev.irq_state);
pci_set_irq(&device->pdev,0);
printf("to %d\n",device->pdev.irq_state);
}
输出是
Set state from 0 to 0
Set state from 0 to 0
Set state from 0 to 0
Set state from 0 to 0
我不知道是什么导致中断继续触发 - 是否有我忘记的属性?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。