aboutsummaryrefslogtreecommitdiffstats
path: root/arch/arm
diff options
context:
space:
mode:
authorRussell King <rmk@dyn-67.arm.linux.org.uk>2008-10-01 16:38:23 -0400
committerRussell King <rmk+kernel@arm.linux.org.uk>2008-10-01 16:42:08 -0400
commit4ba3f7c55938d7e51e23c1feedd035dd46716ae7 (patch)
tree088878e8ee5b019542b0295f3717885526d4a2b8 /arch/arm
parent07a2f737ba1d73ace591dd03c512bb0dd63f6785 (diff)
[ARM] mm: allow LH7A40x to use sparsemem
Enable Sparsemem support for LH7A40x SoCs, while still allowing the existing discontig support for the time being. Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Diffstat (limited to 'arch/arm')
-rw-r--r--arch/arm/Kconfig8
-rw-r--r--arch/arm/mach-lh7a40x/Kconfig13
-rw-r--r--arch/arm/mach-lh7a40x/include/mach/memory.h6
3 files changed, 14 insertions, 13 deletions
diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig
index ef218ea3010f..f5bf38b5f38d 100644
--- a/arch/arm/Kconfig
+++ b/arch/arm/Kconfig
@@ -510,6 +510,8 @@ config ARCH_SHARK
510 510
511config ARCH_LH7A40X 511config ARCH_LH7A40X
512 bool "Sharp LH7A40X" 512 bool "Sharp LH7A40X"
513 select ARCH_DISCONTIGMEM_ENABLE if !LH7A40X_CONTIGMEM
514 select ARCH_SPARSEMEM_ENABLE if !LH7A40X_CONTIGMEM
513 help 515 help
514 Say Y here for systems based on one of the Sharp LH7A40X 516 Say Y here for systems based on one of the Sharp LH7A40X
515 System on a Chip processors. These CPUs include an ARM922T 517 System on a Chip processors. These CPUs include an ARM922T
@@ -842,12 +844,6 @@ config OABI_COMPAT
842# Discontigmem is deprecated 844# Discontigmem is deprecated
843config ARCH_DISCONTIGMEM_ENABLE 845config ARCH_DISCONTIGMEM_ENABLE
844 bool 846 bool
845 default (ARCH_LH7A40X && !LH7A40X_CONTIGMEM)
846 help
847 Say Y to support efficient handling of discontiguous physical memory,
848 for architectures which are either NUMA (Non-Uniform Memory Access)
849 or have huge holes in the physical address space for other reasons.
850 See <file:Documentation/vm/numa> for more.
851 847
852config ARCH_SPARSEMEM_ENABLE 848config ARCH_SPARSEMEM_ENABLE
853 bool 849 bool
diff --git a/arch/arm/mach-lh7a40x/Kconfig b/arch/arm/mach-lh7a40x/Kconfig
index 6f4c6a1798c1..9be7466e346c 100644
--- a/arch/arm/mach-lh7a40x/Kconfig
+++ b/arch/arm/mach-lh7a40x/Kconfig
@@ -40,23 +40,22 @@ config LPD7A40X_CPLD_SSP
40 bool 40 bool
41 41
42config LH7A40X_CONTIGMEM 42config LH7A40X_CONTIGMEM
43 bool "Disable NUMA Support" 43 bool "Disable NUMA/SparseMEM Support"
44 depends on ARCH_LH7A40X
45 help 44 help
46 Say Y here if your bootloader sets the SROMLL bit(s) in 45 Say Y here if your bootloader sets the SROMLL bit(s) in
47 the SDRAM controller, organizing memory as a contiguous 46 the SDRAM controller, organizing memory as a contiguous
48 array. This option will disable CONFIG_DISCONTIGMEM and 47 array. This option will disable sparse memory support
49 force the kernel to manage all memory in one node. 48 and force the kernel to manage all memory in one node.
50 49
51 Setting this option incorrectly may prevent the kernel from 50 Setting this option incorrectly may prevent the kernel
52 booting. It is OK to leave it N. 51 from booting. It is OK to leave it N.
53 52
54 For more information, consult 53 For more information, consult
55 <file:Documentation/arm/Sharp-LH/SDRAM>. 54 <file:Documentation/arm/Sharp-LH/SDRAM>.
56 55
57config LH7A40X_ONE_BANK_PER_NODE 56config LH7A40X_ONE_BANK_PER_NODE
58 bool "Optimize NUMA Node Tables for Size" 57 bool "Optimize NUMA Node Tables for Size"
59 depends on ARCH_LH7A40X && !LH7A40X_CONTIGMEM 58 depends on !LH7A40X_CONTIGMEM
60 help 59 help
61 Say Y here to produce compact memory node tables. By 60 Say Y here to produce compact memory node tables. By
62 default pairs of adjacent physical RAM banks are managed 61 default pairs of adjacent physical RAM banks are managed
diff --git a/arch/arm/mach-lh7a40x/include/mach/memory.h b/arch/arm/mach-lh7a40x/include/mach/memory.h
index f7107b4c197a..1da14ff66c93 100644
--- a/arch/arm/mach-lh7a40x/include/mach/memory.h
+++ b/arch/arm/mach-lh7a40x/include/mach/memory.h
@@ -73,4 +73,10 @@
73 73
74#endif 74#endif
75 75
76/*
77 * Sparsemem version of the above
78 */
79#define MAX_PHYSMEM_BITS 32
80#define SECTION_SIZE_BITS 24
81
76#endif 82#endif