summaryrefslogtreecommitdiffstats
path: root/src/usr/xscom
diff options
context:
space:
mode:
authorDan Crowell <dcrowell@us.ibm.com>2014-04-07 11:12:51 -0500
committerA. Patrick Williams III <iawillia@us.ibm.com>2014-04-08 16:33:04 -0500
commit81e24d4dab597e0ac9a65f2ab9b4d581ee6d67cf (patch)
treea0ef1d0d80ea7bb486ed2952bd3bf878ec8e3153 /src/usr/xscom
parent0a5e2513dc3b6ab043d3aa7e07fdbe544595511b (diff)
downloadtalos-hostboot-81e24d4dab597e0ac9a65f2ab9b4d581ee6d67cf.tar.gz
talos-hostboot-81e24d4dab597e0ac9a65f2ab9b4d581ee6d67cf.zip
Add HW callout for invalid address errors
The hardware can return invalid address (100) for cases that aren't really bad addresses, but instead are bad hardware. Change-Id: I72e7b4415e24f6ba8ade221923f77f0d851b962d CQ: SW255813 Backport: release-fips810 Reviewed-on: http://gfw160.aus.stglabs.ibm.com:8080/gerrit/10196 Tested-by: Jenkins Server Reviewed-by: Corey V. Swenson <cswenson@us.ibm.com> Reviewed-by: Michael Baiocchi <baiocchi@us.ibm.com> Reviewed-by: A. Patrick Williams III <iawillia@us.ibm.com>
Diffstat (limited to 'src/usr/xscom')
-rw-r--r--src/usr/xscom/piberror.C23
1 files changed, 19 insertions, 4 deletions
diff --git a/src/usr/xscom/piberror.C b/src/usr/xscom/piberror.C
index 6b63c3162..657768765 100644
--- a/src/usr/xscom/piberror.C
+++ b/src/usr/xscom/piberror.C
@@ -55,19 +55,34 @@ void addFruCallouts(TARGETING::Target* i_target,
case PIB::PIB_CHIPLET_OFFLINE:
//Offline should just be a code bug, but it seems that there are
// cases where bad hardware can also cause this problem
- io_errl->addProcedureCallout(HWAS::EPUB_PRC_HB_CODE,
- HWAS::SRCI_PRIORITY_HIGH);
+ //Since we assume code is good before going out, make the
+ // hw callout a higher priority
io_errl->addHwCallout( i_target,
- HWAS::SRCI_PRIORITY_LOW,
+ HWAS::SRCI_PRIORITY_HIGH,
HWAS::DELAYED_DECONFIG,
HWAS::GARD_NULL );
+ io_errl->addProcedureCallout(HWAS::EPUB_PRC_HB_CODE,
+ HWAS::SRCI_PRIORITY_MED);
break;
+
case PIB::PIB_PARTIAL_GOOD:
- case PIB::PIB_INVALID_ADDRESS:
io_errl->addProcedureCallout(HWAS::EPUB_PRC_HB_CODE,
HWAS::SRCI_PRIORITY_HIGH);
break;
+ case PIB::PIB_INVALID_ADDRESS:
+ //Invalid Address should just be a code bug, but it seems that there
+ // are cases where bad hardware can also cause this problem
+ //Since we assume code is good before going out, make the
+ // hw callout a higher priority
+ io_errl->addHwCallout( i_target,
+ HWAS::SRCI_PRIORITY_HIGH,
+ HWAS::DELAYED_DECONFIG,
+ HWAS::GARD_NULL );
+ io_errl->addProcedureCallout(HWAS::EPUB_PRC_HB_CODE,
+ HWAS::SRCI_PRIORITY_MED);
+ break;
+
case PIB::PIB_PARITY_ERROR:
case PIB::PIB_TIMEOUT:
io_errl->addHwCallout( i_target,
OpenPOWER on IntegriCloud