diff options
author | Dan Crowell <dcrowell@us.ibm.com> | 2018-04-16 10:33:14 -0500 |
---|---|---|
committer | Daniel M. Crowell <dcrowell@us.ibm.com> | 2018-05-11 16:21:22 -0400 |
commit | ad181494c943f15cf2d744e57b59ea5b7c166646 (patch) | |
tree | 1fc394615976c8eba43ef0c4b575c210be361d31 | |
parent | 9394f9d05ef8cad65249a7120f229f7a46ec0dc1 (diff) | |
download | talos-hostboot-ad181494c943f15cf2d744e57b59ea5b7c166646.tar.gz talos-hostboot-ad181494c943f15cf2d744e57b59ea5b7c166646.zip |
Force hb dump on VFS crashes
Added flag to force a HB dump for most VFS crashes.
Also added a few constants in the ErrlEntry constructor to make
the bool args more obvious.
Change-Id: I4f90ee694cece10f567df787f851dca78a895ad7
Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/57272
Tested-by: Jenkins Server <pfd-jenkins+hostboot@us.ibm.com>
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>
Reviewed-by: Martin Gloff <mgloff@us.ibm.com>
Reviewed-by: Christian R. Geddes <crgeddes@us.ibm.com>
Reviewed-by: Daniel M. Crowell <dcrowell@us.ibm.com>
-rw-r--r-- | src/include/usr/errl/errlentry.H | 10 | ||||
-rw-r--r-- | src/usr/vfs/vfsrp.C | 24 |
2 files changed, 24 insertions, 10 deletions
diff --git a/src/include/usr/errl/errlentry.H b/src/include/usr/errl/errlentry.H index dede1c21b..4a3c8a634 100644 --- a/src/include/usr/errl/errlentry.H +++ b/src/include/usr/errl/errlentry.H @@ -98,6 +98,12 @@ class ErrlEntry friend class ErrlTest; public: + /** Constants to use in constructor */ + static constexpr bool ADD_SW_CALLOUT = true; + static constexpr bool NO_SW_CALLOUT = false; + static constexpr bool FORCE_DUMP = true; + static constexpr bool NO_FORCE_DUMP = false; + /** * @brief ErrlEntry constructor. Builds an error log with info * constructed from the input. @@ -137,8 +143,8 @@ public: const uint16_t i_reasonCode, const uint64_t i_user1 = 0, const uint64_t i_user2 = 0, - const bool i_hbSwError = false, - const bool i_hbDump = false ); + const bool i_hbSwError = ErrlEntry::NO_SW_CALLOUT, + const bool i_hbDump = ErrlEntry::NO_FORCE_DUMP ); /** * @brief Destructor diff --git a/src/usr/vfs/vfsrp.C b/src/usr/vfs/vfsrp.C index 64426f40e..fde05d820 100644 --- a/src/usr/vfs/vfsrp.C +++ b/src/usr/vfs/vfsrp.C @@ -5,7 +5,7 @@ /* */ /* OpenPOWER HostBoot Project */ /* */ -/* Contributors Listed Below - COPYRIGHT 2011,2017 */ +/* Contributors Listed Below - COPYRIGHT 2011,2018 */ /* [+] International Business Machines Corp. */ /* */ /* */ @@ -222,7 +222,8 @@ errlHndl_t VfsRp::_init() VFS::VFS_ALLOC_VMEM_FAILED, // reason Code rc, // user1 = rc l_pnor_info.size, // user2 = size - true /*Add HB Software Callout*/ + ERRORLOG::ErrlEntry::ADD_SW_CALLOUT, + ERRORLOG::ErrlEntry::FORCE_DUMP ); break; } @@ -274,7 +275,8 @@ void VfsRp::_vfsWatcher() VFS::VFS_TASK_CRASHED, // reason (uint64_t)tidRc, // tid rc (uint64_t)childRc, // child rc - true + ERRORLOG::ErrlEntry::ADD_SW_CALLOUT, + ERRORLOG::ErrlEntry::FORCE_DUMP ); // Message is only saved in iv_msg for messages from the kernel @@ -437,7 +439,8 @@ void VfsRp::_loadUnloadMonitored(msg_t * i_msg) VFS::VFS_TASK_CRASHED, // reason Code (uint64_t)tidRc, // tid rc (uint64_t)childsts, // task status - true + ERRORLOG::ErrlEntry::ADD_SW_CALLOUT, + ERRORLOG::ErrlEntry::FORCE_DUMP ); if(childRc != NULL) // crit elog aleady generated @@ -541,7 +544,8 @@ void VfsRp::_loadUnload(msg_t * i_msg) VFS_PERMS_VMEM_FAILED, // reason Code rc, // user1 = rc i_msg->type, // user2 - true /*Add HB Software Callout*/ ); + ERRORLOG::ErrlEntry::ADD_SW_CALLOUT, + ERRORLOG::ErrlEntry::FORCE_DUMP ); } } else @@ -574,7 +578,9 @@ void VfsRp::_loadUnload(msg_t * i_msg) VFS::VFS_MODULE_ID, // moduleid VFS_MODULE_DOES_NOT_EXIST, // reason Code name[0], - name[1] + name[1], + ERRORLOG::ErrlEntry::ADD_SW_CALLOUT, + ERRORLOG::ErrlEntry::FORCE_DUMP ); err->addProcedureCallout( HWAS::EPUB_PRC_HB_CODE, HWAS::SRCI_PRIORITY_HIGH ); @@ -625,7 +631,8 @@ void VfsRp::_execMonitored(msg_t * i_msg) VFS::VFS_TASK_CRASHED, // reason Code (uint64_t)tidRc, // tid rc (uint64_t)childRc, // child rc - true + ERRORLOG::ErrlEntry::ADD_SW_CALLOUT, + ERRORLOG::ErrlEntry::FORCE_DUMP ); if(childRc != NULL) // crit elog aleady generated @@ -868,7 +875,8 @@ errlHndl_t VFS::module_load_unload(const char * i_module, VfsMessages i_msgtype) VFS::VFS_LOAD_FAILED, // reason Code rc, // user1 = msg_sendrecv rc i_msgtype, // user2 = message type - true /*Add HB Software Callout*/ + ERRORLOG::ErrlEntry::ADD_SW_CALLOUT, + ERRORLOG::ErrlEntry::FORCE_DUMP ); } |