summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorprashanthacharya <prashanthacharya@in.ibm.com>2013-01-28 08:29:28 -0600
committerA. Patrick Williams III <iawillia@us.ibm.com>2013-06-14 15:14:27 -0500
commita16a07658fb210cc59c4f59315140eec39191f03 (patch)
tree2a07cc15dfcfa5826f49d4895b844144b8fef513 /src
parenta8189979b1e2c9625c45ffe12a62a81e3c13f4d1 (diff)
downloadtalos-hostboot-a16a07658fb210cc59c4f59315140eec39191f03.tar.gz
talos-hostboot-a16a07658fb210cc59c4f59315140eec39191f03.zip
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 <zshelle@us.ibm.com> Tested-by: Jenkins Server Reviewed-by: A. Patrick Williams III <iawillia@us.ibm.com> Reviewed-on: http://gfw160.austin.ibm.com:8080/gerrit/5023
Diffstat (limited to 'src')
-rwxr-xr-xsrc/usr/diag/prdf/common/framework/rule/prdfRuleChip.H2
-rw-r--r--src/usr/diag/prdf/common/framework/rule/prdfRuleMetaData.C58
-rw-r--r--src/usr/diag/prdf/common/framework/rule/prdfRuleMetaData.H9
-rwxr-xr-xsrc/usr/diag/prdf/common/framework/rule/prdrCompile.lex1
-rwxr-xr-xsrc/usr/diag/prdf/common/framework/rule/prdrCompile.y11
-rwxr-xr-xsrc/usr/diag/prdf/common/framework/rule/prdrLoadChip.H4
-rwxr-xr-xsrc/usr/diag/prdf/common/framework/rule/prdrRegister.H14
-rwxr-xr-xsrc/usr/diag/prdf/common/plat/pegasus/Ex.rule10
-rwxr-xr-xsrc/usr/diag/prdf/common/plat/pegasus/Mba.rule6
-rwxr-xr-xsrc/usr/diag/prdf/common/plat/pegasus/Mcs.rule2
-rwxr-xr-xsrc/usr/diag/prdf/common/plat/pegasus/Membuf_regs_MEM.rule2
-rwxr-xr-xsrc/usr/diag/prdf/common/plat/pegasus/Membuf_regs_NEST.rule18
-rwxr-xr-xsrc/usr/diag/prdf/common/plat/pegasus/Membuf_regs_TP.rule2
-rwxr-xr-xsrc/usr/diag/prdf/common/plat/pegasus/Proc_regs_ABUS.rule6
-rwxr-xr-xsrc/usr/diag/prdf/common/plat/pegasus/Proc_regs_PB.rule36
-rwxr-xr-xsrc/usr/diag/prdf/common/plat/pegasus/Proc_regs_PCIE.rule8
-rwxr-xr-xsrc/usr/diag/prdf/common/plat/pegasus/Proc_regs_TP.rule8
-rwxr-xr-xsrc/usr/diag/prdf/common/plat/pegasus/Proc_regs_XBUS.rule6
18 files changed, 185 insertions, 18 deletions
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<Prdr::Register::CaptureInfoStruct>::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<Prdr::Register::CaptureInfoStruct>::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<uint16_t, SCAN_COMM_REGISTER_CLASS *> cv_hwRegs;
+
typedef std::vector<SCAN_COMM_REGISTER_CLASS *> scomRegisterList_t ;
+
typedef std::map< uint32_t,scomRegisterList_t > HwCaptureGroup_t;
HwCaptureGroup_t cv_hwCaptureGroups; //capture group associated
typedef std::map<SCAN_COMM_REGISTER_CLASS *,
CaptureRequirement> HwCaptureReq_t;
HwCaptureReq_t cv_hwCaptureReq;
+
//Adding another std::map for passing some data to capture stuff.
typedef std::map<SCAN_COMM_REGISTER_CLASS *,
CaptureType> HwCaptureType_t;
HwCaptureType_t cv_hwCaptureType; // capture type
std::vector <ErrorRegisterType *> iv_groupList;
+ // A std::map to capture secondary register and its corresponding
+ // Primary register.
+ typedef std::map<SCAN_COMM_REGISTER_CLASS *, SCAN_COMM_REGISTER_CLASS *>
+ 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
@@ -420,6 +421,16 @@ regline: { $$ = NULL; }
$$->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);
+ }
;
/* Define the possible reset/mask instructions. */
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");
};
############################################################################
OpenPOWER on IntegriCloud