diff options
author | Christoph Lameter <clameter@sgi.com> | 2007-02-10 04:43:09 -0500 |
---|---|---|
committer | Linus Torvalds <torvalds@woody.linux-foundation.org> | 2007-02-11 13:51:18 -0500 |
commit | 66701b1499a3ff11882c8c4aef36e8eac86e17b1 (patch) | |
tree | 7900ced6b590c3cd939bcdc92355ff0a14f856e3 | |
parent | 6267276f3fdda9ad0d5ca451bdcbdf42b802d64b (diff) |
[PATCH] optional ZONE_DMA: 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>
Cc: Andi Kleen <ak@suse.de>
Cc: "Luck, Tony" <tony.luck@intel.com>
Cc: Kyle McMartin <kyle@mcmartin.ca>
Cc: Matthew Wilcox <willy@debian.org>
Cc: James Bottomley <James.Bottomley@steeleye.com>
Cc: Paul Mundt <lethal@linux-sh.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
-rw-r--r-- | arch/cris/Kconfig | 4 | ||||
-rw-r--r-- | arch/frv/Kconfig | 4 | ||||
-rw-r--r-- | arch/h8300/Kconfig | 4 | ||||
-rw-r--r-- | arch/ia64/Kconfig | 4 | ||||
-rw-r--r-- | arch/m68knommu/Kconfig | 4 | ||||
-rw-r--r-- | arch/s390/Kconfig | 4 | ||||
-rw-r--r-- | arch/v850/Kconfig | 3 | ||||
-rw-r--r-- | arch/xtensa/Kconfig | 4 | ||||
-rw-r--r-- | mm/Kconfig | 4 |
9 files changed, 35 insertions, 0 deletions
diff --git a/arch/cris/Kconfig b/arch/cris/Kconfig index 3474309e049c..e3db1427dbe5 100644 --- a/arch/cris/Kconfig +++ b/arch/cris/Kconfig | |||
@@ -9,6 +9,10 @@ config MMU | |||
9 | bool | 9 | bool |
10 | default y | 10 | default y |
11 | 11 | ||
12 | config ZONE_DMA | ||
13 | bool | ||
14 | default y | ||
15 | |||
12 | config RWSEM_GENERIC_SPINLOCK | 16 | config RWSEM_GENERIC_SPINLOCK |
13 | bool | 17 | bool |
14 | default y | 18 | default y |
diff --git a/arch/frv/Kconfig b/arch/frv/Kconfig index 7561d7b72e75..cea237413aa2 100644 --- a/arch/frv/Kconfig +++ b/arch/frv/Kconfig | |||
@@ -6,6 +6,10 @@ config FRV | |||
6 | bool | 6 | bool |
7 | default y | 7 | default y |
8 | 8 | ||
9 | config ZONE_DMA | ||
10 | bool | ||
11 | default y | ||
12 | |||
9 | config RWSEM_GENERIC_SPINLOCK | 13 | config RWSEM_GENERIC_SPINLOCK |
10 | bool | 14 | bool |
11 | default y | 15 | default y |
diff --git a/arch/h8300/Kconfig b/arch/h8300/Kconfig index 34a84bc4baf5..146eb28f6225 100644 --- a/arch/h8300/Kconfig +++ b/arch/h8300/Kconfig | |||
@@ -17,6 +17,10 @@ config SWAP | |||
17 | bool | 17 | bool |
18 | default n | 18 | default n |
19 | 19 | ||
20 | config ZONE_DMA | ||
21 | bool | ||
22 | default y | ||
23 | |||
20 | config FPU | 24 | config FPU |
21 | bool | 25 | bool |
22 | default n | 26 | default n |
diff --git a/arch/ia64/Kconfig b/arch/ia64/Kconfig index f1d2899e9a62..549ead597934 100644 --- a/arch/ia64/Kconfig +++ b/arch/ia64/Kconfig | |||
@@ -24,6 +24,10 @@ config 64BIT | |||
24 | bool | 24 | bool |
25 | default y | 25 | default y |
26 | 26 | ||
27 | config ZONE_DMA | ||
28 | bool | ||
29 | default y | ||
30 | |||
27 | config MMU | 31 | config MMU |
28 | bool | 32 | bool |
29 | default y | 33 | default y |
diff --git a/arch/m68knommu/Kconfig b/arch/m68knommu/Kconfig index 25993c2a8fbb..c5fc5406dad0 100644 --- a/arch/m68knommu/Kconfig +++ b/arch/m68knommu/Kconfig | |||
@@ -17,6 +17,10 @@ config FPU | |||
17 | bool | 17 | bool |
18 | default n | 18 | default n |
19 | 19 | ||
20 | config ZONE_DMA | ||
21 | bool | ||
22 | default y | ||
23 | |||
20 | config RWSEM_GENERIC_SPINLOCK | 24 | config RWSEM_GENERIC_SPINLOCK |
21 | bool | 25 | bool |
22 | default y | 26 | default y |
diff --git a/arch/s390/Kconfig b/arch/s390/Kconfig index eaed402ad346..c64973004261 100644 --- a/arch/s390/Kconfig +++ b/arch/s390/Kconfig | |||
@@ -7,6 +7,10 @@ config MMU | |||
7 | bool | 7 | bool |
8 | default y | 8 | default y |
9 | 9 | ||
10 | config ZONE_DMA | ||
11 | bool | ||
12 | default y | ||
13 | |||
10 | config LOCKDEP_SUPPORT | 14 | config LOCKDEP_SUPPORT |
11 | bool | 15 | bool |
12 | default y | 16 | default y |
diff --git a/arch/v850/Kconfig b/arch/v850/Kconfig index f0d4d72e560f..dbfab8fc9b49 100644 --- a/arch/v850/Kconfig +++ b/arch/v850/Kconfig | |||
@@ -10,6 +10,9 @@ mainmenu "uClinux/v850 (w/o MMU) Kernel Configuration" | |||
10 | config MMU | 10 | config MMU |
11 | bool | 11 | bool |
12 | default n | 12 | default n |
13 | config ZONE_DMA | ||
14 | bool | ||
15 | default y | ||
13 | config RWSEM_GENERIC_SPINLOCK | 16 | config RWSEM_GENERIC_SPINLOCK |
14 | bool | 17 | bool |
15 | default y | 18 | default y |
diff --git a/arch/xtensa/Kconfig b/arch/xtensa/Kconfig index 2e74cb0b7807..7c99d518e49e 100644 --- a/arch/xtensa/Kconfig +++ b/arch/xtensa/Kconfig | |||
@@ -7,6 +7,10 @@ config FRAME_POINTER | |||
7 | bool | 7 | bool |
8 | default n | 8 | default n |
9 | 9 | ||
10 | config ZONE_DMA | ||
11 | bool | ||
12 | default y | ||
13 | |||
10 | config XTENSA | 14 | config XTENSA |
11 | bool | 15 | bool |
12 | default y | 16 | default y |
diff --git a/mm/Kconfig b/mm/Kconfig index db7c55de92cd..50f7cfc15b78 100644 --- a/mm/Kconfig +++ b/mm/Kconfig | |||
@@ -139,6 +139,10 @@ config SPLIT_PTLOCK_CPUS | |||
139 | default "4096" if PARISC && !PA20 | 139 | default "4096" if PARISC && !PA20 |
140 | default "4" | 140 | default "4" |
141 | 141 | ||
142 | config ZONE_DMA | ||
143 | def_bool y | ||
144 | depends on GENERIC_ISA_DMA | ||
145 | |||
142 | # | 146 | # |
143 | # support for page migration | 147 | # support for page migration |
144 | # | 148 | # |