diff options
author | Josh Rispoli <jprispol@us.ibm.com> | 2015-01-22 15:23:56 -0600 |
---|---|---|
committer | A. Patrick Williams III <iawillia@us.ibm.com> | 2015-02-09 16:23:20 -0600 |
commit | 806036d507c384ce3daa75b668f6af99d9a78378 (patch) | |
tree | 45ca179c9880ee349adf8a53a7f5406f3bfd0af4 /src/usr/initservice | |
parent | 304f060b9f4c877156c299d60647084604d901e5 (diff) | |
download | talos-hostboot-806036d507c384ce3daa75b668f6af99d9a78378.tar.gz talos-hostboot-806036d507c384ce3daa75b668f6af99d9a78378.zip |
System FW Progress sensor now updates with appropriate mappings
Change-Id: I46b5c54fa315192a505c297030d1de2845487e0c
RTC:119124
Reviewed-on: http://gfw160.aus.stglabs.ibm.com:8080/gerrit/15345
Tested-by: Jenkins Server
Reviewed-by: WILLIAM G. HOFFA <wghoffa@us.ibm.com>
Reviewed-by: Richard J. Knight <rjknight@us.ibm.com>
Reviewed-by: A. Patrick Williams III <iawillia@us.ibm.com>
Diffstat (limited to 'src/usr/initservice')
-rw-r--r-- | src/usr/initservice/istepdispatcher/istepdispatcher.C | 21 | ||||
-rw-r--r-- | src/usr/initservice/istepdispatcher/istepdispatcher.H | 12 |
2 files changed, 26 insertions, 7 deletions
diff --git a/src/usr/initservice/istepdispatcher/istepdispatcher.C b/src/usr/initservice/istepdispatcher/istepdispatcher.C index 722531b35..a46c671df 100644 --- a/src/usr/initservice/istepdispatcher/istepdispatcher.C +++ b/src/usr/initservice/istepdispatcher/istepdispatcher.C @@ -68,6 +68,7 @@ #include <ipmi/ipmiwatchdog.H> //IPMI watchdog timer #include <ipmi/ipmipowerstate.H> //IPMI System ACPI Power State #include <config.h> +#include <ipmi/ipmisensor.H> namespace ISTEPS_TRACE { @@ -621,6 +622,24 @@ errlHndl_t IStepDispatcher::doIstep(uint32_t i_istep, istepPauseSet(i_istep, i_substep); } +#ifdef CONFIG_BMC_IPMI + + if(theStep->taskflags.fwprogtype != PHASE_NA) + { + SENSOR::FirmwareProgressSensor l_progressSensor; + errlHndl_t err_fwprog = l_progressSensor.setBootProgressPhase( + theStep->taskflags.fwprogtype); + + if(err_fwprog) + { + TRACFCOMP(g_trac_initsvc, + "init: ERROR: Update FW Progress Phase Failed"); + errlCommit(err_fwprog, INITSVC_COMP_ID); + } + } + +#endif + err = InitService::getTheInstance().executeFn(theStep, NULL); // flush contTrace immediately after each i_istep/substep returns @@ -1682,8 +1701,8 @@ errlHndl_t IStepDispatcher::sendProgressCode(bool i_needsLock) "init: ERROR: reset IPMI watchdog Failed"); err_ipmi->collectTrace("INITSVC", 1024); errlCommit(err_ipmi, INITSVC_COMP_ID ); - } + #endif msg_t * myMsg = msg_allocate(); diff --git a/src/usr/initservice/istepdispatcher/istepdispatcher.H b/src/usr/initservice/istepdispatcher/istepdispatcher.H index 918d9a46d..5d941963c 100644 --- a/src/usr/initservice/istepdispatcher/istepdispatcher.H +++ b/src/usr/initservice/istepdispatcher/istepdispatcher.H @@ -401,12 +401,12 @@ private: bool iv_progressThreadStarted; // Used in multiple threads, mutex protection needed - uint8_t iv_curIStep; // Current Step - uint8_t iv_curSubStep; // Current SubStep - msg_t* iv_pIstepMsg; // External Istep request message - timespec_t iv_lastProgressMsgTime; // Last time progress message sent - bool iv_shutdown; // Shutdown request has been received - // from the FSP + uint8_t iv_curIStep; // Current Step + uint8_t iv_curSubStep; // Current SubStep + msg_t* iv_pIstepMsg; // External Istep request message + timespec_t iv_lastProgressMsgTime; // Last time progress message sent + bool iv_shutdown; // Shutdown request has been received + // from the FSP bool iv_futureShutdown; uint8_t iv_istepToCompleteBeforeShutdown; uint8_t iv_substepToCompleteBeforeShutdown; |