diff options
author | Brian Horton <brianh@linux.ibm.com> | 2013-06-24 11:27:03 -0500 |
---|---|---|
committer | A. Patrick Williams III <iawillia@us.ibm.com> | 2013-07-08 10:16:00 -0500 |
commit | 0e8072c8c3aa49ce9e75c468f4e14e80893d56f0 (patch) | |
tree | bf64388902a9fc35d016560720e1eaaa69e9ea79 /src/usr/errl/test/errltest.H | |
parent | 47e1255f110771d5042e322d207111abcd430bc3 (diff) | |
download | talos-hostboot-0e8072c8c3aa49ce9e75c468f4e14e80893d56f0.tar.gz talos-hostboot-0e8072c8c3aa49ce9e75c468f4e14e80893d56f0.zip |
minor issue, add tests for bus callouts
correct minor issue, make code a little more clear, and
add tests for bus callouts.
Change-Id: I47d488cab60098ede3339e4c6a3820348c52acae
RTC: 76254
Reviewed-on: http://gfw160.austin.ibm.com:8080/gerrit/5169
Tested-by: Jenkins Server
Reviewed-by: MIKE J. JONES <mjjones@us.ibm.com>
Reviewed-by: A. Patrick Williams III <iawillia@us.ibm.com>
Diffstat (limited to 'src/usr/errl/test/errltest.H')
-rw-r--r-- | src/usr/errl/test/errltest.H | 57 |
1 files changed, 35 insertions, 22 deletions
diff --git a/src/usr/errl/test/errltest.H b/src/usr/errl/test/errltest.H index e0fac99ea..4fe8beffb 100644 --- a/src/usr/errl/test/errltest.H +++ b/src/usr/errl/test/errltest.H @@ -344,21 +344,27 @@ public: #else do { - // find a proc target - TARGETING::PredicateCTM procChipFilter( - TARGETING::CLASS_CHIP, TARGETING::TYPE_PROC); - TARGETING::TargetRangeFilter pProc( - TARGETING::targetService().begin(), - TARGETING::targetService().end(), - &procChipFilter); - - // find a membuf target - TARGETING::PredicateCTM membufChipFilter( - TARGETING::CLASS_CHIP,TARGETING::TYPE_MEMBUF); - TARGETING::TargetRangeFilter pMembuf( - TARGETING::targetService().begin(), - TARGETING::targetService().end(), - &membufChipFilter); + // find some cores that we can play with + TARGETING::Target * pSys; + TARGETING::targetService().getTopLevelTarget(pSys); + + TARGETING::PredicateCTM predCore(TARGETING::CLASS_UNIT, + TARGETING::TYPE_CORE); + TARGETING::PredicateHwas predFunctional; + predFunctional.poweredOn(true).present(true).functional(true); + TARGETING::PredicatePostfixExpr checkExpr; + checkExpr.push(&predCore).push(&predFunctional).And(); + TARGETING::TargetHandleList pCoreList; + TARGETING::targetService().getAssociated( pCoreList, pSys, + TARGETING::TargetService::CHILD, TARGETING::TargetService::ALL, + &checkExpr ); + + if (pCoreList.empty()) + { + TS_FAIL("testErrl3: empty pCoreList"); + break; + } + TARGETING::TargetHandle_t pTarget = *pCoreList.begin(); errlHndl_t gard_errl = NULL; HWAS::DeconfigGard::DeconfigureRecords_t l_deconfigRecords; @@ -404,21 +410,20 @@ public: ERRL_TEST_REASON_CODE); // test the different callout types - TS_TRACE( "test callout pProc %p", *pProc); - ERRORLOG::ErrlUserDetailsTarget(*pProc).addToLog(errl); + TS_TRACE("test callout target %.8X", TARGETING::get_huid(pTarget)); + ERRORLOG::ErrlUserDetailsTarget(pTarget).addToLog(errl); - errl->addHwCallout(*pProc, + errl->addHwCallout(pTarget, HWAS::SRCI_PRIORITY_LOW, HWAS::DELAYED_DECONFIG, HWAS::GARD_Fatal); deconfigCount++; gardCount++; - errl->addHwCallout(*pMembuf, + errl->addHwCallout(pTarget, HWAS::SRCI_PRIORITY_MED, HWAS::DELAYED_DECONFIG, HWAS::GARD_NULL); - deconfigCount++; errl->addHwCallout(TARGETING::MASTER_PROCESSOR_CHIP_TARGET_SENTINEL, HWAS::SRCI_PRIORITY_LOW, @@ -430,13 +435,21 @@ public: HWAS::SRCI_PRIORITY_MED, HWAS::DELAYED_DECONFIG, HWAS::GARD_NULL); - // pProc is the same, so this doesn't get incremented. - // deconfigCount++; + deconfigCount++; errl->addProcedureCallout( HWAS::EPUB_PRC_MEMORY_PLUGGING_ERROR, HWAS::SRCI_PRIORITY_HIGH); + if (pCoreList.size() > 1) + { + errl->addBusCallout( + pCoreList[0], + pCoreList[1], + HWAS::A_BUS_TYPE, + HWAS::SRCI_PRIORITY_LOW); + } + errlCommit(errl, CXXTEST_COMP_ID); // confirm there are the correct number of deconfig and gard records |