Skip to content

Commit

Permalink
PRD: capture NPU FIRs only on attention from NPU FIRs
Browse files Browse the repository at this point in the history
Change-Id: I9576aa1205baeabc40eac7c20359d95e9d1d8758
CQ: SW424468
Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/57214
Tested-by: Jenkins Server <pfd-jenkins+hostboot@us.ibm.com>
Reviewed-by: Benjamin J. Weisenbeck <bweisenb@us.ibm.com>
Reviewed-by: Brian J. Stegmiller <bjs@us.ibm.com>
Reviewed-by: Caleb N. Palmer <cnpalmer@us.ibm.com>
Reviewed-by: Matt Derksen <mderkse1@us.ibm.com>
Reviewed-by: Zane C. Shelley <zshelle@us.ibm.com>
Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/57338
CI-Ready: Zane C. Shelley <zshelle@us.ibm.com>
Tested-by: Jenkins OP Build CI <op-jenkins+hostboot@us.ibm.com>
  • Loading branch information
zane131 committed Apr 17, 2018
1 parent fd32e9b commit 0be5926
Show file tree
Hide file tree
Showing 4 changed files with 59 additions and 33 deletions.
14 changes: 13 additions & 1 deletion src/usr/diag/prdf/common/framework/config/iipSystem.C
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
/* */
/* OpenPOWER HostBoot Project */
/* */
/* Contributors Listed Below - COPYRIGHT 2012,2017 */
/* Contributors Listed Below - COPYRIGHT 2012,2018 */
/* [+] International Business Machines Corp. */
/* */
/* */
Expand Down Expand Up @@ -353,6 +353,18 @@ int32_t System::Analyze(STEP_CODE_DATA_STRUCT & serviceData,
*serviceData.service_data );
// Set up Error Isolation Pass Flag.
serviceData.service_data->setIsolationOnlyPass();
// The original capture data is held with l_temp_sdc
// when the copy contructor was called above. If we
// continue to use serviceData.service_data as is, it
// still contains all of the current capture data. So
// any additional capture data will most likely be
// duplicates (which will actually be a third copy of
// the registers). The duplicates will be removed
// eventually when mergeData() is called later, but we
// can prevent a lot of duplication and have a improve
// preformance slightly by clearing the capture data for
// the isolation pass.
serviceData.service_data->GetCaptureData().Clear();
// Set the outer for loop iteration variable atnType so
// that we analyze MACHINE XSTOP in next iteration.
atnType = MACHINE_CHECK + 1;
Expand Down
32 changes: 16 additions & 16 deletions src/usr/diag/prdf/common/plat/p9/p9_cumulus.rule
Original file line number Diff line number Diff line change
Expand Up @@ -1231,29 +1231,29 @@ chip p9_cumulus
scomaddr 0x05013C00;
reset (&, 0x05013C01);
mask (|, 0x05013C05);
capture group default;
capture group npu0fir_ffdc;
};

register NPU0FIR_MASK
{
name "P9 chip NPU0FIR MASK";
scomaddr 0x05013C03;
capture group default;
capture group npu0fir_ffdc;
};

register NPU0FIR_ACT0
{
name "P9 chip NPU0FIR ACT0";
scomaddr 0x05013C06;
capture group default;
capture group npu0fir_ffdc;
capture req nonzero("NPU0FIR");
};

register NPU0FIR_ACT1
{
name "P9 chip NPU0FIR ACT1";
scomaddr 0x05013C07;
capture group default;
capture group npu0fir_ffdc;
capture req nonzero("NPU0FIR");
};

Expand All @@ -1267,29 +1267,29 @@ chip p9_cumulus
scomaddr 0x05013C40;
reset (&, 0x05013C41);
mask (|, 0x05013C45);
capture group default;
capture group npu1fir_ffdc;
};

register NPU1FIR_MASK
{
name "P9 chip NPU1FIR MASK";
scomaddr 0x05013C43;
capture group default;
capture group npu1fir_ffdc;
};

register NPU1FIR_ACT0
{
name "P9 chip NPU1FIR ACT0";
scomaddr 0x05013C46;
capture group default;
capture group npu1fir_ffdc;
capture req nonzero("NPU1FIR");
};

