diff --git a/src/include/kernel/terminate.H b/src/include/kernel/terminate.H index b8033149586..ce634e5c8fa 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 cb70e9be677..fb3e1d069c8 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 973f7928b1b..61d359bef37 100644 --- a/src/usr/initservice/istepdispatcher/istepdispatcher.C +++ b/src/usr/initservice/istepdispatcher/istepdispatcher.C @@ -93,6 +93,7 @@ #include // --------------------------- #include +#include 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.