8322 nl: misleading-indentation
[unleashed/tickless.git] / usr / src / cmd / fm / eversholt / files / sparc / sun4v / zambezi.esc
blob4d3303a3ece8c04e84ad16ae6a75477ea71fef14
1 /*
2  * CDDL HEADER START
3  *
4  * The contents of this file are subject to the terms of the
5  * Common Development and Distribution License (the "License").
6  * You may not use this file except in compliance with the License.
7  *
8  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
9  * or http://www.opensolaris.org/os/licensing.
10  * See the License for the specific language governing permissions
11  * and limitations under the License.
12  *
13  * When distributing Covered Code, include this CDDL HEADER in each
14  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
15  * If applicable, add the following below this CDDL HEADER, with the
16  * fields enclosed by brackets "[]" replaced with your own identifying
17  * information: Portions Copyright [yyyy] [name of copyright owner]
18  *
19  * CDDL HEADER END
20  */
23  * Copyright 2007 Sun Microsystems, Inc.  All rights reserved.
24  * Use is subject to license terms.
25  */
27 #pragma ident   "%Z%%M% %I%     %E% SMI"
29 #pragma dictionary "SUN4V"
32  * Define FITrates for different types of errors.  For the ultrSPARC-T2plus
33  * interconnect, they are all defined to provide relative likelihood as
34  * actual FITrates are unavailable.  We define them here in case more
35  * accurate values become available in future.
36  */
37 #define CPU_CHIP_FIT            400
38 #define FPGA_FIT                400
39 #define FIRMWARE_HYPERVISOR_FIT 400
40 #define FIRMWARE_VBSC_FIT       400
41 #define INTERCONNECT_OPU_FIT    400
42 #define INTERCONNECT_LFU_F_FIT  400
43 #define INTERCONNECT_LFU_U_FIT  400
44 #define INTERCONNECT_LFU_C_FIT  400
45 #define INTERCONNECT_GPD_FIT    400
46 #define INTERCONNECT_ASU_FIT    400
49  * Define propogation delays for the ereports.
50  *
51  * For immediate processing, we specify a very short delay, which seems to
52  * work better than 0.  For ereports that are to be ignored, we delay longer,
53  * 1 second.
54  */
55 #define IGNORE_DELAY            1s
56 #define IMMEDIATE_DELAY         5ms
57 #define SERD_DELAY              1ms
58 #define RETRAIN_DELAY           5s
62  * Test for primary or secondary ereports
63  */
64 #define IS_PRIMARY              (payloadprop("primary"))
65 #define IS_SECONDARY            (! payloadprop("primary"))
69  * Tests to determine what CHIP is associated with an ereport
70  */
71 #define MATCH_CPUID(n)          (payloadprop("cpu-nodeid") == n)
75  * SERD values used by the LFU subsystem
76  */
77 #define LFU_CRC_SERD_N  22
78 #define LFU_CRC_SERD_T  30 min
82  * ASRU and FRU definitions used by this diagnosis engine.
83  */
84 asru motherboard;
85 asru interconnect;
86 asru chip;
87 fru  motherboard;
88 fru  cpuboard;
92  * Define the errors that propogate to a CHIP fault.
93  */
94 event error.cpu.ultraSPARC-T2plus.opu.protocol@chip;
95 event error.cpu.ultraSPARC-T2plus.lfu-c.chip@chip;
96 event error.cpu.ultraSPARC-T2plus.lfu-f.chip@chip;
97 event error.cpu.ultraSPARC-T2plus.lfu-u.chip@chip;
98 event error.cpu.ultraSPARC-T2plus.gpd-u.chip@chip;
99 event error.cpu.ultraSPARC-T2plus.gpd-c.chip@chip;
100 event error.cpu.ultraSPARC-T2plus.asu.protocol@chip;
102 event fault.cpu.ultraSPARC-T2plus.chip@chip
103     FITrate=CPU_CHIP_FIT, ASRU=chip, FRU=cpuboard;
105 prop fault.cpu.ultraSPARC-T2plus.chip@chip ->
106         error.cpu.ultraSPARC-T2plus.opu.protocol@chip,
107         error.cpu.ultraSPARC-T2plus.lfu-c.chip@chip,
108         error.cpu.ultraSPARC-T2plus.lfu-f.chip@chip,
109         error.cpu.ultraSPARC-T2plus.lfu-u.chip@chip,
110         error.cpu.ultraSPARC-T2plus.gpd-u.chip@chip,
111         error.cpu.ultraSPARC-T2plus.gpd-c.chip@chip,
112         error.cpu.ultraSPARC-T2plus.asu.protocol@chip;
116  * OPU Subsystem
117  */
118 event ereport.asic.zambezi.opu.ods-ctrl-parity@interconnect
119             {within (IMMEDIATE_DELAY)};
120 event ereport.asic.zambezi.opu.ods-data-coherent-read@interconnect
121             {within (IMMEDIATE_DELAY)};
122 event ereport.asic.zambezi.opu.ods-data-coherent-writeback@interconnect
123             {within (IMMEDIATE_DELAY)};
124 event ereport.asic.zambezi.opu.ods-data-destid@interconnect
125             {within (IMMEDIATE_DELAY)};
126 event ereport.asic.zambezi.opu.ods-data-parity@interconnect
127             {within (IMMEDIATE_DELAY)};
128 event ereport.asic.zambezi.opu.oqs-request-bad-nc-type@interconnect
129             {within (IMMEDIATE_DELAY)};
130 event ereport.asic.zambezi.opu.oqs-request-bad-read-type@interconnect
131             {within (IMMEDIATE_DELAY)};
132 event ereport.asic.zambezi.opu.oqs-request-bad-writeback-type@interconnect
133             {within (IMMEDIATE_DELAY)};
134 event ereport.asic.zambezi.opu.oqs-request-duplicate@interconnect
135             {within (IMMEDIATE_DELAY)};
136 event ereport.asic.zambezi.opu.ors-response-bad-nc-type@interconnect
137             {within (IMMEDIATE_DELAY)};
138 event ereport.asic.zambezi.opu.ors-response-bad-read-type@interconnect
139             {within (IMMEDIATE_DELAY)};
140 event ereport.asic.zambezi.opu.ors-response-bad-writeback-type@interconnect
141             {within (IMMEDIATE_DELAY)};
142 event ereport.asic.zambezi.opu.ors-response-duplicate@interconnect
143             {within (IMMEDIATE_DELAY)};
144 event ereport.asic.zambezi.opu.ors-response-inconsistent@interconnect
145             {within (IMMEDIATE_DELAY)};
146 event ereport.asic.zambezi.opu.ors-response-unexpected@interconnect
147             {within (IMMEDIATE_DELAY)};
148 event ereport.asic.zambezi.opu.ors-timeout-read@interconnect
149             {within (IMMEDIATE_DELAY)};
150 event ereport.asic.zambezi.opu.ors-timeout-writeback@interconnect
151             {within (IMMEDIATE_DELAY)};
155  * Declare the intermediate errors that will be generated by the ereports
156  * in this subsystem.  These errors will, in turn, propogate to the
157  * appropriate fault.
158  */
159 event error.asic.ultraSPARC-T2plus.interconnect.opu-u@interconnect;
160 event error.asic.ultraSPARC-T2plus.interconnect.opu-c@interconnect;
164  * This fault is diagnosed for uncorrectible OPU errors
165  */
166 event fault.asic.ultraSPARC-T2plus.interconnect.opu-u@interconnect
167     FITrate=INTERCONNECT_OPU_FIT, ASRU=interconnect, FRU=motherboard;
169 prop error.asic.ultraSPARC-T2plus.interconnect.opu-u@interconnect ->
170         ereport.asic.zambezi.opu.ods-ctrl-parity@interconnect;
172 prop fault.asic.ultraSPARC-T2plus.interconnect.opu-u@interconnect ->
173         error.asic.ultraSPARC-T2plus.interconnect.opu-u@interconnect;
177  * This fault is diagnosed for correctible OPU errors.
178  */
179 event fault.asic.ultraSPARC-T2plus.interconnect.opu-c@interconnect
180     FITrate=INTERCONNECT_OPU_FIT, ASRU=interconnect, FRU=motherboard;
182 prop error.asic.ultraSPARC-T2plus.interconnect.opu-c@interconnect ->
183         ereport.asic.zambezi.opu.ods-data-parity@interconnect;
185 prop fault.asic.ultraSPARC-T2plus.interconnect.opu-c@interconnect ->
186         error.asic.ultraSPARC-T2plus.interconnect.opu-c@interconnect;
190  * All of the following ereports are associated with a CHIP.  Propogate
191  * them to the appropriate error for diagnosis to a CHIP fault, above.
192  */
193 prop error.cpu.ultraSPARC-T2plus.opu.protocol@chip[chip_num] (0) ->
194         ereport.asic.zambezi.opu.ods-data-destid@interconnect
195             {MATCH_CPUID(chip_num)},
196         ereport.asic.zambezi.opu.ods-data-coherent-read@interconnect
197             {MATCH_CPUID(chip_num)},
198         ereport.asic.zambezi.opu.ods-data-coherent-writeback@interconnect
199             {MATCH_CPUID(chip_num)},
200         ereport.asic.zambezi.opu.oqs-request-bad-read-type@interconnect
201             {MATCH_CPUID(chip_num)},
202         ereport.asic.zambezi.opu.oqs-request-bad-writeback-type@interconnect
203             {MATCH_CPUID(chip_num)},
204         ereport.asic.zambezi.opu.oqs-request-bad-nc-type@interconnect
205             {MATCH_CPUID(chip_num)},
206         ereport.asic.zambezi.opu.oqs-request-duplicate@interconnect
207             {MATCH_CPUID(chip_num)},
208         ereport.asic.zambezi.opu.ors-response-unexpected@interconnect
209             {MATCH_CPUID(chip_num)},
210         ereport.asic.zambezi.opu.ors-response-duplicate@interconnect
211             {MATCH_CPUID(chip_num)},
212         ereport.asic.zambezi.opu.ors-response-inconsistent@interconnect
213             {MATCH_CPUID(chip_num)},
214         ereport.asic.zambezi.opu.ors-response-bad-read-type@interconnect
215             {MATCH_CPUID(chip_num)},
216         ereport.asic.zambezi.opu.ors-response-bad-writeback-type@interconnect
217             {MATCH_CPUID(chip_num)},
218         ereport.asic.zambezi.opu.ors-response-bad-nc-type@interconnect
219             {MATCH_CPUID(chip_num)},
220         ereport.asic.zambezi.opu.ors-timeout-read@interconnect
221             {MATCH_CPUID(chip_num)},
222         ereport.asic.zambezi.opu.ors-timeout-writeback@interconnect
223             {MATCH_CPUID(chip_num)};
228  * LFU Subsystem
229  */
230 event ereport.asic.zambezi.lfu.crc-error@interconnect
231             {within (SERD_DELAY)};
232 event ereport.asic.zambezi.lfu.data-invalid-or-unmapped@interconnect
233             {within (IMMEDIATE_DELAY)};
234 event ereport.asic.zambezi.lfu.electric-idle@interconnect
235             {within (RETRAIN_DELAY)};
236 event ereport.asic.zambezi.lfu.irq-overflow@interconnect
237             {within (IMMEDIATE_DELAY)};
238 event ereport.asic.zambezi.lfu.irq-parity@interconnect
239             {within (IMMEDIATE_DELAY)};
240 event ereport.asic.zambezi.lfu.irq-underflow@interconnect
241             {within (IMMEDIATE_DELAY)};
242 event ereport.asic.zambezi.lfu.lane-failure-slf@interconnect
243             {within (IMMEDIATE_DELAY)};
244 event ereport.asic.zambezi.lfu.lane-failure-mlf@interconnect
245             {within (IMMEDIATE_DELAY)};
246 event ereport.asic.zambezi.lfu.link-down-retrain@interconnect
247             {within (RETRAIN_DELAY)};
248 event ereport.asic.zambezi.lfu.link-down-retrain-failed@interconnect
249             {within (IMMEDIATE_DELAY)};
250 event ereport.asic.zambezi.lfu.link-down-second-replay@interconnect
251             {within (SERD_DELAY)};
252 event ereport.asic.zambezi.lfu.link-training-l05@interconnect
253             {within (IMMEDIATE_DELAY)};
254 event ereport.asic.zambezi.lfu.link-training-config@interconnect
255             {within (IMMEDIATE_DELAY)};
256 event ereport.asic.zambezi.lfu.link-training-state@interconnect
257             {within (IMMEDIATE_DELAY)};
258 event ereport.asic.zambezi.lfu.link-training-testing@interconnect
259             {within (IMMEDIATE_DELAY)};
260 event ereport.asic.zambezi.lfu.replay-lcf-rcvd-error@interconnect
261             {within (RETRAIN_DELAY)};
262 event ereport.asic.zambezi.lfu.replay-lcf-sent-error@interconnect
263             {within (RETRAIN_DELAY)};
264 event ereport.asic.zambezi.lfu.replay-parity@interconnect
265             {within (IMMEDIATE_DELAY)};
266 event ereport.asic.zambezi.lfu.reply-invalid-or-unmapped@interconnect
267             {within (IMMEDIATE_DELAY)};
268 event ereport.asic.zambezi.lfu.reply-tid-release-set@interconnect
269             {within (IMMEDIATE_DELAY)};
270 event ereport.asic.zambezi.lfu.retrain-error-disabled@interconnect
271             {within (RETRAIN_DELAY)};
272 event ereport.asic.zambezi.lfu.retrain-error-resume-timeout@interconnect
273             {within (RETRAIN_DELAY)};
274 event ereport.asic.zambezi.lfu.retrain-error-second-crc@interconnect
275             {within (RETRAIN_DELAY)};
276 event ereport.asic.zambezi.lfu.retrain-failed-disabled@interconnect
277             {within (IMMEDIATE_DELAY)};
278 event ereport.asic.zambezi.lfu.retrain-failed-resume-timeout@interconnect
279             {within (IMMEDIATE_DELAY)};
280 event ereport.asic.zambezi.lfu.retrain-failed-second-crc@interconnect
281             {within (IMMEDIATE_DELAY)};
284  * Declare the intermediate errors that will be generated by the ereports
285  * in this subsystem.  These errors will, in turn, propogate to the
286  * appropriate fault.
287  */
288 event error.asic.ultraSPARC-T2plus.interconnect.lfu-c@interconnect;
289 event error.asic.ultraSPARC-T2plus.interconnect.lfu-f@interconnect;
290 event error.asic.ultraSPARC-T2plus.interconnect.lfu-u@interconnect;
291 event error.asic.ultraSPARC-T2plus.interconnect.lfu.ignore@interconnect;
295  * Declare the upsets that may be diagnosed for the LFU subsystem
296  */
297 event upset.asic.ultraSPARC-T2plus.interconnect.lfu.ignore@interconnect;
301  * Declare the faults that may be generated for the LFU subsystem.
302  */
303 event fault.asic.ultraSPARC-T2plus.interconnect.lfu-c@interconnect
304     FITrate=INTERCONNECT_LFU_C_FIT, ASRU=interconnect, FRU=motherboard;
306 event fault.asic.ultraSPARC-T2plus.interconnect.lfu-f@interconnect
307     FITrate=INTERCONNECT_LFU_F_FIT, ASRU=interconnect, FRU=motherboard;
309 event fault.asic.ultraSPARC-T2plus.interconnect.lfu-u@interconnect
310     FITrate=INTERCONNECT_LFU_U_FIT, ASRU=interconnect, FRU=motherboard;
313  * Define how the intermediate errors propogate to faults for the LFU
314  * subsystem.
315  */
316 prop upset.asic.ultraSPARC-T2plus.interconnect.lfu.ignore@interconnect ->
317         error.asic.ultraSPARC-T2plus.interconnect.lfu.ignore@interconnect;
319 prop fault.asic.ultraSPARC-T2plus.interconnect.lfu-c@interconnect ->
320         error.asic.ultraSPARC-T2plus.interconnect.lfu-c@interconnect;
322 prop fault.asic.ultraSPARC-T2plus.interconnect.lfu-f@interconnect ->
323         error.asic.ultraSPARC-T2plus.interconnect.lfu-f@interconnect;
325 prop fault.asic.ultraSPARC-T2plus.interconnect.lfu-u@interconnect ->
326         error.asic.ultraSPARC-T2plus.interconnect.lfu-u@interconnect;
330  * We want to count CRC errors on each connection between an interconnect
331  * and a CHIP. Each interconnect is connected to each CHIP, so we need 16
332  * SERD engines (4 interconnects, and 4 CHIPs).
334  * The topology does not include interconnect/chip, so we cannot do this
335  * automatically.  Instead, we explicitly declare 4 sets of serd engine
336  * propogations, one for each CHIP, and let eversholt expand to all available
337  * interconnects.
338  */
339 event ereport.asic.ultraSPARC-T2plus.interconnect.lfu.crc-trip0@interconnect;
340 event ereport.asic.ultraSPARC-T2plus.interconnect.lfu.crc-trip1@interconnect;
341 event ereport.asic.ultraSPARC-T2plus.interconnect.lfu.crc-trip2@interconnect;
342 event ereport.asic.ultraSPARC-T2plus.interconnect.lfu.crc-trip3@interconnect;
344 prop error.asic.ultraSPARC-T2plus.interconnect.lfu-c@interconnect ->
345         ereport.asic.ultraSPARC-T2plus.interconnect.lfu.crc-trip0@interconnect,
346         ereport.asic.ultraSPARC-T2plus.interconnect.lfu.crc-trip1@interconnect,
347         ereport.asic.ultraSPARC-T2plus.interconnect.lfu.crc-trip2@interconnect,
348         ereport.asic.ultraSPARC-T2plus.interconnect.lfu.crc-trip3@interconnect;
351  * CHIP0 SERD rules
353  * These rules create a SERD engine for the connection between each
354  * interconnect and CHIP 0.
355  */
356 engine serd.asic.ultraSPARC-T2plus.interconnect.lfu.chip0@interconnect,
357     N=LFU_CRC_SERD_N, T=LFU_CRC_SERD_T, method=persistent,
358     trip=ereport.asic.ultraSPARC-T2plus.interconnect.lfu.crc-trip0@interconnect;
360 event upset.asic.ultraSPARC-T2plus.interconnect.lfu.crc.chip0@interconnect,
361     engine=serd.asic.ultraSPARC-T2plus.interconnect.lfu.chip0@interconnect;
363 event upset.asic.ultraSPARC-T2plus.interconnect.lfu.replay.chip0@interconnect,
364     engine=serd.asic.ultraSPARC-T2plus.interconnect.lfu.chip0@interconnect;
366 prop upset.asic.ultraSPARC-T2plus.interconnect.lfu.crc.chip0@interconnect ->
367         ereport.asic.zambezi.lfu.crc-error@interconnect
368             {MATCH_CPUID(0)};
370 prop upset.asic.ultraSPARC-T2plus.interconnect.lfu.replay.chip0@interconnect ->
371         ereport.asic.zambezi.lfu.link-down-second-replay@interconnect
372             {MATCH_CPUID(0)};
376  * CHIP1 SERD rules
378  * These rules create a SERD engine for the connection between each
379  * interconnect and CHIP 1.
380  */
381 engine serd.asic.ultraSPARC-T2plus.interconnect.lfu.chip1@interconnect,
382     N=LFU_CRC_SERD_N, T=LFU_CRC_SERD_T, method=persistent,
383     trip=ereport.asic.ultraSPARC-T2plus.interconnect.lfu.crc-trip1@interconnect;
385 event upset.asic.ultraSPARC-T2plus.interconnect.lfu.crc.chip1@interconnect,
386     engine=serd.asic.ultraSPARC-T2plus.interconnect.lfu.chip1@interconnect;
388 event upset.asic.ultraSPARC-T2plus.interconnect.lfu.replay.chip1@interconnect,
389     engine=serd.asic.ultraSPARC-T2plus.interconnect.lfu.chip1@interconnect;
391 prop upset.asic.ultraSPARC-T2plus.interconnect.lfu.crc.chip1@interconnect ->
392         ereport.asic.zambezi.lfu.crc-error@interconnect
393             {MATCH_CPUID(1)};
395 prop upset.asic.ultraSPARC-T2plus.interconnect.lfu.replay.chip1@interconnect ->
396         ereport.asic.zambezi.lfu.link-down-second-replay@interconnect
397             {MATCH_CPUID(1)};
401  * CHIP2 SERD rules
403  * These rules create a SERD engine for the connection between each
404  * interconnect and CHIP 2.
405  */
406 engine serd.asic.ultraSPARC-T2plus.interconnect.lfu.chip2@interconnect,
407     N=LFU_CRC_SERD_N, T=LFU_CRC_SERD_T, method=persistent,
408     trip=ereport.asic.ultraSPARC-T2plus.interconnect.lfu.crc-trip2@interconnect;
410 event upset.asic.ultraSPARC-T2plus.interconnect.lfu.crc.chip2@interconnect,
411     engine=serd.asic.ultraSPARC-T2plus.interconnect.lfu.chip2@interconnect;
413 event upset.asic.ultraSPARC-T2plus.interconnect.lfu.replay.chip2@interconnect,
414     engine=serd.asic.ultraSPARC-T2plus.interconnect.lfu.chip2@interconnect;
416 prop upset.asic.ultraSPARC-T2plus.interconnect.lfu.crc.chip2@interconnect ->
417         ereport.asic.zambezi.lfu.crc-error@interconnect
418             {MATCH_CPUID(2)};
420 prop upset.asic.ultraSPARC-T2plus.interconnect.lfu.replay.chip2@interconnect ->
421         ereport.asic.zambezi.lfu.link-down-second-replay@interconnect
422             {MATCH_CPUID(2)};
426  * CHIP3 SERD rules
428  * These rules create a SERD engine for the connection between each
429  * interconnect and CHIP 3.
430  */
431 engine serd.asic.ultraSPARC-T2plus.interconnect.lfu.chip3@interconnect,
432     N=LFU_CRC_SERD_N, T=LFU_CRC_SERD_T, method=persistent,
433     trip=ereport.asic.ultraSPARC-T2plus.interconnect.lfu.crc-trip3@interconnect;
435 event upset.asic.ultraSPARC-T2plus.interconnect.lfu.crc.chip3@interconnect,
436     engine=serd.asic.ultraSPARC-T2plus.interconnect.lfu.chip3@interconnect;
438 event upset.asic.ultraSPARC-T2plus.interconnect.lfu.replay.chip3@interconnect,
439     engine=serd.asic.ultraSPARC-T2plus.interconnect.lfu.chip3@interconnect;
441 prop upset.asic.ultraSPARC-T2plus.interconnect.lfu.crc.chip3@interconnect ->
442         ereport.asic.zambezi.lfu.crc-error@interconnect
443             {MATCH_CPUID(3)};
445 prop upset.asic.ultraSPARC-T2plus.interconnect.lfu.replay.chip3@interconnect ->
446         ereport.asic.zambezi.lfu.link-down-second-replay@interconnect
447             {MATCH_CPUID(3)};
451  * LFU propogations that generate
452  *      error.asic.ultraSPARC-T2plus.interconnect.lfu-f@interconnect
453  */
454 prop error.asic.ultraSPARC-T2plus.interconnect.lfu-f@interconnect ->
455         ereport.asic.zambezi.lfu.lane-failure-slf@interconnect;
459  * LFU propogations that generate
460  *      error.cpu.ultraSPARC-T2plus.lfu-f.chip@chip
461  */
462 prop error.cpu.ultraSPARC-T2plus.lfu-f.chip@chip[chip_num] (0) ->
463         ereport.asic.zambezi.lfu.lane-failure-slf@interconnect
464             {MATCH_CPUID(chip_num)};
468  * LFU propogations that generate
469  *      error.cpu.ultrSPARC-T2plus.lfu-u.chip
470  */
471 prop error.cpu.ultraSPARC-T2plus.lfu-u.chip@chip[chip_num] (0) ->
472         ereport.asic.zambezi.lfu.lane-failure-mlf@interconnect
473             {MATCH_CPUID(chip_num)},
474         ereport.asic.zambezi.lfu.link-training-state@interconnect
475             {MATCH_CPUID(chip_num)},
476         ereport.asic.zambezi.lfu.link-training-testing@interconnect
477             {MATCH_CPUID(chip_num)},
478         ereport.asic.zambezi.lfu.link-training-config@interconnect
479             {MATCH_CPUID(chip_num)},
480         ereport.asic.zambezi.lfu.link-training-l05@interconnect
481             {MATCH_CPUID(chip_num)},
482         ereport.asic.zambezi.lfu.link-down-retrain-failed@interconnect
483             {MATCH_CPUID(chip_num)},
484         ereport.asic.zambezi.lfu.retrain-failed-second-crc@interconnect
485             {MATCH_CPUID(chip_num)},
486         ereport.asic.zambezi.lfu.retrain-failed-resume-timeout@interconnect
487             {MATCH_CPUID(chip_num)},
488         ereport.asic.zambezi.lfu.retrain-failed-disabled@interconnect
489             {MATCH_CPUID(chip_num)};
492  * LFU propogations that generate
493  *      error.asic.ultraSPARC-T2plus.interconnect.lfu-u@interconnect
494  */
495 prop error.asic.ultraSPARC-T2plus.interconnect.lfu-u@interconnect ->
496         ereport.asic.zambezi.lfu.lane-failure-mlf@interconnect,
497         ereport.asic.zambezi.lfu.link-training-state@interconnect,
498         ereport.asic.zambezi.lfu.link-training-testing@interconnect,
499         ereport.asic.zambezi.lfu.link-training-config@interconnect,
500         ereport.asic.zambezi.lfu.link-training-l05@interconnect,
501         ereport.asic.zambezi.lfu.link-down-retrain-failed@interconnect,
502         ereport.asic.zambezi.lfu.retrain-failed-second-crc@interconnect,
503         ereport.asic.zambezi.lfu.retrain-failed-resume-timeout@interconnect,
504         ereport.asic.zambezi.lfu.retrain-failed-disabled@interconnect,
505         ereport.asic.zambezi.lfu.replay-parity@interconnect,
506         ereport.asic.zambezi.lfu.irq-parity@interconnect,
507         ereport.asic.zambezi.lfu.irq-underflow@interconnect;
510  * LFU propogations that generate
511  *      error.asic.ultraSPARC-T2plus.interconnect.lfu.ignore@interconnect
512  */
513 prop error.asic.ultraSPARC-T2plus.interconnect.lfu.ignore@interconnect ->
514         ereport.asic.zambezi.lfu.link-down-retrain@interconnect,
515         ereport.asic.zambezi.lfu.electric-idle@interconnect,
516         ereport.asic.zambezi.lfu.retrain-error-resume-timeout@interconnect,
517         ereport.asic.zambezi.lfu.retrain-error-second-crc@interconnect,
518         ereport.asic.zambezi.lfu.retrain-error-disabled@interconnect,
519         ereport.asic.zambezi.lfu.replay-lcf-rcvd-error@interconnect,
520         ereport.asic.zambezi.lfu.replay-lcf-sent-error@interconnect;
524  * LFU propogations that generate
525  *      error.cpu.ultraSPARC-T2plus.lfu-c.chip@chip
526  */
527 prop error.cpu.ultraSPARC-T2plus.lfu-c.chip@chip[chip_num] (0) ->
528         ereport.asic.ultraSPARC-T2plus.interconnect.lfu.crc-trip0@interconnect
529             {chip_num == 0},
530         ereport.asic.ultraSPARC-T2plus.interconnect.lfu.crc-trip1@interconnect
531             {chip_num == 1},
532         ereport.asic.ultraSPARC-T2plus.interconnect.lfu.crc-trip2@interconnect
533             {chip_num == 2},
534         ereport.asic.ultraSPARC-T2plus.interconnect.lfu.crc-trip3@interconnect
535             {chip_num == 3},
536         ereport.asic.zambezi.lfu.data-invalid-or-unmapped@interconnect
537             {MATCH_CPUID(chip_num)},
538         ereport.asic.zambezi.lfu.reply-invalid-or-unmapped@interconnect
539             {MATCH_CPUID(chip_num)},
540         ereport.asic.zambezi.lfu.reply-tid-release-set@interconnect
541             {MATCH_CPUID(chip_num)},
542         ereport.asic.zambezi.lfu.irq-overflow@interconnect
543             {MATCH_CPUID(chip_num)};
547  * GPD Subsystem
548  */
549 event ereport.asic.zambezi.gpd.jtag-access-violation@interconnect
550         {within(IMMEDIATE_DELAY)};
551 event ereport.asic.zambezi.gpd.jtag-mapped-timeout@interconnect
552         {within(IMMEDIATE_DELAY)};
553 event ereport.asic.zambezi.gpd.link-access-violation@interconnect
554         {within(IMMEDIATE_DELAY)};
555 event ereport.asic.zambezi.gpd.link-invalid-read-request@interconnect
556         {within(IMMEDIATE_DELAY)};
557 event ereport.asic.zambezi.gpd.link-invalid-write-request@interconnect
558         {within(IMMEDIATE_DELAY)};
559 event ereport.asic.zambezi.gpd.link-mapped-timeout@interconnect
560         {within(IMMEDIATE_DELAY)};
561 event ereport.asic.zambezi.gpd.link-unexpected-data-rcvd@interconnect
562         {within(IMMEDIATE_DELAY)};
563 event ereport.asic.zambezi.gpd.link-unexpected-request-rcvd@interconnect
564         {within(IMMEDIATE_DELAY)};
565 event ereport.asic.zambezi.gpd.link-write-data-bytemask-error@interconnect
566         {within(IMMEDIATE_DELAY)};
567 event ereport.asic.zambezi.gpd.link-write-data-c2c-set@interconnect
568         {within(IMMEDIATE_DELAY)};
569 event ereport.asic.zambezi.gpd.link-write-data-chunk-error@interconnect
570         {within(IMMEDIATE_DELAY)};
571 event ereport.asic.zambezi.gpd.link-write-data-error-bit-set@interconnect
572         {within(IMMEDIATE_DELAY)};
573 event ereport.asic.zambezi.gpd.link-write-data-timeout@interconnect
574         {within(IMMEDIATE_DELAY)};
575 event ereport.asic.zambezi.gpd.link-write-request-tid-invalid@interconnect
576         {within(IMMEDIATE_DELAY)};
577 event ereport.asic.zambezi.gpd.link-write-request-timeout@interconnect
578         {within(IMMEDIATE_DELAY)};
579 event ereport.asic.zambezi.gpd.link-write-tid-invalid@interconnect
580         {within(IMMEDIATE_DELAY)};
581 event ereport.asic.zambezi.gpd.lpc-access-violation@interconnect
582         {within(IMMEDIATE_DELAY)};
583 event ereport.asic.zambezi.gpd.lpc-invalid-abort@interconnect
584         {within(IMMEDIATE_DELAY)};
585 event ereport.asic.zambezi.gpd.lpc-invalid-cycle-type@interconnect
586         {within(IMMEDIATE_DELAY)};
587 event ereport.asic.zambezi.gpd.lpc-invalid-start@interconnect
588         {within(IMMEDIATE_DELAY)};
589 event ereport.asic.zambezi.gpd.lpc-mapped-timeout@interconnect
590         {within(IMMEDIATE_DELAY)};
591 event ereport.asic.zambezi.gpd.lpc-rw-interleave-error@interconnect
592         {within(IMMEDIATE_DELAY)};
595  * Declare the intermediate errors that will be generated by the ereports
596  * in this subsystem.  These errors will, in turn, propogate to the
597  * appropriate fault.
598  */
599 event error.asic.fpga@motherboard;
600 event error.asic.ultraSPARC-T2plus.interconnect.gpd@interconnect;
601 event error.asic.ultraSPARC-T2plus.interconnect.gpd.ignore@interconnect;
602 event error.asic.ultraSPARC-T2plus.interconnect.gpd-c@interconnect;
603 event error.asic.ultraSPARC-T2plus.interconnect.gpd-u@interconnect;
607  * Declare the upsets that may be diagnosed for this subsystem
608  */
609 event upset.asic.ultraSPARC-T2plus.interconnect.gpd.ignore@interconnect;
613  * Declare the faults that may be generated for this subsystem.
614  */
615 event fault.asic.fpga@motherboard
616     FITrate=FPGA_FIT, ASRU=motherboard, FRU=motherboard;
618 event fault.asic.ultraSPARC-T2plus.interconnect.gpd-c@interconnect
619     FITrate=INTERCONNECT_GPD_FIT, ASRU=interconnect, FRU=motherboard;
621 event fault.asic.ultraSPARC-T2plus.interconnect.gpd-u@interconnect
622     FITrate=INTERCONNECT_GPD_FIT, ASRU=interconnect, FRU=motherboard;
626  * Define how the intermediate errors propogate to faults for this subsystem.
627  */
628 prop fault.asic.fpga@motherboard ->
629         error.asic.fpga@motherboard;
631 prop upset.asic.ultraSPARC-T2plus.interconnect.gpd.ignore@interconnect ->
632         error.asic.ultraSPARC-T2plus.interconnect.gpd.ignore@interconnect;
634 prop fault.asic.ultraSPARC-T2plus.interconnect.gpd-u@interconnect ->
635         error.asic.ultraSPARC-T2plus.interconnect.gpd-u@interconnect;
637 prop fault.asic.ultraSPARC-T2plus.interconnect.gpd-c@interconnect ->
638         error.asic.ultraSPARC-T2plus.interconnect.gpd@interconnect,
639         error.asic.ultraSPARC-T2plus.interconnect.gpd-c@interconnect;
642  * GPD suspect list
643  *      fault.asic.ultraSPARC-T2plus.interconnect.gpd-u
644  *      fault.cpu.ultraSPARC-T2plus.chip
646  * Events in this list are diagnosed only if they are primary errors.
647  * The necessary information is unavailable for secondary errors, so
648  * they are logged but not diagnosed.
649  */
650 prop error.cpu.ultraSPARC-T2plus.gpd-u.chip@chip[chip_num] (0) ->
651         ereport.asic.zambezi.gpd.link-write-request-timeout@interconnect
652             {IS_PRIMARY && MATCH_CPUID(chip_num)},
653         ereport.asic.zambezi.gpd.link-write-data-timeout@interconnect
654             {IS_PRIMARY && MATCH_CPUID(chip_num)},
655         ereport.asic.zambezi.gpd.link-write-request-tid-invalid@interconnect
656             {IS_PRIMARY && MATCH_CPUID(chip_num)},
657         ereport.asic.zambezi.gpd.link-unexpected-data-rcvd@interconnect
658             {IS_PRIMARY && MATCH_CPUID(chip_num)},
659         ereport.asic.zambezi.gpd.link-unexpected-request-rcvd@interconnect
660             {IS_PRIMARY && MATCH_CPUID(chip_num)};
662 prop error.cpu.ultraSPARC-T2plus.gpd-c.chip@chip[chip_num] (0) ->
663         ereport.asic.zambezi.gpd.link-write-tid-invalid@interconnect
664             {IS_PRIMARY && MATCH_CPUID(chip_num)},
665         ereport.asic.zambezi.gpd.link-write-data-chunk-error@interconnect
666             {IS_PRIMARY && MATCH_CPUID(chip_num)},
667         ereport.asic.zambezi.gpd.link-write-data-c2c-set@interconnect
668             {IS_PRIMARY && MATCH_CPUID(chip_num)},
669         ereport.asic.zambezi.gpd.link-write-data-error-bit-set@interconnect
670             {IS_PRIMARY && MATCH_CPUID(chip_num)},
671         ereport.asic.zambezi.gpd.link-invalid-write-request@interconnect
672             {IS_PRIMARY && MATCH_CPUID(chip_num)},
673         ereport.asic.zambezi.gpd.link-write-data-bytemask-error@interconnect
674             {IS_PRIMARY && MATCH_CPUID(chip_num)},
675         ereport.asic.zambezi.gpd.link-mapped-timeout@interconnect
676             {IS_PRIMARY && MATCH_CPUID(chip_num)},
677         ereport.asic.zambezi.gpd.link-access-violation@interconnect
678             {IS_PRIMARY && MATCH_CPUID(chip_num)},
679         ereport.asic.zambezi.gpd.link-invalid-read-request@interconnect
680             {IS_PRIMARY && MATCH_CPUID(chip_num)};
682 prop error.asic.ultraSPARC-T2plus.interconnect.gpd-u@interconnect ->
683         ereport.asic.zambezi.gpd.link-write-request-timeout@interconnect
684             {IS_PRIMARY},
685         ereport.asic.zambezi.gpd.link-write-data-timeout@interconnect
686             {IS_PRIMARY},
687         ereport.asic.zambezi.gpd.link-write-request-tid-invalid@interconnect
688             {IS_PRIMARY},
689         ereport.asic.zambezi.gpd.link-unexpected-data-rcvd@interconnect
690             {IS_PRIMARY},
691         ereport.asic.zambezi.gpd.link-unexpected-request-rcvd@interconnect
692             {IS_PRIMARY};
694 prop error.asic.ultraSPARC-T2plus.interconnect.gpd.ignore@interconnect ->
695         ereport.asic.zambezi.gpd.link-write-request-timeout@interconnect
696             {IS_SECONDARY},
697         ereport.asic.zambezi.gpd.link-write-data-timeout@interconnect
698             {IS_SECONDARY},
699         ereport.asic.zambezi.gpd.link-write-request-tid-invalid@interconnect
700             {IS_SECONDARY},
701         ereport.asic.zambezi.gpd.link-unexpected-data-rcvd@interconnect
702             {IS_SECONDARY},
703         ereport.asic.zambezi.gpd.link-unexpected-request-rcvd@interconnect
704             {IS_SECONDARY},
705         ereport.asic.zambezi.gpd.link-write-tid-invalid@interconnect
706             {IS_SECONDARY},
707         ereport.asic.zambezi.gpd.link-write-data-chunk-error@interconnect
708             {IS_SECONDARY},
709         ereport.asic.zambezi.gpd.link-write-data-c2c-set@interconnect
710             {IS_SECONDARY},
711         ereport.asic.zambezi.gpd.link-write-data-error-bit-set@interconnect
712             {IS_SECONDARY},
713         ereport.asic.zambezi.gpd.link-invalid-write-request@interconnect
714             {IS_SECONDARY},
715         ereport.asic.zambezi.gpd.link-write-data-bytemask-error@interconnect
716             {IS_SECONDARY},
717         ereport.asic.zambezi.gpd.link-mapped-timeout@interconnect
718             {IS_SECONDARY},
719         ereport.asic.zambezi.gpd.link-access-violation@interconnect
720             {IS_SECONDARY},
721         ereport.asic.zambezi.gpd.link-invalid-read-request@interconnect
722             {IS_SECONDARY};
724 prop error.asic.ultraSPARC-T2plus.interconnect.gpd-c@interconnect ->
725         ereport.asic.zambezi.gpd.link-write-tid-invalid@interconnect
726             {IS_PRIMARY},
727         ereport.asic.zambezi.gpd.link-write-data-chunk-error@interconnect
728             {IS_PRIMARY},
729         ereport.asic.zambezi.gpd.link-write-data-c2c-set@interconnect
730             {IS_PRIMARY},
731         ereport.asic.zambezi.gpd.link-write-data-error-bit-set@interconnect
732             {IS_PRIMARY},
733         ereport.asic.zambezi.gpd.link-invalid-write-request@interconnect
734             {IS_PRIMARY},
735         ereport.asic.zambezi.gpd.link-write-data-bytemask-error@interconnect
736             {IS_PRIMARY},
737         ereport.asic.zambezi.gpd.link-mapped-timeout@interconnect
738             {IS_PRIMARY},
739         ereport.asic.zambezi.gpd.link-access-violation@interconnect
740             {IS_PRIMARY},
741         ereport.asic.zambezi.gpd.link-invalid-read-request@interconnect
742             {IS_PRIMARY};
744 prop error.asic.ultraSPARC-T2plus.interconnect.gpd@interconnect ->
745         ereport.asic.zambezi.gpd.jtag-access-violation@interconnect,
746         ereport.asic.zambezi.gpd.jtag-mapped-timeout@interconnect,
747         ereport.asic.zambezi.gpd.lpc-mapped-timeout@interconnect,
748         ereport.asic.zambezi.gpd.lpc-access-violation@interconnect,
749         ereport.asic.zambezi.gpd.lpc-rw-interleave-error@interconnect,
750         ereport.asic.zambezi.gpd.lpc-invalid-abort@interconnect,
751         ereport.asic.zambezi.gpd.lpc-invalid-start@interconnect,
752         ereport.asic.zambezi.gpd.lpc-invalid-cycle-type@interconnect;
754 prop error.asic.fpga@motherboard (0) ->
755         ereport.asic.zambezi.gpd.lpc-invalid-abort@interconnect,
756         ereport.asic.zambezi.gpd.lpc-invalid-start@interconnect,
757         ereport.asic.zambezi.gpd.lpc-invalid-cycle-type@interconnect;
761  * ASU Subsystem
762  */
763 event ereport.asic.zambezi.asu.cam-parity-error@interconnect
764         {within(IMMEDIATE_DELAY)};
765 event ereport.asic.zambezi.asu.invalid-nc-destid@interconnect
766         {within(IMMEDIATE_DELAY)};
767 event ereport.asic.zambezi.asu.invalid-tid-cacheable@interconnect
768         {within(IMMEDIATE_DELAY)};
769 event ereport.asic.zambezi.asu.invalid-tid-non-cacheable@interconnect
770         {within(IMMEDIATE_DELAY)};
771 event ereport.asic.zambezi.asu.invalid-wb-destid@interconnect
772         {within(IMMEDIATE_DELAY)};
773 event ereport.asic.zambezi.asu.malformed-wb@interconnect
774         {within(IMMEDIATE_DELAY)};
775 event ereport.asic.zambezi.asu.pending-ram-parity-error@interconnect
776         {within(IMMEDIATE_DELAY)};
777 event ereport.asic.zambezi.asu.pending-tid-ram-parity-error@interconnect
778         {within(IMMEDIATE_DELAY)};
781  * Declare the intermediate errors that will be generated by the ereports
782  * in this subsystem.  These errors will, in turn, propogate to the
783  * appropriate fault.
784  */
785 event error.asic.ultraSPARC-T2plus.interconnect.asu.ignore@interconnect;
786 event error.asic.ultraSPARC-T2plus.interconnect.asu@interconnect;
790  * Declare the upsets that may be diagnosed for this subsystem
791  */
792 event upset.asic.ultraSPARC-T2plus.interconnect.asu.ignore@interconnect;
796  * Declare the faults that may be generated for this subsystem.
797  */
798 event fault.asic.ultraSPARC-T2plus.interconnect.asu@interconnect
799     FITrate=INTERCONNECT_ASU_FIT, ASRU=interconnect, FRU=motherboard;
803  * Define how the intermediate errors propogate to faults for this subsystem.
804  */
805 prop upset.asic.ultraSPARC-T2plus.interconnect.asu.ignore@interconnect ->
806         error.asic.ultraSPARC-T2plus.interconnect.asu.ignore@interconnect;
808 prop fault.asic.ultraSPARC-T2plus.interconnect.asu@interconnect ->
809         error.asic.ultraSPARC-T2plus.interconnect.asu@interconnect;
812 prop error.cpu.ultraSPARC-T2plus.asu.protocol@chip[chip_num] (0) ->
813         ereport.asic.zambezi.asu.invalid-nc-destid@interconnect
814             {IS_PRIMARY && MATCH_CPUID(chip_num)},
815         ereport.asic.zambezi.asu.invalid-tid-non-cacheable@interconnect
816             {IS_PRIMARY && MATCH_CPUID(chip_num)},
817         ereport.asic.zambezi.asu.invalid-wb-destid@interconnect
818             {IS_PRIMARY && MATCH_CPUID(chip_num)},
819         ereport.asic.zambezi.asu.malformed-wb@interconnect
820             {IS_PRIMARY && MATCH_CPUID(chip_num)},
821         ereport.asic.zambezi.asu.invalid-tid-cacheable@interconnect
822             {IS_PRIMARY && MATCH_CPUID(chip_num)};
824 prop error.asic.ultraSPARC-T2plus.interconnect.asu.ignore@interconnect ->
825         ereport.asic.zambezi.asu.invalid-nc-destid@interconnect
826             {IS_SECONDARY},
827         ereport.asic.zambezi.asu.invalid-tid-non-cacheable@interconnect
828             {IS_SECONDARY},
829         ereport.asic.zambezi.asu.invalid-wb-destid@interconnect
830             {IS_SECONDARY},
831         ereport.asic.zambezi.asu.malformed-wb@interconnect
832             {IS_SECONDARY},
833         ereport.asic.zambezi.asu.invalid-tid-cacheable@interconnect
834             {IS_SECONDARY};
836 prop error.asic.ultraSPARC-T2plus.interconnect.asu@interconnect ->
837         ereport.asic.zambezi.asu.pending-ram-parity-error@interconnect,
838         ereport.asic.zambezi.asu.pending-tid-ram-parity-error@interconnect,
839         ereport.asic.zambezi.asu.cam-parity-error@interconnect;