diff options
17 files changed, 65 insertions, 149 deletions
diff --git a/src/usr/diag/prdf/common/framework/resolution/iipResolutionFactory.C b/src/usr/diag/prdf/common/framework/resolution/iipResolutionFactory.C index 56e8085f7..b0e5a66b6 100755 --- a/src/usr/diag/prdf/common/framework/resolution/iipResolutionFactory.C +++ b/src/usr/diag/prdf/common/framework/resolution/iipResolutionFactory.C @@ -5,7 +5,7 @@ /* */ /* IBM CONFIDENTIAL */ /* */ -/* COPYRIGHT International Business Machines Corp. 1997,2013 */ +/* COPYRIGHT International Business Machines Corp. 1997,2014 */ /* */ /* p1 */ /* */ @@ -237,21 +237,11 @@ Resolution & ResolutionFactory::GetFlagResolution( return iv_flagResolutionFW.get( FlagResolution( i_flag ) ); } -#ifdef __HOSTBOOT_MODULE -Resolution & ResolutionFactory::GetDumpResolution( - /* FIXME: hwTableContent iDumpRequestContent, */ - ) -{ - return iv_dumpResolutionFW.get( DumpResolution( - /*FIXME: iDumpRequestContent,*/ ) ); -} -#else Resolution & ResolutionFactory::GetDumpResolution( hwTableContent iDumpRequestContent ) { return iv_dumpResolutionFW.get(DumpResolution( iDumpRequestContent ) ); } -#endif Resolution & ResolutionFactory::GetGardResolution(GardAction::ErrorType et) { diff --git a/src/usr/diag/prdf/common/framework/resolution/iipResolutionFactory.h b/src/usr/diag/prdf/common/framework/resolution/iipResolutionFactory.h index b1a39e1dd..72ff5938a 100755 --- a/src/usr/diag/prdf/common/framework/resolution/iipResolutionFactory.h +++ b/src/usr/diag/prdf/common/framework/resolution/iipResolutionFactory.h @@ -5,7 +5,7 @@ /* */ /* IBM CONFIDENTIAL */ /* */ -/* COPYRIGHT International Business Machines Corp. 1997,2013 */ +/* COPYRIGHT International Business Machines Corp. 1997,2014 */ /* */ /* p1 */ /* */ @@ -52,20 +52,20 @@ #include <iipconst.h> #include <prdfGlobal.H> -#include <prdfFlyWeight.H> // dg01 +#include <prdfFlyWeight.H> #include <prdfFlyWeightS.H> #include <iipCalloutResolution.h> -#include <prdfThresholdResolutions.H> // dg02a -#include <prdfCalloutConnected.H> // dg04a -#include <prdfAnalyzeConnected.H> // dg05a -#include <prdfPluginCallResolution.H> // dg06a -#include <iipEregResolution.h> // dg06a -#include <xspprdTryResolution.h> // dg06a -#include <xspprdFlagResolution.h> // dg06a -#include <xspprdDumpResolution.h> // dg06a -#include <xspprdGardResolution.h> // dg06a -#include <prdfCaptureResolution.H> // pw01 -#include <prdfClockResolution.H> // jl01a +#include <prdfThresholdResolutions.H> +#include <prdfCalloutConnected.H> +#include <prdfAnalyzeConnected.H> +#include <prdfPluginCallResolution.H> +#include <iipEregResolution.h> +#include <xspprdTryResolution.h> +#include <xspprdFlagResolution.h> +#include <prdDumpResolution.H> +#include <xspprdGardResolution.h> +#include <prdfCaptureResolution.H> +#include <prdfClockResolution.H> namespace PRDF { @@ -228,16 +228,9 @@ public: * @return reference to a resolution * @post only one instance of this obect with these paramaters will exist */ - #ifdef __HOSTBOOT_MODULE - Resolution & GetDumpResolution(/* FIXME: hwTableContent - iDumpRequestContent = CONTENT_HW*/ - ); - #else Resolution & GetDumpResolution( hwTableContent iDumpRequestContent = CONTENT_HW ); - #endif //ifdef __HOSTBOOT_MODULE - /** * @brief Get a Gard Resolution * @param[in] i_gardErrorType gard error type @@ -246,8 +239,6 @@ public: */ Resolution & GetGardResolution( GardAction::ErrorType i_gardErrorType ); - // dg06a - end - /** * @brief Get a Capture Resolution * @param[in] i_group The group to capture. diff --git a/src/usr/diag/prdf/common/framework/resolution/xspprdDumpResolution.h b/src/usr/diag/prdf/common/framework/resolution/prdDumpResolution.H index 4dfe2d91f..afb56f99d 100755..100644 --- a/src/usr/diag/prdf/common/framework/resolution/xspprdDumpResolution.h +++ b/src/usr/diag/prdf/common/framework/resolution/prdDumpResolution.H @@ -1,11 +1,11 @@ /* IBM_PROLOG_BEGIN_TAG */ /* This is an automatically generated prolog. */ /* */ -/* $Source: src/usr/diag/prdf/common/framework/resolution/xspprdDumpResolution.h $ */ +/* $Source: src/usr/diag/prdf/common/framework/resolution/prdDumpResolution.H $ */ /* */ /* IBM CONFIDENTIAL */ /* */ -/* COPYRIGHT International Business Machines Corp. 2001,2013 */ +/* COPYRIGHT International Business Machines Corp. 2001,2014 */ /* */ /* p1 */ /* */ @@ -21,8 +21,8 @@ /* */ /* IBM_PROLOG_END_TAG */ -#ifndef xspprdDumpResolution_h -#define xspprdDumpResolution_h +#ifndef prdDumpResolution_H +#define prdDumpResolution_H // Class Description ************************************************* // // Name: DumpResolution @@ -38,10 +38,10 @@ //-------------------------------------------------------------------- #include <iipResolution.h> -#ifndef __HOSTBOOT_MODULE - +#ifdef __HOSTBOOT_MODULE +#include <prdfGlobal.H> +#else #include <hdctContent.H> - #endif #include <prdfPlatServices.H> @@ -66,12 +66,8 @@ public: * @param[in] iDumpRequestContent * @return Non-SUCCESS in internal function fails, SUCCESS otherwise. */ - #ifdef __HOSTBOOT_MODULE - DumpResolution(/*FIXME: hwTableContent iDumpRequestContent = CONTENT_HW, */) - #else DumpResolution( hwTableContent iDumpRequestContent = CONTENT_HW ) : ivDumpContent( iDumpRequestContent ) - #endif {} /* @@ -94,8 +90,6 @@ public: */ virtual int32_t Resolve( STEP_CODE_DATA_STRUCT & io_serviceData ); -#ifndef __HOSTBOOT_MODULE - /* * base class defines operator== so one is needed here * or the base class version will be used (bad) @@ -105,14 +99,10 @@ public: return ( ivDumpContent == r.ivDumpContent ); } -#endif - private: // functions private: // Data - #ifndef __HOSTBOOT_MODULE hwTableContent ivDumpContent; - #endif }; diff --git a/src/usr/diag/prdf/common/framework/rule/prdfRuleMetaData.C b/src/usr/diag/prdf/common/framework/rule/prdfRuleMetaData.C index ba2e1c35f..d3b8f6da9 100644 --- a/src/usr/diag/prdf/common/framework/rule/prdfRuleMetaData.C +++ b/src/usr/diag/prdf/common/framework/rule/prdfRuleMetaData.C @@ -5,7 +5,7 @@ /* */ /* IBM CONFIDENTIAL */ /* */ -/* COPYRIGHT International Business Machines Corp. 2013 */ +/* COPYRIGHT International Business Machines Corp. 2013,2014 */ /* */ /* p1 */ /* */ @@ -385,16 +385,9 @@ int32_t RuleMetaData::Analyze( STEP_CODE_DATA_STRUCT & i_serviceData, int32_t l_rc = SUCCESS; ExtensibleChip * l_chipAnalyzed = ServiceDataCollector::getChipAnalyzed( ); ServiceDataCollector & i_sdc = *(i_serviceData.service_data); - // Set default dump flags. //@ecdf - //FIXME:RTC 51618 Take out hwTableContent for now for Hostboot - #ifdef __HOSTBOOT_MODULE - i_sdc.SetDump(/*(hwTableContent)cv_dumpType,*/ - l_chipAnalyzed->GetChipHandle() ); - #else + // Set default dump flags. i_sdc.SetDump( (hwTableContent)cv_dumpType, l_chipAnalyzed->GetChipHandle() ); - #endif - // Add statement below for Drop call. CaptureData & capture = i_serviceData.service_data->GetCaptureData(); // Get capture data for this chip. Allow override. @@ -875,16 +868,9 @@ Resolution * RuleMetaData::createResolution( Prdr::Expr * i_action, break; - case Prdr::ACT_DUMP: // DUMP : TODO: Allow dump connected. - #ifdef __HOSTBOOT_MODULE - //FIXME: comment out hwtablecontent for hostboot - l_rc = &i_data.cv_reslFactory.GetDumpResolution( - /*(hwTableContent) i_action->cv_value[0].i,*/ - ); - #else + case Prdr::ACT_DUMP: l_rc = &i_data.cv_reslFactory.GetDumpResolution( (hwTableContent) i_action->cv_value[0].i ); - #endif break; case Prdr::ACT_GARD: // GARD diff --git a/src/usr/diag/prdf/common/framework/rule/prdrCompile.C b/src/usr/diag/prdf/common/framework/rule/prdrCompile.C index cea7fd648..2d2f5784c 100755 --- a/src/usr/diag/prdf/common/framework/rule/prdrCompile.C +++ b/src/usr/diag/prdf/common/framework/rule/prdrCompile.C @@ -497,8 +497,8 @@ uint32_t prdrActionArgMap(const std::string & i_arg) g_ActionArgMap[tmpStr] = errType; #ifdef __HOSTBOOT_MODULE - // FIXME: RTC 88391 Hostboot currently does not support dump contents. - // This is a temporary fix. + //Note: Hostboot does not support dump.So,defining dump type here + //to retain common rule code for hostboot and FSP. g_ActionArgMap["DUMP_CONTENT_SW"] = 0x80000000; g_ActionArgMap["DUMP_CONTENT_HW"] = 0x40000000; g_ActionArgMap["DUMP_CONTENT_SH"] = 0x20000000; diff --git a/src/usr/diag/prdf/common/framework/rule/prdrCompile.y b/src/usr/diag/prdf/common/framework/rule/prdrCompile.y index 1f44e93ad..4390c3c83 100755 --- a/src/usr/diag/prdf/common/framework/rule/prdrCompile.y +++ b/src/usr/diag/prdf/common/framework/rule/prdrCompile.y @@ -5,7 +5,7 @@ /* */ /* IBM CONFIDENTIAL */ /* */ -/* COPYRIGHT International Business Machines Corp. 2004,2013 */ +/* COPYRIGHT International Business Machines Corp. 2004,2014 */ /* */ /* p1 */ /* */ @@ -920,11 +920,10 @@ action_try: PRDR_ACT_TRY '(' actionline ',' actionline ')' } ; -action_dump: PRDR_ACT_DUMP '(' PRDR_ID ')' //@ecdf +action_dump: PRDR_ACT_DUMP '(' PRDR_ID ')' { $$ = new ExprAct_Dump($3); } - // TODO: Allow Dump connected. ; action_gard: PRDR_ACT_GARD '(' PRDR_ID ')' diff --git a/src/usr/diag/prdf/common/framework/service/iipServiceDataCollector.h b/src/usr/diag/prdf/common/framework/service/iipServiceDataCollector.h index d15548be2..d611e111f 100755 --- a/src/usr/diag/prdf/common/framework/service/iipServiceDataCollector.h +++ b/src/usr/diag/prdf/common/framework/service/iipServiceDataCollector.h @@ -5,7 +5,7 @@ /* */ /* IBM CONFIDENTIAL */ /* */ -/* COPYRIGHT International Business Machines Corp. 1998,2013 */ +/* COPYRIGHT International Business Machines Corp. 1998,2014 */ /* */ /* p1 */ /* */ @@ -50,9 +50,9 @@ #include <time.h> #include <prdfCallouts.H> #include <prdfMain.H> -#if !defined(PRDFTIMER_H) // dg08 -#include <prdfTimer.H> // dg08 -#endif // dg08 +#if !defined(PRDFTIMER_H) +#include <prdfTimer.H> +#endif #include <xspprdGardResolution.h> // for ErrorType #include <prdfAssert.h> #if( !defined(CONTEXT_x86_nfp) && !defined(_NFP) ) //only for ppc context (@54) @@ -60,10 +60,10 @@ #include <iipsdbug.h> #endif -#ifndef __HOSTBOOT_MODULE - +#ifdef __HOSTBOOT_MODULE +#include <prdfGlobal.H> +#else #include <hdctContent.H> - #endif #include <list> #include <prdfExtensibleChip.H> @@ -782,9 +782,7 @@ private: // functions private: // Data - #ifndef __HOSTBOOT_MODULE hwTableContent ivDumpRequestContent; - #endif ErrorSignature error_signature; CaptureData captureData; @@ -868,23 +866,13 @@ public: <br><b>Exceptions: </b> None. </ul><br> */ -#ifdef __HOSTBOOT_MODULE - void SetDump(/*FIXME: hwTableContent iDumpRequestContent,*/ - TARGETING::TargetHandle_t iDumpRequestChipHandle =NULL) - { - SetFlag(DUMP); - /* FIXME: ivDumpRequestContent = iDumpRequestContent;*/ - ivpDumpRequestChipHandle = iDumpRequestChipHandle; - } -#else - void SetDump(hwTableContent iDumpRequestContent, - TARGETING::TargetHandle_t iDumpRequestChipHandle =NULL) + void SetDump( hwTableContent iDumpRequestContent, + TARGETING::TargetHandle_t iDumpRequestChipHandle = NULL ) { SetFlag(DUMP); ivDumpRequestContent = iDumpRequestContent; ivpDumpRequestChipHandle = iDumpRequestChipHandle; } -#endif /** Has a Dump been requested @@ -910,25 +898,14 @@ public: <br><b>Notes: </b> If IsDump()==false than dumpRequestType returned is DUMP_NO_DUMP </ul><br> */ -#ifdef __HOSTBOOT_MODULE - void GetDumpRequest( /*FIXME: hwTableContent & oDumpRequestContent,*/ - TARGETING::TargetHandle_t& - opDumpRequestChipHandle) const - { - /*FIXME: oDumpRequestContent = ivDumpRequestContent;*/ - opDumpRequestChipHandle = ivpDumpRequestChipHandle; - } -#else void GetDumpRequest( hwTableContent & oDumpRequestContent, TARGETING::TargetHandle_t& - opDumpRequestChipHandle) const + opDumpRequestChipHandle ) const { oDumpRequestContent = ivDumpRequestContent; opDumpRequestChipHandle = ivpDumpRequestChipHandle; } -#endif - // -------------------------------------- // FSP only functions end // -------------------------------------- diff --git a/src/usr/diag/prdf/common/framework/service/prdfRasServices_common.C b/src/usr/diag/prdf/common/framework/service/prdfRasServices_common.C index 9a9308f86..dc8726ed0 100644 --- a/src/usr/diag/prdf/common/framework/service/prdfRasServices_common.C +++ b/src/usr/diag/prdf/common/framework/service/prdfRasServices_common.C @@ -1040,14 +1040,9 @@ void ErrDataService::initPfaData( ServiceDataCollector & i_sdc, o_pfa.msDumpLabel[0] = 0x4D532020; // Start of MS Dump flags o_pfa.msDumpLabel[1] = 0x44554D50; // 'MS DUMP' - // FIXME: RTC 51618 Need add DUMP support in Hostboot -#ifdef __HOSTBOOT_MODULE - i_sdc.GetDumpRequest( o_dumpTrgt ); -#else hwTableContent dumpContent; i_sdc.GetDumpRequest( dumpContent, o_dumpTrgt ); o_pfa.msDumpInfo.content = dumpContent; -#endif o_pfa.msDumpInfo.id = getHuid(o_dumpTrgt); diff --git a/src/usr/diag/prdf/common/plat/pegasus/Ex.rule b/src/usr/diag/prdf/common/plat/pegasus/Ex.rule index b5a7ce18f..376721625 100755 --- a/src/usr/diag/prdf/common/plat/pegasus/Ex.rule +++ b/src/usr/diag/prdf/common/plat/pegasus/Ex.rule @@ -53,7 +53,6 @@ chip Ex name "Power8 EX Chiplet"; targettype TYPE_EX; sigoff 0x8000; -# FIXME May need to update dump type dump DUMP_CONTENT_HW; scomlen 64; diff --git a/src/usr/diag/prdf/common/plat/pegasus/Mba.rule b/src/usr/diag/prdf/common/plat/pegasus/Mba.rule index 11e53e539..018655851 100755 --- a/src/usr/diag/prdf/common/plat/pegasus/Mba.rule +++ b/src/usr/diag/prdf/common/plat/pegasus/Mba.rule @@ -40,7 +40,6 @@ chip Mba name "Centaur MBA Chiplet"; targettype TYPE_MBA; sigoff 0x8000; -# FIXME May need to update dump type dump DUMP_CONTENT_HWSUPERNOVA; scomlen 64; diff --git a/src/usr/diag/prdf/common/plat/pegasus/Mcs.rule b/src/usr/diag/prdf/common/plat/pegasus/Mcs.rule index da1a7a6b6..0008a608b 100755 --- a/src/usr/diag/prdf/common/plat/pegasus/Mcs.rule +++ b/src/usr/diag/prdf/common/plat/pegasus/Mcs.rule @@ -47,7 +47,6 @@ chip Mcs name "Power8 MCS Chiplet"; targettype TYPE_MCS; sigoff 0x8000; -# FIXME May need to update dump type dump DUMP_CONTENT_HW; scomlen 64; diff --git a/src/usr/diag/prdf/common/plat/pegasus/Membuf.rule b/src/usr/diag/prdf/common/plat/pegasus/Membuf.rule index 4c4317f10..9d4661410 100755 --- a/src/usr/diag/prdf/common/plat/pegasus/Membuf.rule +++ b/src/usr/diag/prdf/common/plat/pegasus/Membuf.rule @@ -42,7 +42,6 @@ chip Membuf name "Centaur Chip"; targettype TYPE_MEMBUF; sigoff 0x8000; -# FIXME May need to update dump type dump DUMP_CONTENT_HWSUPERNOVA; scomlen 64; diff --git a/src/usr/diag/prdf/common/plat/pegasus/Proc.rule b/src/usr/diag/prdf/common/plat/pegasus/Proc.rule index 595653522..43d9cffd3 100755 --- a/src/usr/diag/prdf/common/plat/pegasus/Proc.rule +++ b/src/usr/diag/prdf/common/plat/pegasus/Proc.rule @@ -44,7 +44,6 @@ chip Proc name "Power8 Chip"; targettype TYPE_PROC; sigoff 0x8000; -# FIXME May need to update dump type dump DUMP_CONTENT_HW; scomlen 64; diff --git a/src/usr/diag/prdf/common/prd_framework.mk b/src/usr/diag/prdf/common/prd_framework.mk index c27f25803..005016ec6 100755 --- a/src/usr/diag/prdf/common/prd_framework.mk +++ b/src/usr/diag/prdf/common/prd_framework.mk @@ -5,7 +5,7 @@ # # IBM CONFIDENTIAL # -# COPYRIGHT International Business Machines Corp. 2005,2013 +# COPYRIGHT International Business Machines Corp. 2005,2014 # # p1 # @@ -62,11 +62,11 @@ prd_resolution = \ iipResolutionFactory.o \ prdfResolutionMap.o \ prdfThresholdResolutions.o \ - xspprdDumpResolution.o \ xspprdFlagResolution.o \ xspprdGardResolution.o \ prdfClockResolution.o \ - prdfCaptureResolution.o + prdfCaptureResolution.o \ + prdfDumpResolution.o prd_register = \ iipscr.o \ diff --git a/src/usr/diag/prdf/common/framework/resolution/xspprdDumpResolution.C b/src/usr/diag/prdf/framework/resolution/prdfDumpResolution.C index 10d2420f9..ad16fb551 100755..100644 --- a/src/usr/diag/prdf/common/framework/resolution/xspprdDumpResolution.C +++ b/src/usr/diag/prdf/framework/resolution/prdfDumpResolution.C @@ -1,11 +1,11 @@ /* IBM_PROLOG_BEGIN_TAG */ /* This is an automatically generated prolog. */ /* */ -/* $Source: src/usr/diag/prdf/common/framework/resolution/xspprdDumpResolution.C $ */ +/* $Source: src/usr/diag/prdf/framework/resolution/prdfDumpResolution.C $ */ /* */ /* IBM CONFIDENTIAL */ /* */ -/* COPYRIGHT International Business Machines Corp. 2001,2013 */ +/* COPYRIGHT International Business Machines Corp. 2001,2014 */ /* */ /* p1 */ /* */ @@ -21,46 +21,25 @@ /* */ /* IBM_PROLOG_END_TAG */ -// Module Description ************************************************** -// -// Description: -// -// End Module Description ********************************************** +/** + @file prdfDumpResolution.C + @brief defines resolve action for dump resolution for hostboot platform + */ //---------------------------------------------------------------------- // Includes //---------------------------------------------------------------------- -#define xspprdDumpResolution_C -#include <xspprdDumpResolution.h> +#include <prdDumpResolution.H> #include <iipServiceDataCollector.h> -#undef xspprdDumpResolution_C - namespace PRDF { -//--------------------------------------------------------------------- -// Member Function Specifications -//--------------------------------------------------------------------- - int32_t DumpResolution::Resolve( STEP_CODE_DATA_STRUCT & io_serviceData ) { - uint32_t rc = SUCCESS; - TARGETING::TargetHandle_t l_ptarget = - ServiceDataCollector::getTargetAnalyzed( ); - - #ifdef __HOSTBOOT_MODULE - - io_serviceData.service_data->SetDump(/*FIXME: ivDumpContent,*/ l_ptarget ); - - #else - - io_serviceData.service_data->SetDump( ivDumpContent,l_ptarget ); - - #endif - - return rc; + // Note: Dump is not supported on hostboot. + return SUCCESS; } } // end namespace PRDF diff --git a/src/usr/diag/prdf/makefile b/src/usr/diag/prdf/makefile index f71992eb0..65aa36534 100755 --- a/src/usr/diag/prdf/makefile +++ b/src/usr/diag/prdf/makefile @@ -5,7 +5,7 @@ # # IBM CONFIDENTIAL # -# COPYRIGHT International Business Machines Corp. 2012,2013 +# COPYRIGHT International Business Machines Corp. 2012,2014 # # p1 # @@ -50,6 +50,7 @@ VPATH = \ framework/config \ framework/rule \ framework/service \ + framework/resolution \ plat \ plat/pegasus \ @@ -80,6 +81,7 @@ EXTRAINCDIR += ${PRD_USR_PATH}/common/mnfgtools EXTRAINCDIR += ${PRD_USR_PATH}/mnfgtools EXTRAINCDIR += ${PRD_USR_PATH}/framework/service EXTRAINCDIR += ${PRD_USR_PATH}/framework/config +EXTRAINCDIR += ${PRD_USR_PATH}/framework/resolution EXTRAINCDIR += ${PRD_USR_PATH}/plat/pegasus # Conditionally enables profiling of flyweight register and resolution object diff --git a/src/usr/diag/prdf/prdfGlobal.H b/src/usr/diag/prdf/prdfGlobal.H index 3483221c8..f8b85a27e 100644 --- a/src/usr/diag/prdf/prdfGlobal.H +++ b/src/usr/diag/prdf/prdfGlobal.H @@ -83,4 +83,16 @@ */ #define PRDF_SYSTEM_SCOPELOCK +/** + * @brief defined dump content to get through hostboot compilation. + * hwTableContent is a FSP specific enum originally defined in dump. + */ +typedef uint32_t hwTableContent; + +/** + * @brief defined dump content type to get through hostboot compilation. + * CONTENT_HW is a FSP specific enum val originally defined in dump. + */ +const uint32_t CONTENT_HW = 0x40000000; + #endif // PRDF_GLOBAL_HB_H |