首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >QEMU / VFIO环境下PCI设备内存I/O操作的跟踪

QEMU / VFIO环境下PCI设备内存I/O操作的跟踪
EN

Stack Overflow用户
提问于 2020-04-03 14:39:18
回答 1查看 524关注 0票数 0

我正试图在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中注册的事件?提前谢谢你。

EN

回答 1

Stack Overflow用户

发布于 2020-06-03 16:01:31

PCI设备被认为是一个外围设备,这意味着它有自己的处理单元并运行自己的固件。对mmio区域的访问发生在外围设备中,因此无法用QEMU进行跟踪。

可以在QEMU中跟踪对mmio的读/写,因为执行的内存指令调用回调函数来处理VFIO中的mmio访问。

由于PCI设备在其固件中读取/写入mmio区域(由设备的处理单元执行),因此无法跟踪主机端的事件。

我认为您可以在逆向工程期间将mmio_read值与mmio_write值进行比较。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61014317

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档