diff options
Diffstat (limited to 'sbe')
-rw-r--r-- | sbe/sbefw/sbecmdprocessor.C | 39 |
1 files changed, 19 insertions, 20 deletions
diff --git a/sbe/sbefw/sbecmdprocessor.C b/sbe/sbefw/sbecmdprocessor.C index afeeebdb..f9be47b9 100644 --- a/sbe/sbefw/sbecmdprocessor.C +++ b/sbe/sbefw/sbecmdprocessor.C @@ -208,31 +208,30 @@ void sbeSyncCommandProcessor_routine(void *i_pArg) #define SBE_FUNC " sbeSyncCommandProcessor_routine " SBE_ENTER(SBE_FUNC); + // Check the destination bit at the start + if(true == SbeRegAccess::theSbeRegAccess().isDestBitRuntime()) + { + SBE_DEBUG(SBE_FUNC"Destination bit tells us to go to runtime"); + (void)SbeRegAccess::theSbeRegAccess(). + updateSbeState(SBE_STATE_RUNTIME); + } + else if(true == SbeRegAccess::theSbeRegAccess().isIstepMode()) + { + SBE_DEBUG(SBE_FUNC"Continuous IPL mode not set, will wait for " + "commands..."); + (void)SbeRegAccess::theSbeRegAccess(). + updateSbeState(SBE_STATE_ISTEP); + } + else + { + sbeDoContinuousIpl(); + } + do { uint32_t l_rc = SBE_SEC_OPERATION_SUCCESSFUL; uint16_t l_primStatus = SBE_PRI_OPERATION_SUCCESSFUL; - // Check the destination bit - if(true == SbeRegAccess::theSbeRegAccess().isDestBitRuntime()) - { - SBE_DEBUG(SBE_FUNC"Destination bit tells us to go to runtime"); - (void)SbeRegAccess::theSbeRegAccess(). - updateSbeState(SBE_STATE_RUNTIME); - } - - else if(true == SbeRegAccess::theSbeRegAccess().isIstepMode()) - { - SBE_DEBUG(SBE_FUNC"Continuous IPL mode not set, will wait for " - "commands..."); - (void)SbeRegAccess::theSbeRegAccess(). - updateSbeState(SBE_STATE_ISTEP); - } - else - { - sbeDoContinuousIpl(); - } - // Wait for new command processing int l_rcPk = pk_semaphore_pend ( &g_sbeSemCmdProcess, PK_WAIT_FOREVER); |