diff options
author | Mike Jones <mjjones@us.ibm.com> | 2014-02-25 11:31:25 -0600 |
---|---|---|
committer | A. Patrick Williams III <iawillia@us.ibm.com> | 2014-02-27 14:20:37 -0600 |
commit | 0c77c1149543e775fe0168e9e99947a33d16f6d3 (patch) | |
tree | 344b8f9d969db69c3b6fd660286df263b41365bc /src/include/usr | |
parent | cfb19f068394a358ce21fa3976d0aca834bb3030 (diff) | |
download | talos-hostboot-0c77c1149543e775fe0168e9e99947a33d16f6d3.tar.gz talos-hostboot-0c77c1149543e775fe0168e9e99947a33d16f6d3.zip |
Extend FAPI Error XML to callout specific children by affinity and containment
Change-Id: Iedad86021ba4773b6cc0584dc2983b13b2b0af37
RTC: 98365
Reviewed-on: http://gfw160.aus.stglabs.ibm.com:8080/gerrit/9141
Reviewed-by: STEPHEN M. CPREK <smcprek@us.ibm.com>
Reviewed-by: William H. Schwartz <whs@us.ibm.com>
Tested-by: Jenkins Server
Reviewed-by: A. Patrick Williams III <iawillia@us.ibm.com>
Diffstat (limited to 'src/include/usr')
-rw-r--r-- | src/include/usr/hwpf/fapi/fapiErrorInfo.H | 35 | ||||
-rw-r--r-- | src/include/usr/hwpf/fapi/fapiTarget.H | 48 |
2 files changed, 67 insertions, 16 deletions
diff --git a/src/include/usr/hwpf/fapi/fapiErrorInfo.H b/src/include/usr/hwpf/fapi/fapiErrorInfo.H index 23250aa51..b7818058b 100644 --- a/src/include/usr/hwpf/fapi/fapiErrorInfo.H +++ b/src/include/usr/hwpf/fapi/fapiErrorInfo.H @@ -20,7 +20,7 @@ /* Origin: 30 */ /* */ /* IBM_PROLOG_END_TAG */ -// $Id: fapiErrorInfo.H,v 1.11 2013/11/11 19:33:43 mjjones Exp $ +// $Id: fapiErrorInfo.H,v 1.12 2014/02/26 14:50:39 mjjones Exp $ // $Source: /afs/awd/projects/eclipz/KnowledgeBase/.cvsroot/eclipz/hwpf/working/fapi/fapiErrorInfo.H,v $ /** @@ -332,9 +332,7 @@ struct ErrorInfoBusCallout // The callout priority CalloutPriorities::CalloutPriority iv_calloutPriority; }; -// defines used with MBA dimm callouts -#define FAPI_ALL_MBA_PORTS 0xFF -#define FAPI_ALL_MBA_DIMMS 0xFF + /** * @struct ErrorInfoCDG * @@ -393,6 +391,17 @@ struct ErrorInfoCDG * @struct ErrorInfoChildrenCDG * * This struct contains children targets to callout/deconfigure/GARD + * + * Children by containment can be CDG (chiplets belonging to a parent chip) e.g. + * - PROC_CHIP -> EX_CHIPLET + * - MEMBUF_CHIP -> MBA_CHIPLET + * Children by affinity can be CDG. + * Any from PROC_CHIP->MCS_CHIPLET->MEMBUF_CHIP->MBA_CHIPLET->DIMM e.g. + * - PROC_CHIP->MEMBUF_CHIP + * - MEMBUF_CHIP->DIMM + * - MBA_CHIPLET->DIMM + * Port and Number criteria can be applied to the child target as + * detailed in the constructor */ struct ErrorInfoChildrenCDG { @@ -405,12 +414,12 @@ struct ErrorInfoChildrenCDG * @param[in] i_deconfigure True if Target should be deconfigured * @param[in] i_gard True if Target should be GARDed * @param[in] i_priority The priority of any callout - * @param[in] i_childPort Parent port number where child is - * connected - * @param[in] i_childNum Chip number of child target - * - * @note i_childPort and i_childNum are valid only for MBA/DIMM - * parent/child combination + * @param[in] i_childPort Child Port + * For DIMM children, the MBA port number + * @param[in] i_childNum Child Number + * For DIMM children, the dimm socket number + * For Chip children, the chip position + * For Chiplet children, the chiplet unit pos */ ErrorInfoChildrenCDG(const Target & i_parentChip, const TargetType i_childType, @@ -454,10 +463,12 @@ struct ErrorInfoChildrenCDG // GARD Information bool iv_gard; - // For MBA/DIMM parent/child, the MBA port + // Child Port + static const uint8_t ALL_CHILD_PORTS = 0xff; uint8_t iv_childPort; - // For MBA/DIMM parent/child, the MBA dimm number + // Child Number + static const uint8_t ALL_CHILD_NUMBERS = 0xff; uint8_t iv_childNumber; }; diff --git a/src/include/usr/hwpf/fapi/fapiTarget.H b/src/include/usr/hwpf/fapi/fapiTarget.H index b1c98efb0..ee5656d58 100644 --- a/src/include/usr/hwpf/fapi/fapiTarget.H +++ b/src/include/usr/hwpf/fapi/fapiTarget.H @@ -20,7 +20,7 @@ /* Origin: 30 */ /* */ /* IBM_PROLOG_END_TAG */ -// $Id: fapiTarget.H,v 1.8 2013/10/15 13:13:43 dcrowell Exp $ +// $Id: fapiTarget.H,v 1.9 2014/02/26 14:51:05 mjjones Exp $ // $Source: /afs/awd/projects/eclipz/KnowledgeBase/.cvsroot/eclipz/hwpf/working/fapi/fapiTarget.H,v $ /** @@ -42,6 +42,8 @@ * mjjones 02/07/2012 Remove MBS_CHIPLET * Add XBUS_ENDPOINT ABUS_ENDPOINT * mjjones 02/21/2012 Add high performance toEcmdString + * mjjones 02/24/2014 Add isChip/Chiplet using types + * Add isPhysParentChild */ #ifndef FAPITARGET_H_ @@ -199,11 +201,32 @@ public: void setType(const TargetType i_type) { iv_type = i_type; } /** + * @brief Returns if a target type is a chip + * + * @param[in] i_type Target Type + * + * @return boolean. true if chip else false + */ + static bool isChip(const TargetType i_type); + + /** * @brief Returns if the target is a chip * - * @return boolean. true if chip else fase + * @return boolean. true if chip else false + */ + bool isChip() const + { + return isChip(iv_type); + } + + /** + * @brief Returns if a target type is a chiplet + * + * @param[in] i_type Target Type + * + * @return boolean. true if chip else false */ - bool isChip() const; + static bool isChiplet(const TargetType i_type); /** * @brief Returns if the target is a chiplet @@ -212,7 +235,24 @@ public: * * @return boolean. true if chiplet else false */ - bool isChiplet() const; + bool isChiplet() const + { + return isChiplet(iv_type); + } + + /** + * @brief Returns if a pair of target types is a physical parent/child + * + * This is true if the parent type is a chip and the child type is a + * chiplet that belongs to the chip (e.g. PROC_CHIP->EX_CHIPLET) + * + * @param[in] i_parentType Parent Target Type + * @param[in] i_childType Child Target Type + * + * @return boolean. + */ + static bool isPhysParentChild(const TargetType i_parentType, + const TargetType i_childType); /** * @brief Convert a target to an ecmd-format target string |