Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
chip_tilegx.h
Go to the documentation of this file.
1 /*
2  * Copyright 2011 Tilera Corporation. All Rights Reserved.
3  *
4  * This program is free software; you can redistribute it and/or
5  * modify it under the terms of the GNU General Public License
6  * as published by the Free Software Foundation, version 2.
7  *
8  * This program is distributed in the hope that it will be useful, but
9  * WITHOUT ANY WARRANTY; without even the implied warranty of
10  * MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE, GOOD TITLE or
11  * NON INFRINGEMENT. See the GNU General Public License for
12  * more details.
13  */
14 
15 /*
16  * @file
17  * Global header file.
18  * This header file specifies defines for TILE-Gx.
19  */
20 
21 #ifndef __ARCH_CHIP_H__
22 #define __ARCH_CHIP_H__
23 
29 #define TILE_CHIP 10
30 
37 #define TILE_CHIP_REV 0
38 
40 #define CHIP_ARCH_NAME "tilegx"
41 
43 #define CHIP_ELF_TYPE() EM_TILEGX
44 
46 #define CHIP_COMPAT_ELF_TYPE() 0x2597
47 
49 #define CHIP_WORD_SIZE() 64
50 
54 #define CHIP_VA_WIDTH() 42
55 
57 #define CHIP_PA_WIDTH() 40
58 
60 #define CHIP_L2_CACHE_SIZE() 262144
61 
63 #define CHIP_L2_LOG_LINE_SIZE() 6
64 
66 #define CHIP_L2_LINE_SIZE() (1 << CHIP_L2_LOG_LINE_SIZE())
67 
69 #define CHIP_L2_ASSOC() 8
70 
72 #define CHIP_L1D_CACHE_SIZE() 32768
73 
75 #define CHIP_L1D_LOG_LINE_SIZE() 6
76 
78 #define CHIP_L1D_LINE_SIZE() (1 << CHIP_L1D_LOG_LINE_SIZE())
79 
81 #define CHIP_L1D_ASSOC() 2
82 
84 #define CHIP_L1I_CACHE_SIZE() 32768
85 
87 #define CHIP_L1I_LOG_LINE_SIZE() 6
88 
90 #define CHIP_L1I_LINE_SIZE() (1 << CHIP_L1I_LOG_LINE_SIZE())
91 
93 #define CHIP_L1I_ASSOC() 2
94 
96 #define CHIP_FLUSH_STRIDE() CHIP_L2_LINE_SIZE()
97 
99 #define CHIP_INV_STRIDE() CHIP_L2_LINE_SIZE()
100 
102 #define CHIP_FINV_STRIDE() CHIP_L2_LINE_SIZE()
103 
105 #define CHIP_HAS_COHERENT_LOCAL_CACHE() 1
106 
108 #define CHIP_MAX_OUTSTANDING_VICTIMS() 128
109 
111 #define CHIP_HAS_NC_AND_NOALLOC_BITS() 1
112 
114 #define CHIP_HAS_CBOX_HOME_MAP() 1
115 
117 #define CHIP_CBOX_HOME_MAP_SIZE() 128
118 
121 #define CHIP_HAS_ENFORCED_UNCACHEABLE_REQUESTS() 1
122 
124 #define CHIP_HAS_MF_WAITS_FOR_VICTIMS() 0
125 
127 #define CHIP_HAS_INV() 1
128 
130 #define CHIP_HAS_WH64() 1
131 
133 #define CHIP_HAS_DWORD_ALIGN() 0
134 
136 #define CHIP_PERFORMANCE_COUNTERS() 4
137 
139 #define CHIP_HAS_AUX_PERF_COUNTERS() 1
140 
142 #define CHIP_HAS_CBOX_MSR1() 0
143 
145 #define CHIP_HAS_TILE_RTF_HWM() 1
146 
148 #define CHIP_HAS_TILE_WRITE_PENDING() 0
149 
151 #define CHIP_HAS_PROC_STATUS_SPR() 1
152 
154 #define CHIP_HAS_DSTREAM_PF() 1
155 
157 #define CHIP_LOG_NUM_MSHIMS() 2
158 
160 #define CHIP_HAS_FIXED_INTVEC_BASE() 0
161 
163 #define CHIP_HAS_SPLIT_INTR_MASK() 0
164 
166 #define CHIP_HAS_SPLIT_CYCLE() 0
167 
169 #define CHIP_HAS_SN() 0
170 
172 #define CHIP_HAS_SN_PROC() 0
173 
175 /* #define CHIP_L1SNI_CACHE_SIZE() -- does not apply to chip 10 */
176 
178 #define CHIP_HAS_TILE_DMA() 0
179 
185 #define CHIP_HAS_REV1_XDN() 1
186 
188 #define CHIP_HAS_CMPEXCH() 1
189 
191 #define CHIP_HAS_MMIO() 1
192 
194 #define CHIP_HAS_POST_COMPLETION_INTERRUPTS() 1
195 
197 #define CHIP_HAS_SINGLE_STEP() 1
198 
199 #ifndef __OPEN_SOURCE__ /* features only relevant to hypervisor-level code */
200 
202 #define CHIP_ITLB_ENTRIES() 16
203 
205 #define CHIP_DTLB_ENTRIES() 32
206 
208 #define CHIP_XAUI_MAF_ENTRIES() 32
209 
211 #define CHIP_HAS_MSHIM_SRCID_TABLE() 0
212 
214 #define CHIP_HAS_L1I_CLEAR_ON_RESET() 1
215 
219 #define CHIP_HAS_VALID_TILE_COORD_RESET() 1
220 
222 #define CHIP_HAS_UNIFIED_PACKET_FORMATS() 1
223 
225 #define CHIP_HAS_WRITE_REORDERING() 1
226 
228 #define CHIP_HAS_Y_X_ROUTING() 1
229 
231 #define CHIP_HAS_INTCTRL_3_STATUS_FIX() 1
232 
234 #define CHIP_HAS_BIG_ENDIAN_CONFIG() 1
235 
237 #define CHIP_HAS_CACHE_RED_WAY_OVERRIDDEN() 0
238 
240 #define CHIP_HAS_DIAG_TRACE_WAY() 0
241 
243 #define CHIP_HAS_MEM_STRIPE_CONFIG() 1
244 
246 #define CHIP_HAS_TLB_PERF() 1
247 
249 #define CHIP_HAS_VDN_SNOOP_SHIM_CTL() 0
250 
252 #define CHIP_HAS_REV1_DMA_PACKETS() 1
253 
255 #define CHIP_HAS_IPI() 1
256 
257 #endif /* !__OPEN_SOURCE__ */
258 #endif /* __ARCH_CHIP_H__ */