Re: [PATCH v8 06/13] iommu/amd: copy old trans table from old kernel

From: Joerg Roedel
Date: Thu Jul 27 2017 - 11:38:32 EST


On Fri, Jul 21, 2017 at 04:59:04PM +0800, Baoquan He wrote:
> @@ -2128,9 +2131,43 @@ static void early_enable_iommu(struct amd_iommu *iommu)
> static void early_enable_iommus(void)
> {
> struct amd_iommu *iommu;
> + bool is_pre_enabled = false;
>
> - for_each_iommu(iommu)
> - early_enable_iommu(iommu);
> + for_each_iommu(iommu) {
> + if (translation_pre_enabled(iommu)) {
> + is_pre_enabled = true;
> + break;
> + }
> + }

is_pre_enabled should only be true when _all_ iommus are pre-enabled. If
only one is found disabled just disable the others and continue without
copying the device table.