diff options
author | Prasad Bg Ranganath <prasadbgr@in.ibm.com> | 2015-11-23 05:48:53 -0600 |
---|---|---|
committer | Stephen Cprek <smcprek@us.ibm.com> | 2016-07-18 15:32:38 -0500 |
commit | b3f6347ef52994c4d37ac5f361b21fe4d4658462 (patch) | |
tree | 0611424ce648e024d82b9edad34b780035d82b16 /src/usr/initservice | |
parent | 99bd8d04615d1a633a9adaaf64a58787ad753527 (diff) | |
download | talos-hostboot-b3f6347ef52994c4d37ac5f361b21fe4d4658462.tar.gz talos-hostboot-b3f6347ef52994c4d37ac5f361b21fe4d4658462.zip |
Avoid visible errors during SBE update
RTC: 135822
Backport: yes
Change-Id: I9581abc5f1d0cb4812743190c9914b11c63c0089
Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/764
Tested-by: Jenkins Server <pfd-jenkins+hostboot@us.ibm.com>
Tested-by: FSP CI Jenkins <fsp-CI-jenkins+hostboot@us.ibm.com>
Reviewed-by: Daniel M. Crowell <dcrowell@us.ibm.com>
Diffstat (limited to 'src/usr/initservice')
-rw-r--r-- | src/usr/initservice/istepdispatcher/istepdispatcher.C | 40 |
1 files changed, 14 insertions, 26 deletions
diff --git a/src/usr/initservice/istepdispatcher/istepdispatcher.C b/src/usr/initservice/istepdispatcher/istepdispatcher.C index e74699d38..852907226 100644 --- a/src/usr/initservice/istepdispatcher/istepdispatcher.C +++ b/src/usr/initservice/istepdispatcher/istepdispatcher.C @@ -31,7 +31,6 @@ * */ - /******************************************************************************/ // Includes /******************************************************************************/ @@ -67,8 +66,10 @@ #include <pnor/pnorif.H> #include <ipmi/ipmiwatchdog.H> //IPMI watchdog timer #include <ipmi/ipmipowerstate.H> //IPMI System ACPI Power State +#include <ipmi/ipmichassiscontrol.H> #include <config.h> #include <ipmi/ipmisensor.H> +#include <ipmi/ipmiif.H> #include <initservice/bootconfigif.H> #include <trace/trace.H> @@ -531,11 +532,6 @@ errlHndl_t IStepDispatcher::executeAllISteps() err = failedDueToDeconfig(istep, substep, newIstep, newSubstep); } - // Otherwise shut down. The BMC watchdog reset will - // cause the system to reboot. The BMC allows 2 - // boot attempts from the primary side of PNOR and 1 - // from the golden side. After that the system would - // shut down and halt. else { #ifdef CONFIG_BMC_IPMI @@ -572,34 +568,26 @@ errlHndl_t IStepDispatcher::executeAllISteps() "not increment reboot count."); } - // @TODO RTC:124679 - Remove Once BMC Monitors - // Shutdown Attention - // Set Watchdog Timer before calling doShutdown() - TRACFCOMP( g_trac_initsvc,"executeAllISteps: " - "Set Watch Dog Timer To %d Seconds", - SET_WD_TIMER_IN_SECS); - - err = IPMIWATCHDOG::setWatchDogTimer( - SET_WD_TIMER_IN_SECS, // new time - static_cast<uint8_t> - (IPMIWATCHDOG::DO_NOT_STOP | - IPMIWATCHDOG::BIOS_FRB2), // default - IPMIWATCHDOG::TIMEOUT_HARD_RESET); + // Request BMC to do power cycle that sends shutdown + // and reset the host + err = IPMI::chassisControl + (IPMI::CHASSIS_POWER_CYCLE); + if (err) + { + TRACFCOMP(g_trac_initsvc, ERR_MRK + "FAIL executing chassisControl command"); + break; + } #endif #ifdef CONFIG_CONSOLE - #ifdef CONFIG_BMC_IPMI - CONSOLE::displayf(NULL, - "System Shutting Down In %d Seconds " - "To Perform Reconfiguration\n", - SET_WD_TIMER_IN_SECS); - #else CONSOLE::displayf(NULL, "System Shutting Down " "To Perform Reconfiguration\n"); - #endif CONSOLE::flush(); #endif + #ifndef CONFIG_BMC_IPMI shutdownDuringIpl(); + #endif } } // else return the error from doIstep |