discontig.c 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  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. #include <linux/module.h>
  13. #include <linux/mmzone.h>
  14. #include <linux/bootmem.h>
  15. #if MAX_NUMNODES != 4 && MAX_NUMNODES != 16
  16. # error Fix Me Please
  17. #endif
  18. /*
  19. * Our node_data structure for discontiguous memory.
  20. */
  21. static bootmem_data_t node_bootmem_data[MAX_NUMNODES];
  22. pg_data_t discontig_node_data[MAX_NUMNODES] = {
  23. { .bdata = &node_bootmem_data[0] },
  24. { .bdata = &node_bootmem_data[1] },
  25. { .bdata = &node_bootmem_data[2] },
  26. { .bdata = &node_bootmem_data[3] },
  27. #if MAX_NUMNODES == 16
  28. { .bdata = &node_bootmem_data[4] },
  29. { .bdata = &node_bootmem_data[5] },
  30. { .bdata = &node_bootmem_data[6] },
  31. { .bdata = &node_bootmem_data[7] },
  32. { .bdata = &node_bootmem_data[8] },
  33. { .bdata = &node_bootmem_data[9] },
  34. { .bdata = &node_bootmem_data[10] },
  35. { .bdata = &node_bootmem_data[11] },
  36. { .bdata = &node_bootmem_data[12] },
  37. { .bdata = &node_bootmem_data[13] },
  38. { .bdata = &node_bootmem_data[14] },
  39. { .bdata = &node_bootmem_data[15] },
  40. #endif
  41. };
  42. EXPORT_SYMBOL(discontig_node_data);