> From: Baolu Lu <baolu...@linux.intel.com> > Sent: Tuesday, June 14, 2022 3:21 PM > > On 2022/6/14 14:49, Tian, Kevin wrote: > >> From: Lu Baolu<baolu...@linux.intel.com> > >> Sent: Tuesday, June 14, 2022 10:51 AM > >> > >> The disable_dmar_iommu() is called when IOMMU initialization fails or > >> the IOMMU is hot-removed from the system. In both cases, there is no > >> need to clear the IOMMU translation data structures for devices. > >> > >> On the initialization path, the device probing only happens after the > >> IOMMU is initialized successfully, hence there're no translation data > >> structures. > > Out of curiosity. With kexec the IOMMU may contain stale mappings > > from the old kernel. Then is it meaningful to disable IOMMU after the > > new kernel fails to initialize it properly? > > For kexec kernel, if the IOMMU is detected to be pre-enabled, the IOMMU > driver will try to copy tables from the old kernel. If copying table > fails, the IOMMU driver will disable IOMMU and do the normal > initialization. >
What about an error occurred after copying table in the initialization path? The new kernel will be in a state assuming iommu is disabled but it is still enabled using an old mapping for certain devices... _______________________________________________ iommu mailing list iommu@lists.linux-foundation.org https://lists.linuxfoundation.org/mailman/listinfo/iommu