From d9b5ac11981194f9b3eeb850e853762bdee5e739 Mon Sep 17 00:00:00 2001 From: spashabk-in Date: Fri, 23 Jun 2017 01:48:59 -0500 Subject: Install DD2 only changes and support DD2 attrdump Get 'make install_DD2' working without making DD1 before hand cmvc-prereq:1027517 Change-Id: I5b64759bc3ffbe5ca16d677e28cb8f4433f4e700 Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/42345 Tested-by: Jenkins Server Tested-by: FSP CI Jenkins Reviewed-by: Sachin Gupta Reviewed-by: RAJA DAS --- src/sbefw/plugins/sbeUserDataParser.C | 8 ++++++-- src/sbefw/sbeFFDC.C | 6 ++++++ src/sbefw/sbeFFDCType.H | 7 +++++++ 3 files changed, 19 insertions(+), 2 deletions(-) (limited to 'src/sbefw') diff --git a/src/sbefw/plugins/sbeUserDataParser.C b/src/sbefw/plugins/sbeUserDataParser.C index b1f010a5..fc6cff19 100644 --- a/src/sbefw/plugins/sbeUserDataParser.C +++ b/src/sbefw/plugins/sbeUserDataParser.C @@ -43,7 +43,7 @@ #define SBE_ATTR_DUMP_HEADLINE "SBE Attributes Dump" #define P9_XIP_ATTR_CMD "-ifs attrdump" #define SBE_STRING_FILE "sbeStringFile" -#define SBE_SEEPROM_BIN "sbe_seeprom.bin" +std::string SBE_SEEPROM_BIN = "sbe_seeprom_DD1.bin"; #define SBE_PARSER_MAX_LOCAL_BUFFER 8192 @@ -176,6 +176,10 @@ int parseSbeFFDC(ErrlUsrParser & i_parser, const void * i_pBuffer, (uint16_t)l_pData.secondaryStatus); i_parser.PrintNumber("FW Commit ID ", "0x%08X", (uint32_t)l_pData.fwCommitID); + if(l_pData.ddLevel == SBE_FFDC_DD2) + { + SBE_SEEPROM_BIN = "sbe_seeprom_DD2.bin"; + } //loop through the number of fields configured uint32_t l_dumpFields = l_pData.dumpFields.get(); while(l_dumpFields && !l_rc) @@ -240,7 +244,7 @@ int parseSbeFFDC(ErrlUsrParser & i_parser, const void * i_pBuffer, // -ifs attrdump 2>&1 l_strCmd1 << findSbeFile(P9_XIP_TOOL) << " " - << findSbeFile(SBE_SEEPROM_BIN) + << findSbeFile(SBE_SEEPROM_BIN.c_str()) << " " << P9_XIP_ATTR_CMD << " " diff --git a/src/sbefw/sbeFFDC.C b/src/sbefw/sbeFFDC.C index 8bff48d5..09a381dd 100644 --- a/src/sbefw/sbeFFDC.C +++ b/src/sbefw/sbeFFDC.C @@ -101,6 +101,12 @@ uint32_t SbeFFDCPackage::sendOverFIFO(const sbeRespGenHdr_t &i_hdr, iv_sbeFFDCDataHeader.primaryStatus = i_hdr.primaryStatus; iv_sbeFFDCDataHeader.secondaryStatus = i_hdr.secondaryStatus; iv_sbeFFDCDataHeader.fwCommitID = SBE_COMMIT_ID; +#ifdef DD1 + iv_sbeFFDCDataHeader.ddLevel = SBE_FFDC_DD1; +#endif +#ifdef DD2 + iv_sbeFFDCDataHeader.ddLevel = SBE_FFDC_DD2; +#endif // Set failed command information // Sequence Id is 0 by default for Fifo interface iv_sbeFFDCHeader.setCmdInfo(0, i_hdr.cmdClass, i_hdr.command); diff --git a/src/sbefw/sbeFFDCType.H b/src/sbefw/sbeFFDCType.H index 8870d17f..38e277c8 100644 --- a/src/sbefw/sbeFFDCType.H +++ b/src/sbefw/sbeFFDCType.H @@ -30,6 +30,12 @@ #define SBE_FFDC_TRACE_DUMP 0x0002 #define SBE_FFDC_ALL_DUMP 0xFFFF +enum SBE_FFDC_DD_LEVEL +{ + SBE_FFDC_DD1 = 0, + SBE_FFDC_DD2 = 1 +}; + /* Structure indicating the contents of FFDC package * value 'true' - field present;value 'false' - field not present * bit_0 - attribute dump @@ -96,6 +102,7 @@ typedef struct uint32_t primaryStatus:16;//Chip Op Primary status uint32_t secondaryStatus:16;//Chip Op Secondary status uint32_t fwCommitID;// FW commit ID + uint32_t ddLevel;// DD level of the SBE sbeFFDCDumpFields_t dumpFields;//bitmapped dumpFields } sbeFFDCDataHeader_t; -- cgit v1.2.1