All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 00/11 v3] Cleanup IOMMU passthrough setting (and disable IOMMU Passthrough when SME is active)
@ 2019-08-19 13:22 ` Joerg Roedel
  0 siblings, 0 replies; 45+ messages in thread
From: Joerg Roedel @ 2019-08-19 13:22 UTC (permalink / raw)
  To: Joerg Roedel
  Cc: corbet, tony.luck, fenghua.yu, tglx, mingo, bp, hpa, x86,
	linux-doc, linux-ia64, iommu, linux-kernel, Thomas.Lendacky,
	Suravee.Suthikulpanit, Joerg Roedel

From: Joerg Roedel <jroedel@suse.de>

Hi,

This patch-set started out small to overwrite the default passthrough
setting (through CONFIG_IOMMU_DEFAULT_PASSTHROUGH=y) when SME is active.

But on the way to that Tom reminded me that the current ways to
configure passthrough/no-passthrough modes for IOMMU on x86 is a mess.
So I added a few more patches to clean that up a bit, getting rid of the
iommu_pass_through variable on the way.This information is now kept only
in iommu code, with helpers to change that setting from architecture
code.

And of course this patch-set still disables IOMMU Passthrough mode when
SME is active even when CONFIG_IOMMU_DEFAULT_PASSTHROUGH=y is set.

The reason for that change is that SME with passthrough mode turned out
to be fragile with devices requiring SWIOTLB, mainly because SWIOTLB has
a maximum allocation size of 256kb and a limit overall size of the
bounce buffer.

Therefore having IOMMU in translation mode by default is better when SME
is active on a system.

Please review.

Thanks,

	Joerg

Changes since v2:

	- Added 'bool cmd_line' parameter to iommu_set_default_*()
	  functions, so that we correctly recognize iommu=pt/nopt
	  command line parameters

Changes since v1:

	- Cleaned up the kernel command line parameters to
	  configure passthrough/translated mode, getting rid
	  of the global iommu_pass_through variable

Joerg Roedel (11):
  iommu: Remember when default domain type was set on kernel command line
  iommu: Add helpers to set/get default domain type
  iommu: Use Functions to set default domain type in iommu_set_def_domain_type()
  iommu/amd: Request passthrough mode from IOMMU core
  iommu/vt-d: Request passthrough mode from IOMMU core
  x86/dma: Get rid of iommu_pass_through
  ia64: Get rid of iommu_pass_through
  iommu: Print default domain type on boot
  iommu: Set default domain type at runtime
  iommu: Disable passthrough mode when SME is active
  Documentation: Update Documentation for iommu.passthrough

 Documentation/admin-guide/kernel-parameters.txt |  2 +-
 arch/ia64/include/asm/iommu.h                   |  2 -
 arch/ia64/kernel/pci-dma.c                      |  2 -
 arch/x86/include/asm/iommu.h                    |  1 -
 arch/x86/kernel/pci-dma.c                       | 20 +-----
 drivers/iommu/amd_iommu.c                       |  6 +-
 drivers/iommu/intel-iommu.c                     |  2 +-
 drivers/iommu/iommu.c                           | 93 +++++++++++++++++++++++--
 include/linux/iommu.h                           | 16 +++++
 9 files changed, 110 insertions(+), 34 deletions(-)

-- 
2.16.4


^ permalink raw reply	[flat|nested] 45+ messages in thread

end of thread, other threads:[~2019-08-23  8:13 UTC | newest]

Thread overview: 45+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2019-08-19 13:22 [PATCH 00/11 v3] Cleanup IOMMU passthrough setting (and disable IOMMU Passthrough when SME is active) Joerg Roedel
2019-08-19 13:22 ` Joerg Roedel
2019-08-19 13:22 ` [PATCH 00/11 v3] Cleanup IOMMU passthrough setting (and disable IOMMU Passthrough when SME is active Joerg Roedel
2019-08-19 13:22 ` [PATCH 01/11] iommu: Remember when default domain type was set on kernel command line Joerg Roedel
2019-08-19 13:22   ` Joerg Roedel
2019-08-19 13:22   ` Joerg Roedel
2019-08-19 13:22 ` [PATCH 02/11] iommu: Add helpers to set/get default domain type Joerg Roedel
2019-08-19 13:22   ` Joerg Roedel
2019-08-19 13:22   ` Joerg Roedel
2019-08-19 13:22 ` [PATCH 03/11] iommu: Use Functions to set default domain type in iommu_set_def_domain_type() Joerg Roedel
2019-08-19 13:22   ` Joerg Roedel
2019-08-19 13:22   ` Joerg Roedel
2019-08-19 13:22 ` [PATCH 04/11] iommu/amd: Request passthrough mode from IOMMU core Joerg Roedel
2019-08-19 13:22   ` Joerg Roedel
2019-08-19 13:22   ` Joerg Roedel
2019-08-19 13:22 ` [PATCH 05/11] iommu/vt-d: " Joerg Roedel
2019-08-19 13:22   ` Joerg Roedel
2019-08-19 13:22   ` Joerg Roedel
2019-08-19 13:22 ` [PATCH 06/11] x86/dma: Get rid of iommu_pass_through Joerg Roedel
2019-08-19 13:22   ` Joerg Roedel
2019-08-19 13:22   ` Joerg Roedel
2019-08-20 11:17   ` Borislav Petkov
2019-08-20 11:17     ` Borislav Petkov
2019-08-20 11:17     ` Borislav Petkov
2019-08-19 13:22 ` [PATCH 07/11] ia64: " Joerg Roedel
2019-08-19 13:22   ` Joerg Roedel
2019-08-19 13:22   ` Joerg Roedel
2019-08-19 13:22 ` [PATCH 08/11] iommu: Print default domain type on boot Joerg Roedel
2019-08-19 13:22   ` Joerg Roedel
2019-08-19 13:22   ` Joerg Roedel
2019-08-19 13:22 ` [PATCH 09/11] iommu: Set default domain type at runtime Joerg Roedel
2019-08-19 13:22   ` Joerg Roedel
2019-08-19 13:22   ` Joerg Roedel
2019-08-19 13:22 ` [PATCH 10/11] iommu: Disable passthrough mode when SME is active Joerg Roedel
2019-08-19 13:22   ` Joerg Roedel
2019-08-19 13:22   ` Joerg Roedel
2019-08-20 21:18   ` Lendacky, Thomas
2019-08-20 21:18     ` Lendacky, Thomas
2019-08-20 21:18     ` Lendacky, Thomas
2019-08-19 13:22 ` [PATCH 11/11] Documentation: Update Documentation for iommu.passthrough Joerg Roedel
2019-08-19 13:22   ` Joerg Roedel
2019-08-19 13:22   ` Joerg Roedel
2019-08-23  8:12 ` [PATCH 00/11 v3] Cleanup IOMMU passthrough setting (and disable IOMMU Passthrough when SME is active) Joerg Roedel
2019-08-23  8:12   ` Joerg Roedel
2019-08-23  8:12   ` [PATCH 00/11 v3] Cleanup IOMMU passthrough setting (and disable IOMMU Passthrough when SME is ac Joerg Roedel

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.