Hi Dave, There may be some possibilities that the old iommu data is corrupted by some other modules. Currently we do not have a better solution for the dmar faults. But I think when this happens, we need to fix the module that corrupted the old iommu data. I once met a similar problem in normal kernel, the queue used by the qi_* functions was written again by another module. The fix was in that module, not in iommu module. Thanks Zhenhua On 04/03/2015 04:40 PM, Dave Young wrote: >> To fix this problem, we modifies the behaviors of the intel vt-d in the >> crashdump kernel: >> >> For DMA Remapping: >> 1. To accept the vt-d hardware in an active state, >> 2. Do not disable and re-enable the translation, keep it enabled. >> 3. Use the old root entry table, do not rewrite the RTA register. >> 4. Malloc and use new context entry table, copy data from the old ones that >> used by the old kernel. > > Have not read all the patches, but I have a question, not sure this has been > answered before. Old memory is not reliable, what if the old memory get corrupted > before panic? Is it safe to continue using it in 2nd kernel, I worry that it will > cause problems. > > Hope I'm wrong though. > > Thanks > Dave > >