-
Notifications
You must be signed in to change notification settings - Fork 182
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #218 from open-power/master-next
Merge v1.5 content back to master.
- Loading branch information
Showing
23 changed files
with
496 additions
and
49 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
34 changes: 0 additions & 34 deletions
34
.../package/hostboot/hostboot-0003-Fix-handling-of-ECC-protected-partitions-at-runtime.patch
This file was deleted.
Oops, something went wrong.
File renamed without changes.
File renamed without changes.
187 changes: 187 additions & 0 deletions
187
openpower/package/hostboot/hostboot-0005-shutdown-deconfig-outside-reconfig-loop.patch
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,187 @@ | ||
From 7c592db2c42b8dbef0f31a8daebb97ff0ed6a3ac Mon Sep 17 00:00:00 2001 | ||
From: Stephen Cprek <[email protected]> | ||
Date: Tue, 30 Jun 2015 16:49:22 -0500 | ||
Subject: [PATCH] Shutdown when deconfig outside of reconfig loop on BMC | ||
systems | ||
|
||
Change-Id: I1faf0ab0d831a41c332993f555231a8dbecf53ef | ||
CQ:SW312075 | ||
--- | ||
src/include/usr/initservice/initsvcreasoncodes.H | 4 +- | ||
.../initservice/istepdispatcher/istepdispatcher.C | 120 ++++++++++++++++----- | ||
2 files changed, 98 insertions(+), 26 deletions(-) | ||
|
||
diff --git a/src/include/usr/initservice/initsvcreasoncodes.H b/src/include/usr/initservice/initsvcreasoncodes.H | ||
index d11824e..e174564 100644 | ||
--- a/src/include/usr/initservice/initsvcreasoncodes.H | ||
+++ b/src/include/usr/initservice/initsvcreasoncodes.H | ||
@@ -5,7 +5,7 @@ | ||
/* */ | ||
/* OpenPOWER HostBoot Project */ | ||
/* */ | ||
-/* Contributors Listed Below - COPYRIGHT 2011,2014 */ | ||
+/* Contributors Listed Below - COPYRIGHT 2011,2015 */ | ||
/* [+] International Business Machines Corp. */ | ||
/* */ | ||
/* */ | ||
@@ -74,6 +74,8 @@ enum InitServiceReasonCode | ||
//termination_rc | ||
SBE_EXTRACT_RC_REQUEST_REIPL = INITSVC_COMP_ID | 0x0e, | ||
RECONFIG_LOOP_TEST_RC = INITSVC_COMP_ID | 0x0f, | ||
+ //termination_rc | ||
+ SHUTDOWN_NOT_RECONFIG_LOOP = INITSVC_COMP_ID | 0x10, | ||
}; | ||
|
||
enum InitServiceUserDetailDataSubSection | ||
diff --git a/src/usr/initservice/istepdispatcher/istepdispatcher.C b/src/usr/initservice/istepdispatcher/istepdispatcher.C | ||
index d3581e9..7f3c0b7 100644 | ||
--- a/src/usr/initservice/istepdispatcher/istepdispatcher.C | ||
+++ b/src/usr/initservice/istepdispatcher/istepdispatcher.C | ||
@@ -96,6 +96,10 @@ const uint8_t OUTER_STOP_STEP = 14; | ||
const uint8_t OUTER_STOP_SUBSTEP = 5; | ||
const uint8_t HB_START_ISTEP = 6; | ||
|
||
+// @todo RTC 124679 - Remove Once BMC Monitors Shutdown Attention | ||
+// Set Watchdog Timer To 15 seconds before calling doShutdown() | ||
+const uint16_t SET_WD_TIMER_IN_SECS = 15; | ||
+ | ||
/** | ||
* _start() task entry procedure using the macro in taskargs.H | ||
*/ | ||
@@ -506,14 +510,58 @@ errlHndl_t IStepDispatcher::executeAllISteps() | ||
} | ||
else | ||
{ | ||
- // Reconfig loop required, but the istep is either outside | ||
- // of the reconfig loop, too many reconfigs have been | ||
- // attempted, in manufacturing mode, or in MPIPL. | ||
- // Return an error to cause termination | ||
+ | ||
if (!err) | ||
{ | ||
- err = failedDueToDeconfig(istep, substep, | ||
- newIstep, newSubstep); | ||
+ // Reconfig loop required, but the istep is either outside | ||
+ // of the reconfig loop, too many reconfigs have been | ||
+ // attempted, in manufacturing mode, or in MPIPL. | ||
+ // Return an error to cause termination on FSP systems | ||
+ if (iv_spBaseServicesEnabled) | ||
+ { | ||
+ err = failedDueToDeconfig(istep, substep, | ||
+ newIstep, newSubstep); | ||
+ } | ||
+ // Otherwise increment the reboot count and shutdown | ||
+ #ifdef CONFIG_BMC_IPMI | ||
+ else | ||
+ { | ||
+ uint16_t l_count = 0; | ||
+ SENSOR::RebootCountSensor l_sensor; | ||
+ | ||
+ // Read reboot count sensor | ||
+ err = l_sensor.getRebootCount(l_count); | ||
+ if (err) | ||
+ { | ||
+ TRACFCOMP(g_trac_initsvc, ERR_MRK"executeAllISteps: getRebootCount failed"); | ||
+ break; | ||
+ } | ||
+ // Increment reboot count | ||
+ l_count++; | ||
+ err = l_sensor.setRebootCount(l_count); | ||
+ if (err) | ||
+ { | ||
+ TRACFCOMP(g_trac_initsvc, ERR_MRK"executeAllISteps: setRebootCount to %d failed", l_count); | ||
+ break; | ||
+ } | ||
+ | ||
+ // @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); | ||
+ | ||
+ shutdownDuringIpl(); | ||
+ } | ||
+ #endif | ||
} | ||
// else return the error from doIstep | ||
} | ||
@@ -1260,27 +1308,49 @@ void IStepDispatcher::shutdownDuringIpl() | ||
{ | ||
TRACFCOMP(g_trac_initsvc, ENTER_MRK"IStepDispatcher::shutdownDuringIpl"); | ||
|
||
- // Create and commit error log for FFDC | ||
- | ||
- /*@ | ||
- * @errortype | ||
- * @reasoncode SHUTDOWN_REQUESTED_BY_FSP | ||
- * @severity ERRORLOG::ERRL_SEV_INFORMATIONAL | ||
- * @moduleid ISTEP_INITSVC_MOD_ID | ||
- * @userdata1 Current IStep | ||
- * @userdata2 Current SubStep | ||
- * @devdesc Received shutdown request from FSP | ||
- */ | ||
- errlHndl_t err = new ERRORLOG::ErrlEntry( | ||
- ERRORLOG::ERRL_SEV_INFORMATIONAL, | ||
- ISTEP_INITSVC_MOD_ID, | ||
- SHUTDOWN_REQUESTED_BY_FSP, | ||
- this->iv_curIStep, this->iv_curSubStep); | ||
+ // Create and commit error log for FFDC and call doShutdown with the RC | ||
+ // to initiate a TI | ||
+ if (iv_spBaseServicesEnabled) | ||
+ { | ||
+ /*@ | ||
+ * @errortype | ||
+ * @reasoncode SHUTDOWN_REQUESTED_BY_FSP | ||
+ * @severity ERRORLOG::ERRL_SEV_INFORMATIONAL | ||
+ * @moduleid ISTEP_INITSVC_MOD_ID | ||
+ * @userdata1 Current IStep | ||
+ * @userdata2 Current SubStep | ||
+ * @devdesc Received shutdown request from FSP | ||
+ */ | ||
+ errlHndl_t err = new ERRORLOG::ErrlEntry( | ||
+ ERRORLOG::ERRL_SEV_INFORMATIONAL, | ||
+ ISTEP_INITSVC_MOD_ID, | ||
+ SHUTDOWN_REQUESTED_BY_FSP, | ||
+ this->iv_curIStep, this->iv_curSubStep); | ||
|
||
- errlCommit(err, INITSVC_COMP_ID); | ||
+ errlCommit(err, INITSVC_COMP_ID); | ||
+ INITSERVICE::doShutdown(SHUTDOWN_REQUESTED_BY_FSP); | ||
+ } | ||
+ else | ||
+ { | ||
+ /*@ | ||
+ * @errortype | ||
+ * @reasoncode SHUTDOWN_NOT_RECONFIG_LOOP | ||
+ * @severity ERRORLOG::ERRL_SEV_INFORMATIONAL | ||
+ * @moduleid ISTEP_INITSVC_MOD_ID | ||
+ * @userdata1 Current IStep | ||
+ * @userdata2 Current SubStep | ||
+ * @devdesc Received shutdown request due to deconfigure | ||
+ * outside of reconfig loop | ||
+ */ | ||
+ errlHndl_t err = new ERRORLOG::ErrlEntry( | ||
+ ERRORLOG::ERRL_SEV_INFORMATIONAL, | ||
+ ISTEP_INITSVC_MOD_ID, | ||
+ SHUTDOWN_NOT_RECONFIG_LOOP, | ||
+ this->iv_curIStep, this->iv_curSubStep); | ||
|
||
- // Call doShutdown with the RC to initiate a TI | ||
- INITSERVICE::doShutdown(SHUTDOWN_REQUESTED_BY_FSP); | ||
+ errlCommit(err, INITSVC_COMP_ID); | ||
+ INITSERVICE::doShutdown(SHUTDOWN_NOT_RECONFIG_LOOP); | ||
+ } | ||
|
||
} | ||
|
||
-- | ||
1.8.2.2 | ||
|
Oops, something went wrong.