diff options
author | spashabk-in <shakeebbk@in.ibm.com> | 2017-06-23 01:48:59 -0500 |
---|---|---|
committer | Sachin Gupta <sgupta2m@in.ibm.com> | 2017-06-30 12:18:41 -0400 |
commit | d9b5ac11981194f9b3eeb850e853762bdee5e739 (patch) | |
tree | ba8727809a3ba4c987396b093c86c52084186038 | |
parent | ec4e890770270ff25f2b29c4338ba1b5eade5e84 (diff) | |
download | talos-sbe-d9b5ac11981194f9b3eeb850e853762bdee5e739.tar.gz talos-sbe-d9b5ac11981194f9b3eeb850e853762bdee5e739.zip |
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 <pfd-jenkins+hostboot@us.ibm.com>
Tested-by: FSP CI Jenkins <fsp-CI-jenkins+hostboot@us.ibm.com>
Reviewed-by: Sachin Gupta <sgupta2m@in.ibm.com>
Reviewed-by: RAJA DAS <rajadas2@in.ibm.com>
-rw-r--r-- | src/build/Makefile | 25 | ||||
-rw-r--r-- | src/build/img_defs.mk | 4 | ||||
-rw-r--r-- | src/sbefw/plugins/sbeUserDataParser.C | 8 | ||||
-rw-r--r-- | src/sbefw/sbeFFDC.C | 6 | ||||
-rw-r--r-- | src/sbefw/sbeFFDCType.H | 7 | ||||
-rw-r--r-- | src/test/testcases/testSbeDump.py | 4 | ||||
-rwxr-xr-x | src/tools/utils/sbePrime.py | 5 |
7 files changed, 41 insertions, 18 deletions
diff --git a/src/build/Makefile b/src/build/Makefile index b62287bb..f87c3aae 100644 --- a/src/build/Makefile +++ b/src/build/Makefile @@ -177,20 +177,19 @@ endif install: all tar tar: -# TODO:Remove this line once Simics supports DD specific files - @cp $(IMG_DIR)/sbe_seeprom_DD1.bin $(IMG_DIR)/sbe_seeprom.bin | true - @cp $(IMG_DIR)/sbeStringFile_DD1 $(IMG_DIR)/sbeStringFile | true + @cp $(IMG_DIR)/sbe_seeprom_DD1.bin $(IMG_DIR)/sbe_seeprom.bin || true + @cp $(IMG_DIR)/$(SBE_SYMBOLS_NAME) $(IMG_DIR)/sbeStringFile || true @echo "Installing simics.tar" - @rm -rf $(OBJDIR)/simics-tar-dir - @mkdir $(OBJDIR)/simics-tar-dir - @mkdir $(OBJDIR)/simics-tar-dir/ppetracepp - @mkdir $(OBJDIR)/simics-tar-dir/parserplugins - @cp $(SIMICS_PPE_TAR_FILES) $(OBJDIR)/simics-tar-dir - @cp $(SIMICS_BB_TAR_FILES) $(OBJDIR)/simics-tar-dir - @cp $(SIMICS_PPETRACEPP_TAR_FILES) $(OBJDIR)/simics-tar-dir/ppetracepp - @cp $(SIMICS_PARSERPLUGINS_TAR_FILES) $(OBJDIR)/simics-tar-dir/parserplugins - @cd $(OBJDIR)/simics-tar-dir && tar -cvf simics.tar * && mv simics.tar $(IMG_DIR) && cd .. - @rm -rf $(OBJDIR)/simics-tar-dir + @rm -rf $(TAR_OBJDIR) + @mkdir $(TAR_OBJDIR) + @mkdir $(TAR_OBJDIR)/ppetracepp + @mkdir $(TAR_OBJDIR)/parserplugins + @cp $(SIMICS_PPE_TAR_FILES) $(TAR_OBJDIR) + @cp $(SIMICS_BB_TAR_FILES) $(TAR_OBJDIR) + @cp $(SIMICS_PPETRACEPP_TAR_FILES) $(TAR_OBJDIR)/ppetracepp + @cp $(SIMICS_PARSERPLUGINS_TAR_FILES) $(TAR_OBJDIR)/parserplugins + @cd $(TAR_OBJDIR) && tar -cvf simics.tar * && mv simics.tar $(IMG_DIR) && cd .. + @rm -rf $(TAR_OBJDIR) @echo "Generated simics.tar in Sbe images Directory" .PHONY: all normalize defaultset appendloader add_LoaderAddr symbols report \ diff --git a/src/build/img_defs.mk b/src/build/img_defs.mk index 220919a7..c56d321a 100644 --- a/src/build/img_defs.mk +++ b/src/build/img_defs.mk @@ -198,6 +198,10 @@ ifndef BASE_OBJDIR export BASE_OBJDIR = $(SBE_ROOT_DIR)/obj/$(IMAGE_SUFFIX) endif +ifndef TAR_OBJDIR +export TAR_OBJDIR = $(SBE_ROOT_DIR)/obj/simics-tar-dir +endif + ifndef P9_XIP_SRCDIR export P9_XIP_SRCDIR = $(IMPORT_SRCDIR)/chips/p9/xip endif 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 <attr dump file> 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; diff --git a/src/test/testcases/testSbeDump.py b/src/test/testcases/testSbeDump.py index 180795f6..01ae81a7 100644 --- a/src/test/testcases/testSbeDump.py +++ b/src/test/testcases/testSbeDump.py @@ -76,6 +76,10 @@ def main(): print ("\ncommitID = " + str(hex(commitID))) data = testUtil.readDsEntryReturnVal() + ddLevel = ((data[0] << 24) | (data[1] << 16) | (data[2] << 8) | data[3]) + print ("\nddLevel = " + str(hex(ddLevel))) + + data = testUtil.readDsEntryReturnVal() header = ((data[0] << 24) | (data[1] << 16) | (data[2] << 8) | data[3]) print ("\nHeader = " + str(hex(header))) diff --git a/src/tools/utils/sbePrime.py b/src/tools/utils/sbePrime.py index 986a2733..1ee77c63 100755 --- a/src/tools/utils/sbePrime.py +++ b/src/tools/utils/sbePrime.py @@ -240,11 +240,10 @@ def main(): exit_main(rc_shell) # Files to copy for sbe prime - # TODO via RTC:168436 - remove sbe_seeprom.bin if ddlevel == "None": - PRIME_FILE_LIST ="sbe_sp_intf.H,simics.tar,sbe_seeprom.bin,sbe_seeprom_DD1.bin,sbe_seeprom_DD2.bin" + PRIME_FILE_LIST ="sbe_sp_intf.H,simics.tar,sbe_seeprom_DD1.bin,sbe_seeprom_DD2.bin" else: - PRIME_FILE_LIST ="sbe_sp_intf.H,simics.tar,sbe_seeprom.bin,sbe_seeprom_"+ddlevel+".bin" + PRIME_FILE_LIST ="sbe_sp_intf.H,simics.tar,sbe_seeprom_"+ddlevel+".bin" #---------------------------------------- # 4) Copy the files from repo to sandbox |