Отслеживание операций ввода-вывода памяти устройства PCI в среде QEMU / VFIO - PullRequest
0 голосов
/ 03 апреля 2020

Я пытаюсь перепроектировать какое-то устройство 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? Заранее спасибо.

...