[ARM] mm: switch SA1100 to use sparsemem
authorRussell King <rmk@dyn-67.arm.linux.org.uk>
Wed, 1 Oct 2008 20:03:21 +0000 (21:03 +0100)
committerRussell King <rmk+kernel@arm.linux.org.uk>
Wed, 1 Oct 2008 20:03:21 +0000 (21:03 +0100)
Tested on Assabet, and Assabet with Neponset's SDRAM at 3328M phys.

Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
arch/arm/Kconfig
arch/arm/mach-sa1100/include/mach/memory.h

index 83106c98755c87b8a84307bc93c4215a158370fe..b21c93a5f9262cc9ea8ad00aeb2af00fc4bc9a78 100644 (file)
@@ -479,9 +479,7 @@ config ARCH_RPC
 config ARCH_SA1100
        bool "SA1100-based"
        select ISA
-       select ARCH_DISCONTIGMEM_ENABLE
        select ARCH_SPARSEMEM_ENABLE
-       select ARCH_SELECT_MEMORY_MODEL
        select ARCH_MTD_XIP
        select GENERIC_GPIO
        select GENERIC_TIME
index 29f639e2afc6a1180004e115fd2e3eaa58170372..1c127b68581d6e2ef2ec2be79792d0f4e63a1785 100644 (file)
@@ -40,23 +40,21 @@ void sa1111_adjust_zones(int node, unsigned long *size, unsigned long *holes);
 #define __bus_to_virt(x)        __phys_to_virt(x)
 
 /*
- * Because of the wide memory address space between physical RAM banks on the 
- * SA1100, it's much convenient to use Linux's NUMA support to implement our 
- * memory map representation.  Assuming all memory nodes have equal access 
+ * Because of the wide memory address space between physical RAM banks on the
+ * SA1100, it's much convenient to use Linux's SparseMEM support to implement
+ * our memory map representation.  Assuming all memory nodes have equal access
  * characteristics, we then have generic discontiguous memory support.
  *
- * Of course, all this isn't mandatory for SA1100 implementations with only
- * one used memory bank.  For those, simply undefine CONFIG_DISCONTIGMEM.
- *
- * The nodes are matched with the physical memory bank addresses which are 
- * incidentally the same as virtual addresses.
+ * The sparsemem banks are matched with the physical memory bank addresses
+ * which are incidentally the same as virtual addresses.
  * 
  *     node 0:  0xc0000000 - 0xc7ffffff
  *     node 1:  0xc8000000 - 0xcfffffff
  *     node 2:  0xd0000000 - 0xd7ffffff
  *     node 3:  0xd8000000 - 0xdfffffff
  */
-#define NODE_MEM_SIZE_BITS     27
+#define MAX_PHYSMEM_BITS       32
+#define SECTION_SIZE_BITS      27
 
 /*
  * Cache flushing area - SA1100 zero bank