[PATCH 2/6] Introduce CONFIG_ZONE_DMA

Christoph Lameter
2006-09-11T22:27:39Z

Introduce CONFIG_ZONE_DMA

This patch simply defines CONFIG_ZONE_DMA for all arches. We later do
special things with CONFIG_ZONE_DMA after the VM and an arch are
prepared to work without ZONE_DMA.

CONFIG_ZONE_DMA can be defined in two ways depending on how
an architecture handles ISA DMA.

First if CONFIG_GENERIC_ISA_DMA is set by the arch then we know that
the arch needs ZONE_DMA because ISA DMA devices are supported. We
can catch this in mm/Kconfig and do not need to modify arch code.

Second, arches may use ZONE_DMA in an unknown way. We set CONFIG_ZONE_DMA
for all arches that do not set CONFIG_GENERIC_ISA_DMA in order to insure
backwards compatibility. The arches may later undefine ZONE_DMA
if their arch code has been verified to not depend on ZONE_DMA.

Signed-off-by: Christoph Lameter <clameter@sgi.com>

Index: linux-2.6.18-rc6-mm1/mm/Kconfig
=================================--- linux-2.6.18-rc6-mm1.orig/mm/Kconfig 2006-09-11 15:42:32.736665338 -0500
+++ linux-2.6.18-rc6-mm1/mm/Kconfig 2006-09-11 15:53:12.072397960 -0500
@@ -139,6 +139,10 @@
default "4096" if PARISC && !PA20
default "4"

+config ZONE_DMA
+ def_bool y
+ depends on GENERIC_ISA_DMA
+
#
# support for page migration
#
Index: linux-2.6.18-rc6-mm1/arch/ia64/Kconfig
=================================--- linux-2.6.18-rc6-mm1.orig/arch/ia64/Kconfig 2006-09-11 15:42:32.746431796 -0500
+++ linux-2.6.18-rc6-mm1/arch/ia64/Kconfig 2006-09-11 15:53:12.089977582 -0500
@@ -22,6 +22,10 @@
bool
default y

+config ZONE_DMA
+ bool
+ default y
+
config MMU
bool
default y
Index: linux-2.6.18-rc6-mm1/arch/cris/Kconfig
=================================--- linux-2.6.18-rc6-mm1.orig/arch/cris/Kconfig 2006-09-11 15:42:32.754244962 -0500
+++ linux-2.6.18-rc6-mm1/arch/cris/Kconfig 2006-09-11 15:53:12.101697331 -0500
@@ -9,6 +9,10 @@
bool
default y

+config ZONE_DMA
+ bool
+ default y
+
config RWSEM_GENERIC_SPINLOCK
bool
default y
Index: linux-2.6.18-rc6-mm1/arch/s390/Kconfig
=================================--- linux-2.6.18-rc6-mm1.orig/arch/s390/Kconfig 2006-09-11 15:42:32.764988066 -0500
+++ linux-2.6.18-rc6-mm1/arch/s390/Kconfig 2006-09-11 15:53:12.112440433 -0500
@@ -7,6 +7,10 @@
bool
default y

+config ZONE_DMA
+ bool
+ default y
+
config LOCKDEP_SUPPORT
bool
default y
Index: linux-2.6.18-rc6-mm1/arch/xtensa/Kconfig
=================================--- linux-2.6.18-rc6-mm1.orig/arch/xtensa/Kconfig 2006-09-11 15:42:32.773777878 -0500
+++ linux-2.6.18-rc6-mm1/arch/xtensa/Kconfig 2006-09-11 15:53:12.124160181 -0500
@@ -7,6 +7,10 @@
bool
default n

+config ZONE_DMA
+ bool
+ default y
+
config XTENSA
bool
default y
Index: linux-2.6.18-rc6-mm1/arch/h8300/Kconfig
=================================--- linux-2.6.18-rc6-mm1.orig/arch/h8300/Kconfig 2006-09-11 15:42:32.782567690 -0500
+++ linux-2.6.18-rc6-mm1/arch/h8300/Kconfig 2006-09-11 15:53:12.134903284 -0500
@@ -17,6 +17,10 @@
bool
default n

+config ZONE_DMA
+ bool
+ default y
+
config FPU
bool
default n
Index: linux-2.6.18-rc6-mm1/arch/v850/Kconfig
=================================--- linux-2.6.18-rc6-mm1.orig/arch/v850/Kconfig 2006-09-11 15:42:32.791357502 -0500
+++ linux-2.6.18-rc6-mm1/arch/v850/Kconfig 2006-09-11 15:53:12.145646386 -0500
@@ -10,6 +10,9 @@
config MMU
bool
default n
+config ZONE_DMA
+ bool
+ default y
config RWSEM_GENERIC_SPINLOCK
bool
default y
Index: linux-2.6.18-rc6-mm1/arch/sh/Kconfig
=================================--- linux-2.6.18-rc6-mm1.orig/arch/sh/Kconfig 2006-09-11 15:42:32.800147314 -0500
+++ linux-2.6.18-rc6-mm1/arch/sh/Kconfig 2006-09-11 15:53:12.158342780 -0500
@@ -14,6 +14,10 @@
gaming console. The SuperH port has a home page at
<http://www.linux-sh.org/>.

+config ZONE_DMA
+ bool
+ default y
+
config RWSEM_GENERIC_SPINLOCK
bool
default y
Index: linux-2.6.18-rc6-mm1/arch/frv/Kconfig
=================================--- linux-2.6.18-rc6-mm1.orig/arch/frv/Kconfig 2006-09-11 15:42:32.808937126 -0500
+++ linux-2.6.18-rc6-mm1/arch/frv/Kconfig 2006-09-11 15:53:12.171039174 -0500
@@ -6,6 +6,10 @@
bool
default y

+config ZONE_DMA
+ bool
+ default y
+
config RWSEM_GENERIC_SPINLOCK
bool
default y
Index: linux-2.6.18-rc6-mm1/arch/m68knommu/Kconfig
=================================--- linux-2.6.18-rc6-mm1.orig/arch/m68knommu/Kconfig 2006-09-11 15:42:32.820656875 -0500
+++ linux-2.6.18-rc6-mm1/arch/m68knommu/Kconfig 2006-09-11 15:53:12.183735568 -0500
@@ -17,6 +17,10 @@
bool
default n

+config ZONE_DMA
+ bool
+ default y
+
config RWSEM_GENERIC_SPINLOCK
bool
default y