diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/include/usr/hwpf/istepreasoncodes.H | 2 | ||||
| -rw-r--r-- | src/usr/initservice/istepdispatcher/istepWorker.C | 42 |
2 files changed, 35 insertions, 9 deletions
diff --git a/src/include/usr/hwpf/istepreasoncodes.H b/src/include/usr/hwpf/istepreasoncodes.H index 6175a38c7..01099fb2e 100644 --- a/src/include/usr/hwpf/istepreasoncodes.H +++ b/src/include/usr/hwpf/istepreasoncodes.H @@ -117,6 +117,7 @@ enum istepModuleId ISTEP_PROC_DMI_SCOMINIT = 0x45, ISTEP_MEM_PLL_INITF = 0x46, ISTEP_PROC_GETECID = 0x47, + ISTEP_INITSVC_MOD_ID = 0x48, }; /** @@ -175,6 +176,7 @@ enum istepReasonCode ISTEP_PROC_SWITCH_CFSIM_FAILED = ISTEP_COMP_ID | 0x2D, ISTEP_LOAD_SLW_FROM_PNOR_FAILED = ISTEP_COMP_ID | 0x2E, ISTEP_PROC_GETECID_FAILED = ISTEP_COMP_ID | 0x2F, + ISTEP_TOP_LEVEL_TARGET_NULL = ISTEP_COMP_ID | 0x30, }; // end ISTEP } diff --git a/src/usr/initservice/istepdispatcher/istepWorker.C b/src/usr/initservice/istepdispatcher/istepWorker.C index 5d2eec372..e700f3ac7 100644 --- a/src/usr/initservice/istepdispatcher/istepWorker.C +++ b/src/usr/initservice/istepdispatcher/istepWorker.C @@ -40,6 +40,7 @@ #include <errl/errlentry.H> #include <isteps/istepmasterlist.H> +#include <hwpf/istepreasoncodes.H> #include "../baseinitsvc/initservice.H" @@ -465,23 +466,46 @@ const TaskInfo * findTaskInfo( const uint32_t i_IStep, return l_pistep; } -// $TODO - temporary implementation for bringup bool getSyncEnabledAttribute() { + using namespace TARGETING; + + Target* l_pTopLevel = NULL; + uint8_t l_syncEnabled = 0; - // $TODO RTC Issue 64008 - update to use targeting attribute accessors - fapi::ReturnCode l_rc; - l_rc = FAPI_ATTR_GET(ATTR_SYNC_BETWEEN_STEPS, NULL, l_syncEnabled); + TargetService& l_targetService = targetService(); - if (l_rc) - { - // trace for now, elog with new implementation - TRACFCOMP(g_trac_initsvc,"failed to read ATTR_SYNC_BETWEEN_STEPS, default" - " to no sync"); + l_targetService.getTopLevelTarget( l_pTopLevel ); + if( l_pTopLevel == NULL ) + { + TRACFCOMP( g_trac_initsvc, + "Top level handle was NULL, default sync not enabled" ); + /*@ + * @errortype + * @reasoncode ISTEP::ISTEP_TOP_LEVEL_TARGET_NULL + * @severity ERRORLOG::ERRL_SEV_UNRECOVERABLE + * @moduleid ISTEP_INITSVC_MOD_ID + * @userdata1 N/A + * @userdata2 N/A + * @devdesc call to get top level targeting handle + * returned null. + */ + + errlHndl_t err = new ERRORLOG::ErrlEntry( + ERRORLOG::ERRL_SEV_UNRECOVERABLE, + ISTEP::ISTEP_INITSVC_MOD_ID, + ISTEP::ISTEP_TOP_LEVEL_TARGET_NULL ); + + errlCommit( err, ISTEP_COMP_ID ); + } + else + { + l_syncEnabled = l_pTopLevel->getAttr<ATTR_SYNC_BETWEEN_STEPS> (); } return ( (l_syncEnabled) ? true : false ); + } } // namespace |

