Joerg, After I implement these two steps, there comes a new fault: [1.594890] dmar: DRHD: handling fault status reg 2 [1.594894] dmar: INTR-REMAP: Request device [[41:00.0] fault index 4d [1.594894] INTR-REMAP:[fault reason 34] Present field in the IRTE entry is clear It is caused by similar reason, so I will fix it like fixing the DMAR faults: Do NOT disable and re-enable the interrupt remapping, try to use data from old kernel. Thanks Zhenhua On 11/17/2014 09:38 PM, Joerg Roedel wrote: > On Fri, Nov 14, 2014 at 02:27:44PM +0800, Li, ZhenHua wrote: >> I am working following your directions: >> >> 1. If the VT-d driver finds the IOMMU enabled, it reuses its root entry >> table, and do NOT disable-enable iommu. Other data will be copied. >> >> 2. When a device driver issues the first dma_map command for a >> device, we assign a new and empty page-table, thus removing all >> mappings from the old kernel for the device. >> >> Please let me know if I get something wrong. > > Yes, this sounds right. Happily waiting for patches :) > > > Joerg >