diff options
author | Russell King <rmk@dyn-67.arm.linux.org.uk> | 2008-10-01 16:38:23 -0400 |
---|---|---|
committer | Russell King <rmk+kernel@arm.linux.org.uk> | 2008-10-01 16:42:08 -0400 |
commit | 4ba3f7c55938d7e51e23c1feedd035dd46716ae7 (patch) | |
tree | 088878e8ee5b019542b0295f3717885526d4a2b8 /arch/arm | |
parent | 07a2f737ba1d73ace591dd03c512bb0dd63f6785 (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/Kconfig | 8 | ||||
-rw-r--r-- | arch/arm/mach-lh7a40x/Kconfig | 13 | ||||
-rw-r--r-- | 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 ef218ea3010f..f5bf38b5f38d 100644 --- a/arch/arm/Kconfig +++ b/arch/arm/Kconfig | |||
@@ -510,6 +510,8 @@ config ARCH_SHARK | |||
510 | 510 | ||
511 | config ARCH_LH7A40X | 511 | config 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 |
843 | config ARCH_DISCONTIGMEM_ENABLE | 845 | config 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 | ||
852 | config ARCH_SPARSEMEM_ENABLE | 848 | config 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 | ||
42 | config LH7A40X_CONTIGMEM | 42 | config 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 | ||
57 | config LH7A40X_ONE_BANK_PER_NODE | 56 | config 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 |