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 */ 21 22/* 23 * Copyright 2008 Sun Microsystems, Inc. All rights reserved. 24 * Use is subject to license terms. 25 */ 26 27#pragma ident "%Z%%M% %I% %E% SMI" 28 29#pragma dictionary "INTEL" 30 31/* 32 * Eversholt rules for the intel CPU/Memory 33 */ 34 35/* CPU errors detected through MCA */ 36 37fru motherboard/chip; 38 39asru motherboard/chip/cpu; 40 41/* 42 * Ereports for Simple error codes. 43 */ 44 45#define SMPL_EVENT(leafclass, t) \ 46 event ereport.cpu.intel.leafclass@chip/cpu { within(t) } 47 48SMPL_EVENT(unknown, 1s); 49SMPL_EVENT(unclassified, 1s); 50SMPL_EVENT(microcode_rom_parity, 1s); 51SMPL_EVENT(external, 1s); 52SMPL_EVENT(frc, 1s); 53SMPL_EVENT(internal_timer, 1s); 54SMPL_EVENT(internal_unclassified, 1s); 55 56/* 57 * Propogations for all but "external" and "unknown" simple errors. 58 * If the error is uncorrected we produce a fault immediately, otherwise 59 * we diagnose it to an upset and decalre a fault when the SERD engine 60 * trips. 61 */ 62 63/* Simple fault event */ 64event fault.cpu.intel.internal@chip/cpu, 65 ASRU=motherboard/chip/cpu, FRU=motherboard/chip, 66 FITrate=1000; 67 68/* Produced when the correctable engine trips */ 69event ereport.cpu.intel.simple_trip@chip/cpu { within(1s) }; 70 71/* Upset to diagnose corrected events to */ 72event upset.cpu.intel.simple@chip/cpu 73 engine=serd.cpu.intel.simple@chip/cpu; 74 75/* SERD engine for corrected simple errors */ 76engine serd.cpu.intel.simple@chip/cpu, 77 N=3, T=72h, method=persistent, 78 trip=ereport.cpu.intel.simple_trip@chip/cpu; 79 80#define STATUS_UC \ 81 (payloadprop("error_uncorrected") + 0 == 1) 82 83/* Diagnose corrected events to upsets */ 84prop upset.cpu.intel.simple@chip/cpu 85 { !STATUS_UC } (1)-> 86 ereport.cpu.intel.microcode_rom_parity@chip/cpu, 87 ereport.cpu.intel.internal_timer@chip/cpu, 88 ereport.cpu.intel.unclassified@chip/cpu, 89 ereport.cpu.intel.internal_unclassified@chip/cpu, 90 ereport.cpu.intel.frc@chip/cpu; 91 92/* When the correctable engine trips, diagnose a fault */ 93prop fault.cpu.intel.internal@chip/cpu (0)-> 94 ereport.cpu.intel.simple_trip@chip/cpu; 95 96/* Diagnose uncorrected events to faults */ 97prop fault.cpu.intel.internal@chip/cpu 98 { STATUS_UC } (0)-> 99 ereport.cpu.intel.microcode_rom_parity@chip/cpu, 100 ereport.cpu.intel.internal_timer@chip/cpu, 101 ereport.cpu.intel.unclassified@chip/cpu, 102 ereport.cpu.intel.internal_unclassified@chip/cpu, 103 ereport.cpu.intel.frc@chip/cpu; 104 105/* 106 * Ereports for Compound error codes. These are in pairs "foo" and "foo_uc" 107 * for the corrected and uncorrected version of each error type. All are 108 * detected at chip/cpu. 109 */ 110 111#define CMPND_EVENT(leafclass, t) \ 112 event ereport.cpu.intel.leafclass@chip/cpu { within(t) }; \ 113 event ereport.cpu.intel.leafclass/**/_uc@chip/cpu { within(t) } 114 115/* 116 * Ereports for Compound error codes - intel errors 117 */ 118CMPND_EVENT(l0cache, 1s); 119CMPND_EVENT(l1cache, 1s); 120CMPND_EVENT(l2cache, 1s); 121CMPND_EVENT(cache, 1s); 122 123/* 124 * Ereports for Compound error codes - TLB errors 125 */ 126CMPND_EVENT(l0dtlb, 1s); 127CMPND_EVENT(l1dtlb, 1s); 128CMPND_EVENT(l2dtlb, 1s); 129CMPND_EVENT(dtlb, 1s); 130 131CMPND_EVENT(l0itlb, 1s); 132CMPND_EVENT(l1itlb, 1s); 133CMPND_EVENT(l2itlb, 1s); 134CMPND_EVENT(itlb, 1s); 135 136CMPND_EVENT(l0tlb, 1s); 137CMPND_EVENT(l1tlb, 1s); 138CMPND_EVENT(l2tlb, 1s); 139CMPND_EVENT(tlb, 1s); 140 141/* 142 * Ereports for Compound error codes - memory hierarchy errors 143 */ 144CMPND_EVENT(l0dcache, 1s); 145CMPND_EVENT(l1dcache, 1s); 146CMPND_EVENT(l2dcache, 1s); 147CMPND_EVENT(dcache, 1s); 148 149CMPND_EVENT(l0icache, 1s); 150CMPND_EVENT(l1icache, 1s); 151CMPND_EVENT(l2icache, 1s); 152CMPND_EVENT(icache, 1s); 153 154/* 155 * Ereports for Compound error codes - bus and interconnect errors 156 */ 157CMPND_EVENT(bus_interconnect, 1s); 158CMPND_EVENT(bus_interconnect_memory, 1s); 159CMPND_EVENT(bus_interconnect_io, 1s); 160 161/* 162 * Compound error propogations. 163 * 164 * We resist the temptation propogate, for example, a single dcache fault 165 * to all ereports mentioning dcache (l0dcache, l1dcache, l2dcache, dcache). 166 * Instead we will diagnose a distinct fault for each possible cache level, 167 * whether or not current chips have dcaches at all levels. 168 * 169 * Corrected errors are SERDed and produce a fault when the engine fires; 170 * the same fault is diagnosed immediately for a corresponding uncorrected 171 * error. 172 */ 173 174#define CMPND_FLT_PROP_1(erptleaf, fltleaf, n, t) \ 175 /* Declare the fault that we can diagnose here */ \ 176 event fault.cpu.intel.fltleaf@chip/cpu, \ 177 FITrate=1000, \ 178 FRU=motherboard/chip, \ 179 ASRU=motherboard/chip/cpu; \ 180 \ 181 /* Produced when the correctable engine trips */ \ 182 event ereport.cpu.intel.fltleaf/**/_error@chip/cpu { within(1s) }; \ 183 \ 184 /* Upset to diagnose corrected events to */ \ 185 event upset.cpu.intel.fltleaf@chip/cpu, \ 186 engine=serd.cpu.intel.fltleaf@chip/cpu; \ 187 \ 188 /* SERD engine for corrected events */ \ 189 engine serd.cpu.intel.fltleaf@chip/cpu, \ 190 N=n, T=t, method=persistent, \ 191 trip=ereport.cpu.intel.fltleaf/**/_error@chip/cpu; \ 192 \ 193 /* Diagnose corrected events to the corresponding upset */ \ 194 prop upset.cpu.intel.fltleaf@chip/cpu (1)-> \ 195 ereport.cpu.intel.erptleaf@chip/cpu; \ 196 \ 197 /* When the engine trip, diagnose a fault */ \ 198 prop fault.cpu.intel.fltleaf@chip/cpu (0)-> \ 199 ereport.cpu.intel.fltleaf/**/_error@chip/cpu; \ 200 \ 201 /* Produce immediate faults for uncorrected errors */ \ 202 prop fault.cpu.intel.fltleaf@chip/cpu (0)-> \ 203 ereport.cpu.intel.erptleaf/**/_uc@chip/cpu 204 205#define CMPND_FLT_PROP_2(erptleaf, fltleaf, n, t) \ 206 /* Declare the fault that we can diagnose here */ \ 207 event fault.cpu.intel.fltleaf@chip/cpu, \ 208 FITrate=1, \ 209 ASRU=motherboard/chip/cpu; \ 210 \ 211 /* Produced when the correctable engine trips */ \ 212 event ereport.cpu.intel.fltleaf/**/_error@chip/cpu { within(1s) }; \ 213 \ 214 /* Upset to diagnose corrected events to */ \ 215 event upset.cpu.intel.fltleaf@chip/cpu, \ 216 engine=serd.cpu.intel.fltleaf@chip/cpu; \ 217 \ 218 /* SERD engine for corrected events */ \ 219 engine serd.cpu.intel.fltleaf@chip/cpu, \ 220 N=n, T=t, method=persistent, \ 221 trip=ereport.cpu.intel.fltleaf/**/_error@chip/cpu; \ 222 \ 223 /* Diagnose corrected events to the corresponding upset */ \ 224 prop upset.cpu.intel.fltleaf@chip/cpu (1)-> \ 225 ereport.cpu.intel.erptleaf@chip/cpu; \ 226 \ 227 /* When the engine trip, diagnose a fault */ \ 228 prop fault.cpu.intel.fltleaf@chip/cpu (0)-> \ 229 ereport.cpu.intel.fltleaf/**/_error@chip/cpu; \ 230 \ 231 /* Produce immediate faults for uncorrected errors */ \ 232 prop fault.cpu.intel.fltleaf@chip/cpu (0)-> \ 233 ereport.cpu.intel.erptleaf/**/_uc@chip/cpu 234 235 236CMPND_FLT_PROP_1(l0cache, l0cache, 3, 72h); 237CMPND_FLT_PROP_1(l1cache, l1cache, 3, 72h); 238CMPND_FLT_PROP_1(l2cache, l2cache, 3, 72h); 239CMPND_FLT_PROP_1(cache, cache, 12, 72h); 240 241CMPND_FLT_PROP_1(l0dtlb, l0dtlb, 3, 72h); 242CMPND_FLT_PROP_1(l1dtlb, l1dtlb, 3, 72h); 243CMPND_FLT_PROP_1(l2dtlb, l2dtlb, 3, 72h); 244CMPND_FLT_PROP_1(dtlb, dtlb, 12, 72h); 245 246CMPND_FLT_PROP_1(l0itlb, l0itlb, 3, 72h); 247CMPND_FLT_PROP_1(l1itlb, l1itlb, 3, 72h); 248CMPND_FLT_PROP_1(l2itlb, l2itlb, 3, 72h); 249CMPND_FLT_PROP_1(itlb, itlb, 12, 72h); 250 251CMPND_FLT_PROP_1(l0tlb, litlb, 3, 72h); 252CMPND_FLT_PROP_1(l1tlb, litlb, 3, 72h); 253CMPND_FLT_PROP_1(l2tlb, litlb, 3, 72h); 254CMPND_FLT_PROP_1(tlb, tlb, 12, 72h); 255 256CMPND_FLT_PROP_1(l0dcache, l0dcache, 3, 72h); 257CMPND_FLT_PROP_1(l1dcache, l1dcache, 3, 72h); 258CMPND_FLT_PROP_1(l2dcache, l2dcache, 3, 72h); 259CMPND_FLT_PROP_1(dcache, dcache, 12, 72h); 260 261CMPND_FLT_PROP_1(l0icache, l0icache, 3, 72h); 262CMPND_FLT_PROP_1(l1icache, l1icache, 3, 72h); 263CMPND_FLT_PROP_1(l2icache, l2icache, 3, 72h); 264CMPND_FLT_PROP_1(icache, icache, 12, 72h); 265 266CMPND_FLT_PROP_2(bus_interconnect, bus_interconnect, 10, 72h); 267CMPND_FLT_PROP_2(bus_interconnect_memory, bus_interconnect_memory, 10, 72h); 268CMPND_FLT_PROP_2(bus_interconnect_io, bus_interconnect_io, 10, 72h); 269 270event upset.discard@chip/cpu; 271 272prop upset.discard@chip/cpu (0)-> 273 ereport.cpu.intel.external@chip/cpu, 274 ereport.cpu.intel.unknown@chip/cpu; 275 276/* errors detected in northbridge */ 277 278 279/* 280 * SET_ADDR and SET_OFFSET are used to set a payload value in the fault that 281 * we diagnose for page faults, to record the physical address of the faulting 282 * page. The "asru-" prefix is hooked in the "rewrite-ASRU" confcalls made on 283 * diagnosis of associated faults when the libtopo mem scheme rewrites the 284 * asru in "mem" scheme. 285 */ 286#define SET_ADDR (!payloadprop_defined("physaddr") || \ 287 setpayloadprop("asru-physaddr", payloadprop("physaddr"))) 288 289#define SET_OFFSET (!payloadprop_defined("offset") || \ 290 setpayloadprop("asru-offset", payloadprop("offset"))) 291 292#define CE_PGFLTS \ 293 (count(stat.ce_pgflt@motherboard/memory-controller/dram-channel/dimm)) 294#define UE_DIMM \ 295 (count(stat.ue_dimm@motherboard/memory-controller/dram-channel/dimm)) 296 297#define PAGE_FIT 1 298#define PAGE_CE_COUNT 2 299#define PAGE_CE_TIME 72h 300 301fru motherboard; 302asru motherboard; 303fru motherboard/memory-controller/dram-channel; 304asru motherboard/memory-controller/dram-channel; 305fru motherboard/memory-controller/dram-channel/dimm; 306asru motherboard/memory-controller/dram-channel/dimm; 307asru motherboard/memory-controller/dram-channel/dimm/rank; 308asru motherboard/chip; 309 310engine stat.ce_pgflt@motherboard/memory-controller/dram-channel/dimm; 311engine stat.ue_dimm@motherboard/memory-controller/dram-channel/dimm; 312 313event ereport.cpu.intel.nb.mem_ue@motherboard/memory-controller{within(12s)}; 314event ereport.cpu.intel.nb.fbd.ma@motherboard/memory-controller{within(12s)}; 315event fault.memory.intel.page_ue@ 316 motherboard/memory-controller/dram-channel/dimm/rank, 317 FITrate=PAGE_FIT, 318 FRU=motherboard/memory-controller/dram-channel/dimm, 319 ASRU=motherboard/memory-controller/dram-channel/dimm/rank, message=0, 320 action=confcall("rewrite-ASRU"); /* rewrite ASRU to identify page in rank */ 321event ereport.memory.page_ue_trip@motherboard/memory-controller{within(12s)}; 322engine serd.memory.intel.page_ue@motherboard/memory-controller, 323 N=0, T=1h, method=persistent, 324 trip=ereport.memory.page_ue_trip@motherboard/memory-controller; 325event upset.memory.intel.page_ue@motherboard/memory-controller, 326 engine=serd.memory.intel.page_ue@motherboard/memory-controller; 327 328prop upset.memory.intel.page_ue@motherboard/memory-controller (0)-> 329 ereport.cpu.intel.bus_interconnect_memory_uc@chip/cpu, 330 ereport.cpu.intel.bus_interconnect_uc@chip/cpu, 331 ereport.cpu.intel.bus_interconnect_memory@chip/cpu, 332 ereport.cpu.intel.bus_interconnect@chip/cpu, 333 ereport.cpu.intel.external@chip/cpu; 334 335prop upset.memory.intel.page_ue@motherboard/memory-controller (1)-> 336 ereport.cpu.intel.nb.mem_ue@motherboard/memory-controller, 337 ereport.cpu.intel.nb.fbd.ma@motherboard/memory-controller; 338 339prop fault.memory.intel.page_ue@ 340 motherboard/memory-controller/dram-channel/dimm/rank[rank_num] 341 { UE_DIMM > 0 && payloadprop_defined("rank") && 342 rank_num == payloadprop("rank") && 343 (payloadprop_defined("physaddr") || payloadprop_defined("offset")) && 344 SET_ADDR && SET_OFFSET } (1)-> 345 ereport.cpu.intel.nb.mem_ue@motherboard/memory-controller, 346 ereport.cpu.intel.nb.fbd.ma@motherboard/memory-controller; 347 348prop fault.memory.intel.page_ue@ 349 motherboard/memory-controller/dram-channel/dimm/rank (1)-> 350 ereport.memory.page_ue_trip@motherboard/memory-controller; 351 352event upset.memory.intel.discard@motherboard/memory-controller{within(1s)}; 353 354prop upset.memory.intel.discard@motherboard/memory-controller 355 { !payloadprop_defined("rank") || (!payloadprop_defined("physaddr") && 356 !payloadprop_defined("offset")) } (1)-> 357 ereport.cpu.intel.nb.mem_ue@motherboard/memory-controller, 358 ereport.cpu.intel.nb.fbd.ma@motherboard/memory-controller; 359 360prop upset.memory.intel.discard@motherboard/memory-controller (0)-> 361 ereport.memory.page_ue_trip@motherboard/memory-controller, 362 ereport.cpu.intel.bus_interconnect_memory_uc@chip/cpu, 363 ereport.cpu.intel.bus_interconnect_uc@chip/cpu, 364 ereport.cpu.intel.bus_interconnect_memory@chip/cpu, 365 ereport.cpu.intel.bus_interconnect@chip/cpu, 366 ereport.cpu.intel.external@chip/cpu; 367 368#define DIMM_UE_FIT 1000 369 370event fault.memory.intel.dimm_ue@ 371 motherboard/memory-controller/dram-channel/dimm/rank, 372 FITrate=DIMM_UE_FIT, FRU=motherboard/memory-controller/dram-channel/dimm, 373 ASRU=motherboard/memory-controller/dram-channel/dimm/rank, 374 count=stat.dimm_flt@motherboard/memory-controller/dram-channel/dimm, 375 action=confcall("rewrite-ASRU"); /* rewrite non-leaf ASRU in mem scheme */ 376event ereport.memory.dimm_ue_trip@motherboard/memory-controller{within(12s)}; 377engine serd.memory.intel.dimm_ue@motherboard/memory-controller, 378 N=0, T=1h, method=persistent, 379 trip=ereport.memory.dimm_ue_trip@motherboard/memory-controller; 380event upset.memory.intel.dimm_ue@motherboard/memory-controller, 381 engine=serd.memory.intel.dimm_ue@motherboard/memory-controller; 382 383prop upset.memory.intel.dimm_ue@ motherboard/memory-controller (1)-> 384 ereport.cpu.intel.nb.mem_ue@motherboard/memory-controller, 385 ereport.cpu.intel.nb.fbd.ma@motherboard/memory-controller; 386 387prop fault.memory.intel.dimm_ue@ 388 motherboard/memory-controller/dram-channel<channel_num>/dimm/rank[rank_num] 389 { payloadprop_defined("rank") && rank_num == payloadprop("rank") } (1)-> 390 ereport.cpu.intel.nb.mem_ue@motherboard/memory-controller, 391 ereport.cpu.intel.nb.fbd.ma@motherboard/memory-controller; 392 393prop upset.memory.intel.dimm_ue@ 394 motherboard/memory-controller (0)-> 395 ereport.cpu.intel.bus_interconnect_memory_uc@chip/cpu, 396 ereport.cpu.intel.bus_interconnect_uc@chip/cpu, 397 ereport.cpu.intel.bus_interconnect_memory@chip/cpu, 398 ereport.cpu.intel.bus_interconnect@chip/cpu, 399 ereport.cpu.intel.external@chip/cpu; 400 401prop fault.memory.intel.dimm_ue@ 402 motherboard/memory-controller/dram-channel/dimm/rank (0)-> 403 ereport.cpu.intel.bus_interconnect_memory_uc@chip/cpu, 404 ereport.cpu.intel.bus_interconnect_uc@chip/cpu, 405 ereport.cpu.intel.bus_interconnect_memory@chip/cpu, 406 ereport.cpu.intel.bus_interconnect@chip/cpu, 407 ereport.cpu.intel.external@chip/cpu; 408 409prop fault.memory.intel.dimm_ue@ 410 motherboard/memory-controller/dram-channel/dimm/rank (1)-> 411 ereport.memory.dimm_ue_trip@motherboard/memory-controller; 412 413event upset.memory.intel.discard1@motherboard/memory-controller{within(1s)}; 414 415prop upset.memory.intel.discard1@motherboard/memory-controller 416 { !payloadprop_defined("rank") } (1)-> 417 ereport.cpu.intel.nb.mem_ue@motherboard/memory-controller, 418 ereport.cpu.intel.nb.fbd.ma@motherboard/memory-controller; 419 420prop upset.memory.intel.discard1@motherboard/memory-controller (0)-> 421 ereport.memory.dimm_ue_trip@motherboard/memory-controller, 422 ereport.cpu.intel.bus_interconnect_memory_uc@chip/cpu, 423 ereport.cpu.intel.bus_interconnect_uc@chip/cpu, 424 ereport.cpu.intel.bus_interconnect_memory@chip/cpu, 425 ereport.cpu.intel.bus_interconnect@chip/cpu, 426 ereport.cpu.intel.external@chip/cpu; 427 428event ereport.memory.intel.page_trip@ 429 motherboard/memory-controller/dram-channel/dimm/rank{within(12s)}; 430event ereport.cpu.intel.nb.mem_ce@ 431 motherboard/memory-controller/dram-channel/dimm/rank{within(12s)}; 432 433engine serd.memory.intel.page_ce@ 434 motherboard/memory-controller/dram-channel/dimm/rank, 435 N=PAGE_CE_COUNT, T=PAGE_CE_TIME, method=persistent, 436 trip=ereport.memory.intel.page_trip@ 437 motherboard/memory-controller/dram-channel/dimm/rank; 438event upset.memory.intel.page_ce@ 439 motherboard/memory-controller/dram-channel/dimm/rank, 440 engine=serd.memory.intel.page_ce@ 441 motherboard/memory-controller/dram-channel/dimm/rank; 442 443event fault.memory.intel.page_ce@ 444 motherboard/memory-controller/dram-channel/dimm/rank, 445 FITrate=PAGE_FIT, 446 FRU=motherboard/memory-controller/dram-channel/dimm, 447 ASRU=motherboard/memory-controller/dram-channel/dimm/rank, message=0, 448 count=stat.ce_pgflt@motherboard/memory-controller/dram-channel/dimm, 449 action=confcall("rewrite-ASRU"); /* rewrite ASRU to identify page in rank */ 450 451prop fault.memory.intel.page_ce@ 452 motherboard/memory-controller/dram-channel/dimm/rank (1)-> 453 ereport.memory.intel.page_trip@ 454 motherboard/memory-controller/dram-channel/dimm/rank; 455 456prop fault.memory.intel.page_ce@ 457 motherboard/memory-controller/dram-channel/dimm/rank 458 { (payloadprop_defined("physaddr") || payloadprop_defined("offset")) && 459 SET_ADDR && SET_OFFSET } (0)-> 460 ereport.cpu.intel.nb.mem_ce@ 461 motherboard/memory-controller/dram-channel/dimm/rank; 462 463prop upset.memory.intel.page_ce@ 464 motherboard/memory-controller/dram-channel/dimm/rank 465 { (payloadprop_defined("physaddr") || payloadprop_defined("offset")) && 466 SET_ADDR && SET_OFFSET } (1)-> 467 ereport.cpu.intel.nb.mem_ce@ 468 motherboard/memory-controller/dram-channel/dimm/rank; 469 470#define DIMM_CE_FIT 2000 471#define DIMM_CE_COUNT 10 472#define DIMM_CE_TIME 1week 473 474event fault.memory.intel.dimm_ce@ 475 motherboard/memory-controller/dram-channel/dimm/rank, 476 FITrate=DIMM_CE_FIT, FRU=motherboard/memory-controller/dram-channel/dimm, 477 ASRU=motherboard/memory-controller/dram-channel/dimm/rank, 478 action=confcall("rewrite-ASRU"); /* rewrite non-leaf ASRU in mem scheme */ 479event upset.memory.discard@motherboard/memory-controller/dram-channel/dimm/rank; 480 481event ereport.memory.intel.dimm_trip@ 482 motherboard/memory-controller/dram-channel/dimm/rank{within(1s)}; 483#define DIMM_CE(label, dimm_size, n, t, fault_rate) \ 484 engine serd.memory.intel.dimm_ce.label/**/@ \ 485 motherboard/memory-controller/dram-channel/dimm/rank, \ 486 N=n, T=t, method=persistent, \ 487 trip=ereport.memory.intel.dimm_trip@ \ 488 motherboard/memory-controller/dram-channel/dimm/rank; \ 489 event upset.memory.intel.dimm_ce.label/**/@ \ 490 motherboard/memory-controller/dram-channel/dimm/rank, \ 491 engine=serd.memory.intel.dimm_ce.label/**/@ \ 492 motherboard/memory-controller/dram-channel/dimm/rank; \ 493 prop upset.memory.intel.dimm_ce.label/**/@ \ 494 motherboard/memory-controller/dram-channel/dimm/rank \ 495 {confprop_defined( \ 496 fru(motherboard/memory-controller/dram-channel/dimm), \ 497 "dimm-size") && \ 498 confprop(fru(motherboard/memory-controller/dram-channel/dimm), \ 499 "dimm-size") == dimm_size && CE_PGFLTS > fault_rate} (1)-> \ 500 ereport.cpu.intel.nb.mem_ce@ \ 501 motherboard/memory-controller/dram-channel/dimm/rank; 502 503DIMM_CE(eight_g, "8G", 8, 1week, 2000) 504DIMM_CE(four_g, "4G", 4, 1week, 1500) 505DIMM_CE(two_g, "2G", 4, 2week, 1000) 506DIMM_CE(one_g, "1G", 4, 4week, 500) 507DIMM_CE(half_g, "512M", 4, 8week, 250) 508DIMM_CE(quarter_g, "256M", 4, 16week, 125) 509 510engine serd.memory.intel.dimm_ce@ 511 motherboard/memory-controller/dram-channel/dimm/rank, 512 N=DIMM_CE_COUNT, T=DIMM_CE_TIME, method=persistent, 513 trip=ereport.memory.intel.dimm_trip@ 514 motherboard/memory-controller/dram-channel/dimm/rank; 515event upset.memory.intel.dimm_ce@ 516 motherboard/memory-controller/dram-channel/dimm/rank, 517 engine=serd.memory.intel.dimm_ce@ 518 motherboard/memory-controller/dram-channel/dimm/rank; 519prop upset.memory.intel.dimm_ce@ 520 motherboard/memory-controller/dram-channel/dimm/rank 521 {!confprop_defined(fru(motherboard/memory-controller/dram-channel/dimm), 522 "dimm-size") && CE_PGFLTS > 512} (1)-> 523 ereport.cpu.intel.nb.mem_ce@ 524 motherboard/memory-controller/dram-channel/dimm/rank; 525 526prop fault.memory.intel.dimm_ce@ 527 motherboard/memory-controller/dram-channel/dimm/rank (1)-> 528 ereport.memory.intel.dimm_trip@ 529 motherboard/memory-controller/dram-channel/dimm/rank; 530 531prop upset.memory.discard@ 532 motherboard/memory-controller/dram-channel/dimm/rank (1)-> 533 ereport.memory.intel.dimm_trip@ 534 motherboard/memory-controller/dram-channel/dimm/rank; 535 536event ereport.cpu.intel.nb.fbd.alert@ 537 motherboard/memory-controller/dram-channel/dimm/rank{within(12s)}; 538event fault.memory.intel.fbd.alert@ 539 motherboard/memory-controller/dram-channel/dimm/rank, 540 FITrate=100, ASRU=motherboard/memory-controller/dram-channel/dimm/rank, 541 FRU=motherboard/memory-controller/dram-channel/dimm; 542 543prop fault.memory.intel.fbd.alert@ 544 motherboard/memory-controller/dram-channel/dimm/rank (1)-> 545 ereport.cpu.intel.nb.fbd.alert@ 546 motherboard/memory-controller/dram-channel/dimm/rank; 547 548prop fault.memory.intel.fbd.alert@ 549 motherboard/memory-controller/dram-channel/dimm/rank (0)-> 550 ereport.cpu.intel.bus_interconnect_memory_uc@chip/cpu, 551 ereport.cpu.intel.bus_interconnect_uc@chip/cpu, 552 ereport.cpu.intel.bus_interconnect_memory@chip/cpu, 553 ereport.cpu.intel.bus_interconnect@chip/cpu, 554 ereport.cpu.intel.external@chip/cpu; 555 556event ereport.cpu.intel.nb.fbd.crc@ 557 motherboard/memory-controller/dram-channel/dimm/rank{within(12s)}; 558event fault.memory.intel.fbd.crc@ 559 motherboard/memory-controller/dram-channel/dimm/rank, 560 FITrate=100, ASRU=motherboard/memory-controller/dram-channel/dimm/rank, 561 FRU=motherboard/memory-controller/dram-channel/dimm; 562 563prop fault.memory.intel.fbd.crc@ 564 motherboard/memory-controller/dram-channel/dimm/rank (1)-> 565 ereport.cpu.intel.nb.fbd.crc@ 566 motherboard/memory-controller/dram-channel/dimm/rank; 567 568prop fault.memory.intel.fbd.crc@ 569 motherboard/memory-controller/dram-channel/dimm/rank (0)-> 570 ereport.cpu.intel.bus_interconnect_memory_uc@chip/cpu, 571 ereport.cpu.intel.bus_interconnect_uc@chip/cpu, 572 ereport.cpu.intel.bus_interconnect_memory@chip/cpu, 573 ereport.cpu.intel.bus_interconnect@chip/cpu, 574 ereport.cpu.intel.external@chip/cpu; 575 576event ereport.cpu.intel.nb.fbd.reset_timeout@motherboard/memory-controller 577 {within(12s)}; 578event fault.memory.intel.fbd.reset_timeout@motherboard/memory-controller, 579 FITrate=1000, ASRU=motherboard/memory-controller/dram-channel/dimm, 580 FRU=motherboard/memory-controller/dram-channel/dimm; 581 582prop fault.memory.intel.fbd.reset_timeout@motherboard/memory-controller (1)-> 583 ereport.cpu.intel.nb.fbd.reset_timeout@motherboard/memory-controller; 584 585prop fault.memory.intel.fbd.reset_timeout@motherboard/memory-controller (0)-> 586 ereport.cpu.intel.bus_interconnect_memory_uc@chip/cpu, 587 ereport.cpu.intel.bus_interconnect_uc@chip/cpu, 588 ereport.cpu.intel.bus_interconnect_memory@chip/cpu, 589 ereport.cpu.intel.bus_interconnect@chip/cpu, 590 ereport.cpu.intel.external@chip/cpu; 591 592event ereport.cpu.intel.nb.fbd.ch@motherboard/memory-controller/dram-channel 593 {within(12s)}; 594event fault.memory.intel.fbd.ch@motherboard/memory-controller/dram-channel, 595 FITrate=100, ASRU=motherboard/memory-controller/dram-channel/dimm, 596 FRU=motherboard/memory-controller/dram-channel/dimm; 597event upset.cpu.intel.nb.fbd.ch@motherboard/memory-controller/dram-channel, 598 engine=serd.cpu.intel.nb.fbd.ch@motherboard/memory-controller/dram-channel; 599event ereport.cpu.intel.nb.fbd_ch@motherboard/memory-controller/dram-channel 600 {within(12s)}; 601 602engine serd.cpu.intel.nb.fbd.ch@motherboard/memory-controller/dram-channel, 603 N=2, T=1month, method=persistent, 604 trip=ereport.cpu.intel.nb.fbd_ch@motherboard/memory-controller/dram-channel; 605 606prop upset.cpu.intel.nb.fbd.ch@motherboard/memory-controller/dram-channel (1)-> 607 ereport.cpu.intel.nb.fbd.ch@motherboard/memory-controller/dram-channel; 608 609prop upset.cpu.intel.nb.fbd.ch@motherboard/memory-controller/dram-channel (0)-> 610 ereport.cpu.intel.bus_interconnect_memory_uc@chip/cpu, 611 ereport.cpu.intel.bus_interconnect_uc@chip/cpu, 612 ereport.cpu.intel.bus_interconnect_memory@chip/cpu, 613 ereport.cpu.intel.bus_interconnect@chip/cpu, 614 ereport.cpu.intel.external@chip/cpu; 615 616prop fault.memory.intel.fbd.ch@ 617 motherboard/memory-controller/dram-channel (1)-> 618 ereport.cpu.intel.nb.fbd_ch@motherboard/memory-controller/dram-channel; 619 620event ereport.cpu.intel.nb.fbd.otf@motherboard/memory-controller/dram-channel 621 {within(12s)}; 622event ereport.cpu.intel.nb.otf@motherboard {within(12s)}; 623event fault.memory.intel.fbd.otf@motherboard/memory-controller/dram-channel, 624 FITrate=100, ASRU=motherboard/memory-controller/dram-channel; 625event fault.cpu.intel.nb.otf@motherboard, FITrate=100, ASRU=motherboard; 626event upset.cpu.intel.nb.fbd_otf@motherboard/memory-controller/dram-channel, 627 engine=serd.cpu.intel.nb.fbd_otf@motherboard/memory-controller/dram-channel; 628event ereport.cpu.intel.nb.fbd_otf@motherboard/memory-controller/dram-channel 629 {within(12s)}; 630 631engine serd.cpu.intel.nb.fbd_otf@motherboard/memory-controller/dram-channel, 632 N=2, T=1week, method=persistent, 633 trip=ereport.cpu.intel.nb.fbd_otf@ 634 motherboard/memory-controller/dram-channel; 635 636prop upset.cpu.intel.nb.fbd_otf@motherboard/memory-controller/dram-channel (1)-> 637 ereport.cpu.intel.nb.fbd.otf@motherboard/memory-controller/dram-channel; 638 639prop fault.memory.intel.fbd.otf@ 640 motherboard/memory-controller/dram-channel (1)-> 641 ereport.cpu.intel.nb.fbd_otf@motherboard/memory-controller/dram-channel; 642 643prop fault.cpu.intel.nb.otf@ motherboard (1)-> 644 ereport.cpu.intel.nb.otf@motherboard; 645 646event ereport.cpu.intel.nb.unknown@motherboard/memory-controller {within(12s)}; 647event ereport.cpu.intel.nb.unknown@motherboard/memory-controller/dram-channel 648 {within(12s)}; 649event ereport.cpu.intel.nb.spd@motherboard/memory-controller/dram-channel 650 {within(12s)}; 651event upset.discard@motherboard/memory-controller; 652 653prop upset.discard@motherboard/memory-controller (0)-> 654 ereport.cpu.intel.nb.unknown@motherboard/memory-controller, 655 ereport.cpu.intel.nb.unknown@motherboard/memory-controller/dram-channel, 656 ereport.cpu.intel.nb.spd@motherboard/memory-controller/dram-channel; 657 658event ereport.cpu.intel.nb.mem_ds@motherboard/memory-controller{within(30s)}; 659 660event fault.memory.intel.fbd.mem_ds@ 661 motherboard/memory-controller/dram-channel/dimm/rank, 662 FITrate=DIMM_UE_FIT, 663 ASRU=motherboard/memory-controller/dram-channel/dimm/rank, 664 FRU=motherboard/memory-controller/dram-channel/dimm; 665 666prop fault.memory.intel.fbd.mem_ds@ 667 motherboard/memory-controller/dram-channel/dimm/rank[rank_num] 668 { payloadprop_defined("rank") && rank_num == payloadprop("rank") } (1)-> 669 ereport.cpu.intel.nb.mem_ds@motherboard/memory-controller; 670 671event ereport.cpu.intel.nb.fsb@motherboard/chip{within(12s)}; 672event fault.cpu.intel.nb.fsb@motherboard/chip, 673 FITrate=10000, ASRU=motherboard/chip, FRU=motherboard/chip; 674 675prop fault.cpu.intel.nb.fsb@motherboard/chip (1)-> 676 ereport.cpu.intel.nb.fsb@motherboard/chip; 677 678prop fault.cpu.intel.nb.fsb@motherboard/chip (0)-> 679 ereport.cpu.intel.bus_interconnect_memory_uc@chip/cpu, 680 ereport.cpu.intel.bus_interconnect_uc@chip/cpu, 681 ereport.cpu.intel.bus_interconnect_memory@chip/cpu, 682 ereport.cpu.intel.bus_interconnect@chip/cpu, 683 ereport.cpu.intel.external@chip/cpu; 684 685event ereport.cpu.intel.nb.ie@motherboard{within(12s)}; 686event fault.cpu.intel.nb.ie@motherboard, 687 FITrate=10000, ASRU=motherboard, FRU=motherboard; 688 689prop fault.cpu.intel.nb.ie@motherboard (1)-> 690 ereport.cpu.intel.nb.ie@motherboard; 691 692prop fault.cpu.intel.nb.ie@motherboard (0)-> 693 ereport.cpu.intel.bus_interconnect_memory_uc@chip/cpu, 694 ereport.cpu.intel.bus_interconnect_uc@chip/cpu, 695 ereport.cpu.intel.bus_interconnect_memory@chip/cpu, 696 ereport.cpu.intel.bus_interconnect@chip/cpu, 697 ereport.cpu.intel.external@chip/cpu; 698 699event ereport.cpu.intel.nb.dma@motherboard{within(12s)}; 700event fault.cpu.intel.nb.dma@motherboard, 701 FITrate=10000, ASRU=motherboard; 702 703prop fault.cpu.intel.nb.dma@motherboard (1)-> 704 ereport.cpu.intel.nb.dma@motherboard; 705 706prop fault.cpu.intel.nb.dma@motherboard (0)-> 707 ereport.cpu.intel.bus_interconnect_memory_uc@chip/cpu, 708 ereport.cpu.intel.bus_interconnect_uc@chip/cpu, 709 ereport.cpu.intel.bus_interconnect_memory@chip/cpu, 710 ereport.cpu.intel.bus_interconnect@chip/cpu, 711 ereport.cpu.intel.external@chip/cpu; 712 713event ereport.cpu.intel.nb.esi@motherboard{within(12s)}; 714event ereport.cpu.intel.nb.pex@motherboard/hostbridge{within(12s)}; 715event upset.cpu.intel.nb.pex@motherboard/hostbridge; 716 717prop upset.cpu.intel.nb.pex@motherboard/hostbridge (1)-> 718 ereport.cpu.intel.nb.esi@motherboard, 719 ereport.cpu.intel.nb.pex@motherboard/hostbridge; 720 721prop upset.cpu.intel.nb.pex@motherboard/hostbridge (0)-> 722 ereport.cpu.intel.bus_interconnect_memory_uc@chip/cpu, 723 ereport.cpu.intel.bus_interconnect_uc@chip/cpu, 724 ereport.cpu.intel.bus_interconnect_memory@chip/cpu, 725 ereport.cpu.intel.bus_interconnect@chip/cpu, 726 ereport.cpu.intel.external@chip/cpu; 727 728event ereport.cpu.intel.nb.unknown@ 729 motherboard/memory-controller/dram-channel/dimm/rank{within(12s)}; 730event upset.discard@motherboard/memory-controller/dram-channel/dimm/rank; 731 732prop upset.discard@motherboard/memory-controller/dram-channel/dimm/rank (1)-> 733 ereport.cpu.intel.nb.unknown@ 734 motherboard/memory-controller/dram-channel/dimm/rank; 735 736prop upset.discard@motherboard/memory-controller/dram-channel/dimm/rank (0)-> 737 ereport.cpu.intel.bus_interconnect_memory_uc@chip/cpu, 738 ereport.cpu.intel.bus_interconnect_uc@chip/cpu, 739 ereport.cpu.intel.bus_interconnect_memory@chip/cpu, 740 ereport.cpu.intel.bus_interconnect@chip/cpu, 741 ereport.cpu.intel.external@chip/cpu; 742