diff options
author | Greg Still <stillgs@us.ibm.com> | 2015-04-06 11:30:30 -0500 |
---|---|---|
committer | Derk Rembold <rembold@de.ibm.com> | 2015-05-21 06:53:54 -0500 |
commit | 8154f8810540dba21865d1566dc5209eef5a3515 (patch) | |
tree | 96090ab85b85cd1dca4a372190e65c1565c79f16 /hwpf/fapi/include/collect_reg_ffdc.H | |
parent | 1ebc3c0868c74833aabe3775509d65ae29cd4925 (diff) | |
download | talos-sbe-8154f8810540dba21865d1566dc5209eef5a3515.tar.gz talos-sbe-8154f8810540dba21865d1566dc5209eef5a3515.zip |
Initial PPE FAPI2 platform implementation - targets+get/putscom; no Attributes
Change-Id: I805dd3286b1b9d33b585d903d38ba7555bf40c21
Reviewed-on: http://gfw160.aus.stglabs.ibm.com:8080/gerrit/16869
Reviewed-by: Glenn R. Miles <milesg@us.ibm.com>
Reviewed-by: Derk Rembold <rembold@de.ibm.com>
Tested-by: Derk Rembold <rembold@de.ibm.com>
Diffstat (limited to 'hwpf/fapi/include/collect_reg_ffdc.H')
-rwxr-xr-x | hwpf/fapi/include/collect_reg_ffdc.H | 78 |
1 files changed, 78 insertions, 0 deletions
diff --git a/hwpf/fapi/include/collect_reg_ffdc.H b/hwpf/fapi/include/collect_reg_ffdc.H new file mode 100755 index 00000000..495b2a3c --- /dev/null +++ b/hwpf/fapi/include/collect_reg_ffdc.H @@ -0,0 +1,78 @@ +/* IBM_PROLOG_BEGIN_TAG */ +/* This is an automatically generated prolog. */ +/* */ +/* $Source: $ */ +/* */ +/* OpenPOWER HostBoot Project */ +/* */ +/* COPYRIGHT International Business Machines Corp. 2012,2014 */ +/* */ +/* Licensed under the Apache License, Version 2.0 (the "License"); */ +/* you may not use this file except in compliance with the License. */ +/* You may obtain a copy of the License at */ +/* */ +/* http://www.apache.org/licenses/LICENSE-2.0 */ +/* */ +/* Unless required by applicable law or agreed to in writing, software */ +/* distributed under the License is distributed on an "AS IS" BASIS, */ +/* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or */ +/* implied. See the License for the specific language governing */ +/* permissions and limitations under the License. */ +/* */ +/* IBM_PROLOG_END_TAG */ +/** + * @file collect_reg_ffdc.H + * + * @brief Defines the collectRegFfdc function that collects chip or + * chiplet register FFDC data. This is called automatically by + * FAPI_SET_HWP_ERROR (when a HWP creates an error) and + * FAPI_ADD_INFO_TO_HWP_ERROR (when an FFDC HWP adds error information + * to an existing error) if the error XML contains a + * <collectRegisterFfdc> element. This function should not be called + * directly by any user code. The function implementation is + * automatically generated from FAPI Error XML files. + */ + +#ifndef FAPI2_COLLECT_REG_FFDC_H_ +#define FAPI2_COLLECT_REG_FFDC_H_ + +#include <target.H> +#include <return_code.H> +#include <ffdc.H> +#include <hwp_error_info.H> + +namespace fapi2 +{ + + /// + /// @brief Collects Register FFDC from a chip or chiplet + /// + /// @warning This should only be called by FAPI during FAPI_SET_HWP_ERROR or + /// FAPI_ADD_INFO_TO_HWP_ERROR + /// + /// @param[in] i_target Pointer to Target to collect FFDC from + /// @param[in] i_ffdcId FFDC Identifier + /// @param[out] o_rc Reference to ReturnCode that FFDC is added to + /// @param[in] i_child Specifies type of i_target's chiplet to collect + /// FFDC from. If this parameter is TARGET_TYPE_NONE + /// (default value), then register FFDC is collected + /// from i_target, else, register FFDC is collected + /// from all functional child chiplets i_target of + /// the specified type + /// @param[in] i_presChild When specified, register FFDC will be collected + /// from i_target's registers based on present chiplets + /// of this type. + /// @param[in] i_childOffsetMult Specifies the chiplet position offset multiplier. + /// This is used in calculating the scom register + /// addresses when collecting register FFDC based on + /// present child chiplets. + /// + void collectRegFfdc(const fapi2::Target<TARGET_TYPE_ALL>* i_target, + const fapi2::HwpFfdcId i_ffdcId, + fapi2::ReturnCode & o_rc, + const TargetType i_child = TARGET_TYPE_NONE, + const TargetType i_presChild = TARGET_TYPE_NONE, + uint32_t i_childOffsetMult = 0); +} + +#endif |