On Thu, Sep 13, 2018 at 03:55:17PM +0800, Peter Xu wrote: > There are two callers for vtd_sync_shadow_page_table_range(), one > provided a valid context entry and one not. Move that fetching > operation into the caller vtd_sync_shadow_page_table() where we need to > fetch the context entry. > > Meanwhile, we should handle VTD_FR_CONTEXT_ENTRY_P properly when > synchronizing shadow page tables. Having invalid context entry there is > perfectly valid when we move a device out of an existing domain. When > that happens, instead of posting an error we invalidate the whole region. > > Without this patch, QEMU will crash if we do these steps: > > (1) start QEMU with VT-d IOMMU and two 10G NICs (ixgbe) > (2) bind the NICs with vfio-pci in the guest > (3) start testpmd with the NICs applied > (4) stop testpmd > (5) rebind the NIC back to ixgbe kernel driver > > The patch should fix it.
Ping? Regards, -- Peter Xu