On Fri, Oct 21, 2016 at 12:07:18AM +0300, Aviv B.D wrote: >From: "Aviv Ben-David" <bd.a...@gmail.com> > >* Advertize Cache Mode capability in iommu cap register. > This capability is controlled by "cache-mode" property of intel-iommu device. > To enable this option call QEMU with "-device intel-iommu,cache-mode=true". > >* On page cache invalidation in intel vIOMMU, check if the domain belong to > registered notifier, and notify accordingly. > >Currently this patch still doesn't enabling VFIO devices support with vIOMMU >present. Current problems: >* vfio_iommu_map_notify is not aware about memory range belong to specific > VFIOGuestIOMMU. >* memory_region_iommu_replay hangs QEMU on start up while it itterate over > 64bit address space. Commenting out the call to this function enables > workable VFIO device while vIOMMU present. > After applying the patch series based on commit ede0cbeb, I run the following cmd: modprobe vfio-pci echo 8086 1528 > /sys/bus/pci/drivers/vfio-pci/new_id echo "0000:03:00.1" > /sys/bus/pci/devices/0000\:03\:00.1/driver/unbind echo 8086 1528 > /sys/bus/pci/drivers/vfio-pci/new_id to prepare for assigning nic device. After that, I try to boot a guest by qemu-system-x86_64 -boot c -m 4096 -monitor pty -serial stdio --enable-kvm \ -M kernel-irqchip=split -bios bios.bin -smp cpus=288 -hda vdisk.img \ -machine q35 -device intel-iommu,intremap=on,eim=on,cache-mode=true \ -net none -device vfio-pci,host=03:00.1 and however encounter this error: qemu-system-x86_64: -device vfio-pci,host=03:00.1: iommu map to non memory area e258e000 qemu-system-x86_64: -device vfio-pci,host=03:00.1: iommu map to non memory area e258f000 qemu-system-x86_64: -device vfio-pci,host=03:00.1: iommu map to non memory area e2590000
Do i make some mistakes in this test? How to correct it? by the way, there is a build error: qemu/hw/pci-host/apb.c:326:5: error: initialization from incompatible pointer type [-Werror] .translate = pbm_translate_iommu, ^ qemu/hw/pci-host/apb.c:326:5: error: (near initialization for \u2018pbm_iommu_ops.translate\u2019) [-Werror] cc1: all warnings being treated as errors make: *** [hw/pci-host/apb.o] Error 1 > >-- >1.9.1 > >