The actual situation we encountered is: When assign EHCI device to the virtual machine, after initializing EHCI in seabios,it will continuously send dma cycles. After flatview_simplify(),the IOVA mappings of the EHCI device will be innocently unmapped between the delate and add phases of the VFIO MemoryListener. But the EHCI device is always sending DMA cycle. At this time,the IOMMU will block the DMA cycle. The purpose of this patch is to skip flatview_simplify() for zx vendor.
FelixCuioc (1): Skip flatview_simplify() for cpu vendor zhaoxin softmmu/memory.c | 20 +++++++++++++++++++- target/i386/cpu.c | 7 +++++++ target/i386/cpu.h | 3 +++ 3 files changed, 29 insertions(+), 1 deletion(-) -- 2.17.1