diff options
author | Chris Phan <cphan@us.ibm.com> | 2013-02-08 11:00:08 -0600 |
---|---|---|
committer | A. Patrick Williams III <iawillia@us.ibm.com> | 2013-03-14 09:15:45 -0500 |
commit | 6d0643b59374dac9c98a0ebbf2a1f92cdb1b84f4 (patch) | |
tree | 00f95c835e09fad828069997159b5d09c2f297b8 /src | |
parent | e7aa9a69d27307c5a01df5e2806e8e85a8cb0df9 (diff) | |
download | talos-hostboot-6d0643b59374dac9c98a0ebbf2a1f92cdb1b84f4.tar.gz talos-hostboot-6d0643b59374dac9c98a0ebbf2a1f92cdb1b84f4.zip |
Add PRDF::refresh()
- Remove non-functional chips from PRD system model
- Will be called externally from TransitionFile/IStep
- Add new function call to host_prd_hwreconfig
Change-Id: I6268f382e2b6ed00caa1a5a8ae7fce8c89c3000f
RTC: 60419
Reviewed-on: http://gfw160.austin.ibm.com:8080/gerrit/3132
Tested-by: Jenkins Server
Reviewed-by: Zane Shelley <zshelle@us.ibm.com>
Reviewed-by: Christopher T. Phan <cphan@us.ibm.com>
Reviewed-by: A. Patrick Williams III <iawillia@us.ibm.com>
Reviewed-on: http://gfw160.austin.ibm.com:8080/gerrit/3535
Diffstat (limited to 'src')
-rwxr-xr-x | src/include/usr/diag/prdf/common/prdfMain_common.H | 7 | ||||
-rwxr-xr-x | src/usr/diag/prdf/common/framework/config/iipSystem.C | 2 | ||||
-rwxr-xr-x | src/usr/diag/prdf/common/prdfMain_common.C | 27 | ||||
-rwxr-xr-x | src/usr/diag/prdf/prdfMain.C | 1 | ||||
-rw-r--r-- | src/usr/hwas/hostbootIstep.C | 11 |
5 files changed, 46 insertions, 2 deletions
diff --git a/src/include/usr/diag/prdf/common/prdfMain_common.H b/src/include/usr/diag/prdf/common/prdfMain_common.H index 4bbc4d8c3..76108356f 100755 --- a/src/include/usr/diag/prdf/common/prdfMain_common.H +++ b/src/include/usr/diag/prdf/common/prdfMain_common.H @@ -163,6 +163,13 @@ extern errlHndl_t main(ATTENTION_VALUE_TYPE i_attnType, const AttnList & i_attnL */ extern void iplCleanup(); +/** + * @brief Remove non-functional chips from PRD config model + * + * @return Error log if error occurs + */ +extern errlHndl_t refresh(); + } // End namespace PRDF #endif // __prdfMain_common_H diff --git a/src/usr/diag/prdf/common/framework/config/iipSystem.C b/src/usr/diag/prdf/common/framework/config/iipSystem.C index 032def1db..e95fefc02 100755 --- a/src/usr/diag/prdf/common/framework/config/iipSystem.C +++ b/src/usr/diag/prdf/common/framework/config/iipSystem.C @@ -179,6 +179,8 @@ void System::AddDomains(DomainContainerIterator begin, void System::RemoveStoppedChips(TARGETING::TargetHandle_t i_pchipHandle) { + PRDF_TRAC("System::RemoveStoppedChips chip: 0x%08x", + PlatServices::getHuid(i_pchipHandle)); for(DomainContainerType::iterator domainIterator = prioritizedDomains.begin(); domainIterator != prioritizedDomains.end(); domainIterator++) { diff --git a/src/usr/diag/prdf/common/prdfMain_common.C b/src/usr/diag/prdf/common/prdfMain_common.C index 2b66fb457..1fef649fd 100755 --- a/src/usr/diag/prdf/common/prdfMain_common.C +++ b/src/usr/diag/prdf/common/prdfMain_common.C @@ -329,5 +329,32 @@ void iplCleanup() return; } +//------------------------------------------------------------------------------ + +errlHndl_t refresh() +{ + PRDF_ENTER("PRDF::refresh()"); + + errlHndl_t l_errl = NULL; + + if((false == g_initialized) || (NULL == systemPtr)) + { + l_errl = initialize(); + } + else + { + // System was built so just check and + // remove any non-functional chips + systemPtr->RemoveNonFunctionalChips(); + } + + PRDF_EXIT("PRDF::refresh()"); + + return l_errl; +} + +//------------------------------------------------------------------------------ + + } // end namespace PRDF diff --git a/src/usr/diag/prdf/prdfMain.C b/src/usr/diag/prdf/prdfMain.C index 801c19d7a..ae9c803ae 100755 --- a/src/usr/diag/prdf/prdfMain.C +++ b/src/usr/diag/prdf/prdfMain.C @@ -35,4 +35,3 @@ namespace PRDF { } // end namespace PRDF - diff --git a/src/usr/hwas/hostbootIstep.C b/src/usr/hwas/hostbootIstep.C index 5738e88e9..4e5b900de 100644 --- a/src/usr/hwas/hostbootIstep.C +++ b/src/usr/hwas/hostbootIstep.C @@ -38,6 +38,7 @@ #include <initservice/isteps_trace.H> #include <targeting/attrsync.H> +#include <diag/prdf/prdfMain.H> namespace HWAS { @@ -176,7 +177,15 @@ void* host_prd_hwreconfig( void *io_pArgs ) errlHndl_t errl = NULL; - // stub -- nothing here currently + // Call PRDF to remove non-function chips from its system model + errl = PRDF::refresh(); + + if (errl) + { + TRACFCOMP(ISTEPS_TRACE::g_trac_isteps_trace, + "host_prd_hwreconfig ERROR 0x%.8X returned from" + " call to PRDF::refresh", errl->reasonCode()); + } TRACDCOMP( ISTEPS_TRACE::g_trac_isteps_trace, "host_prd_hwreconfig exit" ); |