summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorChris Phan <cphan@us.ibm.com>2013-05-31 15:27:14 -0500
committerA. Patrick Williams III <iawillia@us.ibm.com>2013-06-11 09:23:31 -0500
commit0b3d775296fb211aaa6b58031f479399da79f808 (patch)
tree9e45f7012baaa7eb6b2dfa00a4191136a35a87ee /src
parentcb9f045d4caaf7a5c8cbdd2ea709bc647ba6c3cc (diff)
downloadtalos-hostboot-0b3d775296fb211aaa6b58031f479399da79f808.tar.gz
talos-hostboot-0b3d775296fb211aaa6b58031f479399da79f808.zip
PRD: update to use new hwsv enums and function
Change-Id: I2e0020e4b0934dd68ad4a48b9ea0007f7eab0a2c RTC: 72578 Reviewed-on: http://gfw160.austin.ibm.com:8080/gerrit/4785 Tested-by: Jenkins Server Reviewed-by: Zane Shelley <zshelle@us.ibm.com> Reviewed-on: http://gfw160.austin.ibm.com:8080/gerrit/4940 Reviewed-by: A. Patrick Williams III <iawillia@us.ibm.com>
Diffstat (limited to 'src')
-rwxr-xr-xsrc/usr/diag/prdf/common/framework/service/prdf_ras_services.C47
-rwxr-xr-xsrc/usr/diag/prdf/common/prdfEnums.H24
-rw-r--r--src/usr/diag/prdf/plat/pegasus/prdfDramRepairs.C36
-rw-r--r--src/usr/diag/prdf/prdfErrlUtil.H2
4 files changed, 46 insertions, 63 deletions
diff --git a/src/usr/diag/prdf/common/framework/service/prdf_ras_services.C b/src/usr/diag/prdf/common/framework/service/prdf_ras_services.C
index 48b60467a..df66bcda2 100755
--- a/src/usr/diag/prdf/common/framework/service/prdf_ras_services.C
+++ b/src/usr/diag/prdf/common/framework/service/prdf_ras_services.C
@@ -253,7 +253,7 @@ errlHndl_t ErrDataService::GenerateSrcPfa(ATTENTION_TYPE attn_type,
bool pldCheck = false; // Default to not do the PLD check. Set it to true for Machine Check
uint8_t sdcSaveFlags = SDC_NO_SAVE_FLAGS;
size_t sz_uint8 = sizeof(uint8_t);
- HWSV::homTermEnum termFlag = HWSV::HOM_SYS_NO_TERMINATE;
+ HWSV::hwsvTermEnum termFlag = HWSV::HWSV_SYS_NO_TERMINATE;
HWSV::hwsvDeconfigSchedule deconfigSched = HWSV::HWSV_DECONFIG_IMMEDIATE;
uint8_t sdcBuffer[sdcBufferSize]; //buffer to use for sdc flatten
errlSeverity severityParm = ERRL_SEV_RECOVERED;
@@ -280,9 +280,9 @@ errlHndl_t ErrDataService::GenerateSrcPfa(ATTENTION_TYPE attn_type,
sdc = i_sdc;
GardResolution::ErrorType prdGardErrType;
- HWSV::homGardEnum gardState; // homGardEnum in src/hwsv/server/hwsvTypes.H
+ HWSV::hwsvGardEnum gardState; // defined in src/hwsv/server/hwsvTypes.H
GARD_ErrorType gardErrType = GARD_NULL;
- HWSV::homDeconfigEnum deconfigState = HWSV::HOM_NO_DECONFIG;
+ HWSV::hwsvDeconfigEnum deconfigState = HWSV::HWSV_NO_DECONFIG;
bool ReturnELog = false;
bool ForceTerminate = false;
@@ -313,7 +313,7 @@ errlHndl_t ErrDataService::GenerateSrcPfa(ATTENTION_TYPE attn_type,
if (terminateOnCheckstop)
{
//Also need to return error log for machine check condition
- termFlag = HWSV::HOM_SYS_TERMINATE_HW_CHECKSTOP;
+ termFlag = HWSV::HWSV_SYS_TERMINATE_HW_CHECKSTOP;
}
ReturnELog = true;
@@ -479,7 +479,7 @@ errlHndl_t ErrDataService::GenerateSrcPfa(ATTENTION_TYPE attn_type,
// Set Gard Error Type and state
//**************************************************************
- gardState = HWSV::HOM_DECONFIG_GARD;
+ gardState = HWSV::HWSV_DECONFIG_GARD;
// If gardErrType was determined during latent/UE/SUE processing for Check Stop,
// use that and not determine gardErrType from the sdc values.
@@ -489,7 +489,7 @@ errlHndl_t ErrDataService::GenerateSrcPfa(ATTENTION_TYPE attn_type,
switch (prdGardErrType)
{
case GardResolution::NoGard:
- gardState = HWSV::HOM_NO_GARD;
+ gardState = HWSV::HWSV_NO_GARD;
gardErrType = GARD_NULL;
break;
case GardResolution::Predictive:
@@ -513,16 +513,16 @@ errlHndl_t ErrDataService::GenerateSrcPfa(ATTENTION_TYPE attn_type,
}
else
{
- gardState = HWSV::HOM_NO_GARD;
+ gardState = HWSV::HWSV_NO_GARD;
gardErrType = GARD_NULL;
}
break;
case GardResolution::DeconfigNoGard:
- gardState = HWSV::HOM_NO_GARD;
+ gardState = HWSV::HWSV_NO_GARD;
gardErrType = GARD_NULL;
break;
default:
- gardState = HWSV::HOM_NO_GARD;
+ gardState = HWSV::HWSV_NO_GARD;
gardErrType = GARD_NULL;
PRDF_DTRAC( PRDF_FUNC"Unknown prdGardErrType" );
break;
@@ -534,7 +534,7 @@ errlHndl_t ErrDataService::GenerateSrcPfa(ATTENTION_TYPE attn_type,
// If NoGard was specified in this switched sdc, then keep the NoGard
if ( sdc.QueryGard() == GardResolution::NoGard )
{
- gardState = HWSV::HOM_NO_GARD;
+ gardState = HWSV::HWSV_NO_GARD;
gardErrType = GARD_NULL;
prdGardErrType = GardResolution::NoGard;
}
@@ -546,7 +546,7 @@ errlHndl_t ErrDataService::GenerateSrcPfa(ATTENTION_TYPE attn_type,
if (sdc.IsThermalEvent() && (MACHINE_CHECK != attn_type) )
{ //Force No Gard
- gardState = HWSV::HOM_NO_GARD;
+ gardState = HWSV::HWSV_NO_GARD;
gardErrType = GARD_NULL;
}
@@ -599,7 +599,7 @@ errlHndl_t ErrDataService::GenerateSrcPfa(ATTENTION_TYPE attn_type,
HW = true; //hardware callout
// If we are in Concurrent Maintenance Mode, we will need to disable
- // the Deferred Deconfig, if the callouts are not HOM_CM_FUNCTIONAL.
+ // Deferred Deconfig, if the callouts are not HWSV_CM_FUNCTIONAL.
/* FIXME: RTC 50063 PlatServices::inCMMode() not available yet
if (PlatServices::inCMMode())
@@ -638,7 +638,7 @@ errlHndl_t ErrDataService::GenerateSrcPfa(ATTENTION_TYPE attn_type,
// If we are in Concurrent Maintenance Mode,
// we will need to disable the
- // Deferred Deconfig, if the callouts are not HOM_CM_FUNCTIONAL.
+ // Deferred Deconfig, if the callouts are not HWSV_CM_FUNCTIONAL.
// FIXME PlatServices::inCMMode() not avaialble yet
#if 0
if (PlatServices::inCMMode())
@@ -704,11 +704,11 @@ errlHndl_t ErrDataService::GenerateSrcPfa(ATTENTION_TYPE attn_type,
iplDiagMode = true;
if ( (MACHINE_CHECK != attn_type || !terminateOnCheckstop) &&
myCM_FUNCTIONAL &&
- (HOM_NO_GARD != gardState ||
+ (HWSV_NO_GARD != gardState ||
GardResolution::DeconfigNoGard == prdGardErrType ) ) //Allow Deferred Deconfig for IPL Diag when No Gard action is needed
{
deferDeconfig = true;
- deconfigState = HOM_DECONFIG;
+ deconfigState = HWSV_DECONFIG;
deconfigSched = HWSV::HWSV_DECONFIG_DEFER;
}
@@ -772,25 +772,25 @@ errlHndl_t ErrDataService::GenerateSrcPfa(ATTENTION_TYPE attn_type,
TargetHandle_t target = thiscallout.getTarget();
// Don't deconfig a Memory Controller for Bus Errors (Mc and SuperNova
// both in Callouts) for Mem Diag. Note still deconfg the SuperNova.
- HWSV::homDeconfigEnum thisDeconfigState = deconfigState;
+ HWSV::hwsvDeconfigEnum thisDeconfigState = deconfigState;
TYPE l_targetType = PlatServices::getTargetType(target);
- if ( HWSV::HOM_DECONFIG == deconfigState &&
+ if ( HWSV::HWSV_DECONFIG == deconfigState &&
l_memBuffInCallouts &&
- (l_targetType == TYPE_MCS)) //InP8 only 1:1 connection between Mem Buf and Mem ctrl
+ (l_targetType == TYPE_MCS))
+ //In P8 only 1:1 connection between Mem Buf and Mem ctrl
{
- thisDeconfigState = HWSV::HOM_NO_DECONFIG;
+ thisDeconfigState = HWSV::HWSV_NO_DECONFIG;
}
#ifdef __HOSTBOOT_MODULE
// FIXME: this will change once mdia mode support is in
if(true == iplDiagMode)
{
- thisDeconfigState = HWSV::HOM_DEFER_DECONFIG; // DELAYED_DECONFIG;
+ thisDeconfigState = HWSV::HWSV_DEFER_DECONFIG;
}
#endif
- PRDF_HW_ADD_CALLOUT(ForceTerminate,
- target,
+ PRDF_HW_ADD_CALLOUT(target,
thispriority,
thisDeconfigState,
gardState,
@@ -809,8 +809,7 @@ errlHndl_t ErrDataService::GenerateSrcPfa(ATTENTION_TYPE attn_type,
for ( TargetHandleList::iterator it = partList.begin();
it != partList.end(); it++ )
{
- PRDF_HW_ADD_CALLOUT( ForceTerminate,
- *it,
+ PRDF_HW_ADD_CALLOUT( *it,
thispriority,
deconfigState,
gardState,
diff --git a/src/usr/diag/prdf/common/prdfEnums.H b/src/usr/diag/prdf/common/prdfEnums.H
index 882d7eb84..7f6b907b8 100755
--- a/src/usr/diag/prdf/common/prdfEnums.H
+++ b/src/usr/diag/prdf/common/prdfEnums.H
@@ -36,12 +36,12 @@
{
enum
{
- // homDeconfigEnum
+ // hwsvDeconfigEnum
// mapping from HWSV enums to HB ones
// eventually these HWAS will make it way to fips
- HOM_NO_DECONFIG = HWAS::NO_DECONFIG,
- HOM_DECONFIG = HWAS::DECONFIG,
- HOM_DEFER_DECONFIG = HWAS::DELAYED_DECONFIG
+ HWSV_NO_DECONFIG = HWAS::NO_DECONFIG,
+ HWSV_DECONFIG = HWAS::DECONFIG,
+ HWSV_DEFER_DECONFIG = HWAS::DELAYED_DECONFIG
};
};
@@ -99,23 +99,23 @@
namespace HWSV
{
typedef uint32_t hwsvHCDBUpdate;
- typedef uint32_t homTermEnum;
- typedef uint32_t homGardEnum;
- typedef uint32_t homDeconfigEnum;
+ typedef uint32_t hwsvTermEnum;
+ typedef uint32_t hwsvGardEnum;
+ typedef uint32_t hwsvDeconfigEnum;
typedef uint32_t hwsvDeconfigSchedule;
enum
{
- // homTermEnum
- HOM_SYS_NO_TERMINATE = 0,
+ // hwsvTermEnum
+ HWSV_SYS_NO_TERMINATE = 0,
// hwsvHCDBUpdate
HWSV_HCDB_DO_UPDATE = 0,
HWSV_HCDB_OVERRIDE,
- // homGardEnum
- HOM_NO_GARD = 0,
- HOM_DECONFIG_GARD,
+ // hwsvGardEnum
+ HWSV_NO_GARD = 0,
+ HWSV_DECONFIG_GARD,
//hwsvDeconfigSchedule
HWSV_DECONFIG_IMMEDIATE = 0,
diff --git a/src/usr/diag/prdf/plat/pegasus/prdfDramRepairs.C b/src/usr/diag/prdf/plat/pegasus/prdfDramRepairs.C
index 4e58f4f2f..b2a64ef8e 100644
--- a/src/usr/diag/prdf/plat/pegasus/prdfDramRepairs.C
+++ b/src/usr/diag/prdf/plat/pegasus/prdfDramRepairs.C
@@ -52,13 +52,12 @@ bool validSymbol(uint8_t i_symbol)
return i_symbol != INVALID_SYMBOL;
}
-bool commitRestoreCallout( bool (*i_func)(errlHndl_t &, void *), void * i_data,
+void commitRestoreCallout( void (*i_func)(errlHndl_t &, void *), void * i_data,
TargetHandle_t i_mba )
{
PRDF_DENTER("commitRestoreCallout");
errlHndl_t err = NULL;
- bool o_term = false;
PRDF_HW_CREATE_ERRL(
err,
@@ -70,15 +69,12 @@ bool commitRestoreCallout( bool (*i_func)(errlHndl_t &, void *), void * i_data,
FSP_DEFAULT_REFCODE,
PRDF_DETECTED_FAIL_HARDWARE_PROBABLE,
0, 0, 0, 0, // user data
- HOM_SYS_NO_TERMINATE,
+ HWSV_SYS_NO_TERMINATE,
false); // no pld check
// add the callout
- if((*i_func)(err, i_data))
- {
- o_term = true;
- }
+ (*i_func)(err, i_data);
bool term = false;
@@ -89,7 +85,7 @@ bool commitRestoreCallout( bool (*i_func)(errlHndl_t &, void *), void * i_data,
err,
HWSV::HWSV_DECONFIG_DEFER,
ERRL_ACTION_REPORT,
- HOM_CONTINUE);
+ HWSV_CONTINUE);
if(term)
{
@@ -98,16 +94,12 @@ bool commitRestoreCallout( bool (*i_func)(errlHndl_t &, void *), void * i_data,
PRDF_COMMIT_ERRL(err, ERRL_ACTION_REPORT);
}
-
- return o_term;
}
-bool addMemMruCallout(errlHndl_t & io_log, void * i_memMru)
+void addMemMruCallout(errlHndl_t & io_log, void * i_memMru)
{
PRDF_DENTER("addMemMruCallout");
- bool o_term = false;
-
if ( NULL != i_memMru )
{
MemoryMru *memMru = static_cast<MemoryMru *>(i_memMru);
@@ -117,11 +109,10 @@ bool addMemMruCallout(errlHndl_t & io_log, void * i_memMru)
it != partList.end(); it++ )
{
PRDF_HW_ADD_CALLOUT(
- o_term,
*it,
SRCI_PRIORITY_HIGH,
- HWSV::HOM_DECONFIG,
- HWSV::HOM_DECONFIG_GARD,
+ HWSV::HWSV_DECONFIG,
+ HWSV::HWSV_DECONFIG_GARD,
io_log,
false, // don't write src to vpd
GARD_Predictive,
@@ -129,29 +120,22 @@ bool addMemMruCallout(errlHndl_t & io_log, void * i_memMru)
false); // don't update hcdb
}
}
-
- return o_term;
}
-bool addDimmCallout(errlHndl_t & io_log, void * i_dimm)
+void addDimmCallout(errlHndl_t & io_log, void * i_dimm)
{
PRDF_DENTER("addDimmCallout");
- bool o_term = false;
-
PRDF_HW_ADD_CALLOUT(
- o_term,
static_cast<TargetHandle_t>(i_dimm),
SRCI_PRIORITY_HIGH,
- HWSV::HOM_DECONFIG,
- HWSV::HOM_DECONFIG_GARD,
+ HWSV::HWSV_DECONFIG,
+ HWSV::HWSV_DECONFIG_GARD,
io_log,
false, // don't write src to vpd
GARD_Predictive,
ERRL_SEV_PREDICTIVE,
false); // don't update hcdb
-
- return o_term;
}
bool processRepairedRanks( TargetHandle_t i_mba, uint8_t i_repairedRankMask )
diff --git a/src/usr/diag/prdf/prdfErrlUtil.H b/src/usr/diag/prdf/prdfErrlUtil.H
index 085cb3b27..9563758df 100644
--- a/src/usr/diag/prdf/prdfErrlUtil.H
+++ b/src/usr/diag/prdf/prdfErrlUtil.H
@@ -199,7 +199,7 @@
/**
* @brief Error log interface to add a HW callout to an existing error log.
*/
-#define PRDF_HW_ADD_CALLOUT(io_sysTerm, i_target, i_priority, \
+#define PRDF_HW_ADD_CALLOUT(i_target, i_priority, \
i_deconfigState, i_gardState, \
io_errl, i_writeVpd, \
i_gardErrType, i_severity, i_hcdb_update) \
OpenPOWER on IntegriCloud