register NPU1FIR_ACT1
{
name "P9 chip NPU1FIR ACT1";
scomaddr 0x05013C47;
capture group default;
capture group npu1fir_ffdc;
capture req nonzero("NPU1FIR");
};

Expand All @@ -1303,29 +1303,29 @@ chip p9_cumulus
scomaddr 0x05013C80;
reset (&, 0x05013C81);
mask (|, 0x05013C85);
capture group default;
capture group npu2fir_ffdc;
};

register NPU2FIR_MASK
{
name "P9 chip NPU2FIR MASK";
scomaddr 0x05013C83;
capture group default;
capture group npu2fir_ffdc;
};

register NPU2FIR_ACT0
{
name "P9 chip NPU2FIR ACT0";
scomaddr 0x05013C86;
capture group default;
capture group npu2fir_ffdc;
capture req nonzero("NPU2FIR");
};

register NPU2FIR_ACT1
{
name "P9 chip NPU2FIR ACT1";
scomaddr 0x05013C87;
capture group default;
capture group npu2fir_ffdc;
capture req nonzero("NPU2FIR");
};

Expand Down Expand Up @@ -4143,7 +4143,7 @@ group gN3_CHIPLET_FIR filter singlebit
/** N3_CHIPLET_FIR[11]
* Attention from NPU1FIR
*/
(rN3_CHIPLET_FIR, bit(11)) ? analyze(gNPU1FIR);
(rN3_CHIPLET_FIR, bit(11)) ? analyzeNPU1FIR;

/** N3_CHIPLET_FIR[12]
* Attention from NMMUCQFIR
Expand Down Expand Up @@ -4198,7 +4198,7 @@ group gN3_CHIPLET_FIR filter singlebit
/** N3_CHIPLET_FIR[23]
* Attention from NPU2FIR
*/
(rN3_CHIPLET_FIR, bit(23)) ? analyze(gNPU2FIR);
(rN3_CHIPLET_FIR, bit(23)) ? analyzeNPU2FIR;

};

Expand Down Expand Up @@ -4227,7 +4227,7 @@ group gN3_CHIPLET_UCS_FIR filter singlebit
/** N3_CHIPLET_UCS_FIR[6]
* Attention from NPU2FIR
*/
(rN3_CHIPLET_UCS_FIR, bit(6)) ? analyze(gNPU2FIR);
(rN3_CHIPLET_UCS_FIR, bit(6)) ? analyzeNPU2FIR;

/** N3_CHIPLET_UCS_FIR[7]
* Attention from NPU0FIR
Expand All @@ -4237,7 +4237,7 @@ group gN3_CHIPLET_UCS_FIR filter singlebit
/** N3_CHIPLET_UCS_FIR[8]
* Attention from NPU1FIR
*/
(rN3_CHIPLET_UCS_FIR, bit(8)) ? analyze(gNPU1FIR);
(rN3_CHIPLET_UCS_FIR, bit(8)) ? analyzeNPU1FIR;

