Skip to contentSkip to conversation

x86: make CONFIG_SWIOTLB configurable

PATCH In review Constantin Baranov 3 participants 4 messages Nov 4, 2008 – Nov 6, 2008 x86

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 x86: make CONFIG_SWIOTLB configurable

Make it possible to enable individually the CONFIG_SWIOTLB option. This is useful for Intel x86_64 systems without DMAR support.

---
Tested on my system based on Gigabyte GA-EP45-DS3 mainboard (P45 chipset) with 8 GiB of RAM.
Currently I need to enable either CONFIG_GART_IOMMU or CONFIG_AMD_IOMMU for proper work. Both are AMD specific. When the patch applied, just CONFIG_SWIOTLB is sufficient.

 arch/x86/Kconfig |    4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)
arch/x86/Kconfig +3 -1
@@ -566,7 +566,9 @@ config AMD_IOMMU
 
 # need this always selected by IOMMU for the VIA workaround
 config SWIOTLB
-	bool
+	bool "Support for software bounce buffers"
+	depends on X86_64 && EXPERIMENTAL
+	default n
 	help
 	  Support for software bounce buffers used on x86-64 systems
 	  which don't have a hardware IOMMU (e.g. the current generation
#1 lore raw
Quoted 17 lines · Constantin Baranov

Make it possible to enable individually the CONFIG_SWIOTLB option. This is useful for Intel x86_64 systems without DMAR support.

---
Tested on my system based on Gigabyte GA-EP45-DS3 mainboard (P45 chipset) with 8 GiB of RAM.
Currently I need to enable either CONFIG_GART_IOMMU or CONFIG_AMD_IOMMU for proper work. Both are AMD specific. When the patch applied, just CONFIG_SWIOTLB is sufficient.

 arch/x86/Kconfig |    4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

arch/x86/Kconfig config AMD_IOMMU · line 574

Quoted 10 lines
arch/x86/Kconfig +3 -1
@@ -566,7 +566,9 @@ config AMD_IOMMU
 
 # need this always selected by IOMMU for the VIA workaround
 config SWIOTLB
-	bool
+	bool "Support for software bounce buffers"
+	depends on X86_64 && EXPERIMENTAL
+	default n
 	help
 	  Support for software bounce buffers used on x86-64 systems
 	  which don't have a hardware IOMMU (e.g. the current generation

Why experimental?

Signature · 2 lines
(english) http://www.livejournal.com/~pavelmachek
(cesky, pictures) http://atrey.karlin.mff.cuni.cz/~pavel/picture/horses/blog.html
#2 lore raw
Quoted 19 lines · Pavel Machek
Quoted 18 lines · Constantin Baranov

Make it possible to enable individually the CONFIG_SWIOTLB option. This is useful for Intel x86_64 systems without DMAR support.

---
Tested on my system based on Gigabyte GA-EP45-DS3 mainboard (P45 chipset) with 8 GiB of RAM.
Currently I need to enable either CONFIG_GART_IOMMU or CONFIG_AMD_IOMMU for proper work. Both are AMD specific. When the patch applied, just CONFIG_SWIOTLB is sufficient.

 arch/x86/Kconfig |    4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)
arch/x86/Kconfig +0 -0
@@ -566,7 +566,9 @@ config AMD_IOMMU
 
Quoted 12 lines

arch/x86/Kconfig config AMD_IOMMU · line 574

Quoted 9 lines
arch/x86/Kconfig +3 -1
 # need this always selected by IOMMU for the VIA workaround
 config SWIOTLB
-	bool
+	bool "Support for software bounce buffers"
+	depends on X86_64 && EXPERIMENTAL
+	default n
 	help
 	  Support for software bounce buffers used on x86-64 systems
 	  which don't have a hardware IOMMU (e.g. the current generation

Why experimental?

As far as I understood, the comment before config SWIOTLB ('need this always selected by IOMMU for the VIA workaround') stands that voluntary enabling SWIOTLB may cause problems. Although I'm not sure that EXPERIMENTAL is really needed, or may be something else is better to prevent catastrophes.

#3 lore raw
In reply to Constantin Baranov
Quoted 17 lines · On Tue, 04 Nov 2008 20:28:52 +0400 Constantin Baranov <[email protected]> wrote:

Make it possible to enable individually the CONFIG_SWIOTLB option. This is useful for Intel x86_64 systems without DMAR support.

---
Tested on my system based on Gigabyte GA-EP45-DS3 mainboard (P45 chipset) with 8 GiB of RAM.
Currently I need to enable either CONFIG_GART_IOMMU or CONFIG_AMD_IOMMU for proper work. Both are AMD specific. When the patch applied, just CONFIG_SWIOTLB is sufficient.

 arch/x86/Kconfig |    4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

arch/x86/Kconfig config AMD_IOMMU · line 574

Quoted 10 lines
arch/x86/Kconfig +3 -1
@@ -566,7 +566,9 @@ config AMD_IOMMU
 
 # need this always selected by IOMMU for the VIA workaround
 config SWIOTLB
-	bool
+	bool "Support for software bounce buffers"
+	depends on X86_64 && EXPERIMENTAL
+	default n
 	help
 	  Support for software bounce buffers used on x86-64 systems
 	  which don't have a hardware IOMMU (e.g. the current generation

IMHO, it's better to always enable SWIOTLB for X86_64 (the description is a bit misleading; even with a hardware IOMMU, SWIOTLB is necessary).