summaryrefslogtreecommitdiffstats
path: root/src/usr/hwas/test
diff options
context:
space:
mode:
authorcrgeddes <crgeddes@us.ibm.com>2017-01-13 20:42:01 -0600
committerChristian R. Geddes <crgeddes@us.ibm.com>2017-01-14 10:14:22 -0500
commit29684ba50d2cfefea4e20ec954d1b64c3b247974 (patch)
tree237f1a08a92a4fc2a3f07d83fd2818cd75f0129f /src/usr/hwas/test
parent200e13aff211133665601c5378ec6e09741a6262 (diff)
downloadtalos-hostboot-29684ba50d2cfefea4e20ec954d1b64c3b247974.tar.gz
talos-hostboot-29684ba50d2cfefea4e20ec954d1b64c3b247974.zip
Disable bad MCAs based on CRP0:Lx keyword data
The CRP0 record has 8 records (L1-L8) that correspond to the 8 ports (MCA targets) for the chip. One of the fields inside the keyword indicates if the port is disabled. This field marks the MCA as non-functional, but the MCA remains present. Change-Id: Iccc943ad477a90a25aeaff67572b66126c759913 RTC:166354 Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/34885 Tested-by: Jenkins Server <pfd-jenkins+hostboot@us.ibm.com> Tested-by: FSP CI Jenkins <fsp-CI-jenkins+hostboot@us.ibm.com> Tested-by: Jenkins OP Build CI <op-jenkins+hostboot@us.ibm.com> Reviewed-by: William G. Hoffa <wghoffa@us.ibm.com> Reviewed-by: Dean Sanner <dsanner@us.ibm.com> Reviewed-by: Christian R. Geddes <crgeddes@us.ibm.com>
Diffstat (limited to 'src/usr/hwas/test')
-rw-r--r--src/usr/hwas/test/hwas1test.H39
1 files changed, 39 insertions, 0 deletions
diff --git a/src/usr/hwas/test/hwas1test.H b/src/usr/hwas/test/hwas1test.H
index 7dd7b70ed..cf7461623 100644
--- a/src/usr/hwas/test/hwas1test.H
+++ b/src/usr/hwas/test/hwas1test.H
@@ -1627,6 +1627,45 @@ public:
TS_INFO( "testHWASpervStates exit" );
}
+
+ /**
+ * @brief test platReadLx
+ */
+ void testHWASplatReadLx()
+ {
+ using namespace TARGETING;
+
+ TS_INFO( "testHWASplatReadLx entry" );
+
+ // call platReadLx with target that isn't in the VPD
+ errlHndl_t l_errl;
+
+ Target* pSys;
+ targetService().getTopLevelTarget(pSys);
+
+ TARGETING::TargetHandleList l_procList;
+ getAllChips(l_procList, TYPE_PROC);
+
+ TargetHandleList l_mcaList;
+ getChildChiplets(l_mcaList, *(l_procList.begin()), TYPE_MCA, true);
+
+ uint8_t lxData[HWAS::VPD_CRP0_LX_DATA_LENGTH];
+
+ l_errl = HWAS::platReadLx(pSys, *(l_mcaList.begin()), lxData);
+
+ if (l_errl)
+ {
+ // error log is expected case, delete it
+ delete l_errl;
+ }
+ else
+ {
+ TS_FAIL("testHWASplatReadLx>"
+ "No error from platReadLx(pSys, *(l_mcaList.begin()).");
+ }
+
+ TS_INFO( "testHWASplatReadLx exit" );
+ }
};
#endif //
OpenPOWER on IntegriCloud