summaryrefslogtreecommitdiffstats
path: root/src/usr/initservice
diff options
context:
space:
mode:
authorMatthew Raybuck <matthew.raybuck@ibm.com>2019-02-20 08:32:06 -0600
committerDaniel M. Crowell <dcrowell@us.ibm.com>2019-02-26 13:06:29 -0600
commit02150d1b6c0d5108630ac4983165aacd54b2000f (patch)
tree8710753ec85ce60b369af9b2f108f7196ca0e3b3 /src/usr/initservice
parentc8094ee98e6d3f5b52f7005ad4e256150570a094 (diff)
downloadtalos-hostboot-02150d1b6c0d5108630ac4983165aacd54b2000f.tar.gz
talos-hostboot-02150d1b6c0d5108630ac4983165aacd54b2000f.zip
Move watchdog timer to prevent timeout
The watchdog used to be set in istepdispatcher.C but due to various changes to PNOR that would cause a watchdog timeout. This commit moves the watchdog out of impiext code and into impibase which allows the watchdog to be setup as soon as the ipmi resource provider comes up. Then once the code reaches istepdispatcher the watchdog is adjusted as needed. Change-Id: Ia5f13800db22cd17b0feabc5257f8f6409f54376 CQ:SW453071 Reviewed-on: http://rchgit01.rchland.ibm.com/gerrit1/72269 Tested-by: Jenkins Server <pfd-jenkins+hostboot@us.ibm.com> Tested-by: Jenkins OP Build CI <op-jenkins+hostboot@us.ibm.com> Reviewed-by: Nicholas E. Bofferding <bofferdn@us.ibm.com> Reviewed-by: Ilya Smirnov <ismirno@us.ibm.com> Tested-by: Jenkins OP HW <op-hw-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.C34
1 files changed, 21 insertions, 13 deletions
diff --git a/src/usr/initservice/istepdispatcher/istepdispatcher.C b/src/usr/initservice/istepdispatcher/istepdispatcher.C
index b7336780d..6500d1013 100644
--- a/src/usr/initservice/istepdispatcher/istepdispatcher.C
+++ b/src/usr/initservice/istepdispatcher/istepdispatcher.C
@@ -5,7 +5,7 @@
/* */
/* OpenPOWER HostBoot Project */
/* */
-/* Contributors Listed Below - COPYRIGHT 2011,2018 */
+/* Contributors Listed Below - COPYRIGHT 2011,2019 */
/* [+] Google Inc. */
/* [+] International Business Machines Corp. */
/* */
@@ -362,6 +362,26 @@ void IStepDispatcher::init(errlHndl_t &io_rtaskRetErrl)
if(iv_istepMode)
{
+
+
+#ifdef CONFIG_BMC_IPMI
+ // Disable watchdog action to prevent the system from shutting down
+ errlHndl_t err_ipmi = IPMIWATCHDOG::setWatchDogTimer(
+ IPMIWATCHDOG::DEFAULT_WATCHDOG_COUNTDOWN,
+ static_cast<uint8_t>
+ (IPMIWATCHDOG::DO_NOT_STOP |
+ IPMIWATCHDOG::BIOS_FRB2),
+ IPMIWATCHDOG::NO_ACTIONS); // do nothing
+ if(err_ipmi)
+ {
+ TRACFCOMP(g_trac_initsvc,
+ "init: ERROR: Set IPMI watchdog Failed");
+ err_ipmi->collectTrace("INITSVC", 1024);
+ errlCommit(err_ipmi, INITSVC_COMP_ID );
+
+ }
+
+#endif
// In IStep mode (receive messages to run individual steps)
// always listen to debug interface. If on FSP this allows
// both HWSV, Cronus, and debug tools to control the IPL
@@ -378,18 +398,6 @@ void IStepDispatcher::init(errlHndl_t &io_rtaskRetErrl)
{
#ifdef CONFIG_BMC_IPMI
- //run the ipmi watchdog in non istep mode only
- errlHndl_t err_ipmi = IPMIWATCHDOG::setWatchDogTimer(
- IPMIWATCHDOG::DEFAULT_WATCHDOG_COUNTDOWN);
-
- if(err_ipmi)
- {
- TRACFCOMP(g_trac_initsvc,
- "init: ERROR: Set IPMI watchdog Failed");
- err_ipmi->collectTrace("INITSVC", 1024);
- errlCommit(err_ipmi, INITSVC_COMP_ID );
-
- }
// Start the watchdog
err_ipmi = IPMIWATCHDOG::resetWatchDogTimer();
OpenPOWER on IntegriCloud