blob: 3172d1edae298659dc91b2b8f6d9b916cb1f857b [file] [log] [blame]
Zane Shelleyb9ea93c2023-03-10 10:41:41 -06001{
2 "version": 1,
3 "model_ec": ["P10_10"],
4 "registers": {
5 "CORE_THREAD_STATE": {
6 "instances": {
7 "0": "0x20028412",
8 "1": "0x20024412",
9 "2": "0x20022412",
10 "3": "0x20021412",
11 "4": "0x21028412",
12 "5": "0x21024412",
13 "6": "0x21022412",
14 "7": "0x21021412",
15 "8": "0x22028412",
16 "9": "0x22024412",
17 "10": "0x22022412",
18 "11": "0x22021412",
19 "12": "0x23028412",
20 "13": "0x23024412",
21 "14": "0x23022412",
22 "15": "0x23021412",
23 "16": "0x24028412",
24 "17": "0x24024412",
25 "18": "0x24022412",
26 "19": "0x24021412",
27 "20": "0x25028412",
28 "21": "0x25024412",
29 "22": "0x25022412",
30 "23": "0x25021412",
31 "24": "0x26028412",
32 "25": "0x26024412",
33 "26": "0x26022412",
34 "27": "0x26021412",
35 "28": "0x27028412",
36 "29": "0x27024412",
37 "30": "0x27022412",
38 "31": "0x27021412"
39 }
40 },
41 "EQ_SPATTN": {
42 "instances": {
43 "0": "0x20028499",
44 "1": "0x20024499",
45 "2": "0x20022499",
46 "3": "0x20021499",
47 "4": "0x21028499",
48 "5": "0x21024499",
49 "6": "0x21022499",
50 "7": "0x21021499",
51 "8": "0x22028499",
52 "9": "0x22024499",
53 "10": "0x22022499",
54 "11": "0x22021499",
55 "12": "0x23028499",
56 "13": "0x23024499",
57 "14": "0x23022499",
58 "15": "0x23021499",
59 "16": "0x24028499",
60 "17": "0x24024499",
61 "18": "0x24022499",
62 "19": "0x24021499",
63 "20": "0x25028499",
64 "21": "0x25024499",
65 "22": "0x25022499",
66 "23": "0x25021499",
67 "24": "0x26028499",
68 "25": "0x26024499",
69 "26": "0x26022499",
70 "27": "0x26021499",
71 "28": "0x27028499",
72 "29": "0x27024499",
73 "30": "0x27022499",
74 "31": "0x27021499"
75 }
76 },
77 "EQ_SPATTN_MASK": {
78 "instances": {
79 "0": "0x2002849A",
80 "1": "0x2002449A",
81 "2": "0x2002249A",
82 "3": "0x2002149A",
83 "4": "0x2102849A",
84 "5": "0x2102449A",
85 "6": "0x2102249A",
86 "7": "0x2102149A",
87 "8": "0x2202849A",
88 "9": "0x2202449A",
89 "10": "0x2202249A",
90 "11": "0x2202149A",
91 "12": "0x2302849A",
92 "13": "0x2302449A",
93 "14": "0x2302249A",
94 "15": "0x2302149A",
95 "16": "0x2402849A",
96 "17": "0x2402449A",
97 "18": "0x2402249A",
98 "19": "0x2402149A",
99 "20": "0x2502849A",
100 "21": "0x2502449A",
101 "22": "0x2502249A",
102 "23": "0x2502149A",
103 "24": "0x2602849A",
104 "25": "0x2602449A",
105 "26": "0x2602249A",
106 "27": "0x2602149A",
107 "28": "0x2702849A",
108 "29": "0x2702449A",
109 "30": "0x2702249A",
110 "31": "0x2702149A"
111 }
112 }
113 },
114 "isolation_nodes": {
115 "EQ_CORE_THREAD_STATE": {
116 "instances": [
117 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17,
118 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31
119 ],
120 "rules": [
121 {
122 "attn_type": ["SPA"],
123 "node_inst": [
124 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
125 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29,
126 30, 31
127 ],
128 "expr": {
129 "expr_type": "or",
130 "exprs": [
131 {
132 "expr_type": "lshift",
133 "expr": {
134 "expr_type": "and",
135 "exprs": [
136 {
137 "expr_type": "not",
138 "expr": {
139 "expr_type": "reg",
140 "reg_name": "CORE_THREAD_STATE"
141 }
142 },
143 {
144 "expr_type": "int",
145 "int_value": "0x0000000000000001"
146 }
147 ]
148 },
149 "shift_value": 63
150 },
151 {
152 "expr_type": "lshift",
153 "expr": {
154 "expr_type": "and",
155 "exprs": [
156 {
157 "expr_type": "reg",
158 "reg_name": "CORE_THREAD_STATE"
159 },
160 {
161 "expr_type": "int",
162 "int_value": "0x0000000000000001"
163 }
164 ]
165 },
166 "shift_value": 62
167 }
168 ]
169 }
170 }
171 ],
172 "bits": {
173 "0": {
174 "desc": "EQ_SPATTN normal core mode",
175 "child_node": {
176 "name": "EQ_SPATTN_NORMAL",
177 "inst": {
178 "0": 0,
179 "1": 1,
180 "2": 2,
181 "3": 3,
182 "4": 4,
183 "5": 5,
184 "6": 6,
185 "7": 7,
186 "8": 8,
187 "9": 9,
188 "10": 10,
189 "11": 11,
190 "12": 12,
191 "13": 13,
192 "14": 14,
193 "15": 15,
194 "16": 16,
195 "17": 17,
196 "18": 18,
197 "19": 19,
198 "20": 20,
199 "21": 21,
200 "22": 22,
201 "23": 23,
202 "24": 24,
203 "25": 25,
204 "26": 26,
205 "27": 27,
206 "28": 28,
207 "29": 29,
208 "30": 30,
209 "31": 31
210 }
211 }
212 },
213 "1": {
214 "desc": "EQ_SPATTN fused core mode",
215 "child_node": {
216 "name": "EQ_SPATTN_FUSED",
217 "inst": {
218 "0": 0,
219 "1": 1,
220 "2": 2,
221 "3": 3,
222 "4": 4,
223 "5": 5,
224 "6": 6,
225 "7": 7,
226 "8": 8,
227 "9": 9,
228 "10": 10,
229 "11": 11,
230 "12": 12,
231 "13": 13,
232 "14": 14,
233 "15": 15,
234 "16": 16,
235 "17": 17,
236 "18": 18,
237 "19": 19,
238 "20": 20,
239 "21": 21,
240 "22": 22,
241 "23": 23,
242 "24": 24,
243 "25": 25,
244 "26": 26,
245 "27": 27,
246 "28": 28,
247 "29": 29,
248 "30": 30,
249 "31": 31
250 }
251 }
252 }
253 }
254 },
255 "EQ_SPATTN_NORMAL": {
256 "instances": [
257 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17,
258 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31
259 ],
260 "rules": [
261 {
262 "attn_type": ["SPA"],
263 "node_inst": [
264 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
265 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29,
266 30, 31
267 ],
268 "expr": {
269 "expr_type": "and",
270 "exprs": [
271 {
272 "expr_type": "reg",
273 "reg_name": "EQ_SPATTN"
274 },
275 {
276 "expr_type": "not",
277 "expr": {
278 "expr_type": "reg",
279 "reg_name": "EQ_SPATTN_MASK"
280 }
281 },
282 {
283 "expr_type": "int",
284 "int_value": "0xFFFF000000000000"
285 }
286 ]
287 }
288 }
289 ],
290 "bits": {
291 "0": {
292 "desc": "lt0_spr_instr_stop"
293 },
294 "1": {
295 "desc": "lt0_attn_complete"
296 },
297 "2": {
298 "desc": "lt0_core_checkstop_recovery_handshake"
299 },
300 "3": {
301 "desc": "lt0_core_code_to_sp"
302 },
303 "4": {
304 "desc": "lt1_spr_instr_stop"
305 },
306 "5": {
307 "desc": "lt1_attn_complete"
308 },
309 "6": {
310 "desc": "lt1_core_checkstop_recovery_handshake"
311 },
312 "7": {
313 "desc": "lt1_core_code_to_sp"
314 },
315 "8": {
316 "desc": "lt2_spr_instr_stop"
317 },
318 "9": {
319 "desc": "lt2_attn_complete"
320 },
321 "10": {
322 "desc": "lt2_core_checkstop_recovery_handshake"
323 },
324 "11": {
325 "desc": "lt2_core_code_to_sp"
326 },
327 "12": {
328 "desc": "lt3_spr_instr_stop"
329 },
330 "13": {
331 "desc": "lt3_attn_complete"
332 },
333 "14": {
334 "desc": "lt3_core_checkstop_recovery_handshake"
335 },
336 "15": {
337 "desc": "lt3_core_code_to_sp"
338 }
339 }
340 },
341 "EQ_SPATTN_FUSED": {
342 "instances": [
343 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17,
344 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31
345 ],
346 "rules": [
347 {
348 "attn_type": ["SPA"],
349 "node_inst": [
350 0, 2, 4, 6, 8, 10, 12, 14, 16, 18, 20, 22, 24, 26, 28,
351 30
352 ],
353 "expr": {
354 "expr_type": "and",
355 "exprs": [
356 {
357 "expr_type": "reg",
358 "reg_name": "EQ_SPATTN"
359 },
360 {
361 "expr_type": "not",
362 "expr": {
363 "expr_type": "reg",
364 "reg_name": "EQ_SPATTN_MASK"
365 }
366 },
367 {
368 "expr_type": "int",
369 "int_value": "0xF0F0F0F000000000"
370 }
371 ]
372 }
373 },
374 {
375 "attn_type": ["SPA"],
376 "node_inst": [
377 1, 3, 5, 7, 9, 11, 13, 15, 17, 19, 21, 23, 25, 27, 29,
378 31
379 ],
380 "expr": {
381 "expr_type": "and",
382 "exprs": [
383 {
384 "expr_type": "reg",
385 "reg_name": "EQ_SPATTN"
386 },
387 {
388 "expr_type": "not",
389 "expr": {
390 "expr_type": "reg",
391 "reg_name": "EQ_SPATTN_MASK"
392 }
393 },
394 {
395 "expr_type": "int",
396 "int_value": "0x0F0F0F0F00000000"
397 }
398 ]
399 }
400 }
401 ],
402 "bits": {
403 "0": {
404 "desc": "lt0_spr_instr_stop"
405 },
406 "1": {
407 "desc": "lt0_attn_complete"
408 },
409 "2": {
410 "desc": "lt0_core_checkstop_recovery_handshake"
411 },
412 "3": {
413 "desc": "lt0_core_code_to_sp"
414 },
415 "4": {
416 "desc": "lt1_spr_instr_stop"
417 },
418 "5": {
419 "desc": "lt1_attn_complete"
420 },
421 "6": {
422 "desc": "lt1_core_checkstop_recovery_handshake"
423 },
424 "7": {
425 "desc": "lt1_core_code_to_sp"
426 },
427 "8": {
428 "desc": "lt2_spr_instr_stop"
429 },
430 "9": {
431 "desc": "lt2_attn_complete"
432 },
433 "10": {
434 "desc": "lt2_core_checkstop_recovery_handshake"
435 },
436 "11": {
437 "desc": "lt2_core_code_to_sp"
438 },
439 "12": {
440 "desc": "lt3_spr_instr_stop"
441 },
442 "13": {
443 "desc": "lt3_attn_complete"
444 },
445 "14": {
446 "desc": "lt3_core_checkstop_recovery_handshake"
447 },
448 "15": {
449 "desc": "lt3_core_code_to_sp"
450 },
451 "16": {
452 "desc": "lt4_spr_instr_stop"
453 },
454 "17": {
455 "desc": "lt4_attn_complete"
456 },
457 "18": {
458 "desc": "lt4_core_checkstop_recovery_handshake"
459 },
460 "19": {
461 "desc": "lt4_core_code_to_sp"
462 },
463 "20": {
464 "desc": "lt5_spr_instr_stop"
465 },
466 "21": {
467 "desc": "lt5_attn_complete"
468 },
469 "22": {
470 "desc": "lt5_core_checkstop_recovery_handshake"
471 },
472 "23": {
473 "desc": "lt5_core_code_to_sp"
474 },
475 "24": {
476 "desc": "lt6_spr_instr_stop"
477 },
478 "25": {
479 "desc": "lt6_attn_complete"
480 },
481 "26": {
482 "desc": "lt6_core_checkstop_recovery_handshake"
483 },
484 "27": {
485 "desc": "lt6_core_code_to_sp"
486 },
487 "28": {
488 "desc": "lt7_spr_instr_stop"
489 },
490 "29": {
491 "desc": "lt7_attn_complete"
492 },
493 "30": {
494 "desc": "lt7_core_checkstop_recovery_handshake"
495 },
496 "31": {
497 "desc": "lt7_core_code_to_sp"
498 }
499 }
500 }
501 }
502}