From 4ba3f7c55938d7e51e23c1feedd035dd46716ae7 Mon Sep 17 00:00:00 2001 From: Russell King Date: Wed, 1 Oct 2008 21:38:23 +0100 Subject: [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 --- arch/arm/Kconfig | 8 ++------ arch/arm/mach-lh7a40x/Kconfig | 13 ++++++------- arch/arm/mach-lh7a40x/include/mach/memory.h | 6 ++++++ 3 files changed, 14 insertions(+), 13 deletions(-) diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig index ef218ea3010..f5bf38b5f38 100644 --- a/arch/arm/Kconfig +++ b/arch/arm/Kconfig @@ -510,6 +510,8 @@ config ARCH_SHARK config ARCH_LH7A40X bool "Sharp LH7A40X" + select ARCH_DISCONTIGMEM_ENABLE if !LH7A40X_CONTIGMEM + select ARCH_SPARSEMEM_ENABLE if !LH7A40X_CONTIGMEM help Say Y here for systems based on one of the Sharp LH7A40X System on a Chip processors. These CPUs include an ARM922T @@ -842,12 +844,6 @@ config OABI_COMPAT # Discontigmem is deprecated config ARCH_DISCONTIGMEM_ENABLE bool - default (ARCH_LH7A40X && !LH7A40X_CONTIGMEM) - help - Say Y to support efficient handling of discontiguous physical memory, - for architectures which are either NUMA (Non-Uniform Memory Access) - or have huge holes in the physical address space for other reasons. - See for more. config ARCH_SPARSEMEM_ENABLE bool diff --git a/arch/arm/mach-lh7a40x/Kconfig b/arch/arm/mach-lh7a40x/Kconfig index 6f4c6a1798c..9be7466e346 100644 --- a/arch/arm/mach-lh7a40x/Kconfig +++ b/arch/arm/mach-lh7a40x/Kconfig @@ -40,23 +40,22 @@ config LPD7A40X_CPLD_SSP bool config LH7A40X_CONTIGMEM - bool "Disable NUMA Support" - depends on ARCH_LH7A40X + bool "Disable NUMA/SparseMEM Support" help Say Y here if your bootloader sets the SROMLL bit(s) in the SDRAM controller, organizing memory as a contiguous - array. This option will disable CONFIG_DISCONTIGMEM and - force the kernel to manage all memory in one node. + array. This option will disable sparse memory support + and force the kernel to manage all memory in one node. - Setting this option incorrectly may prevent the kernel from - booting. It is OK to leave it N. + Setting this option incorrectly may prevent the kernel + from booting. It is OK to leave it N. For more information, consult . config LH7A40X_ONE_BANK_PER_NODE bool "Optimize NUMA Node Tables for Size" - depends on ARCH_LH7A40X && !LH7A40X_CONTIGMEM + depends on !LH7A40X_CONTIGMEM help Say Y here to produce compact memory node tables. By 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 f7107b4c197..1da14ff66c9 100644 --- a/arch/arm/mach-lh7a40x/include/mach/memory.h +++ b/arch/arm/mach-lh7a40x/include/mach/memory.h @@ -73,4 +73,10 @@ #endif +/* + * Sparsemem version of the above + */ +#define MAX_PHYSMEM_BITS 32 +#define SECTION_SIZE_BITS 24 + #endif -- cgit v1.2.3-18-g5258