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. > > Changelog: > v2: > - Change subject and patch description > - Disable translation after dmar_table_init() so that it works when > intel_iommu=off is specified. > > v1: > https://lkml.org/lkml/2013/3/20/707 > > 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.