On 05/11/15 at 05:52pm, Li, Zhen-Hua wrote: > Modify the operation of the following functions when called during crash dump: > iommu_context_addr > free_context_table > get_domain_for_dev > init_dmars > intel_iommu_init > > Bill Sumner: > Original version. > > Zhenhua: > The name of new calling functions. > Do not disable and re-enable TE in kdump kernel. > Use the did and gaw from old context entry; > > Signed-off-by: Bill Sumner <billsumnerlinux at gmail.com> > Signed-off-by: Li, Zhen-Hua <zhen-hual at hp.com> > --- > drivers/iommu/intel-iommu.c | 95 +++++++++++++++++++++++++++++++++++++++------ > 1 file changed, 83 insertions(+), 12 deletions(-) > > diff --git a/drivers/iommu/intel-iommu.c b/drivers/iommu/intel-iommu.c > index 28c3c64..91545bf 100644 > --- a/drivers/iommu/intel-iommu.c > +++ b/drivers/iommu/intel-iommu.c > @@ -397,6 +397,7 @@ static int copy_root_entry_table(struct intel_iommu *iommu); > static int intel_iommu_load_translation_tables(struct intel_iommu *iommu); > > static void iommu_check_pre_te_status(struct intel_iommu *iommu); > +static u8 g_translation_pre_enabled; Hi Zhenhua, I haven't checked patch one by one, am going through the code flow. About g_translation_pre_enabled, I don't think it's necessary to define it as a global variable. Both its assignment and judgement are in init_dmars(). In this situation a local variable translation_pre_enabled in init_dmars() is enough. You can assign value to it here: iommu_check_pre_te_status(iommu); if (iommu->pre_enabled_trans) { translation_pre_enabled = 1; ... } Thanks Baoquan