summaryrefslogtreecommitdiffstats
path: root/src/usr/diag/prdf
diff options
context:
space:
mode:
authorZane Shelley <zshelle@us.ibm.com>2018-03-27 16:28:53 -0500
committerZane C. Shelley <zshelle@us.ibm.com>2018-04-03 11:04:51 -0400
commitdd26705781d32590953917a91a1289ec8dbb2366 (patch)
treee474a94631ef59eeaed6a9ab6134422d47814661 /src/usr/diag/prdf
parentb51298075aee402dbcef485088cfa71a6ca61725 (diff)
downloadtalos-hostboot-dd26705781d32590953917a91a1289ec8dbb2366.tar.gz
talos-hostboot-dd26705781d32590953917a91a1289ec8dbb2366.zip
PRD: updates from OBUS FIR reviews
Change-Id: Id1375a50dabf961f54885cba3cc3c33226121bef RTC: 190247 Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/56337 Tested-by: Jenkins Server <pfd-jenkins+hostboot@us.ibm.com> Reviewed-by: Brian J. Stegmiller <bjs@us.ibm.com> Reviewed-by: Benjamin J. Weisenbeck <bweisenb@us.ibm.com> Reviewed-by: Caleb N. Palmer <cnpalmer@us.ibm.com> Reviewed-by: Zane C. Shelley <zshelle@us.ibm.com> Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/56486 CI-Ready: Zane C. Shelley <zshelle@us.ibm.com> Tested-by: Zane C. Shelley <zshelle@us.ibm.com>
Diffstat (limited to 'src/usr/diag/prdf')
-rw-r--r--src/usr/diag/prdf/common/plat/p9/p9_cumulus.rule40
-rw-r--r--src/usr/diag/prdf/common/plat/p9/p9_mc.rule4
-rw-r--r--src/usr/diag/prdf/common/plat/p9/p9_nimbus.rule40
-rw-r--r--src/usr/diag/prdf/common/plat/p9/p9_obus.rule45
-rw-r--r--src/usr/diag/prdf/common/plat/p9/p9_obus_actions.rule70
-rw-r--r--src/usr/diag/prdf/common/plat/p9/p9_proc_common_actions.rule28
-rw-r--r--src/usr/diag/prdf/common/plat/p9/p9_xbus.rule2
-rw-r--r--src/usr/diag/prdf/common/plat/p9/prdfP9Proc.C4
8 files changed, 170 insertions, 63 deletions
diff --git a/src/usr/diag/prdf/common/plat/p9/p9_cumulus.rule b/src/usr/diag/prdf/common/plat/p9/p9_cumulus.rule
index 66b601e53..90306419d 100644
--- a/src/usr/diag/prdf/common/plat/p9/p9_cumulus.rule
+++ b/src/usr/diag/prdf/common/plat/p9/p9_cumulus.rule
@@ -6424,7 +6424,7 @@ group gPBIOOFIR filter singlebit, cs_root_cause( 8, 11, 14, 17 )
/** PBIOOFIR[9]
* dob01 ce
*/
- (rPBIOOFIR, bit(9)) ? defaultMaskedError;
+ (rPBIOOFIR, bit(9)) ? self_th_32perDay;
/** PBIOOFIR[10]
* dob01 sue
@@ -6439,7 +6439,7 @@ group gPBIOOFIR filter singlebit, cs_root_cause( 8, 11, 14, 17 )
/** PBIOOFIR[12]
* dob23 ce
*/
- (rPBIOOFIR, bit(12)) ? defaultMaskedError;
+ (rPBIOOFIR, bit(12)) ? self_th_32perDay;
/** PBIOOFIR[13]
* dob23 sue
@@ -6454,7 +6454,7 @@ group gPBIOOFIR filter singlebit, cs_root_cause( 8, 11, 14, 17 )
/** PBIOOFIR[15]
* dob45 ce
*/
- (rPBIOOFIR, bit(15)) ? defaultMaskedError;
+ (rPBIOOFIR, bit(15)) ? self_th_32perDay;
/** PBIOOFIR[16]
* dob45 sue
@@ -6469,7 +6469,7 @@ group gPBIOOFIR filter singlebit, cs_root_cause( 8, 11, 14, 17 )
/** PBIOOFIR[18]
* dob67 ce
*/
- (rPBIOOFIR, bit(18)) ? defaultMaskedError;
+ (rPBIOOFIR, bit(18)) ? self_th_32perDay;
/** PBIOOFIR[19]
* dob67 sue
@@ -6519,42 +6519,42 @@ group gPBIOOFIR filter singlebit, cs_root_cause( 8, 11, 14, 17 )
/** PBIOOFIR[28]
* parser00 attn
*/
- (rPBIOOFIR, bit(28)) ? self_th_1;
+ (rPBIOOFIR, bit(28)) ? calloutBusInterface_obus0_th_1;
/** PBIOOFIR[29]
* parser01 attn
*/
- (rPBIOOFIR, bit(29)) ? self_th_1;
+ (rPBIOOFIR, bit(29)) ? calloutBusInterface_obus0_th_1;
/** PBIOOFIR[30]
* parser02 attn
*/
- (rPBIOOFIR, bit(30)) ? self_th_1;
+ (rPBIOOFIR, bit(30)) ? calloutBusInterface_obus1_th_1;
/** PBIOOFIR[31]
* parser03 attn
*/
- (rPBIOOFIR, bit(31)) ? self_th_1;
+ (rPBIOOFIR, bit(31)) ? calloutBusInterface_obus1_th_1;
/** PBIOOFIR[32]
* parser04 attn
*/
- (rPBIOOFIR, bit(32)) ? self_th_1;
+ (rPBIOOFIR, bit(32)) ? calloutBusInterface_obus2_th_1;
/** PBIOOFIR[33]
* parser05 attn
*/
- (rPBIOOFIR, bit(33)) ? self_th_1;
+ (rPBIOOFIR, bit(33)) ? calloutBusInterface_obus2_th_1;
/** PBIOOFIR[34]
* parser06 attn
*/
- (rPBIOOFIR, bit(34)) ? self_th_1;
+ (rPBIOOFIR, bit(34)) ? calloutBusInterface_obus3_th_1;
/** PBIOOFIR[35]
* parser07 attn
*/
- (rPBIOOFIR, bit(35)) ? self_th_1;
+ (rPBIOOFIR, bit(35)) ? calloutBusInterface_obus3_th_1;
/** PBIOOFIR[36]
* mailbox 00 special attention
@@ -6639,42 +6639,42 @@ group gPBIOOFIR filter singlebit, cs_root_cause( 8, 11, 14, 17 )
/** PBIOOFIR[52]
* data outbound switch internal-links 01
*/
- (rPBIOOFIR, bit(52)) ? defaultMaskedError;
+ (rPBIOOFIR, bit(52)) ? calloutBusInterface_obus0_th_1;
/** PBIOOFIR[53]
* data outbound switch internal - links 23
*/
- (rPBIOOFIR, bit(53)) ? defaultMaskedError;
+ (rPBIOOFIR, bit(53)) ? calloutBusInterface_obus1_th_1;
/** PBIOOFIR[54]
* data outbound switch internal-links 45
*/
- (rPBIOOFIR, bit(54)) ? defaultMaskedError;
+ (rPBIOOFIR, bit(54)) ? calloutBusInterface_obus2_th_1;
/** PBIOOFIR[55]
* data outbound switch internal-links 67
*/
- (rPBIOOFIR, bit(55)) ? defaultMaskedError;
+ (rPBIOOFIR, bit(55)) ? calloutBusInterface_obus3_th_1;
/** PBIOOFIR[56]
* data inbound switch internal-links 01
*/
- (rPBIOOFIR, bit(56)) ? defaultMaskedError;
+ (rPBIOOFIR, bit(56)) ? calloutBusInterface_obus0_th_1;
/** PBIOOFIR[57]
* data inbound switch internal-links 23
*/
- (rPBIOOFIR, bit(57)) ? defaultMaskedError;
+ (rPBIOOFIR, bit(57)) ? calloutBusInterface_obus1_th_1;
/** PBIOOFIR[58]
* data inbound switch internal-links 45
*/
- (rPBIOOFIR, bit(58)) ? defaultMaskedError;
+ (rPBIOOFIR, bit(58)) ? calloutBusInterface_obus2_th_1;
/** PBIOOFIR[59]
* data inbound switch internal-links 67
*/
- (rPBIOOFIR, bit(59)) ? defaultMaskedError;
+ (rPBIOOFIR, bit(59)) ? calloutBusInterface_obus3_th_1;
/** PBIOOFIR[60:61]
* spare
diff --git a/src/usr/diag/prdf/common/plat/p9/p9_mc.rule b/src/usr/diag/prdf/common/plat/p9/p9_mc.rule
index 9b1577894..141c109d6 100644
--- a/src/usr/diag/prdf/common/plat/p9/p9_mc.rule
+++ b/src/usr/diag/prdf/common/plat/p9/p9_mc.rule
@@ -543,9 +543,9 @@ group gIOMCFIR filter singlebit, cs_root_cause
(rIOMCFIR, bit(1)) ? defaultMaskedError;
/** IOMCFIR[2]
- * presumed spare
+ * GCR_HANG_ERROR
*/
- (rIOMCFIR, bit(2)) ? defaultMaskedError;
+ (rIOMCFIR, bit(2)) ? self_th_1;
/** IOMCFIR[3:7]
* spare
diff --git a/src/usr/diag/prdf/common/plat/p9/p9_nimbus.rule b/src/usr/diag/prdf/common/plat/p9/p9_nimbus.rule
index a2212134c..605c5dd6e 100644
--- a/src/usr/diag/prdf/common/plat/p9/p9_nimbus.rule
+++ b/src/usr/diag/prdf/common/plat/p9/p9_nimbus.rule
@@ -6404,7 +6404,7 @@ group gPBIOOFIR filter singlebit, cs_root_cause( 8, 11, 14, 17 )
/** PBIOOFIR[9]
* dob01 ce
*/
- (rPBIOOFIR, bit(9)) ? defaultMaskedError;
+ (rPBIOOFIR, bit(9)) ? self_th_32perDay;
/** PBIOOFIR[10]
* dob01 sue
@@ -6419,7 +6419,7 @@ group gPBIOOFIR filter singlebit, cs_root_cause( 8, 11, 14, 17 )
/** PBIOOFIR[12]
* dob23 ce
*/
- (rPBIOOFIR, bit(12)) ? defaultMaskedError;
+ (rPBIOOFIR, bit(12)) ? self_th_32perDay;
/** PBIOOFIR[13]
* dob23 sue
@@ -6434,7 +6434,7 @@ group gPBIOOFIR filter singlebit, cs_root_cause( 8, 11, 14, 17 )
/** PBIOOFIR[15]
* dob45 ce
*/
- (rPBIOOFIR, bit(15)) ? defaultMaskedError;
+ (rPBIOOFIR, bit(15)) ? self_th_32perDay;
/** PBIOOFIR[16]
* dob45 sue
@@ -6449,7 +6449,7 @@ group gPBIOOFIR filter singlebit, cs_root_cause( 8, 11, 14, 17 )
/** PBIOOFIR[18]
* dob67 ce
*/
- (rPBIOOFIR, bit(18)) ? defaultMaskedError;
+ (rPBIOOFIR, bit(18)) ? self_th_32perDay;
/** PBIOOFIR[19]
* dob67 sue
@@ -6499,42 +6499,42 @@ group gPBIOOFIR filter singlebit, cs_root_cause( 8, 11, 14, 17 )
/** PBIOOFIR[28]
* parser00 attn
*/
- (rPBIOOFIR, bit(28)) ? self_th_1;
+ (rPBIOOFIR, bit(28)) ? calloutBusInterface_obus0_th_1;
/** PBIOOFIR[29]
* parser01 attn
*/
- (rPBIOOFIR, bit(29)) ? self_th_1;
+ (rPBIOOFIR, bit(29)) ? calloutBusInterface_obus0_th_1;
/** PBIOOFIR[30]
* parser02 attn
*/
- (rPBIOOFIR, bit(30)) ? self_th_1;
+ (rPBIOOFIR, bit(30)) ? calloutBusInterface_obus1_th_1;
/** PBIOOFIR[31]
* parser03 attn
*/
- (rPBIOOFIR, bit(31)) ? self_th_1;
+ (rPBIOOFIR, bit(31)) ? calloutBusInterface_obus1_th_1;
/** PBIOOFIR[32]
* parser04 attn
*/
- (rPBIOOFIR, bit(32)) ? self_th_1;
+ (rPBIOOFIR, bit(32)) ? calloutBusInterface_obus2_th_1;
/** PBIOOFIR[33]
* parser05 attn
*/
- (rPBIOOFIR, bit(33)) ? self_th_1;
+ (rPBIOOFIR, bit(33)) ? calloutBusInterface_obus2_th_1;
/** PBIOOFIR[34]
* parser06 attn
*/
- (rPBIOOFIR, bit(34)) ? self_th_1;
+ (rPBIOOFIR, bit(34)) ? calloutBusInterface_obus3_th_1;
/** PBIOOFIR[35]
* parser07 attn
*/
- (rPBIOOFIR, bit(35)) ? self_th_1;
+ (rPBIOOFIR, bit(35)) ? calloutBusInterface_obus3_th_1;
/** PBIOOFIR[36]
* mailbox 00 special attention
@@ -6619,42 +6619,42 @@ group gPBIOOFIR filter singlebit, cs_root_cause( 8, 11, 14, 17 )
/** PBIOOFIR[52]
* data outbound switch internal-links 01
*/
- (rPBIOOFIR, bit(52)) ? defaultMaskedError;
+ (rPBIOOFIR, bit(52)) ? calloutBusInterface_obus0_th_1;
/** PBIOOFIR[53]
* data outbound switch internal - links 23
*/
- (rPBIOOFIR, bit(53)) ? defaultMaskedError;
+ (rPBIOOFIR, bit(53)) ? calloutBusInterface_obus1_th_1;
/** PBIOOFIR[54]
* data outbound switch internal-links 45
*/
- (rPBIOOFIR, bit(54)) ? defaultMaskedError;
+ (rPBIOOFIR, bit(54)) ? calloutBusInterface_obus2_th_1;
/** PBIOOFIR[55]
* data outbound switch internal-links 67
*/
- (rPBIOOFIR, bit(55)) ? defaultMaskedError;
+ (rPBIOOFIR, bit(55)) ? calloutBusInterface_obus3_th_1;
/** PBIOOFIR[56]
* data inbound switch internal-links 01
*/
- (rPBIOOFIR, bit(56)) ? defaultMaskedError;
+ (rPBIOOFIR, bit(56)) ? calloutBusInterface_obus0_th_1;
/** PBIOOFIR[57]
* data inbound switch internal-links 23
*/
- (rPBIOOFIR, bit(57)) ? defaultMaskedError;
+ (rPBIOOFIR, bit(57)) ? calloutBusInterface_obus1_th_1;
/** PBIOOFIR[58]
* data inbound switch internal-links 45
*/
- (rPBIOOFIR, bit(58)) ? defaultMaskedError;
+ (rPBIOOFIR, bit(58)) ? calloutBusInterface_obus2_th_1;
/** PBIOOFIR[59]
* data inbound switch internal-links 67
*/
- (rPBIOOFIR, bit(59)) ? defaultMaskedError;
+ (rPBIOOFIR, bit(59)) ? calloutBusInterface_obus3_th_1;
/** PBIOOFIR[60:61]
* spare
diff --git a/src/usr/diag/prdf/common/plat/p9/p9_obus.rule b/src/usr/diag/prdf/common/plat/p9/p9_obus.rule
index 5c799a62e..3a4ce29c6 100644
--- a/src/usr/diag/prdf/common/plat/p9/p9_obus.rule
+++ b/src/usr/diag/prdf/common/plat/p9/p9_obus.rule
@@ -414,7 +414,7 @@ rule rIOOLFIR
IOOLFIR & ~IOOLFIR_MASK & ~IOOLFIR_ACT0 & IOOLFIR_ACT1;
};
-group gIOOLFIR filter singlebit, cs_root_cause
+group gIOOLFIR filter singlebit, cs_root_cause( 54, 55, 56, 57, 58, 59 )
{
/** IOOLFIR[0]
* link0 trained
@@ -626,30 +626,35 @@ group gIOOLFIR filter singlebit, cs_root_cause
*/
(rIOOLFIR, bit(41)) ? defaultMaskedError;
- /** IOOLFIR[42:43]
- * spare
+ /** IOOLFIR[42]
+ * link0 no spare lane available
+ */
+ (rIOOLFIR, bit(42)) ? maxSparesExceeded_obus_clkgrp0;
+
+ /** IOOLFIR[43]
+ * link1 no spare lane available
*/
- (rIOOLFIR, bit(42|43)) ? defaultMaskedError;
+ (rIOOLFIR, bit(43)) ? maxSparesExceeded_obus_clkgrp1;
/** IOOLFIR[44]
* link0 spare done
*/
- (rIOOLFIR, bit(44)) ? defaultMaskedError;
+ (rIOOLFIR, bit(44)) ? spareDeployed_obus_clkgrp0;
/** IOOLFIR[45]
* link1 spare done
*/
- (rIOOLFIR, bit(45)) ? defaultMaskedError;
+ (rIOOLFIR, bit(45)) ? spareDeployed_obus_clkgrp1;
/** IOOLFIR[46]
* link0 too many crc errors
*/
- (rIOOLFIR, bit(46)) ? defaultMaskedError;
+ (rIOOLFIR, bit(46)) ? tooManyBusErrors_obus_clkgrp0;
/** IOOLFIR[47]
* link1 too many crc errors
*/
- (rIOOLFIR, bit(47)) ? defaultMaskedError;
+ (rIOOLFIR, bit(47)) ? tooManyBusErrors_obus_clkgrp1;
/** IOOLFIR[48]
* link0 npu error
@@ -674,52 +679,52 @@ group gIOOLFIR filter singlebit, cs_root_cause
/** IOOLFIR[52]
* link0 correctable array error
*/
- (rIOOLFIR, bit(52)) ? self_th_32perDay;
+ (rIOOLFIR, bit(52)) ? calloutBusInterface_th_32perDay;
/** IOOLFIR[53]
* link1 correctable array error
*/
- (rIOOLFIR, bit(53)) ? self_th_32perDay;
+ (rIOOLFIR, bit(53)) ? calloutBusInterface_th_32perDay;
/** IOOLFIR[54]
* link0 uncorrectable array error
*/
- (rIOOLFIR, bit(54)) ? self_th_32perDay;
+ (rIOOLFIR, bit(54)) ? calloutBusInterface_th_32perDay;
/** IOOLFIR[55]
* link1 uncorrectable array error
*/
- (rIOOLFIR, bit(55)) ? self_th_32perDay;
+ (rIOOLFIR, bit(55)) ? calloutBusInterface_th_32perDay;
/** IOOLFIR[56]
* link0 training failed
*/
- (rIOOLFIR, bit(56)) ? defaultMaskedError;
+ (rIOOLFIR, bit(56)) ? calloutBusInterface_th_32perDay;
/** IOOLFIR[57]
* link1 training failed
*/
- (rIOOLFIR, bit(57)) ? defaultMaskedError;
+ (rIOOLFIR, bit(57)) ? calloutBusInterface_th_32perDay;
/** IOOLFIR[58]
* link0 unrecoverable error
*/
- (rIOOLFIR, bit(58)) ? defaultMaskedError;
+ (rIOOLFIR, bit(58)) ? calloutBusInterface_th_32perDay;
/** IOOLFIR[59]
* link1 unrecoverable error
*/
- (rIOOLFIR, bit(59)) ? defaultMaskedError;
+ (rIOOLFIR, bit(59)) ? calloutBusInterface_th_32perDay;
/** IOOLFIR[60]
* link0 internal error
*/
- (rIOOLFIR, bit(60)) ? self_th_1;
+ (rIOOLFIR, bit(60)) ? self_th_32perDay;
/** IOOLFIR[61]
* link1 internal error
*/
- (rIOOLFIR, bit(61)) ? self_th_1;
+ (rIOOLFIR, bit(61)) ? self_th_32perDay;
/** IOOLFIR[62]
* fir scom err dup
@@ -762,7 +767,7 @@ group gIOOBFIR filter singlebit, cs_root_cause
/** IOOBFIR[2]
* The per-bus GCR ring hang detector error
*/
- (rIOOBFIR, bit(2)) ? chip_to_chip;
+ (rIOOBFIR, bit(2)) ? self_th_1;
/** IOOBFIR[3:47]
* spare
@@ -800,7 +805,7 @@ group gOBPPEFIR filter singlebit, cs_root_cause
/** OBPPEFIR[0:3]
* PPE general error.
*/
- (rOBPPEFIR, bit(0|1|2|3)) ? self_th_1;
+ (rOBPPEFIR, bit(0|1|2|3)) ? threshold_and_mask_self;
/** OBPPEFIR[4]
* PPE halted.
diff --git a/src/usr/diag/prdf/common/plat/p9/p9_obus_actions.rule b/src/usr/diag/prdf/common/plat/p9/p9_obus_actions.rule
new file mode 100644
index 000000000..90bd90020
--- /dev/null
+++ b/src/usr/diag/prdf/common/plat/p9/p9_obus_actions.rule
@@ -0,0 +1,70 @@
+# IBM_PROLOG_BEGIN_TAG
+# This is an automatically generated prolog.
+#
+# $Source: src/usr/diag/prdf/common/plat/p9/p9_obus_actions.rule $
+#
+# OpenPOWER HostBoot Project
+#
+# Contributors Listed Below - COPYRIGHT 2018
+# [+] International Business Machines Corp.
+#
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+# implied. See the License for the specific language governing
+# permissions and limitations under the License.
+#
+# IBM_PROLOG_END_TAG
+
+/** Callout the OBUS interface */
+actionclass calloutObusInterface
+{
+# funccall("calloutInterface_obus"); RTC 174485
+};
+
+/** Callout the OBUS interface, threshold 32 per day */
+actionclass calloutBusInterface_th_32perDay
+{
+ calloutObusInterface;
+ threshold32pday;
+};
+
+/** Lane Repair: spare deployed */
+actionclass spareDeployed
+{
+ calloutObusInterface;
+# funccall("spareDeployed"); RTC 174485
+};
+
+/** Lane Repair: max spares exceeded */
+actionclass maxSparesExceeded
+{
+ calloutObusInterface;
+ threshold1;
+# funccall("maxSparesExceeded"); RTC 174485
+};
+
+/** Lane Repair: too many bus errors */
+actionclass tooManyBusErrors
+{
+ calloutObusInterface;
+ threshold1;
+# funccall("tooManyBusErrors"); RTC 174485
+};
+
+# Currently handling each OBUS clock group with the same plugins. May optimize
+# this later when we add in the DMI Lane Repair support.
+actionclass spareDeployed_obus_clkgrp0 { spareDeployed; };
+actionclass spareDeployed_obus_clkgrp1 { spareDeployed; };
+actionclass maxSparesExceeded_obus_clkgrp0 { maxSparesExceeded; };
+actionclass maxSparesExceeded_obus_clkgrp1 { maxSparesExceeded; };
+actionclass tooManyBusErrors_obus_clkgrp0 { tooManyBusErrors; };
+actionclass tooManyBusErrors_obus_clkgrp1 { tooManyBusErrors; };
+
diff --git a/src/usr/diag/prdf/common/plat/p9/p9_proc_common_actions.rule b/src/usr/diag/prdf/common/plat/p9/p9_proc_common_actions.rule
index ccdaa3cb5..810aaa3c5 100644
--- a/src/usr/diag/prdf/common/plat/p9/p9_proc_common_actions.rule
+++ b/src/usr/diag/prdf/common/plat/p9/p9_proc_common_actions.rule
@@ -150,3 +150,31 @@ actionclass calloutBusInterface_xbus2_th_1
threshold1;
};
+/** Callout connected OBUS 0 interface on first occurrence */
+actionclass calloutBusInterface_obus0_th_1
+{
+ funccall("calloutBusInterface_OBUS0");
+ threshold1;
+};
+
+/** Callout connected OBUS 1 interface on first occurrence */
+actionclass calloutBusInterface_obus1_th_1
+{
+ funccall("calloutBusInterface_OBUS1");
+ threshold1;
+};
+
+/** Callout connected OBUS 2 interface on first occurrence */
+actionclass calloutBusInterface_obus2_th_1
+{
+ funccall("calloutBusInterface_OBUS2");
+ threshold1;
+};
+
+/** Callout connected OBUS 3 interface on first occurrence */
+actionclass calloutBusInterface_obus3_th_1
+{
+ funccall("calloutBusInterface_OBUS3");
+ threshold1;
+};
+
diff --git a/src/usr/diag/prdf/common/plat/p9/p9_xbus.rule b/src/usr/diag/prdf/common/plat/p9/p9_xbus.rule
index 512195c30..c77d769b1 100644
--- a/src/usr/diag/prdf/common/plat/p9/p9_xbus.rule
+++ b/src/usr/diag/prdf/common/plat/p9/p9_xbus.rule
@@ -189,7 +189,7 @@ group gIOXBFIR filter singlebit, cs_root_cause
/** IOXBFIR[2]
* GCR_HANG_ERROR
*/
- (rIOXBFIR, bit(2)) ? calloutBusInterface_th_32perDay;
+ (rIOXBFIR, bit(2)) ? self_th_1;
/** IOXBFIR[3:7]
* spare
diff --git a/src/usr/diag/prdf/common/plat/p9/prdfP9Proc.C b/src/usr/diag/prdf/common/plat/p9/prdfP9Proc.C
index 4fb6be4c5..f5c67740a 100644
--- a/src/usr/diag/prdf/common/plat/p9/prdfP9Proc.C
+++ b/src/usr/diag/prdf/common/plat/p9/prdfP9Proc.C
@@ -521,6 +521,10 @@ PRDF_PLUGIN_DEFINE_NS( p9_cumulus, Proc, calloutBusInterface_##TYPE##POS );
PLUGIN_CALLOUT_INTERFACE( XBUS, 0 )
PLUGIN_CALLOUT_INTERFACE( XBUS, 1 )
PLUGIN_CALLOUT_INTERFACE( XBUS, 2 )
+PLUGIN_CALLOUT_INTERFACE( OBUS, 0 )
+PLUGIN_CALLOUT_INTERFACE( OBUS, 1 )
+PLUGIN_CALLOUT_INTERFACE( OBUS, 2 )
+PLUGIN_CALLOUT_INTERFACE( OBUS, 3 )
#undef PLUGIN_CALLOUT_INTERFACE
OpenPOWER on IntegriCloud