Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
arch.h
Go to the documentation of this file.
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 ([email protected])
10  */
11 #ifndef _ASM_SN_SN0_ARCH_H
12 #define _ASM_SN_SN0_ARCH_H
13 
14 
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 /*
23  * MAXCPUS refers to the maximum number of CPUs in a single kernel.
24  * This is not necessarily the same as MAXNODES * CPUS_PER_NODE
25  */
26 #define MAXCPUS 128
27 
28 #else /* SN0XXL system */
29 
30 #define MAX_COMPACT_NODES 128
31 #define MAXCPUS 256
32 
33 #endif /* SN0XXL */
34 
35 /*
36  * This is the maximum number of NASIDS that can be present in a system.
37  * (Highest NASID plus one.)
38  */
39 #define MAX_NASIDS 256
40 
41 /*
42  * MAX_REGIONS refers to the maximum number of hardware partitioned regions.
43  */
44 #define MAX_REGIONS 64
45 #define MAX_NONPREMIUM_REGIONS 16
46 #define MAX_PREMIUM_REGIONS MAX_REGIONS
47 
48 /*
49  * MAX_PARITIONS refers to the maximum number of logically defined
50  * partitions the system can support.
51  */
52 #define MAX_PARTITIONS MAX_REGIONS
53 
54 #define NASID_MASK_BYTES ((MAX_NASIDS + 7) / 8)
55 
56 /*
57  * Slot constants for SN0
58  */
59 #ifdef CONFIG_SGI_SN_N_MODE
60 #define MAX_MEM_SLOTS 16 /* max slots per node */
61 #else /* !CONFIG_SGI_SN_N_MODE, assume CONFIG_SGI_SN_M_MODE */
62 #define MAX_MEM_SLOTS 32 /* max slots per node */
63 #endif /* CONFIG_SGI_SN_M_MODE */
64 
65 #define SLOT_SHIFT (27)
66 #define SLOT_MIN_MEM_SIZE (32*1024*1024)
67 
68 #define CPUS_PER_NODE 2 /* CPUs on a single hub */
69 #define CPUS_PER_NODE_SHFT 1 /* Bits to shift in the node number */
70 #define CPUS_PER_SUBNODE 2 /* CPUs on a single hub PI */
71 
72 #endif /* _ASM_SN_SN0_ARCH_H */