[PATCH v2] intel-iommu: Disable translation if already enabled
joro at 8bytes.org
Tue Apr 23 08:49:27 EDT 2013
On Tue, Apr 23, 2013 at 05:35:03PM +0900, Takao Indoh wrote:
> This patch disables translation(dma-remapping) before its initialization
> if it is already enabled.
> This is needed for kexec/kdump boot. If dma-remapping is enabled in the
> first kernel, it need to be disabled before initializing its page table
> during second kernel boot. Wei Hu also reported that this is needed
> when second kernel boots with intel_iommu=off.
> Basically iommu->gcmd is used to know whether translation is enabled or
> disabled, but it is always zero at boot time even when translation is
> enabled since iommu->gcmd is initialized without considering such a
> case. Therefor this patch synchronizes iommu->gcmd value with global
> command register when iommu structure is allocated.
> - Change subject and patch description
> - Disable translation after dmar_table_init() so that it works when
> intel_iommu=off is specified.
> Signed-off-by: Takao Indoh <indou.takao at jp.fujitsu.com>
> drivers/iommu/dmar.c | 11 ++++++++++-
> drivers/iommu/intel-iommu.c | 15 +++++++++++++++
> 2 files changed, 25 insertions(+), 1 deletions(-)
Looks good to me, applied to x86/vt-d, thanks Takao.
More information about the kexec