/*
* CDDL HEADER START
*
* The contents of this file are subject to the terms of the
* Common Development and Distribution License (the "License").
* You may not use this file except in compliance with the License.
*
* You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
* See the License for the specific language governing permissions
* and limitations under the License.
*
* When distributing Covered Code, include this CDDL HEADER in each
* file and include the License file at usr/src/OPENSOLARIS.LICENSE.
* If applicable, add the following below this CDDL HEADER, with the
* fields enclosed by brackets "[]" replaced with your own identifying
* information: Portions Copyright [yyyy] [name of copyright owner]
*
* CDDL HEADER END
*/
/*
* Copyright 2010 Sun Microsystems, Inc. All rights reserved.
* Use is subject to license terms.
*/
setpayloadprop("offset",\
payloadprop("offset")))
((payloadprop_defined("filter_ratio") && \
/*
* fault.memory.generic-sparc.bank & fault.memory.generic-sparc.page
* are generated for memory ue error.
*/
\
\
\
{ !DIAGNOSE_ERPT } (0)-> \
message=0; \
\
\
\
{ !DIAGNOSE_ERPT } (0)-> \
/*
* 1. if ereport has both sender & detector: membuf-crc errors will fault
* both detector & sender.
* - if detector is chip or memory-controller, the sender is memory-buffer.
* - if detector is memory-buffer, the sender is chip or memory-controller
* 2. if ereport does not have sender:
* - if detector is chip, sender is memory-buffer
* - if detector is memory-controller, sender is memory-buffer
* - if detector is memory-buffer:
* + if topology is chip/memory-buffer, sender is chip
* + if topology is memory-controller/memory-buffer, sender is
* memory-controller.
*/
/*
* detector is chip and ereport has a sender
*/
/*
* detector is chip and ereport does not have sender
*/
{ DIAGNOSE_ERPT && !HAS_SENDER &&
{ !DIAGNOSE_ERPT } (0)->
/*
* detector is memory-buffer and ereport has sender
*/
/*
* detector is memory-buffer and ereport does not have sender
*/
{ DIAGNOSE_ERPT && !HAS_SENDER &&
{ DIAGNOSE_ERPT && !HAS_SENDER &&
{ !DIAGNOSE_ERPT } (0)->
/*
* detector is memory-controller and ereport has a sender
*/
/*
* detector is memory-controller and ereport does not have a sender
*/
{ DIAGNOSE_ERPT && !HAS_SENDER &&
{ !DIAGNOSE_ERPT } (0)->
/*
* membuf-crc-uc, membuf-other-uc will fault the detector FRU and sender FRU
* if detector is CHIP or MEM_CTRL, the sender is MEM_BUFF.
* if detector is MEM_BUFF, the sender is CHIP or MEM_CTRL
*/
/*
* chip is detector and ereport has a sender
*/
{ DIAGNOSE_ERPT } (0) ->
/*
* chip is detector and ereport does not have a sender
*/
{ !DIAGNOSE_ERPT } (0)->
/*
* memory-buffer is detector and ereport has a sender
*/
{ DIAGNOSE_ERPT } (0) ->
/*
* memory-buffer is detector and ereport does not have sender
*/
{ within(1s) };
{ !DIAGNOSE_ERPT } (0)->
/*
* memory-controller is detector and ereport has a sender
*/
{ DIAGNOSE_ERPT } (0) ->
/*
* memory-controller is detector and ereport does not have sender
*/
{ !DIAGNOSE_ERPT } (0)->
/*
* membuf-crc-failover will fault the detector FRU and sender FRU
* if detector is chip or memory-controller, the sender is memory-buffer.
* if detector is memory-buffer, the sender is chip or memory-controller
*/
{ within(1s) };
{ within(1s) };
/*
* chip is detector and ereport has a sender
*/
{ DIAGNOSE_ERPT } (0) ->
/*
* chip is detector and ereport does not have sender
*/
{ !DIAGNOSE_ERPT } (0)->
/*
* memory-buffer is detector and ereport has a sender
*/
{ DIAGNOSE_ERPT } (0) ->
/*
* memory-buffer is detector and ereport does not have sender
*/
{ within(1s) };
{ within(1s) };
{ !DIAGNOSE_ERPT } (0)->
/*
* memory-controller is detector and ereport has a sender
*/
{ DIAGNOSE_ERPT } (0) ->
/*
* memory-controller is detector and ereport does not have sender
*/
{ !DIAGNOSE_ERPT } (0)->
/*
* ignore the membuf-other errors
*/