diff options
| author | Mike Jones <mjjones@us.ibm.com> | 2013-06-25 17:07:46 -0500 |
|---|---|---|
| committer | A. Patrick Williams III <iawillia@us.ibm.com> | 2013-07-02 14:57:29 -0500 |
| commit | 4c3292e066ded88bb475db3339ae0b98c976768e (patch) | |
| tree | a8e06fc1921a73d318c48ebbc5c98bac2c45e94d /src/include/usr/hwpf | |
| parent | fdd698d541e219dbbb57d4d248dd15ef08be564a (diff) | |
| download | blackbird-hostboot-4c3292e066ded88bb475db3339ae0b98c976768e.tar.gz blackbird-hostboot-4c3292e066ded88bb475db3339ae0b98c976768e.zip | |
HWPF: Support Children callout/deconfigure/GARD in FAPI Error XML
Change-Id: I72584c095e8c15a56e84cca67260935ac875b7fb
RTC: 69794
Reviewed-on: http://gfw160.austin.ibm.com:8080/gerrit/5187
Tested-by: Jenkins Server
Reviewed-by: A. Patrick Williams III <iawillia@us.ibm.com>
Diffstat (limited to 'src/include/usr/hwpf')
| -rw-r--r-- | src/include/usr/hwpf/fapi/fapiErrorInfo.H | 51 | ||||
| -rw-r--r-- | src/include/usr/hwpf/fapi/fapiReturnCode.H | 33 |
2 files changed, 83 insertions, 1 deletions
diff --git a/src/include/usr/hwpf/fapi/fapiErrorInfo.H b/src/include/usr/hwpf/fapi/fapiErrorInfo.H index e3570a92d..336552957 100644 --- a/src/include/usr/hwpf/fapi/fapiErrorInfo.H +++ b/src/include/usr/hwpf/fapi/fapiErrorInfo.H @@ -40,6 +40,7 @@ * mjjones 09/19/2012 Replace FFDC type with ID * mjjones 03/22/2013 Support Procedure Callouts * mjjones 05/20/2013 Support Bus Callouts + * mjjones 06/24/2013 Support Children CDGs */ #ifndef FAPIERRORINFO_H_ @@ -209,7 +210,7 @@ struct ErrorInfoCDG /** * @brief Constructor. * - * @param[in] i_target Reference to the target to callout/deconfigure/GARD + * @param[in] i_target Reference to the target to c/d/g * @param[in] i_callout True if Target should be called out * @param[in] i_deconfigure True if Target should be deconfigured * @param[in] i_gard True if Target should be GARDed @@ -236,6 +237,47 @@ struct ErrorInfoCDG }; /** + * @struct ErrorInfoChildrenCDG + * + * This struct contains children targets to callout/deconfigure/GARD + */ +struct ErrorInfoChildrenCDG +{ + /** + * @brief Constructor. + * + * @param[in] i_parentChip Reference to the parent chip + * @oaram[in] i_childType Child target types to c/d/g + * @param[in] i_callout True if Target should be called out + * @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 + */ + ErrorInfoChildrenCDG(const Target & i_parentChip, + const TargetType i_childType, + const bool i_callout, + const bool i_deconfigure, + const bool i_gard, + const CalloutPriorities::CalloutPriority i_priority); + + // The parent chip + Target iv_parentChip; + + // The child target types to c/d/g + TargetType iv_childType; + + // Callout Information + bool iv_callout; + CalloutPriorities::CalloutPriority iv_calloutPriority; + + // Deconfigure Information + bool iv_deconfigure; + + // GARD Information + bool iv_gard; +}; + +/** * @struct ErrorInfo * * This struct defines the error information associated with a fapi::ReturnCode @@ -271,6 +313,13 @@ struct ErrorInfo std::vector<ErrorInfoCDG *> iv_CDGs; typedef std::vector<ErrorInfoCDG *>::iterator ErrorInfoCDGItr_t; typedef std::vector<ErrorInfoCDG *>::const_iterator ErrorInfoCDGCItr_t; + + // Vector of children targets to callout/deconfigure/GARD + std::vector<ErrorInfoChildrenCDG *> iv_childrenCDGs; + typedef std::vector<ErrorInfoChildrenCDG *>::iterator + ErrorInfoChildrenCDGItr_t; + typedef std::vector<ErrorInfoChildrenCDG *>::const_iterator + ErrorInfoChildrenCDGCItr_t; }; } diff --git a/src/include/usr/hwpf/fapi/fapiReturnCode.H b/src/include/usr/hwpf/fapi/fapiReturnCode.H index 2986412d3..957aee200 100644 --- a/src/include/usr/hwpf/fapi/fapiReturnCode.H +++ b/src/include/usr/hwpf/fapi/fapiReturnCode.H @@ -48,6 +48,7 @@ * mjjones 03/22/2013 Support Procedure Callouts * mjjones 05/20/2013 Support Bus Callouts * mjjones 06/06/2013 Check FFDC size at compile time + * mjjones 06/24/2013 Support Children CDGs */ #ifndef FAPIRETURNCODE_H_ @@ -284,6 +285,7 @@ public: EI_TYPE_PROCEDURE_CALLOUT = 2, EI_TYPE_BUS_CALLOUT = 3, EI_TYPE_CDG = 4, // Target Callout/Deconfig/GARD + EI_TYPE_CHILDREN_CDG = 5, // Children Callout/Deconfig/GARD }; /** @@ -325,6 +327,16 @@ public: uint8_t iv_gard; uint8_t iv_calloutPriority; } target_cdg; + + struct + { + uint8_t iv_parentChipObjIndex; + uint8_t iv_callout; + uint8_t iv_deconfigure; + uint32_t iv_childType; + uint8_t iv_gard; + uint8_t iv_calloutPriority; + } children_cdg; }; }; @@ -448,6 +460,27 @@ private: const bool i_gard, const CalloutPriorities::CalloutPriority i_priority); + /** + * @brief Add children target callout/deconfigure/GARDs to the ErrorInfo + * + * This is called by addErrorInfo to c/d/g all child Targets of a specified + * type. + * + * @param[in] i_parentChip Reference to the parent chip + * @param[in] i_childType Child target types to c/d/g + * @param[in] i_callout True if Target should be called out + * @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 + */ + void addEIChildrenCdg( + const Target & i_parentChip, + const TargetType i_childType, + const bool i_callout, + const bool i_deconfigure, + const bool i_gard, + const CalloutPriorities::CalloutPriority i_priority); + // The rcValue uint32_t iv_rcValue; |

