summaryrefslogtreecommitdiffstats
path: root/src/usr/diag/prdf/common/plugins
diff options
context:
space:
mode:
authorBenjamin Weisenbeck <bweisenb@us.ibm.com>2017-06-14 12:34:21 -0500
committerZane C. Shelley <zshelle@us.ibm.com>2017-07-27 16:29:16 -0400
commitbdef08559a98237193e603f862e8a7360e9287ab (patch)
treeb833cac5d44777a77b345433abd50fbc6cf0bf14 /src/usr/diag/prdf/common/plugins
parent32b1903eac84f4e4fe53478f02461577bbb2b86a (diff)
downloadblackbird-hostboot-bdef08559a98237193e603f862e8a7360e9287ab.tar.gz
blackbird-hostboot-bdef08559a98237193e603f862e8a7360e9287ab.zip
PRD: FW-Directed line delete support
Change-Id: I7d69c5433fe8f7f6a10d45567a045c4749670c94 RTC: 136053 Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/42132 Tested-by: Jenkins Server <pfd-jenkins+hostboot@us.ibm.com> Reviewed-by: Caleb N. Palmer <cnpalmer@us.ibm.com> Reviewed-by: Zane C. Shelley <zshelle@us.ibm.com> Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/43694 Tested-by: Jenkins OP Build CI <op-jenkins+hostboot@us.ibm.com> Tested-by: Jenkins OP HW <op-hw-jenkins+hostboot@us.ibm.com> Tested-by: FSP CI Jenkins <fsp-CI-jenkins+hostboot@us.ibm.com>
Diffstat (limited to 'src/usr/diag/prdf/common/plugins')
-rw-r--r--src/usr/diag/prdf/common/plugins/plugins.mk2
-rw-r--r--src/usr/diag/prdf/common/plugins/prdfLogParse_common.C12
-rw-r--r--src/usr/diag/prdf/common/plugins/prdfParserEnums.H89
-rw-r--r--src/usr/diag/prdf/common/plugins/prdfProcLogParse.C14
4 files changed, 53 insertions, 64 deletions
diff --git a/src/usr/diag/prdf/common/plugins/plugins.mk b/src/usr/diag/prdf/common/plugins/plugins.mk
index 4070476c8..9d7800723 100644
--- a/src/usr/diag/prdf/common/plugins/plugins.mk
+++ b/src/usr/diag/prdf/common/plugins/plugins.mk
@@ -34,7 +34,7 @@ PRDR_ERRL_LIB = lib${RULE_LIBRARY_NAME}
LIBRARY_OFILES += prdfLogParse.o
LIBRARY_OFILES += prdfLogParse_common.o
LIBRARY_OFILES += prdfMemLogParse.o
-#LIBRARY_OFILES += prdfProcLogParse.o TODO RTC 136050
+LIBRARY_OFILES += prdfProcLogParse.o
LIBRARY_OFILES += prdrErrlPluginsSupt.o
LIBRARY_OFILES += prdfParserUtils.o
LIBRARY_OFILES += prdfBitString.o
diff --git a/src/usr/diag/prdf/common/plugins/prdfLogParse_common.C b/src/usr/diag/prdf/common/plugins/prdfLogParse_common.C
index e31f4f712..6d197b356 100644
--- a/src/usr/diag/prdf/common/plugins/prdfLogParse_common.C
+++ b/src/usr/diag/prdf/common/plugins/prdfLogParse_common.C
@@ -49,7 +49,7 @@
#include <attributeenums.H> // For TARGETING::TYPE enum
#include <prdfMemLogParse.H>
-//#include <prdfProcLogParse.H> TODO: RTC 136050
+#include <prdfProcLogParse.H>
#include <prdfParserEnums.H>
#include <prdfMemoryMruData.H>
#include <prdfBitString.H>
@@ -461,6 +461,11 @@ bool parseCaptureData( void * i_buffer, uint32_t i_buflen,
{
parseTodFfdcData( sigData, sigDataSize, i_parser );
}
+ else if ( Util::hashString("OCC_CS_FFDC") == sigId)
+ {
+ parsePnorFirData( sigData, sigDataSize, i_parser );
+ }
+*/
else if ( Util::hashString(LD_CR_FFDC::L2TITLE) == sigId )
{
parseL2LdCrFfdc( sigData, sigDataSize, i_parser );
@@ -469,11 +474,6 @@ bool parseCaptureData( void * i_buffer, uint32_t i_buflen,
{
parseL3LdCrFfdc( sigData, sigDataSize, i_parser );
}
- else if ( Util::hashString("OCC_CS_FFDC") == sigId)
- {
- parsePnorFirData( sigData, sigDataSize, i_parser );
- }
-*/
else if ( (0 != sigDataSize) && (sizeof(uint64_t) >= sigDataSize) )
{
// Print one reg/line if the data size <= 8 bytes
diff --git a/src/usr/diag/prdf/common/plugins/prdfParserEnums.H b/src/usr/diag/prdf/common/plugins/prdfParserEnums.H
index a496ec9d9..6e062e46f 100644
--- a/src/usr/diag/prdf/common/plugins/prdfParserEnums.H
+++ b/src/usr/diag/prdf/common/plugins/prdfParserEnums.H
@@ -223,11 +223,10 @@ namespace LD_CR_FFDC
{
#if __BYTE_ORDER == __LITTLE_ENDIAN
uint32_t L2LDcnt : 4;
- uint32_t L2LDallowed : 1;
uint32_t L2LDMaxAllowed : 4;
uint32_t L2CRMaxAllowed : 4;
uint32_t L2CRPresent : 4;
- uint32_t L2reserved1 :15;
+ uint32_t L2reserved1 :16;
uint32_t L2errMember : 3;
uint32_t L2errDW : 3;
@@ -236,26 +235,27 @@ namespace LD_CR_FFDC
uint32_t L2errOWSelect : 1;
uint32_t L2errBitLine : 4;
uint32_t L2errIsTopSA : 1;
+ uint32_t L2errIsLeftSA : 1;
uint32_t L2errAddress :10;
- uint32_t L2reserved2 : 7;
+ uint32_t L2reserved2 : 6;
L2LdCrFfdc():
- L2LDcnt(0), L2LDallowed(0), L2LDMaxAllowed(0),
+ L2LDcnt(0), L2LDMaxAllowed(0),
L2CRMaxAllowed(0), L2CRPresent(0), L2reserved1(0),
L2errMember(0), L2errDW(0), L2errMacro(0),
L2errBank(0), L2errOWSelect(0), L2errBitLine(0),
- L2errIsTopSA(0), L2errAddress(0), L2reserved2(0)
+ L2errIsTopSA(0), L2errIsLeftSA(0), L2errAddress(0), L2reserved2(0)
{}
#else
- uint32_t L2reserved1 :15;
+ uint32_t L2reserved1 :16;
uint32_t L2CRPresent : 4;
uint32_t L2CRMaxAllowed : 4;
uint32_t L2LDMaxAllowed : 4;
- uint32_t L2LDallowed : 1;
uint32_t L2LDcnt : 4;
- uint32_t L2reserved2 : 7;
+ uint32_t L2reserved2 : 6;
uint32_t L2errAddress :10;
+ uint32_t L2errIsLeftSA : 1;
uint32_t L2errIsTopSA : 1;
uint32_t L2errBitLine : 4;
uint32_t L2errOWSelect : 1;
@@ -266,8 +266,8 @@ namespace LD_CR_FFDC
L2LdCrFfdc():
L2reserved1(0), L2CRPresent(0), L2CRMaxAllowed(0),
- L2LDMaxAllowed(0), L2LDallowed(0), L2LDcnt(0),
- L2reserved2(0),L2errAddress(0), L2errIsTopSA(0),
+ L2LDMaxAllowed(0), L2LDcnt(0), L2reserved2(0),
+ L2errAddress(0), L2errIsLeftSA(0), L2errIsTopSA(0),
L2errBitLine(0), L2errOWSelect(0), L2errBank(0),
L2errMacro(0), L2errDW(0), L2errMember(0)
{}
@@ -278,52 +278,43 @@ namespace LD_CR_FFDC
struct L3LdCrFfdc
{
#if __BYTE_ORDER == __LITTLE_ENDIAN
- uint32_t L3LDcnt : 4;
- uint32_t L3LDallowed : 1;
- uint32_t L3LDMaxAllowed : 4;
- uint32_t L3CRMaxAllowed : 4;
- uint32_t L3CRPresent : 4;
- uint32_t L3reserved1 :15;
-
- uint32_t L3errMember : 3;
- uint32_t L3errDW : 3;
- uint32_t L3errBank : 1;
- uint32_t L3errDataOut : 1;
- uint32_t L3errAddress : 4;
- uint32_t L3errIO : 1;
- uint32_t L3errRow :10;
- uint32_t L3reserved2 : 9;
+ uint32_t L3LDcnt : 4;
+ uint32_t L3LDMaxAllowed : 4;
+ uint32_t L3CRMaxAllowed : 4;
+ uint32_t L3CRPresent : 4;
+ uint32_t L3errBank : 3;
+ uint32_t L3errDataOut : 8;
+ uint32_t L3reserved1 : 5;
+
+ uint32_t L3errMember : 3;
+ uint32_t L3errDW : 3;
+ uint32_t L3errHshAddress :12;
+ uint32_t L3errCacheAddress :14;
L3LdCrFfdc():
- L3LDcnt(0), L3LDallowed(0), L3LDMaxAllowed(0),
- L3CRMaxAllowed(0), L3CRPresent(0),
+ L3LDcnt(0), L3LDMaxAllowed(0), L3CRMaxAllowed(0),
+ L3CRPresent(0), L3errBank(0), L3errDataOut(0),
L3reserved1(0), L3errMember(0), L3errDW(0),
- L3errBank(0), L3errDataOut(0), L3errAddress(0),
- L3errIO(0), L3errRow(0), L3reserved2(0)
+ L3errHshAddress(0), L3errCacheAddress(0)
{}
#else
- uint32_t L3reserved1 :15;
- uint32_t L3CRPresent : 4;
- uint32_t L3CRMaxAllowed : 4;
- uint32_t L3LDMaxAllowed : 4;
- uint32_t L3LDallowed : 1;
- uint32_t L3LDcnt : 4;
-
- uint32_t L3reserved2 : 9;
- uint32_t L3errRow :10;
- uint32_t L3errIO : 1;
- uint32_t L3errAddress : 4;
- uint32_t L3errDataOut : 1;
- uint32_t L3errBank : 1;
- uint32_t L3errDW : 3;
- uint32_t L3errMember : 3;
+ uint32_t L3reserved1 : 5;
+ uint32_t L3errDataOut : 8;
+ uint32_t L3errBank : 3;
+ uint32_t L3CRPresent : 4;
+ uint32_t L3CRMaxAllowed : 4;
+ uint32_t L3LDMaxAllowed : 4;
+ uint32_t L3LDcnt : 4;
+
+ uint32_t L3errCacheAddress :14;
+ uint32_t L3errHshAddress :12;
+ uint32_t L3errDW : 3;
+ uint32_t L3errMember : 3;
L3LdCrFfdc():
- L3reserved1(0), L3CRPresent(0), L3CRMaxAllowed(0),
- L3LDMaxAllowed(0), L3LDallowed(0), L3LDcnt(0),
- L3reserved2(0), L3errRow(0), L3errIO(0),
- L3errAddress(0), L3errDataOut(0), L3errBank(0),
- L3errDW(0), L3errMember(0)
+ L3reserved1(0), L3errDataOut(0), L3errBank(0), L3CRPresent(0),
+ L3CRMaxAllowed(0), L3LDMaxAllowed(0), L3LDcnt(0),
+ L3errCacheAddress(0), L3errHshAddress(0), L3errDW(0), L3errMember(0)
{}
#endif
diff --git a/src/usr/diag/prdf/common/plugins/prdfProcLogParse.C b/src/usr/diag/prdf/common/plugins/prdfProcLogParse.C
index 1422548e1..461704ab9 100644
--- a/src/usr/diag/prdf/common/plugins/prdfProcLogParse.C
+++ b/src/usr/diag/prdf/common/plugins/prdfProcLogParse.C
@@ -191,8 +191,6 @@ bool parseL2LdCrFfdc( uint8_t * i_buffer, uint32_t i_buflen,
memcpy( &ldcrffdc, i_buffer, sizeof(LD_CR_FFDC::L2LdCrFfdc));
i_parser.PrintNumber( " L2 LD Counts", "%d", ldcrffdc.L2LDcnt );
- i_parser.PrintBool( " L2 LD Allowed",
- 0 != ldcrffdc.L2LDallowed );
i_parser.PrintNumber( " L2 LD Max Allowed", "%d",
ldcrffdc.L2LDMaxAllowed );
i_parser.PrintNumber( " L2 CR Max Allowed", "%d",
@@ -213,6 +211,8 @@ bool parseL2LdCrFfdc( uint8_t * i_buffer, uint32_t i_buflen,
ldcrffdc.L2errBitLine );
i_parser.PrintBool( " L2 Error Is Top SA",
0 != ldcrffdc.L2errIsTopSA );
+ i_parser.PrintBool( " L2 Error Is Left SA",
+ 0 != ldcrffdc.L2errIsLeftSA );
i_parser.PrintNumber( " L2 Error Address", "%d",
ldcrffdc.L2errAddress );
@@ -247,8 +247,6 @@ bool parseL3LdCrFfdc( uint8_t * i_buffer, uint32_t i_buflen,
memcpy( &ldcrffdc, i_buffer, sizeof(LD_CR_FFDC::L3LdCrFfdc));
i_parser.PrintNumber( " L3 LD Counts", "%d", ldcrffdc.L3LDcnt );
- i_parser.PrintBool( " L3 LD Allowed",
- 0 != ldcrffdc.L3LDallowed );
i_parser.PrintNumber( " L3 LD Max Allowed", "%d",
ldcrffdc.L3LDMaxAllowed );
i_parser.PrintNumber( " L3 CR Max Allowed", "%d",
@@ -262,10 +260,10 @@ bool parseL3LdCrFfdc( uint8_t * i_buffer, uint32_t i_buflen,
i_parser.PrintNumber( " L3 Error Bank", "%d", ldcrffdc.L3errBank );
i_parser.PrintNumber( " L3 Error Data Out", "%d",
ldcrffdc.L3errDataOut );
- i_parser.PrintNumber( " L3 Error Address", "%d",
- ldcrffdc.L3errAddress );
- i_parser.PrintNumber( " L3 Error IO", "%d", ldcrffdc.L3errIO );
- i_parser.PrintNumber( " L3 Error Row", "%d", ldcrffdc.L3errRow );
+ i_parser.PrintNumber( " L3 Error Hashed Address", "%d",
+ ldcrffdc.L3errHshAddress );
+ i_parser.PrintNumber( " L3 Error Cache Address", "%d",
+ ldcrffdc.L3errCacheAddress );
} while (0);
OpenPOWER on IntegriCloud