From 66701b1499a3ff11882c8c4aef36e8eac86e17b1 Mon Sep 17 00:00:00 2001 From: Christoph Lameter Date: Sat, 10 Feb 2007 01:43:09 -0800 Subject: [PATCH] [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 Cc: Andi Kleen Cc: "Luck, Tony" Cc: Kyle McMartin Cc: Matthew Wilcox Cc: James Bottomley Cc: Paul Mundt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds --- arch/cris/Kconfig | 4 ++++ arch/frv/Kconfig | 4 ++++ arch/h8300/Kconfig | 4 ++++ arch/ia64/Kconfig | 4 ++++ arch/m68knommu/Kconfig | 4 ++++ arch/s390/Kconfig | 4 ++++ arch/v850/Kconfig | 3 +++ arch/xtensa/Kconfig | 4 ++++ mm/Kconfig | 4 ++++ 9 files changed, 35 insertions(+) diff --git a/arch/cris/Kconfig b/arch/cris/Kconfig index 3474309e04..e3db1427db 100644 --- a/arch/cris/Kconfig +++ b/arch/cris/Kconfig @@ -9,6 +9,10 @@ config MMU bool default y +config ZONE_DMA + bool + default y + config RWSEM_GENERIC_SPINLOCK bool default y diff --git a/arch/frv/Kconfig b/arch/frv/Kconfig index 7561d7b72e..cea237413a 100644 --- a/arch/frv/Kconfig +++ b/arch/frv/Kconfig @@ -6,6 +6,10 @@ config FRV bool default y +config ZONE_DMA + bool + default y + config RWSEM_GENERIC_SPINLOCK bool default y diff --git a/arch/h8300/Kconfig b/arch/h8300/Kconfig index 34a84bc4ba..146eb28f62 100644 --- a/arch/h8300/Kconfig +++ b/arch/h8300/Kconfig @@ -17,6 +17,10 @@ config SWAP bool default n +config ZONE_DMA + bool + default y + config FPU bool default n diff --git a/arch/ia64/Kconfig b/arch/ia64/Kconfig index f1d2899e9a..549ead5979 100644 --- a/arch/ia64/Kconfig +++ b/arch/ia64/Kconfig @@ -24,6 +24,10 @@ config 64BIT bool default y +config ZONE_DMA + bool + default y + config MMU bool default y diff --git a/arch/m68knommu/Kconfig b/arch/m68knommu/Kconfig index 25993c2a8f..c5fc5406da 100644 --- a/arch/m68knommu/Kconfig +++ b/arch/m68knommu/Kconfig @@ -17,6 +17,10 @@ config FPU bool default n +config ZONE_DMA + bool + default y + config RWSEM_GENERIC_SPINLOCK bool default y diff --git a/arch/s390/Kconfig b/arch/s390/Kconfig index eaed402ad3..c649730042 100644 --- a/arch/s390/Kconfig +++ b/arch/s390/Kconfig @@ -7,6 +7,10 @@ config MMU bool default y +config ZONE_DMA + bool + default y + config LOCKDEP_SUPPORT bool default y diff --git a/arch/v850/Kconfig b/arch/v850/Kconfig index f0d4d72e56..dbfab8fc9b 100644 --- a/arch/v850/Kconfig +++ b/arch/v850/Kconfig @@ -10,6 +10,9 @@ mainmenu "uClinux/v850 (w/o MMU) Kernel Configuration" config MMU bool default n +config ZONE_DMA + bool + default y config RWSEM_GENERIC_SPINLOCK bool default y diff --git a/arch/xtensa/Kconfig b/arch/xtensa/Kconfig index 2e74cb0b78..7c99d518e4 100644 --- a/arch/xtensa/Kconfig +++ b/arch/xtensa/Kconfig @@ -7,6 +7,10 @@ config FRAME_POINTER bool default n +config ZONE_DMA + bool + default y + config XTENSA bool default y diff --git a/mm/Kconfig b/mm/Kconfig index db7c55de92..50f7cfc15b 100644 --- a/mm/Kconfig +++ b/mm/Kconfig @@ -139,6 +139,10 @@ config SPLIT_PTLOCK_CPUS default "4096" if PARISC && !PA20 default "4" +config ZONE_DMA + def_bool y + depends on GENERIC_ISA_DMA + # # support for page migration # -- 2.39.5