summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/include/usr/hwpf/istepreasoncodes.H2
-rw-r--r--src/usr/initservice/istepdispatcher/istepWorker.C42
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
OpenPOWER on IntegriCloud