diff options
author | Zane Shelley <zshelle@us.ibm.com> | 2012-09-20 12:18:46 -0500 |
---|---|---|
committer | A. Patrick Williams III <iawillia@us.ibm.com> | 2012-11-07 16:13:29 -0600 |
commit | 63aca27a47a3b60ca107c12cad8d132a0cfeb64c (patch) | |
tree | e3e38fb25b6986223f8ba8f617f04697f4801b2d /src/include/usr/diag | |
parent | 1190a8872faeac22924a4528c9fbeabdafe9fad6 (diff) | |
download | talos-hostboot-63aca27a47a3b60ca107c12cad8d132a0cfeb64c.tar.gz talos-hostboot-63aca27a47a3b60ca107c12cad8d132a0cfeb64c.zip |
Initial port of PRD to Hostboot
Change-Id: I7ee2673131d4891d482e99a403a36300b79e547e
Reviewed-on: http://gfw160.austin.ibm.com:8080/gerrit/1853
Tested-by: Jenkins Server
Reviewed-by: A. Patrick Williams III <iawillia@us.ibm.com>
Diffstat (limited to 'src/include/usr/diag')
-rwxr-xr-x | src/include/usr/diag/prdf/prdfMain.H (renamed from src/include/usr/diag/prdf/prdf_proto.H) | 125 | ||||
-rwxr-xr-x | src/include/usr/diag/prdf/prdf_service_codes.H | 59 |
2 files changed, 93 insertions, 91 deletions
diff --git a/src/include/usr/diag/prdf/prdf_proto.H b/src/include/usr/diag/prdf/prdfMain.H index 29cb7eb23..310947520 100755 --- a/src/include/usr/diag/prdf/prdf_proto.H +++ b/src/include/usr/diag/prdf/prdfMain.H @@ -1,31 +1,31 @@ -/* IBM_PROLOG_BEGIN_TAG - * This is an automatically generated prolog. - * - * $Source: src/include/usr/diag/prdf/prdf_proto.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 - */ -#ifndef PRDF_PROTO_H -#define PRDF_PROTO_H +/* IBM_PROLOG_BEGIN_TAG */ +/* This is an automatically generated prolog. */ +/* */ +/* $Source: src/include/usr/diag/prdf/prdfMain.H $ */ +/* */ +/* IBM CONFIDENTIAL */ +/* */ +/* COPYRIGHT International Business Machines Corp. 2002,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 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 PRDF_MAIN_H +#define PRDF_MAIN_H /** - * @file prdf_proto.H + * @file prdfMain.H * @brief Interface to Processor Run-time Diagnostics (PRD) * @par * This includes all type definitions, function interfaces/contracts and @@ -34,9 +34,13 @@ * from other binds. */ +#ifdef __HOSTBOOT_MODULE + #include <errl/errlentry.H> +#else + #include <errlentry.H> +#endif #include <stdint.h> -#include <errl/errlentry.H> #include <targeting/common/target.H> namespace PRDF @@ -46,16 +50,18 @@ namespace PRDF /** * @brief Enum specifying attention type */ +// If changes are made to ATTENTION_VALUE_TYPE then subsequent changes need to be made to: +// /prdf/sim/prdsimAttentionParser.C and /prdf/sim/errl2tcd.C enum ATTENTION_VALUE_TYPE { - INVALID_ATTENTION_TYPE = 0, - MACHINE_CHECK = 1, - CHECK_STOP = MACHINE_CHECK, - UNIT_CS = 2, - PROC_CS = UNIT_CS, - RECOVERABLE = 3, - SPECIAL = 4, - END_ATTENTION_TYPE = 5 + INVALID_ATTENTION_TYPE = 0, + MACHINE_CHECK = 1, + CHECK_STOP = MACHINE_CHECK, + UNIT_CS = 2, + PROC_CS = UNIT_CS, + RECOVERABLE = 3, + SPECIAL = 4, + END_ATTENTION_TYPE = 5 }; // Move here from xspprdsdbug.C @@ -64,16 +70,13 @@ enum ATTENTION_VALUE_TYPE */ struct AttnData { - TARGETING::TargetHandle_t targetHndl; - ATTENTION_VALUE_TYPE attnType; + TARGETING::TargetHandle_t targetHndl; + ATTENTION_VALUE_TYPE attnType; }; typedef std::vector<AttnData> AttnList; - -/** - * @brief Enum specifying all possible PRD returned code - */ +//! @c prd_return_code_t : possible return values from PRD enum prd_return_code_t { //! DD00: An assert statement failed in PRD @@ -140,12 +143,11 @@ enum prd_return_code_t }; - /** * @brief Initialize PRD system model and data * @return Error log if error occurs */ -extern errlHndl_t PrdInitialize(); +extern errlHndl_t initialize(); /** * @brief analyze attention errors @@ -157,30 +159,40 @@ extern errlHndl_t PrdInitialize(); * containing the analysis; otherwise, for other attention types, PRD * commits the error log itself and NULL is returned. */ -extern errlHndl_t PrdMain(ATTENTION_VALUE_TYPE i_attnType, const AttnList & i_attnList); +extern errlHndl_t main(ATTENTION_VALUE_TYPE i_attnType, const AttnList & i_attnList); + +/** + * @brief Clean up pieces of PRD for fresh IPLs. + * + * Cleans up the PRD persistent storage areas in P1. + */ +extern void iplCleanup(); + +//------------------------------------------------------------------------------ +// Hostboot specific functions +//------------------------------------------------------------------------------ + +#ifdef __HOSTBOOT_MODULE /** * @brief initiate memory background scrubbing * @param[in] i_pTarget - Target handle of System or Node * @return Error log if error occurs */ -extern errlHndl_t PrdStartScrub(const TARGETING::TargetHandle_t i_pTarget); +extern errlHndl_t startScrub(const TARGETING::TargetHandle_t i_pTarget); /** * @brief Restores hardware DRAM repairs to reflect what is stored in VPD. * @param[in] i_pTarget - Target handle of the memory controller * @return Non-SUCCESS if conditions are such that a callout had to be made, SUCCESS othewise. */ -extern int32_t prdfRestoreDramRepairs(const TARGETING::TargetHandle_t i_pTarget); +extern int32_t restoreDramRepairs(const TARGETING::TargetHandle_t i_pTarget); +#endif // __HOSTBOOT_MODULE -/** - * @brief Clean up pieces of PRD for fresh IPLs. - * - * Cleans up the PRD persistent storage areas in P1. - */ -extern void PrdIplCleanup(); - +//------------------------------------------------------------------------------ +// FSP specific functions +//------------------------------------------------------------------------------ #ifndef __HOSTBOOT_MODULE @@ -188,11 +200,10 @@ extern void PrdIplCleanup(); * @brief handle service data collector sync over * @return Error log if error occurs */ -extern errlHndl_t prdfFailoverComplete(void); - -#endif +extern errlHndl_t failoverComplete(void); +#endif // not __HOSTBOOT_MODULE } // End namespace PRDF -#endif // PRDF_PROTO_H +#endif // PRDF_MAIN_H diff --git a/src/include/usr/diag/prdf/prdf_service_codes.H b/src/include/usr/diag/prdf/prdf_service_codes.H index 0ac17a978..edb9e24f3 100755 --- a/src/include/usr/diag/prdf/prdf_service_codes.H +++ b/src/include/usr/diag/prdf/prdf_service_codes.H @@ -1,26 +1,25 @@ -// IBM_PROLOG_BEGIN_TAG -// This is an automatically generated prolog. -// -// $Source: src/include/usr/diag/prdf/prdf_service_codes.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 - +/* IBM_PROLOG_BEGIN_TAG */ +/* This is an automatically generated prolog. */ +/* */ +/* $Source: src/include/usr/diag/prdf/prdf_service_codes.H $ */ +/* */ +/* IBM CONFIDENTIAL */ +/* */ +/* COPYRIGHT International Business Machines Corp. 2003,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 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 prdf_service_codes.H @@ -45,15 +44,6 @@ #endif /** - * @brief Enum specifying File IDs - */ -enum -{ - PRDF_FILE_ID = (PRDF_COMP_ID << 16) | 0x0001 -}; - - -/** * @brief Enum specifying "Module ids" for prdf CODE_FAIL SRCs. * Each module Id corresponds to a particular * method in a class or an individual function. @@ -69,7 +59,8 @@ enum prdfModId PRDF_PRDFRULECHIP = 0x07, PRDF_EXTENSIBLEDOMAIN = 0x08, PRDF_ERRLSMARTPTR = 0x09, - PRDF_ASSERT = 0x0A + PRDF_ASSERT = 0x0A, + PRDF_RAS_SERVICES = 0x0B }; /*********************************************************************************************/ @@ -103,6 +94,7 @@ enum //Note: ranges from 0x60 through 0x6f are reserved for when callouts are all Software and Second Level Support only. PRDF_DETECTED_FAIL_SOFTWARE = PRDF_COMP_ID | 0x60, + PRDF_UNSUPPORTED_SCAN_WRITE = PRDF_COMP_ID | 0x61, //Note: ranges from 0x70 through 0x7f are currently reserved (unused). @@ -112,7 +104,6 @@ enum PRDF_ECMD_DATA_BUFFER_FAIL = PRDF_COMP_ID | 0x81, //Error from ecmdDataBuffer - PRDF_LAST_REASONCODE = PRDF_COMP_ID | 0xFF //End of PRD Reason code range, update if range chgs }; |