summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/usr/initservice/istepdispatcher/istepdispatcher.C34
-rw-r--r--src/usr/ipmibase/ipmirp.C32
-rw-r--r--src/usr/ipmibase/ipmiwatchdog.C (renamed from src/usr/ipmiext/ipmiwatchdog.C)4
-rw-r--r--src/usr/ipmibase/makefile4
-rw-r--r--src/usr/ipmiext/makefile3
5 files changed, 58 insertions, 19 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();
diff --git a/src/usr/ipmibase/ipmirp.C b/src/usr/ipmibase/ipmirp.C
index 9a8f164cd..2def821bb 100644
--- a/src/usr/ipmibase/ipmirp.C
+++ b/src/usr/ipmibase/ipmirp.C
@@ -5,7 +5,7 @@
/* */
/* OpenPOWER HostBoot Project */
/* */
-/* Contributors Listed Below - COPYRIGHT 2012,2018 */
+/* Contributors Listed Below - COPYRIGHT 2012,2019 */
/* [+] International Business Machines Corp. */
/* */
/* */
@@ -51,6 +51,11 @@
#include <errno.h>
#include <console/consoleif.H>
+
+#ifdef CONFIG_BMC_IPMI
+#include <ipmi/ipmiwatchdog.H> //IPMI watchdog timer
+#endif
+
// Defined in ipmidd.C
extern trace_desc_t * g_trac_ipmi;
#define IPMI_TRAC(printf_string,args...) \
@@ -124,6 +129,31 @@ void IpmiRP::daemonProcess(errlHndl_t& o_errl)
{
task_create(&IpmiRP::attach, NULL);
task_create(&IpmiRP::start, NULL);
+
+#ifdef CONFIG_BMC_IPMI
+ errlHndl_t err_ipmi = IPMIWATCHDOG::setWatchDogTimer(
+ IPMIWATCHDOG::DEFAULT_WATCHDOG_COUNTDOWN);
+
+ if(err_ipmi)
+ {
+ TRACFCOMP(g_trac_ipmi,
+ "init: ERROR: Set IPMI watchdog Failed");
+ err_ipmi->collectTrace("IPMI", 1024);
+ errlCommit(err_ipmi, IPMI_COMP_ID );
+
+ }
+
+ // Start the watchdog
+ err_ipmi = IPMIWATCHDOG::resetWatchDogTimer();
+ if(err_ipmi)
+ {
+ TRACFCOMP(g_trac_ipmi,
+ "init: ERROR: Starting IPMI watchdog Failed");
+ err_ipmi->collectTrace("IPMI", 1024);
+ errlCommit(err_ipmi, IPMI_COMP_ID );
+ }
+#endif
+
}
/**
diff --git a/src/usr/ipmiext/ipmiwatchdog.C b/src/usr/ipmibase/ipmiwatchdog.C
index 5f7b9bde0..c21322f6b 100644
--- a/src/usr/ipmiext/ipmiwatchdog.C
+++ b/src/usr/ipmibase/ipmiwatchdog.C
@@ -1,11 +1,11 @@
/* IBM_PROLOG_BEGIN_TAG */
/* This is an automatically generated prolog. */
/* */
-/* $Source: src/usr/ipmiext/ipmiwatchdog.C $ */
+/* $Source: src/usr/ipmibase/ipmiwatchdog.C $ */
/* */
/* OpenPOWER HostBoot Project */
/* */
-/* Contributors Listed Below - COPYRIGHT 2014,2018 */
+/* Contributors Listed Below - COPYRIGHT 2014,2019 */
/* [+] Google Inc. */
/* [+] International Business Machines Corp. */
/* */
diff --git a/src/usr/ipmibase/makefile b/src/usr/ipmibase/makefile
index e08057254..c7bb6ead0 100644
--- a/src/usr/ipmibase/makefile
+++ b/src/usr/ipmibase/makefile
@@ -5,7 +5,8 @@
#
# OpenPOWER HostBoot Project
#
-# Contributors Listed Below - COPYRIGHT 2011,2018
+# Contributors Listed Below - COPYRIGHT 2011,2019
+# [+] International Business Machines Corp.
#
#
# Licensed under the Apache License, Version 2.0 (the "License");
@@ -30,5 +31,6 @@ OBJS += ipmirp.o
OBJS += $(if $(CONFIG_BMC_BT_LPC_IPMI),ipmidd.o)
OBJS += ipmiconfig.o
OBJS += ipmiselrecord.o
+OBJS += ipmiwatchdog.o
include ${ROOTPATH}/config.mk
diff --git a/src/usr/ipmiext/makefile b/src/usr/ipmiext/makefile
index e9aa66deb..414180c53 100644
--- a/src/usr/ipmiext/makefile
+++ b/src/usr/ipmiext/makefile
@@ -5,7 +5,7 @@
#
# OpenPOWER HostBoot Project
#
-# Contributors Listed Below - COPYRIGHT 2011,2018
+# Contributors Listed Below - COPYRIGHT 2011,2019
# [+] International Business Machines Corp.
#
#
@@ -29,7 +29,6 @@ MODULE = ipmiext
include ipmi.mk
OBJS += ipmifru.o
-OBJS += ipmiwatchdog.o
OBJS += ipmifruinv.o
OBJS += ipmipowerstate.o
OBJS += ipmichassiscontrol.o
OpenPOWER on IntegriCloud