diff options
author | Doug Gilbert <dgilbert@us.ibm.com> | 2014-03-06 14:31:57 -0600 |
---|---|---|
committer | A. Patrick Williams III <iawillia@us.ibm.com> | 2014-03-20 14:47:01 -0500 |
commit | 6c6ededed27870f024c4e46fecfcdd2b477d30ee (patch) | |
tree | b33320cf16a12f30e5158733ff5ce92a7a7fe01d /src/include/usr/runtime/rt_targeting.H | |
parent | c753ba81874b631e12d42ea70dafb7ffa9a2b253 (diff) | |
download | talos-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.H | 70 |
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 |