summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/include/kernel/terminate.H13
-rw-r--r--src/kernel/terminate.C11
-rw-r--r--src/usr/initservice/istepdispatcher/istepdispatcher.C4
3 files changed, 26 insertions, 2 deletions
diff --git a/src/include/kernel/terminate.H b/src/include/kernel/terminate.H
index b80331495..ce634e5c8 100644
--- a/src/include/kernel/terminate.H
+++ b/src/include/kernel/terminate.H
@@ -5,7 +5,7 @@
/* */
/* OpenPOWER HostBoot Project */
/* */
-/* Contributors Listed Below - COPYRIGHT 2012,2018 */
+/* Contributors Listed Below - COPYRIGHT 2012,2019 */
/* [+] International Business Machines Corp. */
/* */
/* */
@@ -87,4 +87,15 @@ void termModifySRC(uint8_t i_moduleID,
*/
void termSetHbDump(void);
+/** @fn termSetIstep
+ *
+ * @brief Set istep into progress code word of the SRC.
+ *
+ * @param[in] i_istep: Encoded istep value
+ * @param[out] NONE:
+ *
+ * @return Nothing
+ */
+void termSetIstep(uint32_t i_istep);
+
#endif
diff --git a/src/kernel/terminate.C b/src/kernel/terminate.C
index cb70e9be6..fb3e1d069 100644
--- a/src/kernel/terminate.C
+++ b/src/kernel/terminate.C
@@ -5,7 +5,7 @@
/* */
/* OpenPOWER HostBoot Project */
/* */
-/* Contributors Listed Below - COPYRIGHT 2012,2018 */
+/* Contributors Listed Below - COPYRIGHT 2012,2019 */
/* [+] International Business Machines Corp. */
/* */
/* */
@@ -128,4 +128,13 @@ void termSetHbDump(void)
return;
}
+
+void termSetIstep(uint32_t i_istep)
+{
+ // Set istep into progress code word of the SRC
+ kernel_TIDataArea.src.SRCword4 = i_istep;
+ return;
+}
+
+
#endif // BOOTLOADER
diff --git a/src/usr/initservice/istepdispatcher/istepdispatcher.C b/src/usr/initservice/istepdispatcher/istepdispatcher.C
index 973f7928b..61d359bef 100644
--- a/src/usr/initservice/istepdispatcher/istepdispatcher.C
+++ b/src/usr/initservice/istepdispatcher/istepdispatcher.C
@@ -93,6 +93,7 @@
#include <p9_perv_scom_addresses.H>
// ---------------------------
#include <initservice/extinitserviceif.H>
+#include <kernel/terminate.H>
namespace ISTEPS_TRACE
@@ -2507,6 +2508,9 @@ errlHndl_t IStepDispatcher::sendProgressCode(bool i_needsLock)
Util::writeScratchReg( SPLESS::MBOX_SCRATCH_REG5,
l_scratch5.data32 );
+ //--- Push the scratch reg into kernel to be added into TI area
+ termSetIstep(l_scratch5.data32);
+
#ifdef CONFIG_ISTEP_LPC_PORT80_DEBUG
// Starting port 80h value for hostboot isteps. Each step started will
// increase the value by one.
OpenPOWER on IntegriCloud