summaryrefslogtreecommitdiffstats
path: root/src/include
diff options
context:
space:
mode:
authorBill Schwartz <whs@us.ibm.com>2013-01-30 16:30:42 -0600
committerA. Patrick Williams III <iawillia@us.ibm.com>2013-02-08 10:34:35 -0600
commit74c20caefdab7f7aa9268dd3f359f2038cee8ccf (patch)
treeb35a48fe1ea86bf181c16a5bfbcd4a5f5d823cab /src/include
parent6261fa26ccb412df36bb9ec400e85f9cc6e9cfb9 (diff)
downloadtalos-hostboot-74c20caefdab7f7aa9268dd3f359f2038cee8ccf.tar.gz
talos-hostboot-74c20caefdab7f7aa9268dd3f359f2038cee8ccf.zip
FAPI Interface to get the target on the other side of the DMI bus
Add new fapiGetOtherSideOfMemChannel function Replace getAffinityChips with more general getChildAffinityTargets and added getParentAffinityTargets to find MCS from Centaur. RTC: 61987 Change-Id: I772ef95452215c54fdfab98998507e6db5a862d0 Reviewed-on: http://gfw160.austin.ibm.com:8080/gerrit/3062 Tested-by: Jenkins Server Reviewed-by: ADAM R. MUHLE <armuhle@us.ibm.com> Reviewed-by: MIKE J. JONES <mjjones@us.ibm.com> Reviewed-by: A. Patrick Williams III <iawillia@us.ibm.com>
Diffstat (limited to 'src/include')
-rw-r--r--src/include/usr/hwpf/fapi/fapiSystemConfig.H63
-rw-r--r--src/include/usr/hwpf/plat/fapiPlatReasonCodes.H7
-rw-r--r--src/include/usr/targeting/common/utilFilter.H75
3 files changed, 93 insertions, 52 deletions
diff --git a/src/include/usr/hwpf/fapi/fapiSystemConfig.H b/src/include/usr/hwpf/fapi/fapiSystemConfig.H
index 7c2b904ee..944eeb940 100644
--- a/src/include/usr/hwpf/fapi/fapiSystemConfig.H
+++ b/src/include/usr/hwpf/fapi/fapiSystemConfig.H
@@ -1,25 +1,25 @@
-// IBM_PROLOG_BEGIN_TAG
-// This is an automatically generated prolog.
-//
-// $Source: src/include/usr/hwpf/fapi/fapiSystemConfig.H $
-//
-// IBM CONFIDENTIAL
-//
-// COPYRIGHT International Business Machines Corp. 2011
-//
-// 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 other-
-// wise divested of its trade secrets, irrespective of what has
-// been deposited with the U.S. Copyright Office.
-//
-// Origin: 30
-//
-// IBM_PROLOG_END
+/* IBM_PROLOG_BEGIN_TAG */
+/* This is an automatically generated prolog. */
+/* */
+/* $Source: src/include/usr/hwpf/fapi/fapiSystemConfig.H $ */
+/* */
+/* IBM CONFIDENTIAL */
+/* */
+/* COPYRIGHT International Business Machines Corp. 2011,2013 */
+/* */
+/* 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 */
/**
* @file fapiSystemConfig.H
*
@@ -48,6 +48,25 @@
extern "C"
{
+/**
+* @brief Gets the Target on the other side of the memory channel
+* - Input MEMBUF_CHIP, Output MCS_CHIPLET
+* - Input MCS_CHIPLET, Output MEMBUF_CHIP
+*
+* @param[in] i_target Input MCS_CHIPLET or MEMBUF_CHIP Target
+* @param[out] o_target Reference to Target that is set to the Target on
+* the other side of the memory channel, if there is no such
+* Target in the specified state then an error is returned
+* @param[in] i_state Only return a target in the specified state. Either
+* present or functional (default)
+*
+* @return ReturnCode. Zero on success, else error
+*/
+fapi::ReturnCode fapiGetOtherSideOfMemChannel(
+ const fapi::Target& i_target,
+ fapi::Target & o_target,
+ const fapi::TargetState i_state = fapi::TARGET_STATE_FUNCTIONAL);
+
/**
* @brief Gets the chiplets that are children of the input chip
*
diff --git a/src/include/usr/hwpf/plat/fapiPlatReasonCodes.H b/src/include/usr/hwpf/plat/fapiPlatReasonCodes.H
index 9029a6853..9f59f79cc 100644
--- a/src/include/usr/hwpf/plat/fapiPlatReasonCodes.H
+++ b/src/include/usr/hwpf/plat/fapiPlatReasonCodes.H
@@ -5,7 +5,7 @@
/* */
/* IBM CONFIDENTIAL */
/* */
-/* COPYRIGHT International Business Machines Corp. 2011,2012 */
+/* COPYRIGHT International Business Machines Corp. 2011,2013 */
/* */
/* p1 */
/* */
@@ -78,6 +78,8 @@ namespace fapi
MOD_MVPD_ACCESS = 0x27,
MOD_EXIT_CACHE_CONTAINED = 0x28,
MOD_GET_CACHE_DECONFIG = 0x29,
+ MOD_FAPI_GET_OTHER_SIDE_OF_MEM_CHANNEL = 0x2A,
+
};
/**
@@ -113,6 +115,9 @@ namespace fapi
RC_INVALID_KEYWORD = HWPF_COMP_ID | 0x22,
RC_MM_EXTEND_FAILED = HWPF_COMP_ID | 0x23,
RC_INCORRECT_KEWORD_SIZE = HWPF_COMP_ID | 0x24,
+ RC_NO_SINGLE_MCS = HWPF_COMP_ID | 0x25,
+ RC_NO_SINGLE_MEMBUFF = HWPF_COMP_ID | 0x26,
+ RC_STATE_MISMATCH = HWPF_COMP_ID | 0x27,
};
/**
diff --git a/src/include/usr/targeting/common/utilFilter.H b/src/include/usr/targeting/common/utilFilter.H
index 6f49be71f..cd0acfaab 100644
--- a/src/include/usr/targeting/common/utilFilter.H
+++ b/src/include/usr/targeting/common/utilFilter.H
@@ -1,26 +1,25 @@
-/* IBM_PROLOG_BEGIN_TAG
- * This is an automatically generated prolog.
- *
- * $Source: src/include/usr/targeting/common/utilFilter.H $
- *
- * IBM CONFIDENTIAL
- *
- * COPYRIGHT International Business Machines Corp. 2012
- *
- * 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 other-
- * wise divested of its trade secrets, irrespective of what has
- * been deposited with the U.S. Copyright Office.
- *
- * Origin: 30
- *
- * IBM_PROLOG_END_TAG
- */
+/* IBM_PROLOG_BEGIN_TAG */
+/* This is an automatically generated prolog. */
+/* */
+/* $Source: src/include/usr/targeting/common/utilFilter.H $ */
+/* */
+/* IBM CONFIDENTIAL */
+/* */
+/* COPYRIGHT International Business Machines Corp. 2012,2013 */
+/* */
+/* 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 __TARGETING_COMMON_UTIL_FILTER_H
#define __TARGETING_COMMON_UTIL_FILTER_H
@@ -80,18 +79,36 @@ void getChildChiplets(TARGETING::TargetHandleList & o_vector,
const Target * i_chip, TYPE i_type, bool i_functional = true );
/**
- * @brief Populate the o_vector with chip target object pointers which is
- * affinity child of the input chiplet
+ * @brief Populate the o_vector with target object pointers which are
+ * affinity children of the input target
+ *
+ * @parm[out] o_vector, reference of vector of target pointers.
+ * @parm[in] i_target, the target for retrieving affinity-child targets
+ * @parm[in] i_class, the class of the target to be obtained
+ * @parm[in] i_type, the type of the target to be obtained
+ * @parm[in] i_functional, set to true to return only functional targets
+ *
+ * @return N/A
+ */
+void getChildAffinityTargets ( TARGETING::TargetHandleList& o_vector,
+ const Target * i_target, CLASS i_class, TYPE i_type,
+ bool i_functional = true );
+
+/**
+ * @brief Populate the o_vector with target object pointers which are
+ * affinity parents of the input target
*
* @parm[out] o_vector, reference of vector of target pointers.
- * @parm[in] i_chiplet, the chiplet target for retrieving affinity-child chip
- * @parm[in] i_type, the type of the chip target to be obtained
+ * @parm[in] i_target, the target for retrieving affinity-parent targets
+ * @parm[in] i_class, the class of the target to be obtained
+ * @parm[in] i_type, the type of the target to be obtained
* @parm[in] i_functional, set to true to return only functional targets
*
* @return N/A
*/
-void getAffinityChips( TARGETING::TargetHandleList& o_vector,
- const Target * i_chiplet, TYPE i_type, bool i_functional = true );
+void getParentAffinityTargets ( TARGETING::TargetHandleList& o_vector,
+ const Target * i_target, CLASS i_class, TYPE i_type,
+ bool i_functional = true );
/**
* @brief return the parent chip target of the specified input chiplet
OpenPOWER on IntegriCloud