summaryrefslogtreecommitdiffstats
path: root/src/usr/diag/prdf/common/plat/pegasus/Membuf_acts_TP.rule
blob: d06232d858ac22e6300a0bf186c89382e4be9100 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
# IBM_PROLOG_BEGIN_TAG
# This is an automatically generated prolog.
#
# $Source: src/usr/diag/prdf/common/plat/pegasus/Membuf_acts_TP.rule $
#
# IBM CONFIDENTIAL
#
# COPYRIGHT International Business Machines Corp. 2012,2013
#
# p1
#
# Object Code Only (OCO) source materials
# Licensed Internal Code Source Materials
# IBM HostBoot Licensed Internal Code
#
# The source code for this program is not published or otherwise
# divested of its trade secrets, irrespective of what has been
# deposited with the U.S. Copyright Office.
#
# Origin: 30
#
# IBM_PROLOG_END_TAG

################################################################################
# TP Chiplet Registers
################################################################################

rule TpChipletFir
{
  CHECK_STOP:
     (TP_CHIPLET_CS_FIR       & `1000000000000000`) & ~TP_CHIPLET_FIR_MASK;
  RECOVERABLE:
    ((TP_CHIPLET_RE_FIR >> 2) & `1000000000000000`) & ~TP_CHIPLET_FIR_MASK;
};

group gTpChipletFir filter singlebit
{
    /** TP_CHIPLET_FIR[3]
     *  Attention from LFIR
     */
    (TpChipletFir, bit(3)) ? analyze(gTpLFir);
};

################################################################################
# TP Chiplet LFIR
################################################################################

rule TpLFir
{
  CHECK_STOP:  TP_LFIR & ~TP_LFIR_MASK & ~TP_LFIR_ACT0 & ~TP_LFIR_ACT1;
  RECOVERABLE: TP_LFIR & ~TP_LFIR_MASK & ~TP_LFIR_ACT0 &  TP_LFIR_ACT1;
};

group gTpLFir filter singlebit
{
    /** TP_LFIR[0]
     *  CFIR internal parity error
     */
    (TpLFir, bit(0)) ? TBDDefaultCallout;

    /** TP_LFIR[1]
     *  Local errors from GPIO (PCB error)
     */
    (TpLFir, bit(1)) ? TBDDefaultCallout;

    /** TP_LFIR[2]
     *  Local errors from CC (PCB error)
     */
    (TpLFir, bit(2)) ? TBDDefaultCallout;

    /** TP_LFIR[3]
     *  Local errors from CC (OPCG, parity, scan collision, ...)
     */
    (TpLFir, bit(3)) ? TBDDefaultCallout;

    /** TP_LFIR[4]
     *  Local errors from PSC (PCB error)
     */
    (TpLFir, bit(4)) ? TBDDefaultCallout;

    /** TP_LFIR[5]
     *  Local errors from PSC (parity error)
     */
    (TpLFir, bit(5)) ? TBDDefaultCallout;

    /** TP_LFIR[6]
     *  Local errors from Thermal (parity error)
     */
    (TpLFir, bit(6)) ? TBDDefaultCallout;

    /** TP_LFIR[7]
     *  Local errors from Thermal (PCB error)
     */
    (TpLFir, bit(7)) ? TBDDefaultCallout;

    /** TP_LFIR[8|9]
     *  Local errors from Thermal (Trip error)
     */
    (TpLFir, bit(8|9)) ? TBDDefaultCallout;

    /** TP_LFIR[10|11]
     *  Local errors from Trace Array ( error)
     */
    (TpLFir, bit(10|11)) ? TBDDefaultCallout;

    /** TP_LFIR[18]
     *  local errors from mem PLL
     *
     *  These should never trigger directly themselves.
     *  Should be handled by global PRD PLL code.
     */
    (TpLFir, bit(18)) ? threshold32pday;

    /** TP_LFIR[19]
     *  local errors from nest PLL
     *
     *  These should never trigger directly themselves.
     *  Should be handled by global PRD PLL code.
     */
    (TpLFir, bit(19)) ? threshold32pday;

};

################################################################################
# Actions specific to TP chiplet
################################################################################

OpenPOWER on IntegriCloud