From a16a07658fb210cc59c4f59315140eec39191f03 Mon Sep 17 00:00:00 2001 From: prashanthacharya Date: Mon, 28 Jan 2013 08:29:28 -0600 Subject: To reduce number of ACT0 and ACT1 registers in capture data Change-Id: Ifb1a5c5ffb80868414493f05a9b4aa4a741b0559 RTC: 51612 Reviewed-on: http://gfw160.austin.ibm.com:8080/gerrit/3038 Reviewed-by: Zane Shelley Tested-by: Jenkins Server Reviewed-by: A. Patrick Williams III Reviewed-on: http://gfw160.austin.ibm.com:8080/gerrit/5023 --- .../diag/prdf/common/framework/rule/prdfRuleChip.H | 2 - .../prdf/common/framework/rule/prdfRuleMetaData.C | 58 ++++++++++++++++------ .../prdf/common/framework/rule/prdfRuleMetaData.H | 9 ++++ .../prdf/common/framework/rule/prdrCompile.lex | 1 + .../diag/prdf/common/framework/rule/prdrCompile.y | 11 ++++ .../diag/prdf/common/framework/rule/prdrLoadChip.H | 4 +- .../diag/prdf/common/framework/rule/prdrRegister.H | 14 ++++++ src/usr/diag/prdf/common/plat/pegasus/Ex.rule | 10 ++++ src/usr/diag/prdf/common/plat/pegasus/Mba.rule | 6 +++ src/usr/diag/prdf/common/plat/pegasus/Mcs.rule | 2 + .../prdf/common/plat/pegasus/Membuf_regs_MEM.rule | 2 + .../prdf/common/plat/pegasus/Membuf_regs_NEST.rule | 18 +++++++ .../prdf/common/plat/pegasus/Membuf_regs_TP.rule | 2 + .../prdf/common/plat/pegasus/Proc_regs_ABUS.rule | 6 +++ .../prdf/common/plat/pegasus/Proc_regs_PB.rule | 36 ++++++++++++++ .../prdf/common/plat/pegasus/Proc_regs_PCIE.rule | 8 +++ .../prdf/common/plat/pegasus/Proc_regs_TP.rule | 8 +++ .../prdf/common/plat/pegasus/Proc_regs_XBUS.rule | 6 +++ 18 files changed, 185 insertions(+), 18 deletions(-) (limited to 'src') diff --git a/src/usr/diag/prdf/common/framework/rule/prdfRuleChip.H b/src/usr/diag/prdf/common/framework/rule/prdfRuleChip.H index 496199e1f..a1e55e80e 100755 --- a/src/usr/diag/prdf/common/framework/rule/prdfRuleChip.H +++ b/src/usr/diag/prdf/common/framework/rule/prdfRuleChip.H @@ -141,8 +141,6 @@ class RuleChip : public ExtensibleChip private: //data RuleMetaData * iv_pRuleData ; - //Adding another std::map for passing some data to capture stuff. - DataBundle * cv_dataBundle; }; diff --git a/src/usr/diag/prdf/common/framework/rule/prdfRuleMetaData.C b/src/usr/diag/prdf/common/framework/rule/prdfRuleMetaData.C index 72706c837..39a919f9b 100644 --- a/src/usr/diag/prdf/common/framework/rule/prdfRuleMetaData.C +++ b/src/usr/diag/prdf/common/framework/rule/prdfRuleMetaData.C @@ -195,6 +195,14 @@ errlHndl_t RuleMetaData::loadRuleFile( ScanFacility & i_scanFactory , i_scanFactory, l_chip->cv_registers[i].cv_scomLen, i_type ) ); + l_id++; + + } + + // create capture struct for registers. + for (int i = 0; i < l_chip->cv_regCount; i++) + { + uint16_t hashId = l_chip->cv_registers[i].cv_name; //This flag signifies that a mapping IS or ISN'T created between a //uint32_t mapping and a vector of SCAN_COMM_REGISTER_CLASS pointers @@ -205,7 +213,8 @@ errlHndl_t RuleMetaData::loadRuleFile( ScanFacility & i_scanFactory , // Copy into capture groups. std::vector::const_iterator l_capturesEnd = l_chip->cv_registers[i].cv_captures.end(); - //For each capture in this register save a Group Type or Requirement. + //For each capture in this register save a Group Type or + //Requirement. for(std::vector::const_iterator j = l_chip->cv_registers[i].cv_captures.begin(); j != l_capturesEnd; @@ -213,29 +222,31 @@ errlHndl_t RuleMetaData::loadRuleFile( ScanFacility & i_scanFactory , { if ('G' == (*j).op) { - cv_hwCaptureGroups[(*j).data[0]].push_back(l_regMap[l_id]); + cv_hwCaptureGroups[(*j).data[0]].push_back( + cv_hwRegs[hashId]); //Added statement below this to indicate group was created. l_group_is_created = true; } - // @jl04 a Start. // This else if was added for a new capture "type" for registers // primary/secondary. // Cannot put the "type" in with the G group otherwise it will // show up as a i_group of 2 which is not called. else if('T' == (*j).op) { - //@jl06. d Deleted temporary declaration of CaptureType in - // favor of an anonymous declaration. Calls ctor twice. - cv_hwCaptureType[l_regMap[l_id]] = - CaptureType((RegType)(*j).data[0]); //@jl06 c. + cv_hwCaptureType[cv_hwRegs[hashId]] = + CaptureType((RegType)(*j).data[0]); } - // @jl04 a Stop. else if ('f' == (*j).op) { CaptureRequirement req; req.cv_func = this->getExtensibleFunction(j->func); - cv_hwCaptureReq[l_regMap[l_id]] = req; + cv_hwCaptureReq[cv_hwRegs[hashId]] = req; + } + else if ('P' == (*j).op) + { + cv_hwCaptureNonzero[ cv_hwRegs[hashId] ] = + cv_hwRegs[(*j).data[0]]; } else // 'C' { @@ -244,17 +255,14 @@ errlHndl_t RuleMetaData::loadRuleFile( ScanFacility & i_scanFactory , req.cv_TargetIndex = (*j).data[1]; req.cv_func = NULL; - cv_hwCaptureReq[l_regMap[l_id]] = req; + cv_hwCaptureReq[cv_hwRegs[hashId]] = req; } } - if (!l_group_is_created) // @jl06 c Add to default group if none there. + if (!l_group_is_created) // Add to default group if none there. { // Add to default if no group specified. - cv_hwCaptureGroups[1].push_back(l_regMap[l_id]); + cv_hwCaptureGroups[1].push_back(cv_hwRegs[hashId]); } - - l_id++; - } for (int i = 0; i < l_chip->cv_ruleCount; i++) @@ -492,6 +500,26 @@ int32_t RuleMetaData::CaptureErrorData( CaptureData & io_cap, } } + HwCaptureNonzero_t::const_iterator l_primRegIter = + cv_hwCaptureNonzero.find(*i); + if(l_primRegIter != cv_hwCaptureNonzero.end()) + { + SCAN_COMM_REGISTER_CLASS * l_primReg = + (l_primRegIter)->second; + + if( l_primReg ) + { + const BIT_STRING_CLASS *l_bitStringPtr = + l_primReg->GetBitString(); + if(l_bitStringPtr->IsZero()) + { + //skip capture data if corresponding primary FIR is + //zero. + continue; + } + } + } + io_cap.Add( l_pTargetAnalyzed, (*i)->GetId() ^ this->getSignatureOffset(), *(*i), diff --git a/src/usr/diag/prdf/common/framework/rule/prdfRuleMetaData.H b/src/usr/diag/prdf/common/framework/rule/prdfRuleMetaData.H index d651df6a2..6de1dded1 100644 --- a/src/usr/diag/prdf/common/framework/rule/prdfRuleMetaData.H +++ b/src/usr/diag/prdf/common/framework/rule/prdfRuleMetaData.H @@ -228,18 +228,27 @@ class RuleMetaData uint32_t cv_dumpType; // dump type uint32_t iv_sigOff; // signature offset for registers std::map cv_hwRegs; + typedef std::vector scomRegisterList_t ; + typedef std::map< uint32_t,scomRegisterList_t > HwCaptureGroup_t; HwCaptureGroup_t cv_hwCaptureGroups; //capture group associated typedef std::map HwCaptureReq_t; HwCaptureReq_t cv_hwCaptureReq; + //Adding another std::map for passing some data to capture stuff. typedef std::map HwCaptureType_t; HwCaptureType_t cv_hwCaptureType; // capture type std::vector iv_groupList; + // A std::map to capture secondary register and its corresponding + // Primary register. + typedef std::map + HwCaptureNonzero_t; + HwCaptureNonzero_t cv_hwCaptureNonzero; + private: //operations /** diff --git a/src/usr/diag/prdf/common/framework/rule/prdrCompile.lex b/src/usr/diag/prdf/common/framework/rule/prdrCompile.lex index e70f4cf27..1b9673b2a 100755 --- a/src/usr/diag/prdf/common/framework/rule/prdrCompile.lex +++ b/src/usr/diag/prdf/common/framework/rule/prdrCompile.lex @@ -123,6 +123,7 @@ flag { return PRDR_ACT_FLAG; } capture { return PRDR_ACT_CAPTURE; } connected { return PRDR_CONNECTED; } +nonzero { return PRDR_ACT_NONZERO; } alternate { return PRDR_ALTERNATE; } procedure { return PRDR_PROCEDURE; } diff --git a/src/usr/diag/prdf/common/framework/rule/prdrCompile.y b/src/usr/diag/prdf/common/framework/rule/prdrCompile.y index 5c035c653..2e6f0b725 100755 --- a/src/usr/diag/prdf/common/framework/rule/prdrCompile.y +++ b/src/usr/diag/prdf/common/framework/rule/prdrCompile.y @@ -134,6 +134,7 @@ using namespace PRDR_COMPILER; %token PRDR_ACT_CAPTURE %token PRDR_CONNECTED +%token PRDR_ACT_NONZERO %token PRDR_ALTERNATE %token PRDR_PROCEDURE @@ -418,6 +419,16 @@ regline: { $$ = NULL; } tmp.type = CaptureReqStruct::PRDR_CAPTURE_FUNC; tmp.str = *$5; + $$->cv_captures.push_back(tmp); + } + | PRDR_ACT_CAPTURE PRDR_REQUIRED_KW PRDR_ACT_NONZERO '(' PRDR_STRING ')' + { + $$ = new Register(); + + CaptureReqStruct tmp; + tmp.type = CaptureReqStruct::PRDR_CAPTURE_NONZERO; + tmp.str = *$5; + $$->cv_captures.push_back(tmp); } ; diff --git a/src/usr/diag/prdf/common/framework/rule/prdrLoadChip.H b/src/usr/diag/prdf/common/framework/rule/prdrLoadChip.H index de00eb962..eb072c3b2 100755 --- a/src/usr/diag/prdf/common/framework/rule/prdrLoadChip.H +++ b/src/usr/diag/prdf/common/framework/rule/prdrLoadChip.H @@ -97,7 +97,7 @@ namespace Prdr { uint8_t op; uint32_t data[2]; - char * func; + char* func; friend UtilStream& operator>>(UtilStream& i_left, CaptureInfoStruct & i_right) @@ -108,6 +108,7 @@ namespace Prdr { case 'G': case 'T': + case 'P': loopMax = 1; break; @@ -124,6 +125,7 @@ namespace Prdr i_left >> i_right.data[i]; i_right.func = NULL; + if ('f' == i_right.op) { ReadString(i_left, i_right.func); diff --git a/src/usr/diag/prdf/common/framework/rule/prdrRegister.H b/src/usr/diag/prdf/common/framework/rule/prdrRegister.H index a6da312db..af6d57649 100755 --- a/src/usr/diag/prdf/common/framework/rule/prdrRegister.H +++ b/src/usr/diag/prdf/common/framework/rule/prdrRegister.H @@ -93,6 +93,7 @@ struct CaptureReqStruct PRDR_CAPTURE_CONN = 'C', PRDR_CAPTURE_FUNC = 'f', PRDR_CAPTURE_TYPE = 'T', // Added this for storing a register's type in the capture struct. + PRDR_CAPTURE_NONZERO = 'P' // Added this to specify non zero register. }; void output(FILE * l_file) @@ -114,6 +115,7 @@ struct CaptureReqStruct break; case PRDR_CAPTURE_FUNC: + case PRDR_CAPTURE_NONZERO: loopMax = 0; break; } @@ -123,12 +125,24 @@ struct CaptureReqStruct l_tmp32 = htonl(data[i]); PRDR_FWRITE(&l_tmp32, 4, 1, l_file); } + if (type == PRDR_CAPTURE_FUNC) { if ('"' == (str)[0]) str = str.substr(1, str.size() - 2); PRDR_FWRITE(str.c_str(), str.size() + 1, 1, l_file); } + + if (type == PRDR_CAPTURE_NONZERO ) + { + if ('"' == (str)[0]) + { + // remove double quotes from the string + str = str.substr(1, str.size() - 2); + } + l_tmp32 = htonl(PRDF::Util::hashString(str.c_str())); + fwrite(&l_tmp32, sizeof(l_tmp32), 1, l_file); + } }; }; diff --git a/src/usr/diag/prdf/common/plat/pegasus/Ex.rule b/src/usr/diag/prdf/common/plat/pegasus/Ex.rule index 7e9a7a746..41ebaa0c3 100755 --- a/src/usr/diag/prdf/common/plat/pegasus/Ex.rule +++ b/src/usr/diag/prdf/common/plat/pegasus/Ex.rule @@ -130,6 +130,7 @@ chip Ex scomaddr 0x10040010; capture type secondary; capture group default; + capture req nonzero("EX_LFIR"); }; register EX_LFIR_ACT1 @@ -138,6 +139,7 @@ chip Ex scomaddr 0x10040011; capture type secondary; capture group default; + capture req nonzero("EX_LFIR"); }; ############################################################################ @@ -166,6 +168,7 @@ chip Ex scomaddr 0x10013106; capture type secondary; capture group default; + capture req nonzero("COREFIR"); }; register COREFIR_ACT1 @@ -174,6 +177,7 @@ chip Ex scomaddr 0x10013107; capture type secondary; capture group default; + capture req nonzero("COREFIR"); }; ############################################################################ @@ -202,6 +206,7 @@ chip Ex scomaddr 0x10012806; capture type secondary; capture group default; + capture req nonzero("L2FIR"); }; register L2FIR_ACT1 @@ -210,6 +215,7 @@ chip Ex scomaddr 0x10012807; capture type secondary; capture group default; + capture req nonzero("L2FIR"); }; ############################################################################ @@ -238,6 +244,7 @@ chip Ex scomaddr 0x10010806; capture type secondary; capture group default; + capture req nonzero("L3FIR"); }; register L3FIR_ACT1 @@ -246,6 +253,7 @@ chip Ex scomaddr 0x10010807; capture type secondary; capture group default; + capture req nonzero("L3FIR"); }; ############################################################################ @@ -274,6 +282,7 @@ chip Ex scomaddr 0x10010c06; capture type secondary; capture group default; + capture req nonzero("NCUFIR"); }; register NCUFIR_ACT1 @@ -282,6 +291,7 @@ chip Ex scomaddr 0x10010c07; capture type secondary; capture group default; + capture req nonzero("NCUFIR"); }; ############################################################################ diff --git a/src/usr/diag/prdf/common/plat/pegasus/Mba.rule b/src/usr/diag/prdf/common/plat/pegasus/Mba.rule index cca4aa0b0..9c5353316 100755 --- a/src/usr/diag/prdf/common/plat/pegasus/Mba.rule +++ b/src/usr/diag/prdf/common/plat/pegasus/Mba.rule @@ -83,6 +83,7 @@ chip Mba name "MBU.MBA01.MBA_MCBIST.SCOMFIR.MBAFIRACT0"; scomaddr 0x03010606; capture group FirRegs; + capture req nonzero("MBAFIR"); }; register MBAFIR_ACT1 @@ -90,6 +91,7 @@ chip Mba name "MBU.MBA01.MBA_MCBIST.SCOMFIR.MBAFIRACT1"; scomaddr 0x03010607; capture group FirRegs; + capture req nonzero("MBAFIR"); }; ############################################################################ @@ -138,6 +140,7 @@ chip Mba name "DPHY01.PHY01_DDRPHY_FIR_ACTION0_REG"; scomaddr 0x800200960301143F; capture group FirRegs; + capture req nonzero("MBADDRPHYFIR"); }; register MBADDRPHYFIR_ACT1 @@ -145,6 +148,7 @@ chip Mba name "DPHY01.PHY01_DDRPHY_FIR_ACTION1_REG"; scomaddr 0x800200970301143F; capture group FirRegs; + capture req nonzero("MBADDRPHYFIR"); }; ############################################################################ @@ -172,6 +176,7 @@ chip Mba name "MBU.MBA01.MBA_SRQ.MBACALFIR_ACTION0"; scomaddr 0x03010406; capture group FirRegs; + capture req nonzero("MBACALFIR"); }; register MBACALFIR_ACT1 @@ -179,6 +184,7 @@ chip Mba name "MBU.MBA01.MBA_SRQ.MBACALFIR_ACTION1"; scomaddr 0x03010407; capture group FirRegs; + capture req nonzero("MBACALFIR"); }; ############################################################################ diff --git a/src/usr/diag/prdf/common/plat/pegasus/Mcs.rule b/src/usr/diag/prdf/common/plat/pegasus/Mcs.rule index 721e5ae50..2baed03d5 100755 --- a/src/usr/diag/prdf/common/plat/pegasus/Mcs.rule +++ b/src/usr/diag/prdf/common/plat/pegasus/Mcs.rule @@ -99,6 +99,7 @@ chip Mcs capture type secondary; capture group default; capture group FirRegs; + capture req nonzero("MCIFIR"); }; register MCIFIR_ACT1 @@ -108,6 +109,7 @@ chip Mcs capture type secondary; capture group default; capture group FirRegs; + capture req nonzero("MCIFIR"); }; ############################################################################ diff --git a/src/usr/diag/prdf/common/plat/pegasus/Membuf_regs_MEM.rule b/src/usr/diag/prdf/common/plat/pegasus/Membuf_regs_MEM.rule index 19362cdf4..63016200b 100755 --- a/src/usr/diag/prdf/common/plat/pegasus/Membuf_regs_MEM.rule +++ b/src/usr/diag/prdf/common/plat/pegasus/Membuf_regs_MEM.rule @@ -94,6 +94,7 @@ capture type secondary; capture group default; capture group FirRegs; + capture req nonzero("MEM_LFIR"); }; register MEM_LFIR_ACT1 @@ -103,6 +104,7 @@ capture type secondary; capture group default; capture group FirRegs; + capture req nonzero("MEM_LFIR"); }; ############################################################################ diff --git a/src/usr/diag/prdf/common/plat/pegasus/Membuf_regs_NEST.rule b/src/usr/diag/prdf/common/plat/pegasus/Membuf_regs_NEST.rule index 313174210..8b8ffc0a0 100755 --- a/src/usr/diag/prdf/common/plat/pegasus/Membuf_regs_NEST.rule +++ b/src/usr/diag/prdf/common/plat/pegasus/Membuf_regs_NEST.rule @@ -78,6 +78,7 @@ capture type secondary; capture group default; capture group FirRegs; + capture req nonzero("NEST_LFIR"); }; register NEST_LFIR_ACT1 @@ -87,6 +88,7 @@ capture type secondary; capture group default; capture group FirRegs; + capture req nonzero("NEST_LFIR"); }; ############################################################################ @@ -118,6 +120,7 @@ capture type secondary; capture group default; capture group FirRegs; + capture req nonzero("DMIFIR"); }; register DMIFIR_ACT1 @@ -127,6 +130,7 @@ capture type secondary; capture group default; capture group FirRegs; + capture req nonzero("DMIFIR"); }; ############################################################################ @@ -158,6 +162,7 @@ capture type secondary; capture group default; capture group FirRegs; + capture req nonzero("MBIFIR"); }; register MBIFIR_ACT1 @@ -167,6 +172,7 @@ capture type secondary; capture group default; capture group FirRegs; + capture req nonzero("MBIFIR"); }; ############################################################################ @@ -196,6 +202,7 @@ name "MBU.MBS.MBS_FIR_ACTION0_REG"; scomaddr 0x02011406; capture type secondary; + capture req nonzero("MBSFIR"); capture group default; capture group FirRegs; }; @@ -205,6 +212,7 @@ name "MBU.MBS.MBS_FIR_ACTION1_REG"; scomaddr 0x02011407; capture type secondary; + capture req nonzero("MBSFIR"); capture group default; capture group FirRegs; }; @@ -245,6 +253,7 @@ capture type secondary; capture group default; capture group FirRegs; + capture req nonzero("MBA0_MBSECCFIR"); }; register MBA0_MBSECCFIR_ACT1 @@ -254,6 +263,7 @@ capture type secondary; capture group default; capture group FirRegs; + capture req nonzero("MBA0_MBSECCFIR"); }; ############################################################################ @@ -292,6 +302,7 @@ capture type secondary; capture group default; capture group FirRegs; + capture req nonzero("MBA1_MBSECCFIR"); }; register MBA1_MBSECCFIR_ACT1 @@ -301,6 +312,7 @@ capture type secondary; capture group default; capture group FirRegs; + capture req nonzero("MBA1_MBSECCFIR"); }; ############################################################################ @@ -332,6 +344,7 @@ capture type secondary; capture group default; capture group FirRegs; + capture req nonzero("MBA0_MCBISTFIR"); }; register MBA0_MCBISTFIR_ACT1 @@ -341,6 +354,7 @@ capture type secondary; capture group default; capture group FirRegs; + capture req nonzero("MBA0_MCBISTFIR"); }; ############################################################################ @@ -372,6 +386,7 @@ capture type secondary; capture group default; capture group FirRegs; + capture req nonzero("MBA1_MCBISTFIR"); }; register MBA1_MCBISTFIR_ACT1 @@ -381,6 +396,7 @@ capture type secondary; capture group default; capture group FirRegs; + capture req nonzero("MBA1_MCBISTFIR"); }; ############################################################################ @@ -426,6 +442,7 @@ capture type secondary; capture group default; capture group FirRegs; + capture req nonzero("SCACFIR"); }; register SCACFIR_ACT1 @@ -435,6 +452,7 @@ capture type secondary; capture group default; capture group FirRegs; + capture req nonzero("SCACFIR"); }; ############################################################################ diff --git a/src/usr/diag/prdf/common/plat/pegasus/Membuf_regs_TP.rule b/src/usr/diag/prdf/common/plat/pegasus/Membuf_regs_TP.rule index 8f1da5752..8f58ac120 100755 --- a/src/usr/diag/prdf/common/plat/pegasus/Membuf_regs_TP.rule +++ b/src/usr/diag/prdf/common/plat/pegasus/Membuf_regs_TP.rule @@ -92,6 +92,7 @@ capture type secondary; capture group default; capture group FirRegs; + capture req nonzero("TP_LFIR"); }; register TP_LFIR_ACT1 @@ -101,6 +102,7 @@ capture type secondary; capture group default; capture group FirRegs; + capture req nonzero("TP_LFIR"); }; ############################################################################ diff --git a/src/usr/diag/prdf/common/plat/pegasus/Proc_regs_ABUS.rule b/src/usr/diag/prdf/common/plat/pegasus/Proc_regs_ABUS.rule index ccf46e0ce..ed2b24d71 100755 --- a/src/usr/diag/prdf/common/plat/pegasus/Proc_regs_ABUS.rule +++ b/src/usr/diag/prdf/common/plat/pegasus/Proc_regs_ABUS.rule @@ -72,6 +72,7 @@ scomaddr 0x08040010; capture type secondary; capture group default; + capture req nonzero("ABUS_LFIR"); }; register ABUS_LFIR_ACT1 @@ -80,6 +81,7 @@ scomaddr 0x08040011; capture type secondary; capture group default; + capture req nonzero("ABUS_LFIR"); }; ############################################################################ @@ -108,6 +110,7 @@ scomaddr 0x08010806; capture type secondary; capture group default; + capture req nonzero("PBESFIR"); }; register PBESFIR_ACT1 @@ -116,6 +119,7 @@ scomaddr 0x08010807; capture type secondary; capture group default; + capture req nonzero("PBESFIR"); }; ############################################################################ @@ -144,6 +148,7 @@ scomaddr 0x08010c06; capture type secondary; capture group default; + capture req nonzero("IOAFIR"); }; register IOAFIR_ACT1 @@ -152,5 +157,6 @@ scomaddr 0x08010c07; capture type secondary; capture group default; + capture req nonzero("IOAFIR"); }; diff --git a/src/usr/diag/prdf/common/plat/pegasus/Proc_regs_PB.rule b/src/usr/diag/prdf/common/plat/pegasus/Proc_regs_PB.rule index 3d0be49de..772157838 100755 --- a/src/usr/diag/prdf/common/plat/pegasus/Proc_regs_PB.rule +++ b/src/usr/diag/prdf/common/plat/pegasus/Proc_regs_PB.rule @@ -86,6 +86,7 @@ scomaddr 0x02040010; capture type secondary; capture group default; + capture req nonzero("PB_LFIR"); }; register PB_LFIR_ACT1 @@ -94,6 +95,7 @@ scomaddr 0x02040011; capture type secondary; capture group default; + capture req nonzero("PB_LFIR"); }; ############################################################################ @@ -122,6 +124,7 @@ scomaddr 0x02013106; capture type secondary; capture group default; + capture req nonzero("NXDMAENGFIR"); }; register NXDMAENGFIR_ACT1 @@ -130,6 +133,7 @@ scomaddr 0x02013107; capture type secondary; capture group default; + capture req nonzero("NXDMAENGFIR"); }; ############################################################################ @@ -158,6 +162,7 @@ scomaddr 0x02013086; capture type secondary; capture group default; + capture req nonzero("NXCQFIR"); }; register NXCQFIR_ACT1 @@ -166,6 +171,7 @@ scomaddr 0x02013087; capture type secondary; capture group default; + capture req nonzero("NXCQFIR"); }; ############################################################################ @@ -194,6 +200,7 @@ scomaddr 0x020130c6; capture type secondary; capture group default; + capture req nonzero("NXASFIR"); }; register NXASFIR_ACT1 @@ -202,6 +209,7 @@ scomaddr 0x020130c7; capture type secondary; capture group default; + capture req nonzero("NXASFIR"); }; ############################################################################ @@ -230,6 +238,7 @@ scomaddr 0x02013006; capture type secondary; capture group default; + capture req nonzero("NXCXAFIR"); }; register NXCXAFIR_ACT1 @@ -238,6 +247,7 @@ scomaddr 0x02013007; capture type secondary; capture group default; + capture req nonzero("NXCXAFIR"); }; ############################################################################ @@ -266,6 +276,7 @@ scomaddr 0x02013406; capture type secondary; capture group default; + capture req nonzero("MCDFIR"); }; register MCDFIR_ACT1 @@ -274,6 +285,7 @@ scomaddr 0x02013407; capture type secondary; capture group default; + capture req nonzero("MCDFIR"); }; ############################################################################ @@ -302,6 +314,7 @@ scomaddr 0x02010c06; capture type secondary; capture group default; + capture req nonzero("PBWESTFIR"); }; register PBWESTFIR_ACT1 @@ -310,6 +323,7 @@ scomaddr 0x02010c07; capture type secondary; capture group default; + capture req nonzero("PBWESTFIR"); }; ############################################################################ @@ -338,6 +352,7 @@ scomaddr 0x02010c47; capture type secondary; capture group default; + capture req nonzero("PBCENTFIR"); }; register PBCENTFIR_ACT0 @@ -346,6 +361,7 @@ scomaddr 0x02010c46; capture type secondary; capture group default; + capture req nonzero("PBCENTFIR"); }; ############################################################################ @@ -374,6 +390,7 @@ scomaddr 0x02010c86; capture type secondary; capture group default; + capture req nonzero("PBEASTFIR"); }; register PBEASTFIR_ACT1 @@ -382,6 +399,7 @@ scomaddr 0x02010c87; capture type secondary; capture group default; + capture req nonzero("PBEASTFIR"); }; ############################################################################ @@ -428,6 +446,7 @@ scomaddr 0x02010906; capture type secondary; capture group default; + capture req nonzero("PSIFIR"); }; register PSIHBFIR_ACT1 @@ -436,6 +455,7 @@ scomaddr 0x02010907; capture type secondary; capture group default; + capture req nonzero("PSIFIR"); }; ############################################################################ @@ -464,6 +484,7 @@ scomaddr 0x020109c6; capture type secondary; capture group default; + capture req nonzero("ICPFIR"); }; register ICPFIR_ACT1 @@ -472,6 +493,7 @@ scomaddr 0x020109c7; capture type secondary; capture group default; + capture req nonzero("ICPFIR"); }; ############################################################################ @@ -500,6 +522,7 @@ scomaddr 0x02010846; capture type secondary; capture group default; + capture req nonzero("PBAFIR"); }; register PBAFIR_ACT1 @@ -508,6 +531,7 @@ scomaddr 0x02010847; capture type secondary; capture group default; + capture req nonzero("PBAFIR"); }; ############################################################################ @@ -536,6 +560,7 @@ scomaddr 0x02010986; capture type secondary; capture group default; + capture req nonzero("EHHCAFIR"); }; register EHHCAFIR_ACT1 @@ -544,6 +569,7 @@ scomaddr 0x02010987; capture type secondary; capture group default; + capture req nonzero("EHHCAFIR"); }; ############################################################################ @@ -572,6 +598,7 @@ scomaddr 0x02010946; capture type secondary; capture group default; + capture req nonzero("ENHCAFIR"); }; register ENHCAFIR_ACT1 @@ -580,6 +607,7 @@ scomaddr 0x02010947; capture type secondary; capture group default; + capture req nonzero("ENHCAFIR"); }; ############################################################################ @@ -608,6 +636,7 @@ scomaddr 0x02012006; capture type secondary; capture group default; + capture req nonzero("PCINESTFIR_0"); }; register PCINESTFIR_0_ACT1 @@ -616,6 +645,7 @@ scomaddr 0x02012007; capture type secondary; capture group default; + capture req nonzero("PCINESTFIR_0"); }; ############################################################################ @@ -644,6 +674,7 @@ scomaddr 0x02012406; capture type secondary; capture group default; + capture req nonzero("PCINESTFIR_1"); }; register PCINESTFIR_1_ACT1 @@ -652,6 +683,7 @@ scomaddr 0x02012407; capture type secondary; capture group default; + capture req nonzero("PCINESTFIR_1"); }; ############################################################################ @@ -680,6 +712,7 @@ scomaddr 0x02012806; capture type secondary; capture group default; + capture req nonzero("PCINESTFIR_2"); }; register PCINESTFIR_2_ACT1 @@ -688,6 +721,7 @@ scomaddr 0x02012807; capture type secondary; capture group default; + capture req nonzero("PCINESTFIR_2"); }; ############################################################################ @@ -722,6 +756,7 @@ scomaddr 0x02011E06; capture type secondary; capture group default; + capture req nonzero("IOMCFIR_1"); }; register IOMCFIR_1_ACT1 @@ -730,5 +765,6 @@ scomaddr 0x02011E07; capture type secondary; capture group default; + capture req nonzero("IOMCFIR_1"); }; diff --git a/src/usr/diag/prdf/common/plat/pegasus/Proc_regs_PCIE.rule b/src/usr/diag/prdf/common/plat/pegasus/Proc_regs_PCIE.rule index 5d2b440d6..f7404896e 100755 --- a/src/usr/diag/prdf/common/plat/pegasus/Proc_regs_PCIE.rule +++ b/src/usr/diag/prdf/common/plat/pegasus/Proc_regs_PCIE.rule @@ -86,6 +86,7 @@ scomaddr 0x09040010; capture type secondary; capture group default; + capture req nonzero("PCIE_LFIR"); }; register PCIE_LFIR_ACT1 @@ -94,6 +95,7 @@ scomaddr 0x09040011; capture type secondary; capture group default; + capture req nonzero("PCIE_LFIR"); }; # FIXME: RTC 67200 We are currently unable to SCOM to the PCICLOCKFIRs during @@ -235,6 +237,7 @@ scomaddr 0x09010806; capture type secondary; capture group default; + capture req nonzero("PBFFIR"); }; register PBFFIR_ACT1 @@ -243,6 +246,7 @@ scomaddr 0x09010807; capture type secondary; capture group default; + capture req nonzero("PBFFIR"); }; ############################################################################ @@ -271,6 +275,7 @@ scomaddr 0x09011406; capture type secondary; capture group default; + capture req nonzero("IOPPCIFIR_0"); }; register IOPPCIFIR_0_ACT1 @@ -279,6 +284,7 @@ scomaddr 0x09011407; capture type secondary; capture group default; + capture req nonzero("IOPPCIFIR_0"); }; ############################################################################ @@ -307,6 +313,7 @@ scomaddr 0x09011846; capture type secondary; capture group default; + capture req nonzero("IOPPCIFIR_1"); }; register IOPPCIFIR_1_ACT1 @@ -315,5 +322,6 @@ scomaddr 0x09011847; capture type secondary; capture group default; + capture req nonzero("IOPPCIFIR_1"); }; diff --git a/src/usr/diag/prdf/common/plat/pegasus/Proc_regs_TP.rule b/src/usr/diag/prdf/common/plat/pegasus/Proc_regs_TP.rule index 957313790..3a2bb7a91 100755 --- a/src/usr/diag/prdf/common/plat/pegasus/Proc_regs_TP.rule +++ b/src/usr/diag/prdf/common/plat/pegasus/Proc_regs_TP.rule @@ -100,6 +100,7 @@ scomaddr 0x01040010; capture type secondary; capture group never; + capture req nonzero("TP_LFIR"); }; register TP_LFIR_ACT1 @@ -108,6 +109,7 @@ scomaddr 0x01040011; capture type secondary; capture group never; + capture req nonzero("TP_LFIR"); }; ############################################################################ @@ -136,6 +138,7 @@ scomaddr 0x01010806; capture type secondary; capture group default; + capture req nonzero("OCCFIR"); }; register OCCFIR_ACT1 @@ -144,6 +147,7 @@ scomaddr 0x01010807; capture type secondary; capture group default; + capture req nonzero("OCCFIR"); }; ############################################################################ @@ -172,6 +176,7 @@ scomaddr 0x01010c06; capture type secondary; capture group default; + capture req nonzero("PBAMFIR"); }; register PBAMFIR_ACT1 @@ -180,6 +185,7 @@ scomaddr 0x01010c07; capture type secondary; capture group default; + capture req nonzero("PBAMFIR"); }; ############################################################################ @@ -208,6 +214,7 @@ scomaddr 0x01010846; capture type secondary; capture group default; + capture req nonzero("PMCFIR"); }; register PMCFIR_ACT1 @@ -216,5 +223,6 @@ scomaddr 0x01010847; capture type secondary; capture group default; + capture req nonzero("PMCFIR"); }; diff --git a/src/usr/diag/prdf/common/plat/pegasus/Proc_regs_XBUS.rule b/src/usr/diag/prdf/common/plat/pegasus/Proc_regs_XBUS.rule index b879435ab..83cf69f90 100755 --- a/src/usr/diag/prdf/common/plat/pegasus/Proc_regs_XBUS.rule +++ b/src/usr/diag/prdf/common/plat/pegasus/Proc_regs_XBUS.rule @@ -72,6 +72,7 @@ scomaddr 0x04040010; capture type secondary; capture group default; + capture req nonzero("XBUS_LFIR"); }; register XBUS_LFIR_ACT1 @@ -80,6 +81,7 @@ scomaddr 0x04040011; capture type secondary; capture group default; + capture req nonzero("XBUS_LFIR"); }; ############################################################################ @@ -108,6 +110,7 @@ scomaddr 0x04010c06; capture type secondary; capture group default; + capture req nonzero("PBENFIR"); }; register PBENFIR_ACT1 @@ -116,6 +119,7 @@ scomaddr 0x04010c07; capture type secondary; capture group default; + capture req nonzero("PBENFIR"); }; ############################################################################ @@ -180,6 +184,7 @@ scomaddr 0x04011406; capture type secondary; capture group default; + capture req nonzero("IOXFIR_1"); }; register IOXFIR_1_ACT1 @@ -188,6 +193,7 @@ scomaddr 0x04011407; capture type secondary; capture group default; + capture req nonzero("IOXFIR_1"); }; ############################################################################ -- cgit v1.2.1