mmzone.h 1.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  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. #ifdef CONFIG_NUMA
  20. extern int paddr_to_nid(unsigned long);
  21. int nid = paddr_to_nid(pfn << PAGE_SHIFT);
  22. if (nid < 0)
  23. return 0;
  24. else
  25. return nid;
  26. #else
  27. return 0;
  28. #endif
  29. }
  30. #ifdef CONFIG_HAVE_ARCH_EARLY_PFN_TO_NID
  31. extern int early_pfn_to_nid(unsigned long pfn);
  32. #endif
  33. #ifdef CONFIG_IA64_DIG /* DIG systems are small */
  34. # define MAX_PHYSNODE_ID 8
  35. # define NR_NODE_MEMBLKS (MAX_NUMNODES * 8)
  36. #else /* sn2 is the biggest case, so we use that if !DIG */
  37. # define MAX_PHYSNODE_ID 2048
  38. # define NR_NODE_MEMBLKS (MAX_NUMNODES * 4)
  39. #endif
  40. #else /* CONFIG_NUMA */
  41. # define NR_NODE_MEMBLKS (MAX_NUMNODES * 4)
  42. #endif /* CONFIG_NUMA */
  43. #endif /* _ASM_IA64_MMZONE_H */