我正在尝试在 QEMU / VFIO 环境下对某些 PCI 设备进行逆向工程,并且我想跟踪该卡对物理内存的所有 I/O 操作。该卡利用 PCI 总线主控并将内容写入其他设备,并且很可能从主机 RAM 读取驱动程序预处理的一些数据。至于现在,我只能跟踪对卡 MMIO 空间的所有读写(从主机到设备的数据传输),遗憾的是我错过了 R/W 操作的第二个方向(设备从主机获取数据)。
是否有可能跟踪 PCI 设备在物理内存上执行的 I/O 操作,即 QEMU / VFIO 环境下的直接 I/O 和/或 DMA 传输?我已启用对以下事件的跟踪:
vfio_pci_read_config vfio_pci_write_config vfio_region_write vfio_region_read vfio_intx_interrupt vfio_intx_eoi vfio_intx_update vfio_intx_enable vfio_intx_disable vfio_msi_interrupt vfio_populate_device_config vfio_region_mmap
是否有任何事件允许做可以在 QEMU 中注册的事情?先感谢您。