diff options
author | Dan Crowell <dcrowell@us.ibm.com> | 2014-03-21 12:23:11 -0500 |
---|---|---|
committer | A. Patrick Williams III <iawillia@us.ibm.com> | 2014-04-03 12:23:28 -0500 |
commit | 8aca5b75e857cb46eb34dc8739cffce88ae29a1e (patch) | |
tree | 0fef36d14f0ed7cc7c69c1a3f46f9cae464e099c /src/usr/fsi/fsidd.H | |
parent | b7ae1209c26699f076b2c8b14db761f625d69784 (diff) | |
download | talos-hostboot-8aca5b75e857cb46eb34dc8739cffce88ae29a1e.tar.gz talos-hostboot-8aca5b75e857cb46eb34dc8739cffce88ae29a1e.zip |
Improved handling for bad scom/fsi failures
Added more error recovery to the FSI logic to handle cases
where a bad scom would leave the hardware in an error state
for the next IPL. See SW252028 for details on the failing
scenario that exposed the problem.
CQ: SW253637
Backport: release-fips810
Change-Id: I37c5625414247c7a65c4b1a7d631c6764c3606fc
Reviewed-on: http://gfw160.aus.stglabs.ibm.com:8080/gerrit/9840
Tested-by: Jenkins Server
Reviewed-by: Michael Baiocchi <baiocchi@us.ibm.com>
Reviewed-by: Corey V. Swenson <cswenson@us.ibm.com>
Reviewed-by: A. Patrick Williams III <iawillia@us.ibm.com>
Diffstat (limited to 'src/usr/fsi/fsidd.H')
-rw-r--r-- | src/usr/fsi/fsidd.H | 16 |
1 files changed, 10 insertions, 6 deletions
diff --git a/src/usr/fsi/fsidd.H b/src/usr/fsi/fsidd.H index d9901277f..b29ff9f9a 100644 --- a/src/usr/fsi/fsidd.H +++ b/src/usr/fsi/fsidd.H @@ -403,15 +403,18 @@ class FsiDD FSI2OPB_OFFSET_1 = 0x00030000, /**< cMFSI 1 */ // Bit masks - OPB_STAT_BUSY = 0x00010000, /**< Bit 15 is the Busy bit */ - OPB_STAT_READ_VALID = 0x00020000, /**< Bit 14 is the Valid Read bit */ + OPB_STAT_BUSY = 0x00010000, /**< 15 is the Busy bit */ + OPB_STAT_READ_VALID = 0x00020000, /**< 14 is the Valid Read bit */ OPB_STAT_ERRACK = 0x00100000, /**< 11 is OPB errAck */ - OPB_STAT_ERR_OPB = 0xFFFC0000, /**< 0-14 are OPB errors */ - OPB_STAT_ERR_CMFSI = 0x0000FC00, /**< 16-21 are cMFSI errors */ - OPB_STAT_ERR_MFSI = 0x000000FC, /**< 24-29 are MFSI errors */ + OPB_STAT_ANYERR = 0x80000000, /**< 0 is Any error */ + OPB_STAT_ERR_OPB = 0x7FEC0000, /**< 1:10,12:13 are OPB errors */ + OPB_STAT_ERR_CMFSI = 0x0000FC00, /**< 16:21 are cMFSI errors */ + OPB_STAT_ERR_MFSI = 0x000000FC, /**< 24:29 are MFSI errors */ OPB_STAT_ERR_ANY = (OPB_STAT_ERR_OPB | OPB_STAT_ERR_CMFSI | - OPB_STAT_ERR_MFSI), + OPB_STAT_ERR_MFSI | + OPB_STAT_ERRACK | + OPB_STAT_ANYERR ), }; /** @@ -428,6 +431,7 @@ class FsiDD FSI_MSIEP0_030 = 0x030, FSI_MAESP0_050 = 0x050, FSI_MAEB_070 = 0x070, //MREFP0 + FSI_MBSYP0_078 = 0x078, FSI_MRESP0_0D0 = 0x0D0, FSI_MSTAP0_0D0 = 0x0D0, FSI_MRESP0_0D1 = 0x0D1, |