arch.h 2.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889
  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. * SGI IP27 specific setup.
  7. *
  8. * Copyright (C) 1995 - 1997, 1999 Silcon Graphics, Inc.
  9. * Copyright (C) 1999 Ralf Baechle (ralf@gnu.org)
  10. */
  11. #ifndef _ASM_SN_SN0_ARCH_H
  12. #define _ASM_SN_SN0_ARCH_H
  13. #include <linux/config.h>
  14. #ifndef SABLE
  15. #ifndef SN0XXL /* 128 cpu SMP max */
  16. /*
  17. * This is the maximum number of nodes that can be part of a kernel.
  18. * Effectively, it's the maximum number of compact node ids (cnodeid_t).
  19. */
  20. #define MAX_COMPACT_NODES 64
  21. /*
  22. * MAXCPUS refers to the maximum number of CPUs in a single kernel.
  23. * This is not necessarily the same as MAXNODES * CPUS_PER_NODE
  24. */
  25. #define MAXCPUS 128
  26. #else /* SN0XXL system */
  27. #define MAX_COMPACT_NODES 128
  28. #define MAXCPUS 256
  29. #endif /* SN0XXL */
  30. /*
  31. * This is the maximum number of NASIDS that can be present in a system.
  32. * (Highest NASID plus one.)
  33. */
  34. #define MAX_NASIDS 256
  35. /*
  36. * MAX_REGIONS refers to the maximum number of hardware partitioned regions.
  37. */
  38. #define MAX_REGIONS 64
  39. #define MAX_NONPREMIUM_REGIONS 16
  40. #define MAX_PREMIUM_REGIONS MAX_REGIONS
  41. /*
  42. * MAX_PARITIONS refers to the maximum number of logically defined
  43. * partitions the system can support.
  44. */
  45. #define MAX_PARTITIONS MAX_REGIONS
  46. #else
  47. #define MAX_COMPACT_NODES 4
  48. #define MAX_NASIDS 4
  49. #define MAXCPUS 8
  50. #endif
  51. #define NASID_MASK_BYTES ((MAX_NASIDS + 7) / 8)
  52. /*
  53. * Slot constants for SN0
  54. */
  55. #ifdef CONFIG_SGI_SN0_N_MODE
  56. #define MAX_MEM_SLOTS 16 /* max slots per node */
  57. #else /* !CONFIG_SGI_SN0_N_MODE, assume M_MODE */
  58. #define MAX_MEM_SLOTS 32 /* max slots per node */
  59. #endif /* defined(N_MODE) */
  60. #if SABLE_RTL
  61. #define SLOT_SHIFT (28)
  62. #define SLOT_MIN_MEM_SIZE (16*1024*1024)
  63. #else
  64. #define SLOT_SHIFT (27)
  65. #define SLOT_MIN_MEM_SIZE (32*1024*1024)
  66. #endif
  67. #define CPUS_PER_NODE 2 /* CPUs on a single hub */
  68. #define CPUS_PER_NODE_SHFT 1 /* Bits to shift in the node number */
  69. #define CPUS_PER_SUBNODE 2 /* CPUs on a single hub PI */
  70. #endif /* _ASM_SN_SN0_ARCH_H */