Я пытаюсь реконструировать какое-то устройство PCI в среде QEMU / VFIO и хотел бы отслеживать все операции ввода-вывода в физической памяти, выполняемые картой. Карта использует управление шиной PCI и записывает данные на другие устройства и, скорее всего, считывает некоторые данные, предварительно обработанные драйвером, из оперативной памяти хоста. На данный момент мне удалось отследить только все операции чтения и записи в пространство MMIO карты (передача данных с хоста на устройство), к сожалению, мне не хватает второго направления операций R/W (извлечение данных устройством с хоста).
Есть ли возможность отслеживать операции ввода-вывода, которые устройство PCI выполняет с физической памятью, т. е. прямые операции ввода-вывода и/или передачи DMA в среде QEMU / VFIO? Я включил трассировку для следующих событий:
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? Заранее спасибо.