mmzone.h 1.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. /*
  2. * This file is subject to the terms and conditions of the GNU General Public
  3. * License. See the file "COPYING" in the main directory of this archive
  4. * for more details.
  5. *
  6. * Copyright (c) 2000,2003 Silicon Graphics, Inc. All rights reserved.
  7. * Copyright (c) 2002 NEC Corp.
  8. * Copyright (c) 2002 Erich Focht <efocht@ess.nec.de>
  9. * Copyright (c) 2002 Kimio Suganuma <k-suganuma@da.jp.nec.com>
  10. */
  11. #ifndef _ASM_IA64_MMZONE_H
  12. #define _ASM_IA64_MMZONE_H
  13. #include <linux/numa.h>
  14. #include <asm/page.h>
  15. #include <asm/meminit.h>
  16. #ifdef CONFIG_NUMA
  17. static inline int pfn_to_nid(unsigned long pfn)
  18. {
  19. extern int paddr_to_nid(unsigned long);
  20. int nid = paddr_to_nid(pfn << PAGE_SHIFT);
  21. if (nid < 0)
  22. return 0;
  23. else
  24. return nid;
  25. }
  26. #ifdef CONFIG_IA64_DIG /* DIG systems are small */
  27. # define MAX_PHYSNODE_ID 8
  28. # define NR_NODE_MEMBLKS (MAX_NUMNODES * 8)
  29. #else /* sn2 is the biggest case, so we use that if !DIG */
  30. # define MAX_PHYSNODE_ID 2048
  31. # define NR_NODE_MEMBLKS (MAX_NUMNODES * 4)
  32. #endif
  33. #else /* CONFIG_NUMA */
  34. # define NR_NODE_MEMBLKS (MAX_NUMNODES * 4)
  35. #endif /* CONFIG_NUMA */
  36. #endif /* _ASM_IA64_MMZONE_H */