Merge rsync://rsync.kernel.org/pub/scm/linux/kernel/git/davem/tg3-2.6
[linux-2.6] / arch / arm / mm / discontig.c
1 /*
2  * linux/arch/arm/mm/discontig.c
3  *
4  * Discontiguous memory support.
5  *
6  * Initial code: Copyright (C) 1999-2000 Nicolas Pitre
7  *
8  * This program is free software; you can redistribute it and/or modify
9  * it under the terms of the GNU General Public License version 2 as
10  * published by the Free Software Foundation.
11  */
12
13 #include <linux/module.h>
14 #include <linux/mm.h>
15 #include <linux/init.h>
16 #include <linux/bootmem.h>
17
18 #if MAX_NUMNODES != 4 && MAX_NUMNODES != 16
19 # error Fix Me Please
20 #endif
21
22 /*
23  * Our node_data structure for discontiguous memory.
24  */
25
26 static bootmem_data_t node_bootmem_data[MAX_NUMNODES];
27
28 pg_data_t discontig_node_data[MAX_NUMNODES] = {
29   { .bdata = &node_bootmem_data[0] },
30   { .bdata = &node_bootmem_data[1] },
31   { .bdata = &node_bootmem_data[2] },
32   { .bdata = &node_bootmem_data[3] },
33 #if MAX_NUMNODES == 16
34   { .bdata = &node_bootmem_data[4] },
35   { .bdata = &node_bootmem_data[5] },
36   { .bdata = &node_bootmem_data[6] },
37   { .bdata = &node_bootmem_data[7] },
38   { .bdata = &node_bootmem_data[8] },
39   { .bdata = &node_bootmem_data[9] },
40   { .bdata = &node_bootmem_data[10] },
41   { .bdata = &node_bootmem_data[11] },
42   { .bdata = &node_bootmem_data[12] },
43   { .bdata = &node_bootmem_data[13] },
44   { .bdata = &node_bootmem_data[14] },
45   { .bdata = &node_bootmem_data[15] },
46 #endif
47 };
48
49 EXPORT_SYMBOL(discontig_node_data);