summaryrefslogtreecommitdiffstats
path: root/src/usr/targeting
diff options
context:
space:
mode:
Diffstat (limited to 'src/usr/targeting')
-rw-r--r--src/usr/targeting/targplatutil.C25
1 files changed, 25 insertions, 0 deletions
diff --git a/src/usr/targeting/targplatutil.C b/src/usr/targeting/targplatutil.C
index becdbe40f..3c4369e09 100644
--- a/src/usr/targeting/targplatutil.C
+++ b/src/usr/targeting/targplatutil.C
@@ -123,6 +123,31 @@ bool isCurrentMasterNode()
return (isMaster == 1);
}
+#ifndef __HOSTBOOT_RUNTIME
+Target* getCurrentNodeTarget(void)
+{
+ // Get node target
+ TargetHandleList l_nodelist;
+ getEncResources(l_nodelist, TARGETING::TYPE_NODE,
+ TARGETING::UTIL_FILTER_FUNCTIONAL);
+ assert(l_nodelist.size() == 1, "ERROR, only expect one node.");
+
+ Target* pTgt = l_nodelist[0];
+ assert(pTgt != nullptr, "getCurrentNodeTarget found nullptr");
+
+ return pTgt;
+}
+
+uint8_t getCurrentNodePhysId(void)
+{
+ Target* pNodeTgt = getCurrentNodeTarget();
+ EntityPath epath = pNodeTgt->getAttr<TARGETING::ATTR_PHYS_PATH>();
+ const TARGETING::EntityPath::PathElement pe =
+ epath.pathElementOfType(TARGETING::TYPE_NODE);
+ return pe.instance;
+}
+#endif
+
// return the sensor number from the passed in target
uint32_t getSensorNumber( const TARGETING::Target* i_pTarget,
TARGETING::SENSOR_NAME i_name )
OpenPOWER on IntegriCloud