|
@@ -62,7 +62,15 @@
|
|
|
* memory bank. For those systems, simply undefine CONFIG_DISCONTIGMEM.
|
|
|
*/
|
|
|
|
|
|
-#ifdef CONFIG_DISCONTIGMEM
|
|
|
+/*
|
|
|
+ * The PS7211 allows up to 256MB max per DRAM bank, but the EDB7211
|
|
|
+ * uses only one of the two banks (bank #1). However, even within
|
|
|
+ * bank #1, memory is discontiguous.
|
|
|
+ *
|
|
|
+ * The EDB7211 has two 8MB DRAM areas with 8MB of empty space between
|
|
|
+ * them, so we use 24 for the node max shift to get 16MB node sizes.
|
|
|
+ */
|
|
|
+
|
|
|
/*
|
|
|
* Because of the wide memory address space between physical RAM banks on the
|
|
|
* SA1100, it's much more convenient to use Linux's NUMA support to implement
|
|
@@ -80,48 +88,7 @@
|
|
|
* node 2: 0xd0000000 - 0xd7ffffff
|
|
|
* node 3: 0xd8000000 - 0xdfffffff
|
|
|
*/
|
|
|
-
|
|
|
-/*
|
|
|
- * Given a kernel address, find the home node of the underlying memory.
|
|
|
- */
|
|
|
-#define KVADDR_TO_NID(addr) \
|
|
|
- (((unsigned long)(addr) - PAGE_OFFSET) >> NODE_MAX_MEM_SHIFT)
|
|
|
-
|
|
|
-/*
|
|
|
- * Given a page frame number, convert it to a node id.
|
|
|
- */
|
|
|
-#define PFN_TO_NID(pfn) \
|
|
|
- (((pfn) - PHYS_PFN_OFFSET) >> (NODE_MAX_MEM_SHIFT - PAGE_SHIFT))
|
|
|
-
|
|
|
-/*
|
|
|
- * Given a kaddr, ADDR_TO_MAPBASE finds the owning node of the memory
|
|
|
- * and returns the mem_map of that node.
|
|
|
- */
|
|
|
-#define ADDR_TO_MAPBASE(kaddr) \
|
|
|
- NODE_MEM_MAP(KVADDR_TO_NID((unsigned long)(kaddr)))
|
|
|
-
|
|
|
-#define PFN_TO_MAPBASE(pfn) NODE_MEM_MAP(PFN_TO_NID(pfn))
|
|
|
-
|
|
|
-/*
|
|
|
- * Given a kaddr, LOCAL_MAR_NR finds the owning node of the memory
|
|
|
- * and returns the index corresponding to the appropriate page in the
|
|
|
- * node's mem_map.
|
|
|
- */
|
|
|
-#define LOCAL_MAP_NR(addr) \
|
|
|
- (((unsigned long)(addr) & (NODE_MAX_MEM_SIZE - 1)) >> PAGE_SHIFT)
|
|
|
-
|
|
|
-/*
|
|
|
- * The PS7211 allows up to 256MB max per DRAM bank, but the EDB7211
|
|
|
- * uses only one of the two banks (bank #1). However, even within
|
|
|
- * bank #1, memory is discontiguous.
|
|
|
- *
|
|
|
- * The EDB7211 has two 8MB DRAM areas with 8MB of empty space between
|
|
|
- * them, so we use 24 for the node max shift to get 16MB node sizes.
|
|
|
- */
|
|
|
-#define NODE_MAX_MEM_SHIFT 24
|
|
|
-#define NODE_MAX_MEM_SIZE (1<<NODE_MAX_MEM_SHIFT)
|
|
|
-
|
|
|
-#endif /* CONFIG_DISCONTIGMEM */
|
|
|
+#define NODE_MEM_SIZE_BITS 24
|
|
|
|
|
|
#endif
|
|
|
|