summaryrefslogtreecommitdiffstats
path: root/src/include/usr/runtime/rt_targeting.H
diff options
context:
space:
mode:
authorDoug Gilbert <dgilbert@us.ibm.com>2014-03-06 14:31:57 -0600
committerA. Patrick Williams III <iawillia@us.ibm.com>2014-03-20 14:47:01 -0500
commit6c6ededed27870f024c4e46fecfcdd2b477d30ee (patch)
treeb33320cf16a12f30e5158733ff5ce92a7a7fe01d /src/include/usr/runtime/rt_targeting.H
parentc753ba81874b631e12d42ea70dafb7ffa9a2b253 (diff)
downloadtalos-hostboot-6c6ededed27870f024c4e46fecfcdd2b477d30ee.tar.gz
talos-hostboot-6c6ededed27870f024c4e46fecfcdd2b477d30ee.zip
HBRT fapi wakeup support
RTC: 98665 Change-Id: Ib9e9f8f3656989975cc08a29304ba7faa25c59e4 Reviewed-on: http://gfw160.aus.stglabs.ibm.com:8080/gerrit/9364 Tested-by: Jenkins Server Reviewed-by: Daniel M. Crowell <dcrowell@us.ibm.com> Reviewed-by: A. Patrick Williams III <iawillia@us.ibm.com>
Diffstat (limited to 'src/include/usr/runtime/rt_targeting.H')
-rw-r--r--src/include/usr/runtime/rt_targeting.H70
1 files changed, 70 insertions, 0 deletions
diff --git a/src/include/usr/runtime/rt_targeting.H b/src/include/usr/runtime/rt_targeting.H
new file mode 100644
index 000000000..d3e5475cd
--- /dev/null
+++ b/src/include/usr/runtime/rt_targeting.H
@@ -0,0 +1,70 @@
+/* IBM_PROLOG_BEGIN_TAG */
+/* This is an automatically generated prolog. */
+/* */
+/* $Source: src/include/usr/runtime/rt_targeting.H $ */
+/* */
+/* IBM CONFIDENTIAL */
+/* */
+/* COPYRIGHT International Business Machines Corp. 2014 */
+/* */
+/* p1 */
+/* */
+/* Object Code Only (OCO) source materials */
+/* Licensed Internal Code Source Materials */
+/* IBM HostBoot Licensed Internal Code */
+/* */
+/* The source code for this program is not published or otherwise */
+/* divested of its trade secrets, irrespective of what has been */
+/* deposited with the U.S. Copyright Office. */
+/* */
+/* Origin: 30 */
+/* */
+/* IBM_PROLOG_END_TAG */
+#ifndef __RT_TARGETING_H
+#define __RT_TARGETING_H
+
+#include <errl/errlentry.H>
+
+namespace TARGETING
+{
+ class Target;
+}
+
+namespace RT_TARG
+{
+ typedef uint64_t rtChipId_t;
+
+ enum
+ {
+ CHIPID_NODE_SHIFT = 3, //!< CHIPID NODE is 'NNNCCC'b
+ MEMBUF_ID_SHIFT = 4, //!< CHIPID for MEMBUF is 'NNNCCCMMMM'b
+ UNIT_ID_SHIFT = 4, //!< CHIPID for CORE is 'NNNCCCPPPP'b
+ UNIT_ID_MASK = 0x000003ff, //!< Valid id bits w/o ID_FLAG
+ PROC_ID_TYPE = 0x00000000, //!< PROC chip id type
+ MEMBUF_ID_TYPE = 0x80000000, //!< MEMBUF chip id type
+ CORE_ID_TYPE = 0x40000000, //!< CORE/EX chip id type
+ CHIPID_ID_MASK = 0xFF000000, //!< TYPE field
+ };
+
+
+ /**
+ * @brief Convert a TARGETING::Target to an unit ID that can be used
+ * in calls to Sapphire
+ * @param[in] The HB TARGETING::Target
+ * @param[out] Sapphire target id
+ * @return an error handle on error
+ */
+ errlHndl_t getRtTarget(const TARGETING::Target* i_target,
+ rtChipId_t &o_targetId);
+
+ /**
+ * @brier Convert a runtime chip_id (target) into a TARGETING::Target
+ * @param[in] The rt chipId
+ * @param[out] The TARGETING::Target pointer
+ * @return error log handle on error else NULL
+ */
+ errlHndl_t getHbTarget(rtChipId_t i_rt_chip_id,
+ TARGETING::Target *& o_target);
+};
+
+#endif
OpenPOWER on IntegriCloud