15254Sgavinm/* 25254Sgavinm * CDDL HEADER START 35254Sgavinm * 45254Sgavinm * The contents of this file are subject to the terms of the 55254Sgavinm * Common Development and Distribution License (the "License"). 65254Sgavinm * You may not use this file except in compliance with the License. 75254Sgavinm * 85254Sgavinm * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 95254Sgavinm * or http://www.opensolaris.org/os/licensing. 105254Sgavinm * See the License for the specific language governing permissions 115254Sgavinm * and limitations under the License. 125254Sgavinm * 135254Sgavinm * When distributing Covered Code, include this CDDL HEADER in each 145254Sgavinm * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 155254Sgavinm * If applicable, add the following below this CDDL HEADER, with the 165254Sgavinm * fields enclosed by brackets "[]" replaced with your own identifying 175254Sgavinm * information: Portions Copyright [yyyy] [name of copyright owner] 185254Sgavinm * 195254Sgavinm * CDDL HEADER END 205254Sgavinm */ 215254Sgavinm 225254Sgavinm/* 2312332SAdrian.Frost@Sun.COM * Copyright (c) 2007, 2010, Oracle and/or its affiliates. All rights reserved. 245254Sgavinm */ 255254Sgavinm 265254Sgavinm#pragma dictionary "INTEL" 275254Sgavinm 285254Sgavinm/* 295254Sgavinm * Eversholt rules for the intel CPU/Memory 305254Sgavinm */ 315254Sgavinm 325254Sgavinm/* 335254Sgavinm * Ereports for Simple error codes. 345254Sgavinm */ 355254Sgavinm 365254Sgavinm#define SMPL_EVENT(leafclass, t) \ 377349SAdrian.Frost@Sun.COM event ereport.cpu.intel.leafclass@chip/core/strand { within(t) } 385254Sgavinm 395254SgavinmSMPL_EVENT(unknown, 1s); 405254SgavinmSMPL_EVENT(unclassified, 1s); 415254SgavinmSMPL_EVENT(microcode_rom_parity, 1s); 425254SgavinmSMPL_EVENT(external, 1s); 435254SgavinmSMPL_EVENT(frc, 1s); 445254SgavinmSMPL_EVENT(internal_timer, 1s); 457349SAdrian.Frost@Sun.COMSMPL_EVENT(internal_parity, 1s); 465254SgavinmSMPL_EVENT(internal_unclassified, 1s); 475254Sgavinm 485254Sgavinm/* 495254Sgavinm * Propogations for all but "external" and "unknown" simple errors. 505254Sgavinm * If the error is uncorrected we produce a fault immediately, otherwise 515254Sgavinm * we diagnose it to an upset and decalre a fault when the SERD engine 5210831SYanmin.Sun@Sun.COM * trips. prop statement for ereport.cpu.intel.internal_unclassified is 5310831SYanmin.Sun@Sun.COM * moved to the Nehalem EX section to deal with poison case. 545254Sgavinm */ 555254Sgavinm 567349SAdrian.Frost@Sun.COMengine serd.cpu.intel.simple@chip/core/strand, N=3, T=72h; 577349SAdrian.Frost@Sun.COMevent fault.cpu.intel.internal@chip/core/strand, 587349SAdrian.Frost@Sun.COM engine=serd.cpu.intel.simple@chip/core/strand; 595254Sgavinm 607349SAdrian.Frost@Sun.COMprop fault.cpu.intel.internal@chip/core/strand 617349SAdrian.Frost@Sun.COM { payloadprop("error_uncorrected") == 1 ? setserdincrement(4) : 1} (0)-> 627349SAdrian.Frost@Sun.COM ereport.cpu.intel.microcode_rom_parity@chip/core/strand, 637349SAdrian.Frost@Sun.COM ereport.cpu.intel.internal_timer@chip/core/strand, 647349SAdrian.Frost@Sun.COM ereport.cpu.intel.internal_parity@chip/core/strand, 657349SAdrian.Frost@Sun.COM ereport.cpu.intel.unclassified@chip/core/strand, 667349SAdrian.Frost@Sun.COM ereport.cpu.intel.frc@chip/core/strand; 675254Sgavinm 685254Sgavinm/* 695254Sgavinm * Ereports for Compound error codes. These are in pairs "foo" and "foo_uc" 705254Sgavinm * for the corrected and uncorrected version of each error type. All are 717532SSean.Ye@Sun.COM * detected at chip/core/strand. 725254Sgavinm */ 735254Sgavinm 745254Sgavinm#define CMPND_EVENT(leafclass, t) \ 757349SAdrian.Frost@Sun.COM event ereport.cpu.intel.leafclass@chip/core/strand { within(t) }; \ 767349SAdrian.Frost@Sun.COM event ereport.cpu.intel.leafclass/**/_uc@chip/core/strand { within(t) } 775254Sgavinm 785254Sgavinm/* 795254Sgavinm * Ereports for Compound error codes - intel errors 805254Sgavinm */ 815254SgavinmCMPND_EVENT(l0cache, 1s); 825254SgavinmCMPND_EVENT(l1cache, 1s); 835254SgavinmCMPND_EVENT(l2cache, 1s); 845254SgavinmCMPND_EVENT(cache, 1s); 855254Sgavinm 865254Sgavinm/* 875254Sgavinm * Ereports for Compound error codes - TLB errors 885254Sgavinm */ 895254SgavinmCMPND_EVENT(l0dtlb, 1s); 905254SgavinmCMPND_EVENT(l1dtlb, 1s); 915254SgavinmCMPND_EVENT(l2dtlb, 1s); 925254SgavinmCMPND_EVENT(dtlb, 1s); 935254Sgavinm 945254SgavinmCMPND_EVENT(l0itlb, 1s); 955254SgavinmCMPND_EVENT(l1itlb, 1s); 965254SgavinmCMPND_EVENT(l2itlb, 1s); 975254SgavinmCMPND_EVENT(itlb, 1s); 985254Sgavinm 995254SgavinmCMPND_EVENT(l0tlb, 1s); 1005254SgavinmCMPND_EVENT(l1tlb, 1s); 1015254SgavinmCMPND_EVENT(l2tlb, 1s); 1025254SgavinmCMPND_EVENT(tlb, 1s); 1035254Sgavinm 1045254Sgavinm/* 1055254Sgavinm * Ereports for Compound error codes - memory hierarchy errors 1065254Sgavinm */ 1075254SgavinmCMPND_EVENT(l0dcache, 1s); 1085254SgavinmCMPND_EVENT(l1dcache, 1s); 1095254SgavinmCMPND_EVENT(l2dcache, 1s); 1105254SgavinmCMPND_EVENT(dcache, 1s); 1115254Sgavinm 1125254SgavinmCMPND_EVENT(l0icache, 1s); 1135254SgavinmCMPND_EVENT(l1icache, 1s); 1145254SgavinmCMPND_EVENT(l2icache, 1s); 1155254SgavinmCMPND_EVENT(icache, 1s); 1165254Sgavinm 1175254Sgavinm/* 1185254Sgavinm * Ereports for Compound error codes - bus and interconnect errors 1195254Sgavinm */ 1205254SgavinmCMPND_EVENT(bus_interconnect, 1s); 1215254SgavinmCMPND_EVENT(bus_interconnect_memory, 1s); 1225254SgavinmCMPND_EVENT(bus_interconnect_io, 1s); 1235254Sgavinm 1245254Sgavinm/* 1255254Sgavinm * Compound error propogations. 1265254Sgavinm * 1275254Sgavinm * We resist the temptation propogate, for example, a single dcache fault 1285254Sgavinm * to all ereports mentioning dcache (l0dcache, l1dcache, l2dcache, dcache). 1295254Sgavinm * Instead we will diagnose a distinct fault for each possible cache level, 1305254Sgavinm * whether or not current chips have dcaches at all levels. 1315254Sgavinm * 1325254Sgavinm * Corrected errors are SERDed and produce a fault when the engine fires; 1335254Sgavinm * the same fault is diagnosed immediately for a corresponding uncorrected 1345254Sgavinm * error. 1355254Sgavinm */ 1365254Sgavinm 1377197Sstephh#define CMPND_FLT_PROP_1(erptleaf, fltleaf, n, t) \ 1387349SAdrian.Frost@Sun.COM engine serd.cpu.intel.fltleaf@chip/core/strand, N=n, T=t; \ 1397349SAdrian.Frost@Sun.COM event fault.cpu.intel.fltleaf@chip/core/strand, \ 1407349SAdrian.Frost@Sun.COM engine=serd.cpu.intel.fltleaf@chip/core/strand; \ 1415254Sgavinm \ 1427349SAdrian.Frost@Sun.COM prop fault.cpu.intel.fltleaf@chip/core/strand (0)-> \ 1437349SAdrian.Frost@Sun.COM ereport.cpu.intel.erptleaf@chip/core/strand; \ 1445254Sgavinm \ 1457349SAdrian.Frost@Sun.COM prop fault.cpu.intel.fltleaf@chip/core/strand \ 1467349SAdrian.Frost@Sun.COM { setserdincrement(n + 1) } (0)-> \ 1477349SAdrian.Frost@Sun.COM ereport.cpu.intel.erptleaf/**/_uc@chip/core/strand 1485254Sgavinm 1497197Sstephh#define CMPND_FLT_PROP_2(erptleaf, fltleaf, n, t) \ 1507349SAdrian.Frost@Sun.COM engine serd.cpu.intel.fltleaf@chip/core/strand, N=n, T=t; \ 1517349SAdrian.Frost@Sun.COM event fault.cpu.intel.fltleaf@chip/core/strand, retire=0, response=0,\ 1527349SAdrian.Frost@Sun.COM engine=serd.cpu.intel.fltleaf@chip/core/strand; \ 1535254Sgavinm \ 1547349SAdrian.Frost@Sun.COM prop fault.cpu.intel.fltleaf@chip/core/strand (0)-> \ 1557349SAdrian.Frost@Sun.COM ereport.cpu.intel.erptleaf@chip/core/strand; \ 1565254Sgavinm \ 1577349SAdrian.Frost@Sun.COM prop fault.cpu.intel.fltleaf@chip/core/strand \ 1587349SAdrian.Frost@Sun.COM { setserdincrement(n + 1) } (0)-> \ 1597349SAdrian.Frost@Sun.COM ereport.cpu.intel.erptleaf/**/_uc@chip/core/strand 1605254Sgavinm 1615254SgavinmCMPND_FLT_PROP_1(l0cache, l0cache, 3, 72h); 1625254SgavinmCMPND_FLT_PROP_1(l1cache, l1cache, 3, 72h); 1635254SgavinmCMPND_FLT_PROP_1(l2cache, l2cache, 3, 72h); 1645254SgavinmCMPND_FLT_PROP_1(cache, cache, 12, 72h); 1655254Sgavinm 1665254SgavinmCMPND_FLT_PROP_1(l0dtlb, l0dtlb, 3, 72h); 1675254SgavinmCMPND_FLT_PROP_1(l1dtlb, l1dtlb, 3, 72h); 1685254SgavinmCMPND_FLT_PROP_1(l2dtlb, l2dtlb, 3, 72h); 1695254SgavinmCMPND_FLT_PROP_1(dtlb, dtlb, 12, 72h); 1705254Sgavinm 1715254SgavinmCMPND_FLT_PROP_1(l0itlb, l0itlb, 3, 72h); 1725254SgavinmCMPND_FLT_PROP_1(l1itlb, l1itlb, 3, 72h); 1735254SgavinmCMPND_FLT_PROP_1(l2itlb, l2itlb, 3, 72h); 1745254SgavinmCMPND_FLT_PROP_1(itlb, itlb, 12, 72h); 1755254Sgavinm 17610831SYanmin.Sun@Sun.COMCMPND_FLT_PROP_1(l0tlb, l0tlb, 3, 72h); 17710831SYanmin.Sun@Sun.COMCMPND_FLT_PROP_1(l1tlb, l1tlb, 3, 72h); 17810831SYanmin.Sun@Sun.COMCMPND_FLT_PROP_1(l2tlb, l2tlb, 3, 72h); 1795254SgavinmCMPND_FLT_PROP_1(tlb, tlb, 12, 72h); 1805254Sgavinm 1815254SgavinmCMPND_FLT_PROP_1(l0dcache, l0dcache, 3, 72h); 1825254SgavinmCMPND_FLT_PROP_1(l1dcache, l1dcache, 3, 72h); 1835254SgavinmCMPND_FLT_PROP_1(l2dcache, l2dcache, 3, 72h); 1845254SgavinmCMPND_FLT_PROP_1(dcache, dcache, 12, 72h); 1855254Sgavinm 1865254SgavinmCMPND_FLT_PROP_1(l0icache, l0icache, 3, 72h); 1875254SgavinmCMPND_FLT_PROP_1(l1icache, l1icache, 3, 72h); 1885254SgavinmCMPND_FLT_PROP_1(l2icache, l2icache, 3, 72h); 1895254SgavinmCMPND_FLT_PROP_1(icache, icache, 12, 72h); 1905254Sgavinm 1915254SgavinmCMPND_FLT_PROP_2(bus_interconnect, bus_interconnect, 10, 72h); 1925254SgavinmCMPND_FLT_PROP_2(bus_interconnect_memory, bus_interconnect_memory, 10, 72h); 1935254SgavinmCMPND_FLT_PROP_2(bus_interconnect_io, bus_interconnect_io, 10, 72h); 1945254Sgavinm 1957349SAdrian.Frost@Sun.COMevent upset.discard@chip/core/strand; 1967349SAdrian.Frost@Sun.COM 197*12437SAdrian.Frost@Sun.COMevent ereport.cpu.intel.unknown@chip {within(15s)}; 1987349SAdrian.Frost@Sun.COMprop upset.discard@chip/core/strand (0)-> 1997349SAdrian.Frost@Sun.COM ereport.cpu.intel.external@chip/core/strand, 200*12437SAdrian.Frost@Sun.COM ereport.cpu.intel.unknown@chip/core/strand, 201*12437SAdrian.Frost@Sun.COM ereport.cpu.intel.unknown@chip; 2027349SAdrian.Frost@Sun.COM 2035254Sgavinm/* errors detected in northbridge */ 2045254Sgavinm 2055254Sgavinm 2065254Sgavinm/* 2075254Sgavinm * SET_ADDR and SET_OFFSET are used to set a payload value in the fault that 2085254Sgavinm * we diagnose for page faults, to record the physical address of the faulting 2097197Sstephh * page. 2105254Sgavinm */ 2115254Sgavinm#define SET_ADDR (!payloadprop_defined("physaddr") || \ 2125254Sgavinm setpayloadprop("asru-physaddr", payloadprop("physaddr"))) 2135254Sgavinm 2145254Sgavinm#define SET_OFFSET (!payloadprop_defined("offset") || \ 2155254Sgavinm setpayloadprop("asru-offset", payloadprop("offset"))) 2165254Sgavinm 2177349SAdrian.Frost@Sun.COM#define EREPORT_BUS_ERROR \ 2187349SAdrian.Frost@Sun.COM ereport.cpu.intel.bus_interconnect_memory_uc@chip/core/strand, \ 2197349SAdrian.Frost@Sun.COM ereport.cpu.intel.bus_interconnect_uc@chip/core/strand, \ 2207349SAdrian.Frost@Sun.COM ereport.cpu.intel.bus_interconnect_memory@chip/core/strand, \ 2217349SAdrian.Frost@Sun.COM ereport.cpu.intel.bus_interconnect@chip/core/strand, \ 2227349SAdrian.Frost@Sun.COM ereport.cpu.intel.external@chip/core/strand 2237349SAdrian.Frost@Sun.COM 2247197Sstephhengine stat.ce_pgflt@memory-controller/dram-channel/dimm; 2255254Sgavinm 2267349SAdrian.Frost@Sun.COMevent ereport.cpu.intel.nb.mem_ue@motherboard/memory-controller{within(12s)}; 22710049SVuong.Nguyen@Sun.COMevent ereport.cpu.intel.nb.ddr2_mem_ue@ 22810049SVuong.Nguyen@Sun.COM motherboard/memory-controller{within(12s)}; 2297349SAdrian.Frost@Sun.COMevent ereport.cpu.intel.nb.fbd.ma@motherboard/memory-controller{within(12s)}; 2307349SAdrian.Frost@Sun.COMevent fault.memory.intel.page_ue@ 2317349SAdrian.Frost@Sun.COM motherboard/memory-controller/dram-channel/dimm/rank, 2327197Sstephh message=0, response=0; 2337349SAdrian.Frost@Sun.COMevent fault.memory.intel.dimm_ue@ 2347349SAdrian.Frost@Sun.COM motherboard/memory-controller/dram-channel/dimm/rank; 2355254Sgavinm 2365254Sgavinmprop fault.memory.intel.page_ue@ 2377349SAdrian.Frost@Sun.COM motherboard/memory-controller/dram-channel/dimm/rank[rank_num] 2387197Sstephh { payloadprop_defined("rank") && rank_num == payloadprop("rank") && 2395254Sgavinm (payloadprop_defined("physaddr") || payloadprop_defined("offset")) && 2405254Sgavinm SET_ADDR && SET_OFFSET } (1)-> 2417349SAdrian.Frost@Sun.COM ereport.cpu.intel.nb.mem_ue@motherboard/memory-controller, 24210049SVuong.Nguyen@Sun.COM ereport.cpu.intel.nb.ddr2_mem_ue@motherboard/memory-controller, 2437349SAdrian.Frost@Sun.COM ereport.cpu.intel.nb.fbd.ma@motherboard/memory-controller; 2445254Sgavinm 2455254Sgavinmprop fault.memory.intel.dimm_ue@ 24610146SStephen.Hanson@Sun.COM motherboard/memory-controller/dram-channel/dimm/rank[rank_num] 2477197Sstephh { payloadprop_defined("rank") && rank_num == payloadprop("rank") } (1)-> 2487349SAdrian.Frost@Sun.COM ereport.cpu.intel.nb.mem_ue@motherboard/memory-controller, 24910049SVuong.Nguyen@Sun.COM ereport.cpu.intel.nb.ddr2_mem_ue@motherboard/memory-controller, 2507349SAdrian.Frost@Sun.COM ereport.cpu.intel.nb.fbd.ma@motherboard/memory-controller; 2515254Sgavinm 2527349SAdrian.Frost@Sun.COMevent upset.memory.intel.discard@motherboard/memory-controller{within(1s)}; 2537197Sstephh 2548037SAdrian.Frost@Sun.COMprop upset.memory.intel.discard@motherboard/memory-controller (0)-> 2557349SAdrian.Frost@Sun.COM ereport.cpu.intel.nb.mem_ue@motherboard/memory-controller, 25610049SVuong.Nguyen@Sun.COM ereport.cpu.intel.nb.ddr2_mem_ue@motherboard/memory-controller, 2577349SAdrian.Frost@Sun.COM ereport.cpu.intel.nb.fbd.ma@motherboard/memory-controller; 2585254Sgavinm 2597349SAdrian.Frost@Sun.COMprop upset.memory.intel.discard@motherboard/memory-controller (0)-> 2607349SAdrian.Frost@Sun.COM EREPORT_BUS_ERROR; 2615254Sgavinm 2627197Sstephh#define PAGE_CE_COUNT 2 2637197Sstephh#define PAGE_CE_TIME 72h 2645254Sgavinm#define DIMM_CE_COUNT 10 2655254Sgavinm#define DIMM_CE_TIME 1week 2665254Sgavinm 2679649SVuong.Nguyen@Sun.COM#define MBDIMM motherboard/memory-controller/dram-channel/dimm 2689649SVuong.Nguyen@Sun.COMevent ereport.cpu.intel.nb.mem_ce@MBDIMM/rank{within(12s)}; 26910049SVuong.Nguyen@Sun.COMevent ereport.cpu.intel.nb.ddr2_mem_ce@MBDIMM/rank{within(12s)}; 27010049SVuong.Nguyen@Sun.COMevent ereport.cpu.intel.nb.ddr2_mem_ce@ 27110049SVuong.Nguyen@Sun.COM motherboard/memory-controller{within(12s)}; 2727197Sstephh 2739649SVuong.Nguyen@Sun.COMengine serd.memory.intel.page_ce@MBDIMM/rank, N=PAGE_CE_COUNT, T=PAGE_CE_TIME; 2749649SVuong.Nguyen@Sun.COMevent fault.memory.intel.page_ce@MBDIMM/rank, message=0, response=0, 2759649SVuong.Nguyen@Sun.COM count=stat.ce_pgflt@MBDIMM, engine=serd.memory.intel.page_ce@MBDIMM/rank; 2769649SVuong.Nguyen@Sun.COMprop fault.memory.intel.page_ce@MBDIMM/rank 2777197Sstephh { (payloadprop_defined("physaddr") || payloadprop_defined("offset")) && 2787197Sstephh SET_ADDR && SET_OFFSET } (0)-> 27910049SVuong.Nguyen@Sun.COM ereport.cpu.intel.nb.mem_ce@MBDIMM/rank, 28010049SVuong.Nguyen@Sun.COM ereport.cpu.intel.nb.ddr2_mem_ce@MBDIMM/rank; 2815254Sgavinm 2829649SVuong.Nguyen@Sun.COMengine serd.memory.intel.dimm_ce@MBDIMM/rank, N=DIMM_CE_COUNT, T=DIMM_CE_TIME; 2839649SVuong.Nguyen@Sun.COMevent fault.memory.intel.dimm_ce@MBDIMM/rank, 2849649SVuong.Nguyen@Sun.COM engine=serd.memory.intel.dimm_ce@MBDIMM/rank; 2859649SVuong.Nguyen@Sun.COMprop fault.memory.intel.dimm_ce@MBDIMM/rank 2869649SVuong.Nguyen@Sun.COM { !confprop_defined(MBDIMM, "dimm-size") && 2879649SVuong.Nguyen@Sun.COM count(stat.ce_pgflt@MBDIMM) > 512 } (1)-> 28810049SVuong.Nguyen@Sun.COM ereport.cpu.intel.nb.mem_ce@MBDIMM/rank, 28910049SVuong.Nguyen@Sun.COM ereport.cpu.intel.nb.ddr2_mem_ce@MBDIMM/rank; 2907197Sstephh#define DIMM_CE(dimm_size, n, t, fault_rate) \ 2919649SVuong.Nguyen@Sun.COM prop fault.memory.intel.dimm_ce@MBDIMM/rank { \ 2929649SVuong.Nguyen@Sun.COM confprop(MBDIMM, "dimm-size") == dimm_size && \ 2939649SVuong.Nguyen@Sun.COM count(stat.ce_pgflt@MBDIMM) > fault_rate && \ 2947197Sstephh setserdn(n) & setserdt(t) } (1)-> \ 29510049SVuong.Nguyen@Sun.COM ereport.cpu.intel.nb.mem_ce@MBDIMM/rank, \ 29610049SVuong.Nguyen@Sun.COM ereport.cpu.intel.nb.ddr2_mem_ce@MBDIMM/rank; 2977197Sstephh 2987197SstephhDIMM_CE("8G", 8, 1week, 2000) 2997197SstephhDIMM_CE("4G", 4, 1week, 1500) 3007197SstephhDIMM_CE("2G", 4, 2week, 1000) 3017197SstephhDIMM_CE("1G", 4, 4week, 500) 3027197SstephhDIMM_CE("512M", 4, 8week, 250) 3037197SstephhDIMM_CE("256M", 4, 16week, 125) 3045254Sgavinm 30510049SVuong.Nguyen@Sun.COMprop upset.memory.intel.discard@motherboard/memory-controller (0)-> 30610049SVuong.Nguyen@Sun.COM ereport.cpu.intel.nb.ddr2_mem_ce@motherboard/memory-controller; 30710049SVuong.Nguyen@Sun.COM 3087197Sstephhevent ereport.cpu.intel.nb.fbd.alert@rank{within(12s)}; 3097197Sstephhevent fault.memory.intel.fbd.alert@rank, retire=0; 3105254Sgavinm 3117197Sstephhprop fault.memory.intel.fbd.alert@rank (1)-> 3127197Sstephh ereport.cpu.intel.nb.fbd.alert@rank; 3135254Sgavinm 3147197Sstephhprop fault.memory.intel.fbd.alert@rank (0)-> 3157349SAdrian.Frost@Sun.COM EREPORT_BUS_ERROR; 3165254Sgavinm 3177197Sstephhevent ereport.cpu.intel.nb.fbd.crc@rank{within(12s)}; 3187197Sstephhevent fault.memory.intel.fbd.crc@rank, retire=0; 3195254Sgavinm 3207197Sstephhprop fault.memory.intel.fbd.crc@rank (1)-> 3217197Sstephh ereport.cpu.intel.nb.fbd.crc@rank; 3225254Sgavinm 3237349SAdrian.Frost@Sun.COMprop fault.memory.intel.fbd.crc@rank (0)-> EREPORT_BUS_ERROR; 3245254Sgavinm 3257197Sstephhevent ereport.cpu.intel.nb.fbd.reset_timeout@memory-controller {within(12s)}; 3267197Sstephhevent fault.memory.intel.fbd.reset_timeout@memory-controller, retire=0; 3275254Sgavinm 3287197Sstephhprop fault.memory.intel.fbd.reset_timeout@memory-controller (1)-> 3297197Sstephh ereport.cpu.intel.nb.fbd.reset_timeout@memory-controller; 3305254Sgavinm 3317197Sstephhprop fault.memory.intel.fbd.reset_timeout@memory-controller (0)-> 3327349SAdrian.Frost@Sun.COM EREPORT_BUS_ERROR; 3335254Sgavinm 3347197Sstephhevent ereport.cpu.intel.nb.fbd.ch@dram-channel {within(12s)}; 3357197Sstephhengine serd.cpu.intel.nb.fbd.ch@dram-channel, N=2, T=1month; 3367197Sstephhevent fault.memory.intel.fbd.ch@dram-channel, retire=0, 3377197Sstephh engine=serd.cpu.intel.nb.fbd.ch@dram-channel; 3385254Sgavinm 3397197Sstephhprop fault.memory.intel.fbd.ch@dram-channel (1)-> 3407197Sstephh ereport.cpu.intel.nb.fbd.ch@dram-channel; 3415254Sgavinm 3427197Sstephhprop fault.memory.intel.fbd.ch@dram-channel (0)-> 3437349SAdrian.Frost@Sun.COM EREPORT_BUS_ERROR; 3445254Sgavinm 3457197Sstephhevent ereport.cpu.intel.nb.fbd.otf@dram-channel {within(12s)}; 3467197Sstephhengine serd.cpu.intel.nb.fbd_otf@dram-channel, N=2, T=1week; 3477197Sstephhevent fault.memory.intel.fbd.otf@dram-channel, retire=0, response=0, 3487197Sstephh engine=serd.cpu.intel.nb.fbd_otf@dram-channel; 3495254Sgavinm 3507197Sstephhprop fault.memory.intel.fbd.otf@dram-channel (1)-> 3517197Sstephh ereport.cpu.intel.nb.fbd.otf@dram-channel; 3527197Sstephh 3536359Safevent ereport.cpu.intel.nb.otf@motherboard {within(12s)}; 3547197Sstephhevent fault.cpu.intel.nb.otf@motherboard, retire=0, response=0; 3555254Sgavinm 3567197Sstephhprop fault.cpu.intel.nb.otf@motherboard (1)-> 3576359Saf ereport.cpu.intel.nb.otf@motherboard; 3586359Saf 35910199SVuong.Nguyen@Sun.COMevent ereport.cpu.intel.nb.unknown@motherboard {within(12s)}; 3607197Sstephhevent ereport.cpu.intel.nb.unknown@memory-controller {within(12s)}; 3617197Sstephhevent ereport.cpu.intel.nb.unknown@memory-controller/dram-channel {within(12s)}; 3627197Sstephhevent ereport.cpu.intel.nb.spd@memory-controller/dram-channel {within(12s)}; 36310049SVuong.Nguyen@Sun.COMevent ereport.cpu.intel.nb.ddr2_spd@ 36410049SVuong.Nguyen@Sun.COM memory-controller/dram-channel {within(12s)}; 3657197Sstephhevent upset.discard@memory-controller; 3665254Sgavinm 3677197Sstephhprop upset.discard@memory-controller (0)-> 36810199SVuong.Nguyen@Sun.COM ereport.cpu.intel.nb.unknown@motherboard, 3697197Sstephh ereport.cpu.intel.nb.unknown@memory-controller, 3707197Sstephh ereport.cpu.intel.nb.unknown@memory-controller/dram-channel, 37110049SVuong.Nguyen@Sun.COM ereport.cpu.intel.nb.spd@memory-controller/dram-channel, 37210049SVuong.Nguyen@Sun.COM ereport.cpu.intel.nb.ddr2_spd@memory-controller/dram-channel; 3735254Sgavinm 3747197Sstephhevent ereport.cpu.intel.nb.mem_ds@memory-controller{within(30s)}; 37510049SVuong.Nguyen@Sun.COMevent ereport.cpu.intel.nb.ddr2_mem_ds@memory-controller{within(30s)}; 3767197Sstephhevent fault.memory.intel.fbd.mem_ds@memory-controller/dram-channel/dimm/rank, 3777197Sstephh retire=0; 3785254Sgavinm 3795254Sgavinmprop fault.memory.intel.fbd.mem_ds@ 3807197Sstephh memory-controller/dram-channel/dimm/rank[rank_num] 3815254Sgavinm { payloadprop_defined("rank") && rank_num == payloadprop("rank") } (1)-> 38210049SVuong.Nguyen@Sun.COM ereport.cpu.intel.nb.mem_ds@memory-controller, 38310049SVuong.Nguyen@Sun.COM ereport.cpu.intel.nb.ddr2_mem_ds@memory-controller; 3845254Sgavinm 3857197Sstephhevent ereport.cpu.intel.nb.fsb@chip{within(12s)}; 3867197Sstephhevent fault.cpu.intel.nb.fsb@chip, retire=0; 3875254Sgavinm 3887197Sstephhprop fault.cpu.intel.nb.fsb@chip (1)-> 3897197Sstephh ereport.cpu.intel.nb.fsb@chip; 3905254Sgavinm 3917349SAdrian.Frost@Sun.COMprop fault.cpu.intel.nb.fsb@chip (0)-> EREPORT_BUS_ERROR; 3925254Sgavinm 3935254Sgavinmevent ereport.cpu.intel.nb.ie@motherboard{within(12s)}; 3947197Sstephhevent fault.cpu.intel.nb.ie@motherboard, retire=0; 3958052SAdrian.Frost@Sun.COMevent upset.cpu.intel.nb.ie_ce@motherboard{within(12s)}; 3965254Sgavinm 3978052SAdrian.Frost@Sun.COMprop upset.cpu.intel.nb.ie_ce@motherboard 3988052SAdrian.Frost@Sun.COM { payloadprop("intel-error-list") == "B6" } (0)-> 3998052SAdrian.Frost@Sun.COM ereport.cpu.intel.nb.ie@motherboard; 4008052SAdrian.Frost@Sun.COM 4018052SAdrian.Frost@Sun.COMprop fault.cpu.intel.nb.ie@motherboard 4028052SAdrian.Frost@Sun.COM { payloadprop("intel-error-list") != "B6" } (1)-> 4035254Sgavinm ereport.cpu.intel.nb.ie@motherboard; 4045254Sgavinm 4057349SAdrian.Frost@Sun.COMprop fault.cpu.intel.nb.ie@motherboard (0)-> EREPORT_BUS_ERROR; 4065254Sgavinm 4075254Sgavinmevent ereport.cpu.intel.nb.dma@motherboard{within(12s)}; 40811716SVuong.Nguyen@Sun.COMevent upset.cpu.intel.nb.dma@motherboard; 4095254Sgavinm 41011716SVuong.Nguyen@Sun.COMprop upset.cpu.intel.nb.dma@motherboard (1)-> 4115254Sgavinm ereport.cpu.intel.nb.dma@motherboard; 4125254Sgavinm 4135254Sgavinmevent ereport.cpu.intel.nb.esi@motherboard{within(12s)}; 4147197Sstephhevent ereport.cpu.intel.nb.pex@hostbridge{within(12s)}; 4157197Sstephhevent upset.cpu.intel.nb.pex@hostbridge; 4165254Sgavinm 4177197Sstephhprop upset.cpu.intel.nb.pex@hostbridge (1)-> 4185254Sgavinm ereport.cpu.intel.nb.esi@motherboard, 4197197Sstephh ereport.cpu.intel.nb.pex@hostbridge; 4205254Sgavinm 4217349SAdrian.Frost@Sun.COMprop upset.cpu.intel.nb.pex@hostbridge (0)-> EREPORT_BUS_ERROR; 4225254Sgavinm 4237197Sstephhevent ereport.cpu.intel.nb.unknown@rank{within(12s)}; 4247197Sstephhevent upset.discard@rank; 4255254Sgavinm 4267197Sstephhprop upset.discard@rank (1)-> 4277197Sstephh ereport.cpu.intel.nb.unknown@rank; 4285254Sgavinm 4297349SAdrian.Frost@Sun.COMprop upset.discard@rank (0)-> EREPORT_BUS_ERROR; 4307349SAdrian.Frost@Sun.COM 4317349SAdrian.Frost@Sun.COM/* 4327349SAdrian.Frost@Sun.COM * CPU integrated memory controller 4337349SAdrian.Frost@Sun.COM */ 4347349SAdrian.Frost@Sun.COM 4357349SAdrian.Frost@Sun.COM#define CONTAINS_RANK (payloadprop_contains("resource", \ 43610942STom.Pothier@Sun.COM asru(chip/memory-controller/dram-channel/dimm/rank)) || \ 4377349SAdrian.Frost@Sun.COM payloadprop_contains("resource", \ 43810942STom.Pothier@Sun.COM asru(chip/memory-controller/dram-channel/dimm))) 4397349SAdrian.Frost@Sun.COM 4409104SAdrian.Frost@Sun.COM#define STAT_CPU_MEM_CE_PGFLTS \ 44110942STom.Pothier@Sun.COM stat.ce_pgflt@chip/memory-controller/dram-channel/dimm 4427349SAdrian.Frost@Sun.COM 4438037SAdrian.Frost@Sun.COM#define SET_RES_OFFSET \ 4448037SAdrian.Frost@Sun.COM (!payloadprop_defined("resource[0].hc-specific.offset") || \ 4458037SAdrian.Frost@Sun.COM setpayloadprop("asru-offset", \ 4468037SAdrian.Frost@Sun.COM payloadprop("resource[0].hc-specific.offset"))) 4478037SAdrian.Frost@Sun.COM 4489104SAdrian.Frost@Sun.COMengine STAT_CPU_MEM_CE_PGFLTS; 4497349SAdrian.Frost@Sun.COM 45010942STom.Pothier@Sun.COMevent ereport.cpu.intel.quickpath.mem_ue@chip/memory-controller 45112332SAdrian.Frost@Sun.COM {within(12s)}, discard_if_config_unknown=1; 4527349SAdrian.Frost@Sun.COM 4537349SAdrian.Frost@Sun.COMevent fault.memory.intel.page_ue@ 45410942STom.Pothier@Sun.COM chip/memory-controller/dram-channel/dimm/rank, 4557349SAdrian.Frost@Sun.COM message=0, response=0; /* do not message individual pageflts */ 4567349SAdrian.Frost@Sun.COM 4577349SAdrian.Frost@Sun.COMprop fault.memory.intel.page_ue@ 45810942STom.Pothier@Sun.COM chip/memory-controller/dram-channel/dimm/rank 4598037SAdrian.Frost@Sun.COM { CONTAINS_RANK && (payloadprop_defined("physaddr") || 4608037SAdrian.Frost@Sun.COM payloadprop_defined("resource[0].hc-specific.offset")) && 46110831SYanmin.Sun@Sun.COM SET_ADDR && SET_RES_OFFSET } (0)-> 46210942STom.Pothier@Sun.COM ereport.cpu.intel.quickpath.mem_ue@chip/memory-controller; 4637349SAdrian.Frost@Sun.COM 46410942STom.Pothier@Sun.COM#define CHIPDIMM chip/memory-controller/dram-channel/dimm 46510831SYanmin.Sun@Sun.COM 46610831SYanmin.Sun@Sun.COMevent fault.memory.intel.dimm_ue@CHIPDIMM/rank; 4677349SAdrian.Frost@Sun.COM 46810831SYanmin.Sun@Sun.COMevent error.memory.intel.dimm_ue_ep@CHIPDIMM/rank; 46910831SYanmin.Sun@Sun.COMevent error.memory.intel.dimm_ue_ex@CHIPDIMM/rank; 47010831SYanmin.Sun@Sun.COM 47110831SYanmin.Sun@Sun.COMprop fault.memory.intel.dimm_ue@CHIPDIMM/rank (1)-> 47210831SYanmin.Sun@Sun.COM error.memory.intel.dimm_ue_ep@CHIPDIMM/rank, 47310831SYanmin.Sun@Sun.COM error.memory.intel.dimm_ue_ex@CHIPDIMM/rank; 47410831SYanmin.Sun@Sun.COM 47510831SYanmin.Sun@Sun.COMprop error.memory.intel.dimm_ue_ep@CHIPDIMM/rank 4767349SAdrian.Frost@Sun.COM { CONTAINS_RANK } (1)-> 47710942STom.Pothier@Sun.COM ereport.cpu.intel.quickpath.mem_ue@chip/memory-controller; 4787349SAdrian.Frost@Sun.COM 47910831SYanmin.Sun@Sun.COMprop fault.memory.intel.dimm_ue@CHIPDIMM/rank (0)-> EREPORT_BUS_ERROR; 4807349SAdrian.Frost@Sun.COM 4817349SAdrian.Frost@Sun.COMevent ereport.cpu.intel.quickpath.mem_ce@ 48212332SAdrian.Frost@Sun.COM chip/memory-controller {within(12s)}, discard_if_config_unknown=1; 4837349SAdrian.Frost@Sun.COM 4849649SVuong.Nguyen@Sun.COMengine serd.memory.intel.page_ce@CHIPDIMM/rank, N=PAGE_CE_COUNT, T=PAGE_CE_TIME; 4859649SVuong.Nguyen@Sun.COMevent fault.memory.intel.page_ce@CHIPDIMM/rank, message=0, response=0, 4869104SAdrian.Frost@Sun.COM count=STAT_CPU_MEM_CE_PGFLTS, 4879649SVuong.Nguyen@Sun.COM engine=serd.memory.intel.page_ce@CHIPDIMM/rank; 4889649SVuong.Nguyen@Sun.COMprop fault.memory.intel.page_ce@CHIPDIMM/rank 4898037SAdrian.Frost@Sun.COM { CONTAINS_RANK && (payloadprop_defined("physaddr") || 4908037SAdrian.Frost@Sun.COM payloadprop_defined("resource[0].hc-specific.offset")) && 49110831SYanmin.Sun@Sun.COM SET_ADDR && SET_RES_OFFSET } (0)-> 49210942STom.Pothier@Sun.COM ereport.cpu.intel.quickpath.mem_ce@chip/memory-controller; 4937349SAdrian.Frost@Sun.COM 4949649SVuong.Nguyen@Sun.COMengine serd.memory.intel.dimm_ce@CHIPDIMM, N=PAGE_CE_COUNT, T=PAGE_CE_TIME; 4959649SVuong.Nguyen@Sun.COMevent fault.memory.intel.dimm_ce@CHIPDIMM, 4969649SVuong.Nguyen@Sun.COM engine=serd.memory.intel.dimm_ce@CHIPDIMM; 4979649SVuong.Nguyen@Sun.COMprop fault.memory.intel.dimm_ce@CHIPDIMM 4989649SVuong.Nguyen@Sun.COM { !confprop_defined(CHIPDIMM, "dimm-size") && 49910831SYanmin.Sun@Sun.COM count(STAT_CPU_MEM_CE_PGFLTS) > 512 } (0)-> 50010942STom.Pothier@Sun.COM ereport.cpu.intel.quickpath.mem_ce@chip/memory-controller; 5017349SAdrian.Frost@Sun.COM 5027349SAdrian.Frost@Sun.COM#define CPU_MEM_DIMM_CE(dimm_size, n, t, fault_rate) \ 5039649SVuong.Nguyen@Sun.COM prop fault.memory.intel.dimm_ce@CHIPDIMM { \ 5049649SVuong.Nguyen@Sun.COM confprop(CHIPDIMM, "dimm-size") == dimm_size && \ 5059649SVuong.Nguyen@Sun.COM count(STAT_CPU_MEM_CE_PGFLTS) > fault_rate && \ 50610831SYanmin.Sun@Sun.COM setserdn(n) & setserdt(t) } (0)-> \ 5077349SAdrian.Frost@Sun.COM ereport.cpu.intel.quickpath.mem_ce@ \ 50810942STom.Pothier@Sun.COM chip/memory-controller; 5097349SAdrian.Frost@Sun.COM 5107349SAdrian.Frost@Sun.COMCPU_MEM_DIMM_CE("16G", 16, 1week, 2000) 5117349SAdrian.Frost@Sun.COMCPU_MEM_DIMM_CE("8G", 8, 1week, 2000) 5127349SAdrian.Frost@Sun.COMCPU_MEM_DIMM_CE("4G", 4, 1week, 1500) 5137349SAdrian.Frost@Sun.COMCPU_MEM_DIMM_CE("2G", 4, 2week, 1000) 5147349SAdrian.Frost@Sun.COMCPU_MEM_DIMM_CE("1G", 4, 4week, 500) 5157349SAdrian.Frost@Sun.COMCPU_MEM_DIMM_CE("512M", 4, 8week, 250) 5167349SAdrian.Frost@Sun.COM 51712332SAdrian.Frost@Sun.COMevent ereport.cpu.intel.quickpath.mem_unknown@chip/memory-controller 51812332SAdrian.Frost@Sun.COM {within(12s)}, discard_if_config_unknown=1; 51912332SAdrian.Frost@Sun.COMevent ereport.cpu.intel.quickpath.mem_unknown@ 52012332SAdrian.Frost@Sun.COM chip/memory-controller/dram-channel {within(12s)}, 52112332SAdrian.Frost@Sun.COM discard_if_config_unknown=1; 5227349SAdrian.Frost@Sun.COMevent ereport.cpu.intel.quickpath.mem_unknown@ 52310942STom.Pothier@Sun.COM chip/memory-controller/dram-channel/dimm/rank{within(12s)}; 52410942STom.Pothier@Sun.COMevent upset.discard@chip/memory-controller; 52510942STom.Pothier@Sun.COMevent upset.discard@chip/memory-controller/dram-channel/dimm/rank; 5267349SAdrian.Frost@Sun.COM 52710942STom.Pothier@Sun.COMprop upset.discard@chip/memory-controller (0)-> 52810942STom.Pothier@Sun.COM ereport.cpu.intel.quickpath.mem_unknown@chip/memory-controller, 5297349SAdrian.Frost@Sun.COM ereport.cpu.intel.quickpath.mem_unknown@ 53010942STom.Pothier@Sun.COM chip/memory-controller/dram-channel; 5317349SAdrian.Frost@Sun.COM 5327349SAdrian.Frost@Sun.COMprop upset.discard@ 53310942STom.Pothier@Sun.COM chip/memory-controller/dram-channel/dimm/rank (1)-> 5347349SAdrian.Frost@Sun.COM ereport.cpu.intel.quickpath.mem_unknown@ 53510942STom.Pothier@Sun.COM chip/memory-controller/dram-channel/dimm/rank; 5367349SAdrian.Frost@Sun.COM 53712332SAdrian.Frost@Sun.COMevent ereport.cpu.intel.quickpath.mem_parity@chip/memory-controller 53812332SAdrian.Frost@Sun.COM {within(1s)}, discard_if_config_unknown=1; 53910942STom.Pothier@Sun.COMevent fault.cpu.intel.quickpath.mem_parity@chip/memory-controller; 5407349SAdrian.Frost@Sun.COM 54110942STom.Pothier@Sun.COMprop fault.cpu.intel.quickpath.mem_parity@chip/memory-controller (1)-> 54210942STom.Pothier@Sun.COM ereport.cpu.intel.quickpath.mem_parity@chip/memory-controller; 5437349SAdrian.Frost@Sun.COM 54412332SAdrian.Frost@Sun.COMevent ereport.cpu.intel.quickpath.mem_addr_parity@chip/memory-controller 54512332SAdrian.Frost@Sun.COM {within(1s)}, discard_if_config_unknown=1; 5467349SAdrian.Frost@Sun.COMevent fault.cpu.intel.quickpath.mem_addr_parity@ 54710942STom.Pothier@Sun.COM chip/memory-controller; 54810650SVuong.Nguyen@Sun.COMevent fault.cpu.intel.quickpath.mem_addr_parity@CHIPDIMM; 54910650SVuong.Nguyen@Sun.COMevent fault.cpu.intel.quickpath.mem_addr_parity@CHIPDIMM/rank; 5507349SAdrian.Frost@Sun.COM 5517349SAdrian.Frost@Sun.COMprop fault.cpu.intel.quickpath.mem_addr_parity@ 55210942STom.Pothier@Sun.COM chip/memory-controller (1)-> 55310942STom.Pothier@Sun.COM ereport.cpu.intel.quickpath.mem_addr_parity@chip/memory-controller; 5547349SAdrian.Frost@Sun.COM 55510650SVuong.Nguyen@Sun.COMprop fault.cpu.intel.quickpath.mem_addr_parity@CHIPDIMM 55610650SVuong.Nguyen@Sun.COM { payloadprop_contains("resource", asru(CHIPDIMM)) } (1)-> 55710942STom.Pothier@Sun.COM ereport.cpu.intel.quickpath.mem_addr_parity@chip/memory-controller; 55810650SVuong.Nguyen@Sun.COM 55910650SVuong.Nguyen@Sun.COMprop fault.cpu.intel.quickpath.mem_addr_parity@CHIPDIMM/rank 56010650SVuong.Nguyen@Sun.COM { payloadprop_contains("resource", asru(CHIPDIMM/rank)) } (1)-> 56110942STom.Pothier@Sun.COM ereport.cpu.intel.quickpath.mem_addr_parity@chip/memory-controller; 5627349SAdrian.Frost@Sun.COM 56312332SAdrian.Frost@Sun.COMevent ereport.cpu.intel.quickpath.mem_bad_addr@chip/memory-controller 56412332SAdrian.Frost@Sun.COM {within(1s)}, discard_if_config_unknown=1; 56510942STom.Pothier@Sun.COMevent fault.cpu.intel.quickpath.mem_bad_addr@chip/memory-controller; 5667349SAdrian.Frost@Sun.COM 56710942STom.Pothier@Sun.COMprop fault.cpu.intel.quickpath.mem_bad_addr@chip/memory-controller (1)-> 56810942STom.Pothier@Sun.COM ereport.cpu.intel.quickpath.mem_bad_addr@chip/memory-controller; 5697349SAdrian.Frost@Sun.COM 57012332SAdrian.Frost@Sun.COMevent ereport.cpu.intel.quickpath.mem_spare@chip/memory-controller 57112332SAdrian.Frost@Sun.COM {within(1s)}, discard_if_config_unknown=1; 5727349SAdrian.Frost@Sun.COMevent fault.cpu.intel.quickpath.mem_spare@ 57310942STom.Pothier@Sun.COM chip/memory-controller/dram-channel/dimm; 5747349SAdrian.Frost@Sun.COM 5757349SAdrian.Frost@Sun.COMprop fault.cpu.intel.quickpath.mem_spare@ 57610942STom.Pothier@Sun.COM chip/memory-controller/dram-channel/dimm (1)-> 57710942STom.Pothier@Sun.COM ereport.cpu.intel.quickpath.mem_spare@chip/memory-controller; 5787349SAdrian.Frost@Sun.COM 57912332SAdrian.Frost@Sun.COMevent ereport.cpu.intel.quickpath.mem_bad_id@chip/memory-controller 58012332SAdrian.Frost@Sun.COM {within(1s)}, discard_if_config_unknown=1; 58110942STom.Pothier@Sun.COMevent fault.cpu.intel.quickpath.mem_bad_id@chip/memory-controller; 5827349SAdrian.Frost@Sun.COM 58310942STom.Pothier@Sun.COMprop fault.cpu.intel.quickpath.mem_bad_id@chip/memory-controller (1)-> 58410942STom.Pothier@Sun.COM ereport.cpu.intel.quickpath.mem_bad_id@chip/memory-controller; 5857349SAdrian.Frost@Sun.COM 58612332SAdrian.Frost@Sun.COMevent ereport.cpu.intel.quickpath.mem_redundant@chip/memory-controller 58712332SAdrian.Frost@Sun.COM {within(1s)}, discard_if_config_unknown=1; 58810650SVuong.Nguyen@Sun.COMengine serd.cpu.intel.quickpath.mem_redundant@CHIPDIMM, N=2, T=72h; 58910650SVuong.Nguyen@Sun.COMevent fault.cpu.intel.quickpath.mem_redundant@CHIPDIMM, 59010650SVuong.Nguyen@Sun.COM engine=serd.cpu.intel.quickpath.mem_redundant@CHIPDIMM; 59110650SVuong.Nguyen@Sun.COM 59210650SVuong.Nguyen@Sun.COMevent error.cpu.intel.quickpath.mem_redundant@CHIPDIMM/rank; 5937349SAdrian.Frost@Sun.COM 59410650SVuong.Nguyen@Sun.COMprop fault.cpu.intel.quickpath.mem_redundant@CHIPDIMM (1)-> 59511324SVuong.Nguyen@Sun.COM error.cpu.intel.quickpath.mem_redundant@CHIPDIMM/rank<>; 59610650SVuong.Nguyen@Sun.COMprop error.cpu.intel.quickpath.mem_redundant@CHIPDIMM/rank 59710650SVuong.Nguyen@Sun.COM { CONTAINS_RANK } (1)-> 5987349SAdrian.Frost@Sun.COM ereport.cpu.intel.quickpath.mem_redundant@ 59910942STom.Pothier@Sun.COM chip/memory-controller; 6007349SAdrian.Frost@Sun.COM 60110826SVuong.Nguyen@Sun.COM#define STATUS_UC (payloadprop("error_uncorrected") == 1) 60210942STom.Pothier@Sun.COMevent ereport.cpu.intel.quickpath.interconnect@chip 6037349SAdrian.Frost@Sun.COM {within(1s)}; 60410942STom.Pothier@Sun.COMevent upset.cpu.intel.quickpath.interconnect@chip; 6057349SAdrian.Frost@Sun.COM/* Diagnose corrected events to upsets */ 60610942STom.Pothier@Sun.COMprop upset.cpu.intel.quickpath.interconnect@chip 6077349SAdrian.Frost@Sun.COM { !STATUS_UC } (1)-> 60810942STom.Pothier@Sun.COM ereport.cpu.intel.quickpath.interconnect@chip; 6097349SAdrian.Frost@Sun.COM 61010942STom.Pothier@Sun.COMengine serd.cpu.intel.quickpath.interconnect@chip, 6117349SAdrian.Frost@Sun.COM N=3, T=72h; 61210942STom.Pothier@Sun.COMevent fault.cpu.intel.quickpath.interconnect@chip, 61310942STom.Pothier@Sun.COM engine=serd.cpu.intel.quickpath.interconnect@chip; 6147349SAdrian.Frost@Sun.COM 6157349SAdrian.Frost@Sun.COM/* Diagnose uncorrected events to faults */ 61610942STom.Pothier@Sun.COMprop fault.cpu.intel.quickpath.interconnect@chip 6177349SAdrian.Frost@Sun.COM { STATUS_UC } (0)-> 61810942STom.Pothier@Sun.COM ereport.cpu.intel.quickpath.interconnect@chip; 61910831SYanmin.Sun@Sun.COM 62010831SYanmin.Sun@Sun.COM 62110831SYanmin.Sun@Sun.COM/* 62210831SYanmin.Sun@Sun.COM * Nehalem EX specific rules 62310831SYanmin.Sun@Sun.COM */ 62410831SYanmin.Sun@Sun.COM/* MBox errors */ 62510831SYanmin.Sun@Sun.COM#define EX_MEM_EVENT(leafclass, t) \ 62610831SYanmin.Sun@Sun.COM event ereport.cpu.intel.quickpath.leafclass@ \ 62712332SAdrian.Frost@Sun.COM chip/memory-controller { within(t) }, discard_if_config_unknown=1 62810831SYanmin.Sun@Sun.COM 62910831SYanmin.Sun@Sun.COMEX_MEM_EVENT(mem_lnktrns, 1s); 63010831SYanmin.Sun@Sun.COMEX_MEM_EVENT(mem_lnkpers, 1s); 63110831SYanmin.Sun@Sun.COMEX_MEM_EVENT(mem_sbfbdlinkerr, 1s); 63210831SYanmin.Sun@Sun.COMEX_MEM_EVENT(mem_nbfbdlnkerr, 1s); 63310831SYanmin.Sun@Sun.COMEX_MEM_EVENT(mem_lnkcrcvld, 1s); 63410831SYanmin.Sun@Sun.COM 63510942STom.Pothier@Sun.COMengine serd.cpu.intel.quickpath.mem_link_ce@chip/memory-controller, 63610831SYanmin.Sun@Sun.COM N=500, T=1week; 63710942STom.Pothier@Sun.COMevent fault.cpu.intel.quickpath.mem_link_ce@chip/memory-controller, 63810942STom.Pothier@Sun.COM engine=serd.cpu.intel.quickpath.mem_link_ce@chip/memory-controller, 63910831SYanmin.Sun@Sun.COM retire=0, response=0; 64010831SYanmin.Sun@Sun.COM 64110942STom.Pothier@Sun.COMprop fault.cpu.intel.quickpath.mem_link_ce@chip/memory-controller -> 64210942STom.Pothier@Sun.COM ereport.cpu.intel.quickpath.mem_lnktrns@chip/memory-controller, 64310942STom.Pothier@Sun.COM ereport.cpu.intel.quickpath.mem_lnkpers@chip/memory-controller, 64410942STom.Pothier@Sun.COM ereport.cpu.intel.quickpath.mem_sbfbdlinkerr@chip/memory-controller, 64510942STom.Pothier@Sun.COM ereport.cpu.intel.quickpath.mem_nbfbdlnkerr@chip/memory-controller, 64610942STom.Pothier@Sun.COM ereport.cpu.intel.quickpath.mem_lnkcrcvld@chip/memory-controller; 64710831SYanmin.Sun@Sun.COM 64810831SYanmin.Sun@Sun.COMEX_MEM_EVENT(mem_lnkuncorr_uc, 1s); 64910831SYanmin.Sun@Sun.COMEX_MEM_EVENT(mem_lnkpers_uc, 1s); 65010831SYanmin.Sun@Sun.COMEX_MEM_EVENT(mem_sbfbdlinkerr_uc, 1s); 65110831SYanmin.Sun@Sun.COMEX_MEM_EVENT(mem_nbfbdlnkerr_uc, 1s); 65210831SYanmin.Sun@Sun.COMEX_MEM_EVENT(mem_lnkcrcvld_uc, 1s); 65310831SYanmin.Sun@Sun.COM 65410942STom.Pothier@Sun.COMevent fault.cpu.intel.quickpath.mem_link_ue@chip/memory-controller, 65510831SYanmin.Sun@Sun.COM retire=0; 65610831SYanmin.Sun@Sun.COM 65710942STom.Pothier@Sun.COMprop fault.cpu.intel.quickpath.mem_link_ue@chip/memory-controller -> 65810942STom.Pothier@Sun.COM ereport.cpu.intel.quickpath.mem_lnkuncorr_uc@chip/memory-controller, 65910942STom.Pothier@Sun.COM ereport.cpu.intel.quickpath.mem_lnkpers_uc@chip/memory-controller, 66010942STom.Pothier@Sun.COM ereport.cpu.intel.quickpath.mem_sbfbdlinkerr_uc@chip/memory-controller, 66110942STom.Pothier@Sun.COM ereport.cpu.intel.quickpath.mem_nbfbdlnkerr_uc@chip/memory-controller, 66210942STom.Pothier@Sun.COM ereport.cpu.intel.quickpath.mem_lnkcrcvld_uc@chip/memory-controller; 66310831SYanmin.Sun@Sun.COM 66410831SYanmin.Sun@Sun.COMEX_MEM_EVENT(mem_ptrl_fsm_err, 1s); 66510831SYanmin.Sun@Sun.COMEX_MEM_EVENT(mem_errflw_fsm_fail, 1s); 66610831SYanmin.Sun@Sun.COMEX_MEM_EVENT(mem_vberr, 1s); 66710831SYanmin.Sun@Sun.COM 66810942STom.Pothier@Sun.COMengine serd.cpu.intel.quickpath.mem_controller_ce@chip/memory-controller, 66910831SYanmin.Sun@Sun.COM N=500, T=1week; 67010942STom.Pothier@Sun.COMevent fault.cpu.intel.quickpath.mem_controller_ce@chip/memory-controller, 67110942STom.Pothier@Sun.COM engine=serd.cpu.intel.quickpath.mem_controller_ce@chip/memory-controller, 67210831SYanmin.Sun@Sun.COM retire=0, response=0; 67310831SYanmin.Sun@Sun.COM 67410942STom.Pothier@Sun.COMprop fault.cpu.intel.quickpath.mem_controller_ce@chip/memory-controller -> 67510942STom.Pothier@Sun.COM ereport.cpu.intel.quickpath.mem_ptrl_fsm_err@chip/memory-controller, 67610942STom.Pothier@Sun.COM ereport.cpu.intel.quickpath.mem_errflw_fsm_fail@chip/memory-controller, 67710942STom.Pothier@Sun.COM ereport.cpu.intel.quickpath.mem_vberr@chip/memory-controller; 67810831SYanmin.Sun@Sun.COM 67910831SYanmin.Sun@Sun.COMEX_MEM_EVENT(mem_ptrl_fsm_err_uc, 1s); 68010831SYanmin.Sun@Sun.COMEX_MEM_EVENT(mem_errflw_fsm_fail_uc, 1s); 68110831SYanmin.Sun@Sun.COMEX_MEM_EVENT(mem_mcpar_fsmerr_uc, 1s); 68210831SYanmin.Sun@Sun.COMEX_MEM_EVENT(mem_vberr_uc, 1s); 68310831SYanmin.Sun@Sun.COMEX_MEM_EVENT(mem_fberr_uc, 1s); 68410831SYanmin.Sun@Sun.COM 68510942STom.Pothier@Sun.COMevent fault.cpu.intel.quickpath.mem_controller_ue@chip/memory-controller, 68610831SYanmin.Sun@Sun.COM retire=0; 68710831SYanmin.Sun@Sun.COM 68810942STom.Pothier@Sun.COMprop fault.cpu.intel.quickpath.mem_controller_ue@chip/memory-controller -> 68910942STom.Pothier@Sun.COM ereport.cpu.intel.quickpath.mem_ptrl_fsm_err_uc@chip/memory-controller, 69010942STom.Pothier@Sun.COM ereport.cpu.intel.quickpath.mem_errflw_fsm_fail_uc@chip/memory-controller, 69110942STom.Pothier@Sun.COM ereport.cpu.intel.quickpath.mem_mcpar_fsmerr_uc@chip/memory-controller, 69210942STom.Pothier@Sun.COM ereport.cpu.intel.quickpath.mem_vberr_uc@chip/memory-controller, 69310942STom.Pothier@Sun.COM ereport.cpu.intel.quickpath.mem_fberr_uc@chip/memory-controller; 69410831SYanmin.Sun@Sun.COM 69510831SYanmin.Sun@Sun.COMEX_MEM_EVENT(mem_scrubbing_uc, 1s); 69610831SYanmin.Sun@Sun.COMevent fault.cpu.intel.quickpath.mem_scrubbing@ 69710942STom.Pothier@Sun.COM chip/memory-controller/dram-channel/dimm/rank, 69810831SYanmin.Sun@Sun.COM response=0; 69910831SYanmin.Sun@Sun.COM 70010831SYanmin.Sun@Sun.COMprop fault.cpu.intel.quickpath.mem_scrubbing@ 70110942STom.Pothier@Sun.COM chip/memory-controller/dram-channel/dimm/rank[rank_num] 70210831SYanmin.Sun@Sun.COM { payloadprop_defined("rank") && rank_num == payloadprop("rank") && 70310831SYanmin.Sun@Sun.COM (payloadprop_defined("physaddr") || payloadprop_defined("offset")) && 70410831SYanmin.Sun@Sun.COM SET_ADDR && SET_OFFSET } (1)-> 70510942STom.Pothier@Sun.COM ereport.cpu.intel.quickpath.mem_scrubbing_uc@chip/memory-controller; 70610831SYanmin.Sun@Sun.COM 70710831SYanmin.Sun@Sun.COMEX_MEM_EVENT(mem_ecc_uc, 12s); 70810831SYanmin.Sun@Sun.COMEX_MEM_EVENT(mem_even_parity_uc, 1s); 70910831SYanmin.Sun@Sun.COM 71010831SYanmin.Sun@Sun.COMEX_MEM_EVENT(mem_ecc, 12s); 71110831SYanmin.Sun@Sun.COMEX_MEM_EVENT(mem_even_parity, 1s); 71210831SYanmin.Sun@Sun.COM 71310831SYanmin.Sun@Sun.COMevent error.memory.intel.ex_dimm_ce@ 71410942STom.Pothier@Sun.COM chip/memory-controller/dram-channel/dimm/rank; 71510831SYanmin.Sun@Sun.COM 71610831SYanmin.Sun@Sun.COMprop fault.memory.intel.page_ue@ 71710942STom.Pothier@Sun.COM chip/memory-controller/dram-channel/dimm/rank[rank_num] 71810831SYanmin.Sun@Sun.COM { payloadprop_defined("rank") && rank_num == payloadprop("rank") && 71910831SYanmin.Sun@Sun.COM (payloadprop_defined("physaddr") || payloadprop_defined("offset")) && 72010831SYanmin.Sun@Sun.COM SET_ADDR && SET_OFFSET } (0)-> 72110942STom.Pothier@Sun.COM ereport.cpu.intel.quickpath.mem_ecc_uc@chip/memory-controller, 72210942STom.Pothier@Sun.COM ereport.cpu.intel.quickpath.mem_even_parity_uc@chip/memory-controller; 72310831SYanmin.Sun@Sun.COM 72410831SYanmin.Sun@Sun.COMprop fault.memory.intel.page_ce@ 72510942STom.Pothier@Sun.COM chip/memory-controller/dram-channel/dimm/rank[rank_num] 72610831SYanmin.Sun@Sun.COM { payloadprop_defined("rank") && rank_num == payloadprop("rank") && 72710831SYanmin.Sun@Sun.COM (payloadprop_defined("physaddr") || payloadprop_defined("offset")) && 72810831SYanmin.Sun@Sun.COM SET_ADDR && SET_OFFSET } (0)-> 72910942STom.Pothier@Sun.COM ereport.cpu.intel.quickpath.mem_ecc@chip/memory-controller, 73010942STom.Pothier@Sun.COM ereport.cpu.intel.quickpath.mem_even_parity@chip/memory-controller; 73110831SYanmin.Sun@Sun.COM 73210831SYanmin.Sun@Sun.COMprop error.memory.intel.dimm_ue_ex@ 73310942STom.Pothier@Sun.COM chip/memory-controller/dram-channel/dimm/rank[rank_num] 73410831SYanmin.Sun@Sun.COM { payloadprop_defined("rank") && rank_num == payloadprop("rank") } (1)-> 73510942STom.Pothier@Sun.COM ereport.cpu.intel.quickpath.mem_ecc_uc@chip/memory-controller, 73610942STom.Pothier@Sun.COM ereport.cpu.intel.quickpath.mem_even_parity_uc@chip/memory-controller; 73710831SYanmin.Sun@Sun.COM 73810831SYanmin.Sun@Sun.COMprop fault.memory.intel.dimm_ce@ 73910942STom.Pothier@Sun.COM chip/memory-controller/dram-channel/dimm 74010942STom.Pothier@Sun.COM { !confprop_defined(chip/memory-controller/dram-channel/dimm, 74110831SYanmin.Sun@Sun.COM "dimm-size") && setserdn(10) & setserdt(1week) } (0)-> 74210831SYanmin.Sun@Sun.COM error.memory.intel.ex_dimm_ce@ 74310942STom.Pothier@Sun.COM chip/memory-controller/dram-channel/dimm/rank; 74410831SYanmin.Sun@Sun.COMprop error.memory.intel.ex_dimm_ce@ 74510942STom.Pothier@Sun.COM chip/memory-controller/dram-channel/dimm/rank[rank_num] 74610831SYanmin.Sun@Sun.COM { payloadprop_defined("rank") && rank_num == payloadprop("rank") && 74710942STom.Pothier@Sun.COM !confprop_defined(chip/memory-controller/dram-channel/dimm, 74810831SYanmin.Sun@Sun.COM "dimm-size") && 74910831SYanmin.Sun@Sun.COM count(STAT_CPU_MEM_CE_PGFLTS) > 512 } (1)-> 75010942STom.Pothier@Sun.COM ereport.cpu.intel.quickpath.mem_ecc@chip/memory-controller, 75110942STom.Pothier@Sun.COM ereport.cpu.intel.quickpath.mem_even_parity@chip/memory-controller; 75210831SYanmin.Sun@Sun.COM 75310831SYanmin.Sun@Sun.COM#define EX_CPU_MEM_DIMM_CE(dimm_size, n, t, fault_rate) \ 75410831SYanmin.Sun@Sun.COM prop fault.memory.intel.dimm_ce@ \ 75510942STom.Pothier@Sun.COM chip/memory-controller/dram-channel/dimm { \ 75610942STom.Pothier@Sun.COM confprop(chip/memory-controller/dram-channel/dimm, \ 75710831SYanmin.Sun@Sun.COM "dimm-size") == dimm_size && \ 75810831SYanmin.Sun@Sun.COM setserdn(n) & setserdt(t) } (0)-> \ 75910831SYanmin.Sun@Sun.COM error.memory.intel.ex_dimm_ce@ \ 76010942STom.Pothier@Sun.COM chip/memory-controller/dram-channel/dimm/rank; \ 76110831SYanmin.Sun@Sun.COM prop error.memory.intel.ex_dimm_ce@ \ 76210942STom.Pothier@Sun.COM chip/memory-controller/dram-channel/dimm/rank[rank_num] { \ 76310831SYanmin.Sun@Sun.COM payloadprop_defined("rank") && rank_num == payloadprop("rank") && \ 76410942STom.Pothier@Sun.COM confprop(chip/memory-controller/dram-channel/dimm, \ 76510831SYanmin.Sun@Sun.COM "dimm-size") == dimm_size && \ 76610831SYanmin.Sun@Sun.COM count(STAT_CPU_MEM_CE_PGFLTS) > fault_rate } (1)-> \ 76710942STom.Pothier@Sun.COM ereport.cpu.intel.quickpath.mem_ecc@chip/memory-controller, \ 76810942STom.Pothier@Sun.COM ereport.cpu.intel.quickpath.mem_even_parity@chip/memory-controller; 76910831SYanmin.Sun@Sun.COM 77010831SYanmin.Sun@Sun.COMEX_CPU_MEM_DIMM_CE("16G", 16, 1week, 2000) 77110831SYanmin.Sun@Sun.COMEX_CPU_MEM_DIMM_CE("8G", 8, 1week, 2000) 77210831SYanmin.Sun@Sun.COMEX_CPU_MEM_DIMM_CE("4G", 4, 1week, 1500) 77310831SYanmin.Sun@Sun.COMEX_CPU_MEM_DIMM_CE("2G", 4, 2week, 1000) 77410831SYanmin.Sun@Sun.COMEX_CPU_MEM_DIMM_CE("1G", 4, 4week, 500) 77510831SYanmin.Sun@Sun.COM 77610942STom.Pothier@Sun.COMevent upset.memory.intel.discard@chip/memory-controller{within(1s)}; 77710831SYanmin.Sun@Sun.COM 77810942STom.Pothier@Sun.COMprop upset.memory.intel.discard@chip/memory-controller (0)-> 77910942STom.Pothier@Sun.COM ereport.cpu.intel.quickpath.mem_scrubbing_uc@chip/memory-controller, 78010942STom.Pothier@Sun.COM ereport.cpu.intel.quickpath.mem_ecc_uc@chip/memory-controller, 78110942STom.Pothier@Sun.COM ereport.cpu.intel.quickpath.mem_even_parity_uc@chip/memory-controller, 78210942STom.Pothier@Sun.COM ereport.cpu.intel.quickpath.mem_ecc@chip/memory-controller, 78310942STom.Pothier@Sun.COM ereport.cpu.intel.quickpath.mem_even_parity@chip/memory-controller; 78410831SYanmin.Sun@Sun.COM 78510831SYanmin.Sun@Sun.COMEX_MEM_EVENT(mem_failover_mir, 1s); 78610942STom.Pothier@Sun.COMevent fault.cpu.intel.quickpath.mem_failover_mir@chip/memory-controller, 78710831SYanmin.Sun@Sun.COM retire=0; 78810831SYanmin.Sun@Sun.COM 78910942STom.Pothier@Sun.COMprop fault.cpu.intel.quickpath.mem_failover_mir@chip/memory-controller -> 79010942STom.Pothier@Sun.COM ereport.cpu.intel.quickpath.mem_failover_mir@chip/memory-controller; 79110831SYanmin.Sun@Sun.COM 79210831SYanmin.Sun@Sun.COM/* 79310831SYanmin.Sun@Sun.COM * RBox errors 79410831SYanmin.Sun@Sun.COM */ 79510831SYanmin.Sun@Sun.COM#define EX_EVENT(leafclass, t) \ 79610942STom.Pothier@Sun.COM event ereport.cpu.intel.quickpath.leafclass@chip { within(t) } 79710831SYanmin.Sun@Sun.COM 79810942STom.Pothier@Sun.COMengine serd.cpu.intel.quickpath.bus_interconnect@chip, 79910831SYanmin.Sun@Sun.COM N=3, T=72h; 80010942STom.Pothier@Sun.COMevent fault.cpu.intel.quickpath.bus_interconnect@chip, 80110942STom.Pothier@Sun.COM engine=serd.cpu.intel.quickpath.bus_interconnect@chip, 80210831SYanmin.Sun@Sun.COM retire=0; 80310831SYanmin.Sun@Sun.COM 80410831SYanmin.Sun@Sun.COMEX_EVENT(bus_retry_abort, 1s); 80510831SYanmin.Sun@Sun.COMEX_EVENT(bus_link_init_ce, 1s); 80610942STom.Pothier@Sun.COMevent upset.cpu.intel.quickpath.discard@chip; 80710831SYanmin.Sun@Sun.COM 80810942STom.Pothier@Sun.COMprop upset.cpu.intel.quickpath.discard@chip (0)-> 80910942STom.Pothier@Sun.COM ereport.cpu.intel.quickpath.bus_retry_abort@chip, 81010942STom.Pothier@Sun.COM ereport.cpu.intel.quickpath.bus_link_init_ce@chip; 81110831SYanmin.Sun@Sun.COM 81210831SYanmin.Sun@Sun.COMEX_EVENT(bus_unknown, 1s); 81310831SYanmin.Sun@Sun.COMEX_EVENT(bus_single_ecc, 1s); 81410831SYanmin.Sun@Sun.COMEX_EVENT(bus_crc_flit, 1s); 81510831SYanmin.Sun@Sun.COM 81610942STom.Pothier@Sun.COMprop fault.cpu.intel.quickpath.bus_interconnect@chip (0)-> 81710942STom.Pothier@Sun.COM ereport.cpu.intel.quickpath.bus_unknown@chip, 81810942STom.Pothier@Sun.COM ereport.cpu.intel.quickpath.bus_single_ecc@chip, 81910942STom.Pothier@Sun.COM ereport.cpu.intel.quickpath.bus_crc_flit@chip; 82010831SYanmin.Sun@Sun.COM 82110831SYanmin.Sun@Sun.COMEX_EVENT(bus_unknown_external, 1s); 82210831SYanmin.Sun@Sun.COMEX_EVENT(bus_crc_flit_external, 1s); 82310942STom.Pothier@Sun.COMprop upset.cpu.intel.quickpath.discard@chip (0)-> 82410942STom.Pothier@Sun.COM ereport.cpu.intel.quickpath.bus_unknown_external@chip, 82510942STom.Pothier@Sun.COM ereport.cpu.intel.quickpath.bus_crc_flit_external@chip; 82610831SYanmin.Sun@Sun.COM 82710831SYanmin.Sun@Sun.COMEX_EVENT(bus_unknown_uc, 1s); 82810831SYanmin.Sun@Sun.COMEX_EVENT(bus_opr_poison_err, 1s); 82910831SYanmin.Sun@Sun.COMEX_EVENT(bus_eot_parity, 1s); 83010831SYanmin.Sun@Sun.COMEX_EVENT(bus_rta_parity, 1s); 83110831SYanmin.Sun@Sun.COMEX_EVENT(bus_bad_sbu_route, 1s); 83210831SYanmin.Sun@Sun.COMEX_EVENT(bus_bad_msg, 1s); 83310831SYanmin.Sun@Sun.COMEX_EVENT(bus_bad_vn_credit, 1s); 83410831SYanmin.Sun@Sun.COMEX_EVENT(bus_hdr_double_ecc, 1s); 83510831SYanmin.Sun@Sun.COMEX_EVENT(bus_link_retry_err, 1s); 83610831SYanmin.Sun@Sun.COM 83710942STom.Pothier@Sun.COMprop fault.cpu.intel.quickpath.bus_interconnect@chip 83810831SYanmin.Sun@Sun.COM { setserdincrement(4) } (0)-> 83910942STom.Pothier@Sun.COM ereport.cpu.intel.quickpath.bus_unknown_uc@chip, 84010942STom.Pothier@Sun.COM ereport.cpu.intel.quickpath.bus_opr_poison_err@chip, 84110942STom.Pothier@Sun.COM ereport.cpu.intel.quickpath.bus_eot_parity@chip, 84210942STom.Pothier@Sun.COM ereport.cpu.intel.quickpath.bus_rta_parity@chip, 84310942STom.Pothier@Sun.COM ereport.cpu.intel.quickpath.bus_bad_sbu_route@chip, 84410942STom.Pothier@Sun.COM ereport.cpu.intel.quickpath.bus_bad_msg@chip, 84510942STom.Pothier@Sun.COM ereport.cpu.intel.quickpath.bus_bad_vn_credit@chip, 84610942STom.Pothier@Sun.COM ereport.cpu.intel.quickpath.bus_hdr_double_ecc@chip, 84710942STom.Pothier@Sun.COM ereport.cpu.intel.quickpath.bus_link_retry_err@chip; 84810831SYanmin.Sun@Sun.COM 84910831SYanmin.Sun@Sun.COMEX_EVENT(bus_unknown_uc_external, 1s); 85010831SYanmin.Sun@Sun.COMEX_EVENT(bus_opr_poison_err_external, 1s); 85110831SYanmin.Sun@Sun.COMEX_EVENT(bus_eot_parity_external, 1s); 85210831SYanmin.Sun@Sun.COMEX_EVENT(bus_rta_parity_external, 1s); 85310831SYanmin.Sun@Sun.COMEX_EVENT(bus_bad_sbu_route_external, 1s); 85410831SYanmin.Sun@Sun.COMEX_EVENT(bus_bad_msg_external, 1s); 85510831SYanmin.Sun@Sun.COMEX_EVENT(bus_bad_vn_credit_external, 1s); 85610831SYanmin.Sun@Sun.COMEX_EVENT(bus_hdr_double_ecc_external, 1s); 85710831SYanmin.Sun@Sun.COMEX_EVENT(bus_link_retry_err_external, 1s); 85810831SYanmin.Sun@Sun.COM 85910942STom.Pothier@Sun.COMprop upset.cpu.intel.quickpath.discard@chip (0)-> 86010942STom.Pothier@Sun.COM ereport.cpu.intel.quickpath.bus_unknown_uc_external@chip, 86110942STom.Pothier@Sun.COM ereport.cpu.intel.quickpath.bus_opr_poison_err_external@chip, 86210942STom.Pothier@Sun.COM ereport.cpu.intel.quickpath.bus_eot_parity_external@chip, 86310942STom.Pothier@Sun.COM ereport.cpu.intel.quickpath.bus_rta_parity_external@chip, 86410942STom.Pothier@Sun.COM ereport.cpu.intel.quickpath.bus_bad_sbu_route_external@chip, 86510942STom.Pothier@Sun.COM ereport.cpu.intel.quickpath.bus_bad_msg_external@chip, 86610942STom.Pothier@Sun.COM ereport.cpu.intel.quickpath.bus_bad_vn_credit_external@chip, 86710942STom.Pothier@Sun.COM ereport.cpu.intel.quickpath.bus_hdr_double_ecc_external@chip, 86810942STom.Pothier@Sun.COM ereport.cpu.intel.quickpath.bus_link_retry_err_external@chip; 86910831SYanmin.Sun@Sun.COM 87010831SYanmin.Sun@Sun.COM/* 87110831SYanmin.Sun@Sun.COM * CBox errors 87210831SYanmin.Sun@Sun.COM */ 87310831SYanmin.Sun@Sun.COMEX_EVENT(llc_ewb_uc, 1s); 87410942STom.Pothier@Sun.COMevent fault.cpu.intel.quickpath.llc_ewb@chip, 87510831SYanmin.Sun@Sun.COM retire=0, response=0; 87610831SYanmin.Sun@Sun.COM 87710942STom.Pothier@Sun.COMprop fault.cpu.intel.quickpath.llc_ewb@chip 87810831SYanmin.Sun@Sun.COM { (payloadprop_defined("physaddr") || payloadprop_defined("offset")) && 87910831SYanmin.Sun@Sun.COM SET_ADDR && SET_OFFSET } (1)-> 88010942STom.Pothier@Sun.COM ereport.cpu.intel.quickpath.llc_ewb_uc@chip; 88110831SYanmin.Sun@Sun.COM 88210942STom.Pothier@Sun.COMprop upset.cpu.intel.quickpath.discard@chip (0)-> 88310942STom.Pothier@Sun.COM ereport.cpu.intel.quickpath.llc_ewb_uc@chip; 88410831SYanmin.Sun@Sun.COM 88510831SYanmin.Sun@Sun.COM/* 88610831SYanmin.Sun@Sun.COM * SBox errors 88710831SYanmin.Sun@Sun.COM */ 88810831SYanmin.Sun@Sun.COMEX_EVENT(system_cache_uc, 1s); 88910942STom.Pothier@Sun.COMevent fault.cpu.intel.quickpath.system_cache@chip, 89010831SYanmin.Sun@Sun.COM retire=0, response=0; 89110942STom.Pothier@Sun.COMprop fault.cpu.intel.quickpath.system_cache@chip -> 89210942STom.Pothier@Sun.COM ereport.cpu.intel.quickpath.system_cache_uc@chip; 89310831SYanmin.Sun@Sun.COM 89410831SYanmin.Sun@Sun.COM/* 89510831SYanmin.Sun@Sun.COM * BBox errors 89610831SYanmin.Sun@Sun.COM */ 89710831SYanmin.Sun@Sun.COMEX_EVENT(home_agent_uc, 1s); 89810942STom.Pothier@Sun.COMevent fault.cpu.intel.quickpath.home_agent@chip, 89910831SYanmin.Sun@Sun.COM retire=0, response=0; 90010942STom.Pothier@Sun.COMprop fault.cpu.intel.quickpath.home_agent@chip -> 90110942STom.Pothier@Sun.COM ereport.cpu.intel.quickpath.home_agent_uc@chip; 90210831SYanmin.Sun@Sun.COM 90310831SYanmin.Sun@Sun.COM/* 90410831SYanmin.Sun@Sun.COM * UBox errors 90510831SYanmin.Sun@Sun.COM */ 90610831SYanmin.Sun@Sun.COMEX_EVENT(sys_cfg_cfa_ecc, 1s); 90710831SYanmin.Sun@Sun.COMEX_EVENT(sys_cfg_uc, 1s); 90810831SYanmin.Sun@Sun.COM 90910942STom.Pothier@Sun.COMengine serd.cpu.intel.quickpath.sys_cfg@chip, 91010831SYanmin.Sun@Sun.COM N=2, T=72h; 91110942STom.Pothier@Sun.COMevent fault.cpu.intel.quickpath.sys_cfg@chip, 91210942STom.Pothier@Sun.COM engine=serd.cpu.intel.quickpath.sys_cfg@chip, 91310831SYanmin.Sun@Sun.COM retire=0, response=0; 91410831SYanmin.Sun@Sun.COM 91510942STom.Pothier@Sun.COMprop fault.cpu.intel.quickpath.sys_cfg@chip (0)-> 91610942STom.Pothier@Sun.COM ereport.cpu.intel.quickpath.sys_cfg_cfa_ecc@chip; 91710831SYanmin.Sun@Sun.COM 91810942STom.Pothier@Sun.COMprop fault.cpu.intel.quickpath.sys_cfg@chip 91910831SYanmin.Sun@Sun.COM { setserdincrement(3) } (0)-> 92010942STom.Pothier@Sun.COM ereport.cpu.intel.quickpath.sys_cfg_uc@chip; 92110831SYanmin.Sun@Sun.COM 92210831SYanmin.Sun@Sun.COM/* 92310831SYanmin.Sun@Sun.COM * Handling poison errors 92410831SYanmin.Sun@Sun.COM */ 92510831SYanmin.Sun@Sun.COMengine stat.has_poison@motherboard; 92610831SYanmin.Sun@Sun.COMevent fault.cpu.intel.has_poison@motherboard, 92710831SYanmin.Sun@Sun.COM count=stat.has_poison@motherboard[0], 92810831SYanmin.Sun@Sun.COM message=0, retire=0, response=0; 92910831SYanmin.Sun@Sun.COMengine stat.discard_fatal@motherboard; 93010831SYanmin.Sun@Sun.COMevent fault.cpu.intel.discard_fatal@motherboard, 93110831SYanmin.Sun@Sun.COM count=stat.discard_fatal@motherboard[0], 93210831SYanmin.Sun@Sun.COM message=0, retire=0, response=0; 93310831SYanmin.Sun@Sun.COM 93410831SYanmin.Sun@Sun.COMprop fault.cpu.intel.has_poison@motherboard 93510831SYanmin.Sun@Sun.COM { payloadprop_defined("poison") && 1 == payloadprop("poison") } (1)-> 93610942STom.Pothier@Sun.COM ereport.cpu.intel.quickpath.mem_scrubbing_uc@chip<>/memory-controller<>, 93710942STom.Pothier@Sun.COM ereport.cpu.intel.quickpath.llc_ewb_uc@chip<>, 93810942STom.Pothier@Sun.COM ereport.cpu.intel.quickpath.system_cache_uc@chip<>, 93910942STom.Pothier@Sun.COM ereport.cpu.intel.quickpath.bus_opr_poison_err@chip<>, 94010942STom.Pothier@Sun.COM ereport.cpu.intel.quickpath.bus_opr_poison_err_external@chip<>; 94110831SYanmin.Sun@Sun.COM 94210831SYanmin.Sun@Sun.COMprop fault.cpu.intel.discard_fatal@motherboard 94310831SYanmin.Sun@Sun.COM { count(stat.has_poison@motherboard[0]) > count(stat.discard_fatal@motherboard[0]) && 94410831SYanmin.Sun@Sun.COM payloadprop_defined("bank_number") && 5 == payloadprop("bank_number") && 94510831SYanmin.Sun@Sun.COM payloadprop_defined("processor_context_corrupt") && 94610831SYanmin.Sun@Sun.COM 1 == payloadprop("processor_context_corrupt") } (0)-> 94711264SAdrian.Frost@Sun.COM ereport.cpu.intel.internal_unclassified@chip<>/core<>/strand<> {within(10s)}; 94810831SYanmin.Sun@Sun.COM 94910831SYanmin.Sun@Sun.COMprop fault.cpu.intel.internal@chip/core/strand 95010831SYanmin.Sun@Sun.COM { (count(stat.has_poison@motherboard[0]) <= count(stat.discard_fatal@motherboard[0]) || 95110831SYanmin.Sun@Sun.COM !payloadprop_defined("bank_number") || 5 != payloadprop("bank_number") || 95210831SYanmin.Sun@Sun.COM !payloadprop_defined("processor_context_corrupt") || 95310831SYanmin.Sun@Sun.COM 0 == payloadprop("processor_context_corrupt")) && 95410831SYanmin.Sun@Sun.COM (payloadprop("error_uncorrected") == 1 ? setserdincrement(4) : 1) } (0)-> 95510831SYanmin.Sun@Sun.COM ereport.cpu.intel.internal_unclassified@chip/core/strand; 956