/** N3_CHIPLET_UCS_FIR[9]
* Attention from NMMUCQFIR
Expand Down
32 changes: 16 additions & 16 deletions src/usr/diag/prdf/common/plat/p9/p9_nimbus.rule
Original file line number Diff line number Diff line change
Expand Up @@ -1231,29 +1231,29 @@ chip p9_nimbus
scomaddr 0x05013C00;
reset (&, 0x05013C01);
mask (|, 0x05013C05);
capture group default;
capture group npu0fir_ffdc;
};

register NPU0FIR_MASK
{
name "P9 chip NPU0FIR MASK";
scomaddr 0x05013C03;
capture group default;
capture group npu0fir_ffdc;
};

register NPU0FIR_ACT0
{
name "P9 chip NPU0FIR ACT0";
scomaddr 0x05013C06;
capture group default;
capture group npu0fir_ffdc;
capture req nonzero("NPU0FIR");
};

register NPU0FIR_ACT1
{
name "P9 chip NPU0FIR ACT1";
scomaddr 0x05013C07;
capture group default;
capture group npu0fir_ffdc;
capture req nonzero("NPU0FIR");
};

Expand All @@ -1267,29 +1267,29 @@ chip p9_nimbus
scomaddr 0x05013C40;
reset (&, 0x05013C41);
mask (|, 0x05013C45);
capture group default;
capture group npu1fir_ffdc;
};

register NPU1FIR_MASK
{
name "P9 chip NPU1FIR MASK";
scomaddr 0x05013C43;
capture group default;
capture group npu1fir_ffdc;
};

register NPU1FIR_ACT0
{
name "P9 chip NPU1FIR ACT0";
scomaddr 0x05013C46;
capture group default;
capture group npu1fir_ffdc;
capture req nonzero("NPU1FIR");
};

register NPU1FIR_ACT1
{
name "P9 chip NPU1FIR ACT1";
scomaddr 0x05013C47;
capture group default;
capture group npu1fir_ffdc;
capture req nonzero("NPU1FIR");
};

Expand All @@ -1303,29 +1303,29 @@ chip p9_nimbus
scomaddr 0x05013C80;
reset (&, 0x05013C81);
mask (|, 0x05013C85);
capture group default;
capture group npu2fir_ffdc;
};

register NPU2FIR_MASK
{
name "P9 chip NPU2FIR MASK";
scomaddr 0x05013C83;
capture group default;
capture group npu2fir_ffdc;
};

register NPU2FIR_ACT0
{
name "P9 chip NPU2FIR ACT0";
scomaddr 0x05013C86;
capture group default;
capture group npu2fir_ffdc;
capture req nonzero("NPU2FIR");
};

register NPU2FIR_ACT1
{
name "P9 chip NPU2FIR ACT1";
scomaddr 0x05013C87;
capture group default;
capture group npu2fir_ffdc;
capture req nonzero("NPU2FIR");
};

Expand Down Expand Up @@ -4123,7 +4123,7 @@ group gN3_CHIPLET_FIR filter singlebit
/** N3_CHIPLET_FIR[11]
* Attention from NPU1FIR
*/
(rN3_CHIPLET_FIR, bit(11)) ? analyze(gNPU1FIR);
(rN3_CHIPLET_FIR, bit(11)) ? analyzeNPU1FIR;

/** N3_CHIPLET_FIR[12]
* Attention from NMMUCQFIR
Expand Down Expand Up @@ -4178,7 +4178,7 @@ group gN3_CHIPLET_FIR filter singlebit
/** N3_CHIPLET_FIR[23]
* Attention from NPU2FIR
*/
(rN3_CHIPLET_FIR, bit(23)) ? analyze(gNPU2FIR);
(rN3_CHIPLET_FIR, bit(23)) ? analyzeNPU2FIR;

};

Expand Down Expand Up @@ -4207,7 +4207,7 @@ group gN3_CHIPLET_UCS_FIR filter singlebit
/** N3_CHIPLET_UCS_FIR[6]
* Attention from NPU2FIR
*/
(rN3_CHIPLET_UCS_FIR, bit(6)) ? analyze(gNPU2FIR);
(rN3_CHIPLET_UCS_FIR, bit(6)) ? analyzeNPU2FIR;

/** N3_CHIPLET_UCS_FIR[7]
* Attention from NPU0FIR
Expand All @@ -4217,7 +4217,7 @@ group gN3_CHIPLET_UCS_FIR filter singlebit
/** N3_CHIPLET_UCS_FIR[8]
* Attention from NPU1FIR
*/
(rN3_CHIPLET_UCS_FIR, bit(8)) ? analyze(gNPU1FIR);
(rN3_CHIPLET_UCS_FIR, bit(8)) ? analyzeNPU1FIR;

/** N3_CHIPLET_UCS_FIR[9]
* Attention from NMMUCQFIR
Expand Down
14 changes: 14 additions & 0 deletions src/usr/diag/prdf/common/plat/p9/p9_proc_common_actions.rule
Original file line number Diff line number Diff line change
Expand Up @@ -122,6 +122,20 @@ actionclass analyzeNPU0FIR
analyze(gNPU0FIR);
};

/** Special wrapper for NPU1FIR to collect extra FFDC */
actionclass analyzeNPU1FIR
{
capture(npu1fir_ffdc);
analyze(gNPU1FIR);
};

/** Special wrapper for NPU2FIR to collect extra FFDC */
actionclass analyzeNPU2FIR
{
capture(npu2fir_ffdc);
analyze(gNPU2FIR);
};

/** Special wrapper for INTCQFIR to collect extra FFDC */
actionclass analyzeINTCQFIR
{
Expand Down

0 comments on commit 0be5926

Please sign in to comment.