diff options
Diffstat (limited to 'src/import')
3 files changed, 210 insertions, 0 deletions
diff --git a/src/import/chips/p9/procedures/hwp/pm/p9_dump_stop_info.C b/src/import/chips/p9/procedures/hwp/pm/p9_dump_stop_info.C new file mode 100644 index 000000000..77755de38 --- /dev/null +++ b/src/import/chips/p9/procedures/hwp/pm/p9_dump_stop_info.C @@ -0,0 +1,104 @@ +/* IBM_PROLOG_BEGIN_TAG */ +/* This is an automatically generated prolog. */ +/* */ +/* $Source: src/import/chips/p9/procedures/hwp/pm/p9_dump_stop_info.C $ */ +/* */ +/* OpenPOWER HostBoot Project */ +/* */ +/* Contributors Listed Below - COPYRIGHT 2015,2016 */ +/* [+] International Business Machines Corp. */ +/* */ +/* */ +/* 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 p9_dump_stop_info.C +/// @brief Dump the state of STOP processing hardware (including relevant PPEs) +/// for first failure capture debug. +/// +// *HWP HWP Owner: Amit Kumar <akumar3@us.ibm.com> +// *HWP FW Owner: Prem Jha <premjha1@in.ibm.com> +// *HWP Team: PM +// *HWP Level: 1 +// *HWP Consumed by: FSP:HS +/// +/// @verbatim +/// High-level procedure flow: +/// +/// set bool to enable FAPI_ERR output +/// clear bool to enable Error Logging (likely to come in a second phase) +/// Read control attributes to adjust above control vars +/// -- functions below would honor these controls as to what is output +/// +/// for each CME +/// check (and log) CME operational state +/// call p9_ppe_state (CME address, HALT) to extract PPE core state +/// call p9_intr_regs (CME address) to extract CME interrupts +/// call p9_mib_state (CME address) to extract CME memory interface state +/// call p9_cme_regs (CME address) to extract CME SCOMs (including CME FIR) +/// +/// for each CORE +/// log STOP History register +/// log Special Wakeup registers (FSP, OCC, HYP, OTR) +/// log Core PPM Error Summary register +/// log NetCntl0 register +/// log PFETCNTLSTAT register +/// +/// for each EQ +/// log STOP History register +/// log Quad Chiplet Control register +/// +/// // Chip content - SGPE and OCB functions +/// call p9_ppe_state (SGPE address, HALT) to extract PPE core state +/// call p9_mib_state (SGPE address) to extract SGPOE memory interface state +/// call p9_gpe_regs (SGPE address) to extract SGPE SCOMs +/// log OCC LFIR +/// log OCC Flags +/// log OISR0,1 +/// log OIMR0,1 +/// log OPIT2C* to gather STOP transtion interrupts +/// +/// Extract SGPE PK trace +/// +/// +/// Procedure Prereq: +/// - System clocks are running +/// @endverbatim +/// +//------------------------------------------------------------------------------ + + +// ---------------------------------------------------------------------- +// Includes +// ---------------------------------------------------------------------- + +#include <p9_dump_stop_info.H> + +// ---------------------------------------------------------------------- +// Procedure Function +// ---------------------------------------------------------------------- + +/// @brief Dump the state of STOP processing hardware (including relevant PPEs) +/// for first failure capture debug. + +fapi2::ReturnCode p9_dump_stop_info( + const fapi2::Target<fapi2::TARGET_TYPE_PROC_CHIP>& i_target) +{ + FAPI_INF("> p9_dump_stop_info..."); + + + FAPI_INF("< p9_dump_stop_info..."); + + return fapi2::FAPI2_RC_SUCCESS; +} diff --git a/src/import/chips/p9/procedures/hwp/pm/p9_dump_stop_info.H b/src/import/chips/p9/procedures/hwp/pm/p9_dump_stop_info.H new file mode 100644 index 000000000..7f4dff5cf --- /dev/null +++ b/src/import/chips/p9/procedures/hwp/pm/p9_dump_stop_info.H @@ -0,0 +1,79 @@ +/* IBM_PROLOG_BEGIN_TAG */ +/* This is an automatically generated prolog. */ +/* */ +/* $Source: src/import/chips/p9/procedures/hwp/pm/p9_dump_stop_info.H $ */ +/* */ +/* OpenPOWER HostBoot Project */ +/* */ +/* Contributors Listed Below - COPYRIGHT 2015,2016 */ +/* [+] International Business Machines Corp. */ +/* */ +/* */ +/* 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 p9_dump_stop_info.H +/// @brief Dump the state of STOP processing hardware (including relevant PPEs) +/// for first failure capture debug. +/// +// *HWP HWP Owner: Amit Kumar <akumar3@us.ibm.com> +// *HWP Backup HWP Owner: Greg Still <stillgs@us.ibm.com> +// *HWP FW Owner: Prem S Jha <premjha2@in.ibm.com> +// *HWP Team: PM +// *HWP Level: 1 +// *HWP Consumed by: FSP:HS +/// +///----------------------------------------------------------------------------- + +#ifndef _P9_DUMPSTOPINFO_H_ +#define _P9_DUMPSTOPINFO_H_ + +//------------------------------------------------------------------------------ +// Includes +//------------------------------------------------------------------------------ + +#include <fapi2.H> +#include <p9_quad_scom_addresses.H> +#include <p9_quad_scom_addresses_fld.H> + + +// function pointer typedef definition for HWP call support +typedef fapi2::ReturnCode (*p9_dump_stop_info_FP_t) ( + const fapi2::Target<fapi2::TARGET_TYPE_PROC_CHIP>&); + +extern "C" +{ + +//------------------------------------------------------------------------------ +// Function prototype +//------------------------------------------------------------------------------ + +/// @brief Dump the state of STOP processing hardware (including relevant PPEs) +/// for first failure capture debug. +/// +/// @param[in] i_target Chip target +/// +/// @return FAPI2_RC_SUCCESS if success, else error code. +/// +/// @attr ATTR_DUMP_STOP_INFO_SUPPRESS_ERROR_TRACE if set to 1, FAPI_ERR records +/// are suppressed. Default i that FAPI_ERR records will be produced. +/// @attr ATTR_DUMP_STOP_INFO_ENABLE_ERRORLOG if set to 1, will write state +/// information to error logs. + + fapi2::ReturnCode p9_dump_stop_info( + const fapi2::Target<fapi2::TARGET_TYPE_PROC_CHIP>& i_target); + +} // extern "C" + +#endif // _P9_DUMPSTOPINFO_H_ diff --git a/src/import/chips/p9/procedures/hwp/pm/p9_dump_stop_info.mk b/src/import/chips/p9/procedures/hwp/pm/p9_dump_stop_info.mk new file mode 100644 index 000000000..d68c3e634 --- /dev/null +++ b/src/import/chips/p9/procedures/hwp/pm/p9_dump_stop_info.mk @@ -0,0 +1,27 @@ +# IBM_PROLOG_BEGIN_TAG +# This is an automatically generated prolog. +# +# $Source: src/import/chips/p9/procedures/hwp/pm/p9_dump_stop_info.mk $ +# +# OpenPOWER HostBoot Project +# +# Contributors Listed Below - COPYRIGHT 2015,2016 +# [+] International Business Machines Corp. +# +# +# 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 +PROCEDURE=p9_dump_stop_info +$(call ADD_MODULE_INCDIR,$(PROCEDURE),$(PROJECT_ROOT)/chips/p9/procedures/hwp/lib) +$(call BUILD_PROCEDURE) |