diff options
author | Dan Crowell <dcrowell@us.ibm.com> | 2015-04-14 16:46:30 -0500 |
---|---|---|
committer | A. Patrick Williams III <iawillia@us.ibm.com> | 2015-05-12 16:34:19 -0500 |
commit | c29f12efbba4e9e2520f489986a360b71b482336 (patch) | |
tree | ea065a7a2f24df54eafc7422e8c5f90a7ecfa32c /src/usr/ibscom | |
parent | fb435ee4a4148135b4290eada784da8fa802e8d3 (diff) | |
download | talos-hostboot-c29f12efbba4e9e2520f489986a360b71b482336.tar.gz talos-hostboot-c29f12efbba4e9e2520f489986a360b71b482336.zip |
Deconfigure the membuf on an inband scom failure
A channel failure can cause an inband scom access
to fail. This change will deconfigure the membuf
that failed to allow the IPL to continue without
that resource.
Change-Id: I494e27bc6262ee94cde9e96435f21ce26ed97bc0
CQ: SW303781
Backport: release-fips830
Backport: release-fips820
Backport: release-fips811
Reviewed-on: http://gfw160.aus.stglabs.ibm.com:8080/gerrit/17107
Tested-by: Jenkins Server
Reviewed-by: Daniel M. Crowell <dcrowell@us.ibm.com>
Reviewed-by: Brian H. Horton <brianh@linux.ibm.com>
Reviewed-by: Thi N. Tran <thi@us.ibm.com>
Reviewed-by: A. Patrick Williams III <iawillia@us.ibm.com>
Diffstat (limited to 'src/usr/ibscom')
-rw-r--r-- | src/usr/ibscom/ibscom.C | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/src/usr/ibscom/ibscom.C b/src/usr/ibscom/ibscom.C index d03317026..aa091ca19 100644 --- a/src/usr/ibscom/ibscom.C +++ b/src/usr/ibscom/ibscom.C @@ -732,9 +732,11 @@ errlHndl_t doIBScom(DeviceFW::OperationType i_opType, i_addr), mbsiberr0.data); + //force a deconfig to potentially allow the IPL + // to continue after a channel fail ib_err->addHwCallout(i_target, HWAS::SRCI_PRIORITY_HIGH, - HWAS::NO_DECONFIG, + HWAS::DELAYED_DECONFIG, HWAS::GARD_NULL); //grab some HW regs via FSISCOM @@ -816,6 +818,14 @@ errlHndl_t doIBScom(DeviceFW::OperationType i_opType, i_addr, l_err ); + //force a deconfig to potentially allow the IPL + // to continue after a channel fail + l_err->addHwCallout(i_target, + HWAS::SRCI_PRIORITY_LOW, + HWAS::DELAYED_DECONFIG, + HWAS::GARD_NULL); + + //grab some HW regs via FSISCOM ERRORLOG::ErrlUserDetailsLogRegister ffdc(i_target); ffdc.addData(DEVICE_FSISCOM_ADDRESS(0x000F0011)); |